CRED は VPC トラフィックミラーリングにより高度なネットワーク検査を実現

このコンテンツはいかがでしたか?

2021 年 9 月 8 日: Amazon Elasticsearch Service は Amazon OpenSearch Service に名称が変更されました。詳細をご覧ください

CRED、Security Lead、Himanshu Das 氏によるゲスト投稿

CRED は、会員限定のクレジットカード特典、限定特典、一流ブランドの体験を通じて、人々が人生をアップグレードできるようにすることを目指しています。信用力のある個人、加盟店、機関が集まる信頼の高いコミュニティである CRED は、数百万ものクレジットカード利用者にサービスを提供する人々のために、クレジットカード体験を再構築してきました。

大量の機密取引やデータを扱う CRED は、常にセキュリティに重点を置いてきました。企業には 2 つのタイプがあります。1 つはセキュリティが後回しと見なされる企業で、もう 1 つはセキュリティが最も重要である企業です。中間企業についてはどうですか? CRED では、上記のルールの中間者はいないと心から信じています。だからこそ、当社は後者の陣営に属しているといえます。CRED はセキュリティ第一の企業であり、常にセキュリティを最優先事項とみなしています。

「AWS を使用することで、インフラストラクチャの安定性と高可用性を常に保つことができただけでなく、各レイヤーでセキュリティを確保することができるようになりました」~ CRED、Security Engineering、Avinash Jain 氏

AWS VPC トラフィックミラーリング: NIDS を使用してパブリック VPC サブネットのネットワーク侵入をモニタリングする

COVID はすべての人を襲い、それぞれに影響を与えました.組織においては、従業員は在宅勤務 (WFH) を求められ、現在では多くの業界がリモートワークを行っているため、企業ネットワークへのユーザー接続のパターンが根底から覆されています。現在では、ほとんどのユーザーがローカルに接続するのではなく、リモートで接続しています。また、従業員が重要なビジネス機能にアクセスできるようにするには、VPN 接続が必須です。

VPN インスタンスは、世界中の従業員が接続して内部アプリケーションにアクセスできるように非武装地帯 (DMZ) に保管されているため、WFH 接続が予期せず殺到し、VPN ネットワークがあらゆる種類のレイヤー 7/レイヤー 3 攻撃に対してより脆弱になります。

このブログ記事では、AWS VPC Traffic Mirroring とネットワーク侵入検知システムを使用して、ネットワーク侵入を示す異常なトラフィックパターンやコンテンツに常に注意を払いながら、パブリック VPC に保管されていたパブリック VPN インスタンスのセキュリティとモニタリングを強化する方法について説明します。

VPC トラフィックミラーリングは、インスタンス自体に何もインストールしなくても、VPC 内の Amazon EC2 インスタンスのインバウンドおよびアウトバウンドトラフィックを複製します。この重複したトラフィックをネットワーク侵入検知システム (NIDS) に送信して分析とモニタリングを行うというものです。ネットワーク侵入をモニタリングするアーキテクチャ図は次のようになります。

VPN サーバーに送信されるトラフィックはすべて、ミラーリングされたトラフィックの送信先となるミラーターゲット (Network Load Balancer) に送信されます。VPC トラフィックミラーリングには、キャプチャ (承認) またはスキップ (拒否) されるインバウンドまたはアウトバウンドの (ソースを基準として) トラフィックを指定するミラーフィルターの優れた機能があります。ミラーターゲットから、侵入検知 (IDS)、侵入防止 (IPS)、ネットワークセキュリティモニタリングなどの機能を提供するオープンソースのネットワーク脅威検出エンジンである Suricata を使用して、複製されたトラフィックを NIDS システムに送信します。Suricata を選ぶのは、詳細なパケット検査とパターンマッチングが非常にうまく機能し、脅威や攻撃の検出に非常に役立つからです。また、マルチスレッド機能も備えているため、同じハードウェア上で、トラフィック量の多い高速ネットワークでより多くのルールを処理できるという理論上の能力が得られます。

