Amazon-VPC

Cloud One Network Securityを導入してみた

はじめに

こんにちは、ディーネットの山田です。

AWSで利用できるIPS製品を調べる中で、Cloud One Network Security(C1NS)について興味があったので、導入してみました。

Cloud One Network Securityについて

Trend Micro社が提供するクラウド環境を保護するネットワーク型IPSサービスです。

クラウドネットワーク経路上の通信トラフィックをモニタリングして、脆弱性を狙う攻撃を検知・ブロックしてくれるサービスとなります。

ネットワーク経路上に設置する形となりますので、大規模な環境であってもエージェントを1台1台導入しないといけないみたいな手間はありません。

提供される形態としては、以下の2種類が提供されています。

  • Network Securityのアプライアンスを自社のAWS環境にデプロイして運用する方法
  • Trend Micro社が管理するアプライアンスを経由する方法

今回は、運用を減らしたいので、Trend Micro社が管理するアプライアンスを経由する方法で導入しました。

https://www.trendmicro.com/ja_jp/business/products/hybrid-cloud/cloud-one-network-security.html

環境の構成図

AWS環境の構成としては、EC2が1台と比較的小規模な構成を作成しました。

EC2が直接インターネットから面しておりますが、インターネットとEC2の間に、Cloud One Network Securityを設置する構成となります。

構成要素

  • Gateway Load Balancer Endpoint(GWLB Endpoint)
    • VPC内で流れるトラフィックを、Gateway Load Balancerへ転送する目的で使用します。

実際に設定していきます

前提として、以下を仮定しております。

  • GWLB Endpointを除く環境の構成図にあるインフラ環境はできあがっている
  • Cloud Oneのアカウントが発行されている

Network SecurityにAWSアカウントを紐付けます

  1. Network Securityの画面にアクセスする

  1. AWSアカウントを接続する

  1. Cloud Senrtyは別途費用がかかるので、Network Securityだけ有効化する

  1. 「スタックの起動」をクリックするとCloudFormationの実行画面に遷移するので、スタックを作成する

  1. CloudFormationの実行が完了すると「出力」に必要な情報が出てくるためそれを控えて下さい

  1. AWSアカウントに正常に接続できれば以下の画面が表示される

Hosted Infrastructureのエンドポイント(GWLB Endpoint)をデプロイする

  1. エンドポイントを作成したいサブネットのIDを調べる

  1. Hosted Infrastructureで対象のVPCを探して「Deploy Protection」をクリックする

  1. エンドポイントを作成したいサブネットのIDを入力する

  1. Create Endpointをクリックしてエンドポイントを作成する

  1. View Next Stepsをクリックする

  1. Complete Wizardをクリックしてウィザードを終了する

  2. しばらく待機すると、VPCエンドポイントにNetwork Securityのエンドポイント(GWLB Endpoint)が作られます

AWS側のネットワーク経路を切り替える

具体的な方法は割愛いたしますが、一般的には以下の設定変更を行っていただければ経路の切り替えが可能です。

  1. Internet GatewayにIngress Routingを設定して、インターネットから入ってくる通信をNetwork Securityのエンドポイント(GWLB Endpoint)に向ける
  2. EC2が存在するサブネットのルートテーブルで、インターネット向きの通信をNetwork Securityのエンドポイント(GWLB Endpoint)に向ける
  3. Network Securityのエンドポイント(GWLB Endpoint)が存在するサブネットのルートテーブルで、インターネット向きの通信をInternet Gatewayに向ける

動作テスト

Domain Filteringを一時的に有効化して、Network Securityを経由しているかテストしてみた。

Domain Filteringで特定のドメインのみ許可した場合

# curl --head https://www.denet.co.jp/
HTTP/2 200 
content-type: text/html
content-length: 42746
last-modified: Wed, 18 Oct 2023 06:04:29 GMT
server: AmazonS3
date: Tue, 31 Oct 2023 01:58:46 GMT
etag: "ba2c298844204e0de4ac2a97cb09af07"
x-cache: Hit from cloudfront
via: 1.1 1e25bd98fa0bda7498f5119d7dc137f0.cloudfront.net (CloudFront)
x-amz-cf-pop: NRT51-C3
x-amz-cf-id: 97FTze9tlT7kjJy-Fk5JMkc5S3y7XuEyWRbfeswod2uD18q-QfMx5w==
age: 18262
# curl --head https://www.denet.ad.jp/
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to www.denet.ad.jp:443

特定ドメインには、”www.denet.co.jp”を登録したため、”www.denet.co.jp”にはアクセスできるが、”www.denet.ad.jp”は拒否された。

Domain Filteringを無効化した場合

# curl --head https://www.denet.co.jp/
HTTP/2 200 
content-type: text/html
content-length: 42746
last-modified: Wed, 18 Oct 2023 06:04:29 GMT
server: AmazonS3
date: Tue, 31 Oct 2023 01:58:46 GMT
etag: "ba2c298844204e0de4ac2a97cb09af07"
x-cache: Hit from cloudfront
via: 1.1 1f0019acd7fcf56a71434dff0a60098a.cloudfront.net (CloudFront)
x-amz-cf-pop: NRT20-C4
x-amz-cf-id: 6ZpZ3J5Z5LRs6-G8o4sZ_3YrY10bpdl3zR0VnjOy74GiyejAF4UUWQ==
age: 18398
# curl --head https://www.denet.ad.jp/
HTTP/2 301 
server: nginx
date: Tue, 31 Oct 2023 07:05:25 GMT
content-type: text/html; charset=UTF-8
expires: Tue, 31 Oct 2023 08:05:25 GMT
cache-control: max-age=3600
x-redirect-by: WordPress
location: https://denet.ad.jp/
vary: Accept-Encoding
x-powered-by: PleskLin

”www.denet.co.jp”と”www.denet.co.jp”どちらにもアクセスできた。

備考

  • Trend Micro社が侵入防御ルールを数万ほど作ってくれているので、自分でルールを考えることなく、IPSを運用することができる。
  • ネットワーク経路上にNetwork Securityを挟む形になるので、EC2などに手を加える必要がなく、インフラ側の作業のみでIPSを導入可能。

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA