このトピックでは、Redisのクロスサイトリクエストフォーガリー (CSRF) 脆弱性の原因と、Tair(Redis OSS-compatible) のセキュリティポリシーについて説明します。
CSRF の紹介
CSRF (またはXSRF) は、ワンクリック攻撃またはセッションライディングとも呼ばれ、Webサイトの悪意のある悪用を指します。
上の図は、CSRF攻撃の簡略モデルを示しています。 ユーザがウェブサイトBとの信頼関係を維持している場合、システムは、ユーザがウェブサイトBを訪問するための要求を個人的に送信したと仮定し、要求を処理する。
Redis CSRF の攻撃モデル
前述のCSRFの原則に基づいて、悪意のあるWebサイトでは、ユーザーがHTTPリクエストをRedisに送信する必要があります。 テキストベースのプロトコルがサポートされているため、Redisは、プロトコル解析中に不正なプロトコルデータに遭遇した後、自動的に切断されません。 この場合、攻撃者は通常のHTTPリクエストにRedisコマンドを追加して、Redisサーバーでコマンドを実行できるようにすることができます。 ユーザーとRedisの間でパスワード認証が設定されていない場合、Redisコマンドを直接実行できます。 攻撃者はこの脆弱性を悪用してRedisに保存されているデータを暗号化し、解読のために身代金を要求できます。 この攻撃方法は、MongoDBデータベースを標的とした以前のランサムウェア攻撃に似ています。
カーネル修正
Redis 3.2.7は、この問題の解決策を提供します。これは、POST
キーワードとHost:
キーワードを含むステートメントをログに記録し、接続を閉じてRedisが後続の正当なコマンドを実行できないようにすることです。
Redis のセキュリティリスク
以前のバージョンのRedisは、特定の条件が満たされたときにハッカーがRedisサービスのルート権限を取得できるようにするセキュリティの脆弱性を公開しました。 このセキュリティ脆弱性の主な理由は、ユーザーがRedisのセキュリティメカニズムに関する十分な知識を持っておらず、Redisの操作とメンテナンスに不慣れであることです。 さらに、Redisは堅牢なセキュリティ保護メカニズムを提供していません。 ApsaraDB for Redisは、より安全なRedisサービスを提供します。 ApsaraDB for RedisをクラウドのRedisサービスとして使用することを推奨します。
Tair(Redis OSS-compatible) のセキュリティポリシー
インターネットではなく内部ネットワークを介した接続
Tair(Redis OSS-compatible) は、信頼できる内部アクセスを提供します。 パブリックエンドポイントを申請しない場合、インターネットからTairに直接アクセスすることはできません。
物理ネットワークの分離
Tair(Redis OSS-compatible) インスタンスがデプロイされているネットワークは、インスタンスにアクセスするネットワークから物理的に分離されています。 バックエンドサーバーのネットワークに直接アクセスすることはできません。
ネットワーク分離用のVPC
Alibaba Cloudユーザーで、サービスを接続するために仮想プライベートクラウド (VPC) をデプロイする場合、同じVPC内のサービスのみが相互にアクセスできます。
ホワイトリスト
Tair(Redis OSS-compatible) を使用すると、ホワイトリストを設定できます。 コンソールでTairインスタンスへのアクセスに使用できるIPアドレスのホワイトリストを設定できます。
パスワード認証
Tair(Redis OSS-compatible) には、クラシックネットワークにデプロイされたインスタンスのパスワード認証が必要です。 複雑なパスワードを設定して、パスワードの解読を防ぐことができます。
権限の分離
Tair(Redis OSS-compatible) は、各バックエンドインスタンスの権限とアクセス可能なディレクトリを分離します。 インスタンスは、相互干渉を回避するためにリソースへの独自のパスを使用することによってのみリソースにアクセスできます。
高リスクコマンドの無効化
Tair(Redis OSS-compatible) は、設定や保存などの特定のリスクの高いシステム管理コマンドを無効にします。 パラメーターを変更するには、コンソールで2要素認証を実行する必要があります。 これにより、バックエンド設定ファイルと管理コマンドに対する直接操作が回避されます。
セキュリティモニタリング
Tair(Redis OSS-compatible) は、物理マシンの包括的なセキュリティ監視、定期的なスキャン、セキュリティ監視ポリシーの更新を備えており、セキュリティリスクをできるだけ早く検出できます。
クラスターインスタンスのパスワード認証
ネイティブRedis 3.0クラスターはパスワード認証をサポートしていません。 Tair(Redis OSS-compatible) クラスターインスタンスは、セキュリティ強化のためのパスワード認証をサポートしています。