##近況報告
今日から実務の一端に触れることとなりました。???ってなりまくっていますが,数をこなして一つ一つできるようになっていきたいですね。
#本日のお題 DSaaSの検知テスト
参考記事
公式ヘルプデスク
トレンドマイクロ社cloud oneのDeep Security(workload security)を利用していく際に,どのような時にアラートが出るかを知るため,実際に擬似ウィルスや設定をいじろうって感じです。
No | 機能 | 動作確認方法 |
---|---|---|
1 | 不正プログラム対策 | 擬似ウィルスファイルDL |
2 | 侵入防御 | 特定のシグネチャを含むURLへの接続を禁止 |
3 | 変更監視 | テストファイルの変更を監視 |
4 | セキュリティログ監視 | SSHログイン成功のイベントを検知 |
5 | Webレピュテーション | 擬似危険サイトへのアクセスをブロック |
参考記事にはファイアウォールが入っていますが割愛しました。理由は,ファイアオールは(たしか)パソコンにも入っており二度手間になることから今回のテストから外しています。お客さんによっては二重にファイアウォールを組むとこもあるのだそう。アプリケーションコントロールも割愛。弊社では活用していないため,参考資料をみてね。
環境
OS MacBook
EC2インスタンスにDSAをインストールして実行
基本的にLinux環境でのテストを想定
テストを行う以前の内容,EC2構築やDSaaSの初期設定は割愛
##1.不正プログラム対策
ウィルスなんて作れないので擬似ウィルスを用いてテストします。でも擬似ウィルスなんて作れないのでテスト用の擬似ウィルスファイルをお借りします。
# http://files.trendmicro.com/products/eicar-file/eicar.com -P /tmp
⇨ファイルをDL⇨DSが検知でOK
##2.侵入防御
特定のアクセスを遮断するシステム。遮断する対象をルールで決めて,実際にそのルールで遮断できるかURLを打って確認する。
コンソールタブ「コンピュータ」 ▶️ 対象サーバのプロパティ
▶️ 侵入防御タブ ▶️ 割当/割当解除 ▶️ 新規
▶️ 新しい侵入防御ルール
名前,説明はお任せ。名前は探しやすいものであればどんな名前でもOK
アプリケーションの種類 参考記事
噛み砕くと,異常を発見する条件を絞り込むための設定って感じ。通信プロトコルと通信方向,ポートをここで設定することで精度の高いセキュリティを見込めます。ちなみにしっかり設定しないと異常アクセスを掬い取れずスルーしてしまいます。
今回はCurlメソッドでwebサイトにアクセスかつ,入力したアドレスを侵入防御に引っ掛けたいので,条件を「web client common」にします。もしレスポンスを引っ掛けたい場合は「web server common」にする。基本的にテストでは検知することが目的のため,「web client common」がベター。
ルールは三種類あるが,一般的にテストではシグネチャ(signature)を扱う。テクスチャでは,遮断したいワードを入力する。例えば,googleのトップページを遮断する場合は「www.google.com」などと入力する。テクスチャに入力する量が多いほど遮断できる範囲が限定的になる。
一方で,「www」のみの入力にしてしまったらgoogle以外の「www」を用いているサイト全てが遮断されてしまうので,できるだけ他とかぶらない範囲指定してあげることが必要になる。もっと言うと,テクスチャの有効範囲はURLのほかサイトのリンク名も対象なので,URLに該当していなくても,遮断されることがあるため,もしURLのみを遮断したい場合は「://w ww.google.com」のように入力すればいい。(*備考)
"開始/終了/パターン"は以下の画像の通り。カスタムは自身でコーディングして適用する感じ。
処理の項では,検出されたアクセスを遮断するか検知するが遮断しないかを選べる。ほかはいじらなくてOK。そんで以下のようにページを読み込んだあとDSのログを確認する。
curl http://www.google.com/
##3.変更監視
どのファイルを監視するか設定し,ファイルの変更を監視する
⇨侵入防御同様に監視ルールを設定し,自分でファイルを変更する。
テストに用いているサーバーにログインしてファイルを作成
# mkdir tmp/testdir
# cd tmp/testdir
# vi testfile
コンソールタブ「コンピュータ」 ▶️ 対象サーバのプロパティ
▶️ 変更監視タブ ▶️ 一般 ▶️ 割り当て/割り当て解除
▶️ 新規 ▶️ 新しい変更監視ルール ▶️ コンテンツ
テンプレートは一番設定しやすい「ファイル」を選択。基本ディレクトリ(”/tmp/testdir”),ファイル名(”*”)を入力。”*”はディレクトリ内の全てのファイルっぽい。入力したら「OK」
設定を反映させる。
変更監視 ▶️ 一般 ▶️ ベースラインの再構築
再構築したら,再度サーバーにログインしファイルの情報を変更。実際に変更されたか確認。
vimで変更してもいいし,ファイル名自体を変えてもいい
##4.セキュリティログ監視
ssh接続をした際に,ログインしたことが検知されればOK。特に問題なし
##5.webレピュテーション
トレンドマイクロ社の擬似ウィルスを利用。まずwebレピュテーション機能をオンにしてトレンドマイクロ社用意のサイトにアクセス。オンにすると以下のようにブロックしてくれる。
#curl http://wrs21.winshipway.com/
<html>
<head>
<title>Page Blocked</title>
<style>
body {font-family:Verdana,sans-serif;font-size:12px;padding:8px;}
h1 {font-size:18px;font-weight:bold;}
h2 {font-size:16px;color:#F00;}
h3 {font-size:16px;font-weight:normal;}
.l {border-bottom:1px solid #999;padding-bottom:10px;}
</style>
</head>
<body>
<h1 class="l">Trend Micro Deep Security</h1>
・
・
・
<fieldset>
<legend>What you can do</legend>
<ul>
<li><a href="javascript:history.go(-1)">Go back to the previous page</a></li>
<li><a href="http://sitesafety.trendmicro.com/">Contest this rating</a></li>
</ul>
##*備考 httpまで書かない理由
結論・・・ httpは通信を差しているため。極端な話,http〜でリクエストしても,https〜にリダイレクトされたら反応できないよって感じ。実際は通信が違うけど,「://」が入っていればサイト内のリンクと間違われない程度の認識で大丈夫。
HTTPリクエスト,リダイレクト,リライト,とか
##終わりに
みんな触れない情報である分貴重なスキルなんだけど,反比例して扱っている人が少ないから勉強しにくいのよねぇ。。。まあなんとかなる。