パブリックからのアクセスを許可しているセキュリティグループを見つけるツール
少し前の話になるのですが、LLMによる開発支援機能を試したいなぁと思って、Cursorを使ってみました。(Cursorの開発体験はめっちゃよかった!)
今回はそのなかで作ったAWSのちょっと便利ツールについて紹介します。
作った理由
皆で共有する検証環境に、意図せずグローバルに許可を与える可能性のあるセキュリティグループが潜在していると感じたことがきっかけです。
検証完了後に削除し忘れたセキュリティグループや、チュートリアル通りに設定したままのものがそのまま残っているケースもあると思います。
たとえ検証環境であっても、意図せずグローバルに接続可能なセキュリティグループが放置されているのは避けたいので、それらを整理するためのツールを作成しました。
機能
- AWSアカウント内のすべてのセキュリティグループをスキャン
- グローバルに対して公開されているインバウンドルールを持つセキュリティグループを検出
- 検出結果をSlackに通知
使用方法
インストール方法のとおりにセットアップして、下記コマンドで実行します。
1 | python src/main.py |
該当するセキュリティグループが見つかった場合、下記のような通知が飛びます。
意図的に外部公開しているセキュリティグループは除外したいケースもあると思うので、その場合はYAMLファイルに該当のセキュリティグループの情報を./config/exclusions.yaml
に追加します
1 | - group_id: sg-12345678 |
そうすると、該当するセキュリティグループの通知はスルーされるようになります。