LoginSignup
0
0

More than 3 years have passed since last update.

Firewall Manager で使ってないセキュリティグループを監視

Last updated at Posted at 2020-10-30

やりたいこと

SGが増えてきたので整理したい。まずは使ってないSGをリストアップしたい。

環境

  • AWSアカウントA : Firewall Managerの親、Organizationの親
  • AWSアカウントB : Firewall Managerの子、Organizationの子

※ Organizationの親とFirewall Managerの親は別々のAWSアカウントでも構いませんが、Organizationに参加しているアカウントがFirewall Managerの対象になります。
※ AWSアカウントA,BでAWS Configを有効にしておく
※ 両AWSアカウントで既にSGがいくつか作成されている

シナリオ

  • 使ってないSG(リソースにアタッチされてない)のリストアップ
  • 同じルールが書かれたSGのリストアップ

アカウントBで「アタッチされてないSG」 or 「同じルールが設定されているSG」を監視しリストアップします。
これらは不要なSGなので見つけたいですよね。自動的なアクションも行えますが今回はやりません。

手順

Firewall Manager の Administrator アカウント登録

AWSのマネコンからFirewall Managerをクリックし、[Get Started]をクリックし、「Administrator account ID」を入力し[Set administrator account]をクリックする。

スクリーンショット 0002-10-30 10.18.27.png

少し待ちます

Security policy の作成

左メニューの"Security policies"をクリックし、真ん中上辺りのリージョンで[Asia Pacific(Tokyo)]を選択し、右上の[Create policy]をクリック

スクリーンショット 0002-10-30 10.24.35.png

Policy typeは"Security group"にチェックを入れ、Security group policy typeは"Auditing and cleanup of unused and redundant security groups"にチェックを入れ、Regionは東京にし、右下の[Next]をクリックする

"Auditing and cleanup of unused and redundant security groups"は、日本語だと、「未使用および冗長なセキュリティグループの監査とクリーンアップ (AWS組織全体で未使用の冗長なセキュリティグループを見つけて管理します。)」ということで、そのままですが、使ってないSGや同じ内容のSGの検知監査ができます。一旦クリーンアップは置いておきます。今回の目的を果せそうなのでこちらを選択。

スクリーンショット 0002-10-30 10.49.24.png

ポリシーの各値を入力

  • ポリシー名:test-policy1
  • ポリシールール:2つにチェック
    • ☑Security group within this policy scope must be used by at least one resource
    • ☑Security groups within this policy scope must be unique
  • ポリシーアクション:
    • ☑Identify resources that don't comply with the policy rules, but don't auto remediate
    • □Auto remediate any noncompliant resources.

それぞれ日本語だと

  • ポリシーリー:2つにチェック
    • ☑このポリシースコープ内のセキュリティグループは、少なくとも1つのリソースで使用する必要があります
      • (リソースにアタッチされてないものを検出したいのでチェックいれます)
    • ☑このポリシースコープ内のセキュリティグループは一意である必要があります
      • (重複したルールのSGを検出したいのでチェック入れます)
  • ポリシー:
    • ☑ポリシールールに準拠していないが自動修復しないリソースを特定する
      • (検出だけしたいのでチェックを入れます)
    • □非準拠のリソースを自動修正します。
      • (今回自動修正しないのでチェックオフ)

※「Auto remediate any noncompliant resources」は、例えばアタッチされてないSGを検知すると自動で削除されます。設定には注意が必要です。

スクリーンショット 0002-10-30 10.54.24.png

スクリーンショット 0002-10-30 10.54.31.png

Organization配下のアカウント全部を対象にし
Security Groupを対象リソースにし
タグなどでフィルタせず全てのSGを対象にします

スクリーンショット 0002-10-30 12.55.40.png

タグ情報は入れずに、次のサマリページもそのままで[Create policy]

検出確認

反映されるまで少し待ちます。

作成したSecurity policy(test-policy1)をクリックします。私の環境ではアカウントが4つあったので4つ表示されています。
Statusが"Noncompliant"になってるものが、このポリシールールに引っかかったものがあることを示しています。AWSアカウントBをクリックします。下から2つ目のNoncompliantになってるものです。

スクリーンショット 0002-10-30 13.44.47.png

ルールに引っかかったSGが表示されています。Violation reasonが「SECURITY_GROUP_UNUSED」なので、アタッチされてないSGであることがわかります。

スクリーンショット 0002-10-30 13.48.11.png

実際このSG IDは、AWSアカウントBに存在しリソースへのアタッチがされていませんでした。

スクリーンショット 0002-10-30 13.50.54.png

スクリーンショット 0002-10-30 13.51.10.png

一度ここで表示されたSGは削除します。以後また別のシナリオで試します。

新しくSG作って検出確認

  • SG1:EC2にアタッチ済。ルールは22ポート許可
  • SG2:未アタッチ。ルールは22ポート許可

既にアタッチされているSG1と同じルールのSG2を新しく作成し、アタッチしないでおきます。元のSG1はアタッチされてますが新規作成したSG2はまだアタッチしてないので、期待値としては、"アタッチされていない警告"と"重複したルールであるという警告"がでることです。

先程のSG1がsshで0.0.0.0/0への許可ルールだったので、同じルールでtmp01という名前のSG2を作成

スクリーンショット 0002-10-30 16.01.43.png

少し待ちます。
結果は以下のように"重複したルールがある警告"である"SECURITY_GROUP_REDUNDANT"のみでした。

スクリーンショット 0002-10-30 16.25.50.png

ルールの重複がないSG3(tmp02)を作成してみました。アタッチはしません。

スクリーンショット 0002-10-30 16.29.43.png

少し待ちます。
結果は以下のように"アタッチされてない警告"である"SECURITY_GOROUP_UNUSED"が出てます

スクリーンショット 0002-10-30 16.34.04.png

ルール重複があるSGで、アタッチされてたSG1もデタッチしどちらもデタッチした状態にしてみました。
結果はREDUNDANTのエラーのみで、UNUSEDより優先してREDUNDANTが出ていることがわかります。(どちらのエラーも出てほしい気がする・・)

スクリーンショット 0002-10-30 16.39.57.png

エラー表示パターン

SGが1つがアタッチされ、もう1つもアタッチされ重複があると
=>redundant。これはわかる

SGが1つがアタッチされ、もう1つがアタッチされてなく重複があると
=>redundant。これはredundantが優先されunusedは出ないような仕様のようです。

重複のないSGでアタッチされてない状態
=>unused。これはわかりやすい

SGがどちらもデタッチ状態で、重複したルールのSGは
=>redundant。これはredundantが優先されunusedは出ないような仕様のようです。

その他

  • SettingsにSNSでの通知設定があるが、細かい設定はなくまだSecurity policyごとに通知はできない
  • エラーの内容でどのSGと重複しているなどの情報がほしい
  • 重複と未使用のエラーがどちらも該当する場合、重複のエラーが優先され未使用が出ないが、両方でてほしい
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0