「あら、設定が丸見えよ!」Prowlerで焦げ付かないクラウド・セキュリティ管理術
「あら、大変!AWSの設定が油ギトギト(脆弱性だらけ)じゃない!」
ソフトウェアエンジニアの皆さん、自分の作ったインフラが安全かどうか、不安で夜も眠れないことはありませんか?Prowlerは、あなたの代わりにクラウド環境を隅々までチェックして、焦げ付きや汚れを見つけ出してくれる、最強の自動お掃除ロボットなんです。
「味見」が自動化できる(コンプライアンス対応) CISベンチマークやPCI-DSSなど、難しい基準もProwlerならコマンド一つでチェック。いちいちマニュアルを読み込む必要はありません!
マルチクラウド対応 AWS、Azure、GCP、そして最近ではKubernetesまで。複数のコンロ(クラウド)を同時に監視できます。
Pythonで味付け自在 Pythonで書かれているので、自分たちの環境に合わせてカスタムチェックを追加するのも簡単です。
さて、まずは下ごしらえです。Pythonがインストールされている環境なら、一瞬で終わりますよ。
# pipでサクッとインストール!
pip install prowler
# インストールできたか確認してみましょう
prowler -v
助手(心の声)
「えっ、これだけ?隠し味(複雑な設定)はいらないんですか?」
シェフ
「そうなんです。これがオープンソースの素晴らしいところ!」
さあ、メインディッシュの調理です。AWS環境をチェックしてみましょう。
# AWSの権限がある状態で実行!
prowler aws
「今日はS3のセキュリティだけが気になるの…」という時は、サービスを絞ることもできます。
prowler aws --service s3
Prowlerは結果をJSONやCSVで出してくれます。これをプログラムで読み取って、Slackに「焦げてるよ!」と通知する仕組みを作ると、エンジニアとしての腕の見せ所です。
import json
# Prowlerが出力したJSON結果を読み込むイメージ
def check_kitchen_safety(report_path):
with open(report_path, 'r') as f:
findings = json.load(f)
for check in findings:
# ステータスが "FAIL"(失敗)のものだけを探す
if check['Status'] == 'FAIL':
print(f" 火事の予感!: {check['CheckTitle']}")
print(f" 場所: {check['ResourceID']}")
print(f" 対策: {check['Remediation']['Recommendation']['Text']}")
# スキャン結果をチェック!
# check_kitchen_safety('prowler-output.json')
Prowlerは「毎日のお掃除」に。 CI/CDに組み込んで、デプロイのたびに自動で走らせるのが「デキるシェフ」のやり方です。
「FAIL」が出てもパニックにならない。 全てを一度に直すのは無理。まずは「深刻度
Critical」から片付けていきましょう。
これであなたのクラウドも、ピカピカのキッチンみたいに安全になりますね!