耐障害性と可用性を高めるために、私たちは Suricata 設定を使用して EC2 インスタンスに重複トラフィックを送信します。この目的で Amazon EC2 T3 インスタンスを使用しています。これは、常に大量のトラフィックが発生することがわかっており、パフォーマンスと効率が私たちが達成したい別の 2 つの基準だったため、意図的に選択した方法でした。T3 インスタンスは、いつでも必要なだけ CPU をバースト使用することができ、基本レベルの CPU パフォーマンスを提供してくれました。

モニタリングとロギング

Suricata インスタンスには Filebeat エージェントがインストールされています。これはログデータを転送して一元管理するための軽量シッパーです。Suricata はトラフィックを継続的にモニタリングし、Suricata ルール (/etc/suricata/Rules) がアラートをトリガーします。その後、Filebeat はアラートログを ELK スタックに送信し、そこで Logstash は JSON データを処理します。セルフホスト型の Amazon OpenSearch Service (Amazon Elasticsearch Service の後継サービス) の Suricata モジュールを使用しています。このサービスは、以下のタスクを代行して実行してくれます。

● 取り込みノードを使用してログ行を解析および処理し、データを Kibana での可視化に適した構造にします

● ログデータを可視化するためのダッシュボードをデプロイします

Kibana’s Coordinate Map ビジュアライゼーションを使用して、システムに流入するトラフィックの地理的分布をモニタリングできます。event_type フィールドには Suricata のログタイプが表示されます。円グラフを可視化することで、システムに記録されている上位のログタイプの内訳を確認できます。

図からわかるように、アラートは重大度に基づいて「高」、「中」、「低」に分類されています。イベントの分類は次の 2 つの場所で行われます。

1. VPC の 1 つは「ミラーフィルター」です。

2. 次に、Suricata ルールを使用してプロトコルを特定し、イベントの異常を分類します。

現時点においては、Suricata より提供されているデフォルトのルールセットが使用されます。これには、悪意のある IP レピュテーションチェック、疑わしいユーザーエージェント、署名ベースの侵入、ポリシー違反、トラフィック異常などが含まれます。円グラフのビジュアライゼーションの例の 1 つに、Suricata がネットワーク上で何らかの Tor アクティビティやその他のネットワーク異常を発見した箇所が示されています。修復プロセスは、一元的なロギング、アラート、意思決定のフレームワークを通じて行われます。ダッシュボード全体が見えるように、以下のパラメータが設定されています。

o アラート数

o アラート上位 10 件の署名

o アラート上位 20 件の送信元 IP

o アラート上位 20 件の送信先 IP

o アラートの重要度

o アラートタイムライン

o DNS イベント経時変化

最終結果

VPC トラフィックミラーリングにより、AWS VPC 内のネットワークトラフィックを簡単にモニタリングできます。ネットワークトラフィックを効果的にモニタリングし、トラフィックパターンを分析し、悪意のあるトラフィックを積極的に検出できるようになりました。次のような利点があります。

  • ネットワークとセキュリティの異常検出 - VPC 内の任意のワークロードから対象のトラフィックを抽出し、選択した検出ツールにルーティングすることで、従来のログベースのツールでは不可能なほど迅速に攻撃を検出して対応することができます。
  • 運用上のインサイトを得る - VPC トラフィックミラーリングを使用してネットワークの可視性と制御を実現し、より多くの情報に基づいてセキュリティ上の決定を下せるようにします。
  • コンプライアンスとセキュリティ制御の実装 - モニタリング、ロギングなどを義務付ける規制やコンプライアンス要件を満たします。

Suricata は、ネットワークに悪意のあるアクティビティがないかモニタリングするための優れたオープンソースオプションです。今後も、ルールやダッシュボードを追加して Suricata との連携を強化していく予定です。

AWS Editorial Team

AWS Editorial Team

AWS スタートアップの Content Marketing Team は、教育、エンターテインメント、インスピレーションを提供する優れたコンテンツをもたらすために、あらゆる規模およびあらゆるセクターのスタートアップと連携しています。

このコンテンツはいかがでしたか?