インストール
インストールスクリプトが自動生成できます
最初は セキュリティポリシー
は無しで大丈夫です
#!/bin/bash
# This script detects platform and architecture, then downloads and installs the matching Deep Security Agent package
if [[ $(/usr/bin/id -u) -ne 0 ]]; then echo You are not running as the root user. Please try again with root privileges.;
logger -t You are not running as the root user. Please try again with root privileges.;
exit 1;
fi;
if type curl >/dev/null 2>&1; then
〜(略)〜
fi
sleep 15
/opt/ds_agent/dsa_control -r
/opt/ds_agent/dsa_control -a dsm://agents.deepsecurity.trendmicro.com:443/ "tenantID:XXXXXXXXXXXXX" "token:XXXXXXXXXX"
実はインストールとアクティベートを同時に行なっている
常設インスタンスにインストールする場合
上記シェルを叩くだけ
AutoScalingインスタンスにインストールしたい場合
AMI作成前のベースインスタンスにて、先ほどのシェルを叩く
インストールされた状態のAMIを作成した上で、
その後、AWS起動設定のユーザデータにアクティベート処理を入れる
policyid
は後で作るポリシーのIDを入れます :policeman:
#!/bin/bash
/opt/ds_agent/dsa_control -a dsm://agents.deepsecurity.trendmicro.com:443/ "tenantID:XXXXXXXXXX" "token:XXXXXXX" "policyid:XXXX"
#!/bin/bash
を忘れると起動しないので注意
ルールの適用
各サーバの用途に応じて利用する機能を考える必要がある。
私のサービスでは下記を利用
* 不正プログラム対策
* 侵入防御
* 変更監視
* セキュリティログ
推奨ルールの適用
- 侵入防御
- 変更監視
- セキュリティログ においては、ルールを設定する必要があり、ここからが本当DSaaSとの勝負
過不足精査
不足はそこまで発生しなかったが、必要あるか?みたいなルールは数多くあった。
ここで、too much の精査が出来てないと後でSlackでの精査が大変になるので、ちゃんと
すべて
のルールをチェックすることを推奨する。
ポリシーの設計と作成
自サービス内のサーバをカテゴライズ(Web用、Bat用など用途で)して、ポリシーを設計することを推奨する(自分のサービスは1ポリシーでやってるので死んだ )
各ポリシーを作成して、推奨ルールを検索したサーバからルールをエクスポートして、ポリシーでインポートするのがお勧め
その後、サーバごとの差異ルールをポリシーの画面でON/OFFする
ポリシーの設定
ポリシーが作成できたら、インストールスクリプト生成画面でポリシーIDを指定して確認する。
インストールスクリプト、AutoScalingインスタンスのユーザデータにpolicyidを設定する
"policyid:XXX"
設定すると、アクティベート時にポリシーが設定されるので、各サーバ毎に最適な運用が可能となる。
Slack通知する
DSaaS→AWS SNS→Lambda→Slack(→Cloudwatch)を実装する
DSaaS→AWS SNSまでは下記通りでOK
https://dev.classmethod.jp/cloud/aws/deepsecurity-aws-sns/
LambdaはトリガーをAWS SNSにして実装するだけ
全部通知したら大変なことになったのでチューニング
変更監視系のメッセージはlogrotateも見逃さない
パーミッションが変わっただけで大騒ぎ 🎉🎉🎉🎉
運用後はlambdaのソースにJsonをチェックしたフィルタリング処理を無理やり入れて、チューニングしましょう
フィルタリングした通知は捨てるのではなく、Cloudwatchに記録すると吉
TIPS
DSが返す JSONの形式が知りたい
https://help.deepsecurity.trendmicro.com/ja-jp/Events-Alerts/sns-json-config.html
HostAgentGUIDが返って来てるけどリファレンスにないとか不備も多い
yumでM/Wに更新かけると変更監視のSlack通知テストができる時がある
謎のエラー 対策
https://qiita.com/kenji-toforone/items/3dea07edd4b7acd96d7e
https://qiita.com/kenji-toforone/items/1a3ca23fad811bc04e46
結局は
- サービスの全サーバにインストールされているM/Wの把握
- 各種ルールをM/Wや
ルールの特性
を理解した上での、適用/非適用を判断 - Slack、Lambda、Cloudwatch、AWS SNSと連携しないと運用監視という意味では、
無意味