サービスの最小権限
Pro会員限定上級約48分8レッスン
systemd サービスが必要以上の権限で動いていないかを点検します。User= とハードニング指示子の有無を読み、過剰権限の log-shipper を drop-in でハードニングし、専用ユーザーで動かすところまで是正します。
対象者: サービスを最小権限で動かす設計を、ユニットの点検と是正から身につけたい方
前提知識: アカウントと権限の棚卸し 修了程度
この教材を終えると、できるようになること
- systemctl show -p User で、サービスの実行ユーザーを確認できるようになる。
- ユニット全体を読み、ハードニング指示子の有無を確認できるようになる。
- 専用ユーザーで動く適切なサービスと比較し、何が違うかを言えるようになる。
- 複数のユニットを横断し、root で動くサービスを洗い出せるようになる。
- grep の終了コードを使い、ハードニング指示子が設定されていないことを確認できるようになる。
- ユニット本体を書き換えずに drop-in でハードニング指示子を足し、systemctl show で効いていることを確認できるようになる。
…ほか 1 項目(レッスン一覧をご覧ください)
修了後の姿: 攻撃を痕跡から理解し、検知・防御・ハードニングを設計して、インシデントを根本原因から再発防止まで導けるセキュリティエンジニアへ。
Chapter 1サービスの権限を点検し是正する
User= とハードニング指示子の観点で過剰権限のサービスを見つけ、drop-in と専用ユーザーで是正します。
- どのユーザーで動くかを確認するsystemctl show で実行ユーザーを読む約5分(有料会員限定)
- ユニットの中身を読むハードニング指示子が無いことを確認する約5分(有料会員限定)
- 適切なサービスと比べる非 root で動く app.service と対比する約5分(有料会員限定)
- 全サービスの実行ユーザーを棚卸しするユニットを横断して User= を比べる約6分(有料会員限定)
- ハードニング指示子の不足を確かめるgrep の終了コードで「設定が無い」ことを示す約6分(有料会員限定)
- drop-in でハードニングするoverride.conf に指示子を書き、daemon-reload して確かめる約8分(有料会員限定)
- 専用ユーザーで動かすシステムユーザーを作り、User= を drop-in で差し替えて ps で確かめる約8分(有料会員限定)
- 確認クイズ: サービスの最小権限User=・ハードニング指示子・drop-in の点検と是正約5分(有料会員限定)