こんにちは横部です。
前回はAWSマーケットプレイスでセキュリティ製品の検討を行いました。
今回はSophosUTM9を実際に導入してHTTPプロキシを稼働させてみます。
購入
Sophos UTM 9 (PAYG)にアクセスします。
右上の「Continue to Subscribe」をクリックします。
「Accept Terms」をクリックします。
成功すれば設定が可能となります。
起動
続いてAMIの立ち上げを行います。
「Continue to Configuration」をクリックします。
「Fulfillment Option」を選択します。
今回は「Amazon Machine Image」を選択します。
Regionは「Tokyo」を選択し、それ以外はデフォルトで、「Continue to Launch」をクリックします。
EC2インスタンスタイプは「t2.small」を選択します。
それ以外の設定については、各環境ごとに適切な設定を行ってください。
設定したらLaunchをクリックします。
成功したらSophosUTM9インスタンスの生成がスタートします。
EC2コンソールで確認することができます。
ログイン
作成が完了したら以下のアドレスでWebAdminにアクセスできます。
PUBLIC_IPは作成されたSophosUTM9インスタンスのパブリックIPです。
ただ不用意にオープンなプロキシを用意すると不正アクセスに利用されるリスクがあるので注意が必要です。
接続を制限して許可されたネットワークまたはインスタンス経由でポートフォワードを利用してアクセスするとより安全です。
SophosUTM9インスタンスへのssh接続が許可されたネットワーク内からポートフォワード
1 |
ssh -i /path/to/key -t -L 4444:localhost:4444 loginuser@${PUBLIC_IP} |
SophosUTM9インスタンスへのポート番号4444通信が許可されたインスタンスにssh接続してポートフォワード
1 |
ssh -i /path/to/key -t -L 4444:${PRIVATE_IP}:4444 ec2-user@${EC2_HOST} |
https://localhost:4444/ (または https://127.0.0.1:4444/ )
WebAdminにアクセスしたら、初回は初期設定画面が表示されます。
以下のような感じで設定を入力していきます。
- Hostname: PUBLIC_IP (localhost または 127.0.0.1 )
- Company or organization name: My Company Name .inc
- City: Tokyo
- Country: Japan
- admin account password: password
- Repeat password: password
- admin account email address: [email protected]
- AWS Instance ID: 作成したSophosUTM9インスタンスのID
"I accept the license agreement"にチェックを入れて"Perform basic system setup"をクリックします。
40秒後、再度WebAdminにアクセスするとログイン画面が表示されます。
以下を入力してログインしてください。
- Username: admin
- Password: password
ログインに成功したらダッシュボードが表示されます。
設定
まず最初に日本語化の設定を行いましょう。
Management → WebAdmin Settings → Generalタブ
ここに"WebAdmin Language"がありますので、そこを"Japanese"に変更し"Apply"をクリックします。
すると自動でログアウトして再ログインが促されますが、再ログインするとダッシュボードが日本語化されているのが確認できます。
マネジメント → WebAdmin設定 → HTTPS証明書タブ
ここにある「CA証明書をインポート」しておきましょう。
Macであれば、キーチェーンに登録して常に信頼しておけば、WebAdminログイン時のCA証明書エラーを回避できるようになります。
次にHTTPプロキシを有効化しましょう。
Webプロテクション → Webフィルタリングがその設定画面になります。
Webフィルタリングステータスを有効化することで、デフォルトWebフィルタプロファイルが編集できるようになります。
許可ネットワークにHTTPプロキシの利用を許可するネットワークを追加します。
今回は、インターネット上の全てのIPv4アドレスからのアクセスを許可するためフォルダボタンをクリックして「Internet IPv4」をドラッグ&ドロップで追加します。
オペレーションモードは「標準モード」を選択し「適用ボタン」をクリックします。
これでHTTPプロキシが有効化されました。
検証
試しにHTTPプロキシを経由してサイトにアクセスして見ましょう。
各ブラウザでHTTPプロキシを設定します。
${PUBLIC_IP}:8080
アクセスを制限している場合はWebAdminの時と同様にポートフォワードを利用してアクセスします。
SophosUTM9インスタンスへのssh接続が許可されたネットワーク内からポートフォワード
1 |
ssh -i /path/to/key -t -L 8080:localhost:8080 loginuser@${PUBLIC_IP} |
SophosUTM9インスタンスへのポート番号8080通信が許可されたインスタンスにssh接続してポートフォワード
1 |
ssh -i /path/to/key -t -L 8080:${PRIVATE_IP}:8080 ec2-user@${EC2_HOST} |
localhost:8080 または 127.0.0.1:8080
試しに以下のサイトに接続して見ます。
うまく接続できたら成功です。
またSophosUTMのHTTPプロキシはデフォルトでウィルスチェック機能が有効になっています。
Webプロテクション → Webフィルタリング → ポリシータブを見ると、デフォルトで"Base Policy"が有効化されていることが確認できます。
"Base Policy"をクリックすると設定画面が表示され、フィルタアクションに"Default content filter action"が定義されているのが確認できます。
これは、Webプロテクション → Webフィルタリングプロファイル → フィルタアクションタブに定義されています。
ここを見ると、アンチウィルススキャン機能がシングルスキャンになっており、有効になっていることが確認できます。
この設定は変更可能です。例えば、2つのウィルススキャンエンジンでスキャン(デュアルスキャン)することでパフォーマンスが落ちる代わりに安全性をより高めることも可能です。
ウィルスが存在するページにアクセスした場合に検知してくれるのか、検知した場合にどういう処理が行われるのか検証したいと思います。
当然ではありますが、実際にマルウェアが存在するページにアクセスすることはお勧めできません。
それはよく火災報知器をテストするために実際に放火するような行為に例えられます。
このような検証を行う場合によく使われるのがEICARテストファイルです。
これは、以下のような文字列の羅列です。
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
これをテキストファイルでコピペしてcom拡張子などの実行可能ファイル形式で保存することで、各アンチウィルスソフトウェアはこれをウィルスとして「意図的に」検知してくれます。もちろん無害ですので、これを使うことで安全にウィルス検知が機能しているかテストすることができます。
今回はウィルス検知機能のテストを行うためにSophosが公式に用意しているサイトにアクセスします。
注意!プロキシが設定されてない状態で以下のURLにアクセスするとリアルタイムスキャン機能で検知されることがあるので注意してください。
http://sophostest.com/eicar/index.html
HTTPプロキシが有効な状態でアクセスするとウィルスが検知されてHTTP403エラーとなり、アクセスがブロックされた画面が表示されます。
終わりに
これで無事、HTTPプロキシを設定することができました。
次回は、HTTPSプロキシの設定方法や、ユーザ認証の設定方法などを解説します。