目次
はじめに
こんにちは、ディーネットの山田です。
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アカウントを紐付けます
- Network Securityの画面にアクセスする
- AWSアカウントを接続する
- Cloud Senrtyは別途費用がかかるので、Network Securityだけ有効化する
- 「スタックの起動」をクリックするとCloudFormationの実行画面に遷移するので、スタックを作成する
- CloudFormationの実行が完了すると「出力」に必要な情報が出てくるためそれを控えて下さい
- AWSアカウントに正常に接続できれば以下の画面が表示される
Hosted Infrastructureのエンドポイント(GWLB Endpoint)をデプロイする
- エンドポイントを作成したいサブネットのIDを調べる
- Hosted Infrastructureで対象のVPCを探して「Deploy Protection」をクリックする
- エンドポイントを作成したいサブネットのIDを入力する
- Create Endpointをクリックしてエンドポイントを作成する
- View Next Stepsをクリックする
-
Complete Wizardをクリックしてウィザードを終了する
-
しばらく待機すると、VPCエンドポイントにNetwork Securityのエンドポイント(GWLB Endpoint)が作られます
AWS側のネットワーク経路を切り替える
具体的な方法は割愛いたしますが、一般的には以下の設定変更を行っていただければ経路の切り替えが可能です。
- Internet GatewayにIngress Routingを設定して、インターネットから入ってくる通信をNetwork Securityのエンドポイント(GWLB Endpoint)に向ける
- EC2が存在するサブネットのルートテーブルで、インターネット向きの通信をNetwork Securityのエンドポイント(GWLB Endpoint)に向ける
- 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を導入可能。
プロフィール
テクニカルサポートは卒業して、フロントサイドでお客様環境の構築をさせていただいております。
たまに、テクニカルサポートでご対応させていただくことがあるかもしれませんが、その際はよろしくお願いいたします。
インフラ系のエンジニアですが、時々休日プログラマー(Python、PHP)をやっております。
LINK
クラウドベリージャム:プロフィールページ