21章ツール:構成管理
システム管理者やセキュリティ技術者にとって、ファイルの存在、レジストリの値、ユーザアカウントといった、システムの現在の設定をチェックするツールは非常に有用である。設定の確認に加え、この手法はベースラインとなる設定を記録し、ベースラインとの差異を監視することで、簡易なIDSとしても用いることができる。この手法は、侵入の痕跡を探索するために用いることもできる。
本章では、ファイルやユーザの存在といった、チェックすべき一連の設定を記述したテキストファイルを読み込み、現在のシステムが条件を満たしているかを確認するようなツールを作成する。ツールはWindowsを対象するが、少し修正することでLinuxのサポートもできるようにする。
21.1 実装
validateconfig.sh
ツールは次のようなチェックを行う。
- ファイルの存在もしくは不存在
- ファイルのSHA-1ハッシュ
- Windowsのレジストリ値
- ユーザやグループの存在もしくは不存在
表21-1にスクリプトが読み込む設定ファイルの構文を示す。
目的 | フォーマット |
---|---|
ファイルの存在 | file ファイルパス |
ファイルの不存在 | !file ファイルパス |
ファイルのハッシュ | hash SHA-1ハッシュ ファイルパス |
レジストリの値 | reg " キーのパス " " 値 " " expected " |
ユーザの存在 | user ユーザID |
ユーザの不存在 | !user ユーザID |
グループの存在 | group グループID |
グループの不存在 | !group グループID |
例21-1に設定ファイルのサンプルを示す。
Get 実践 bashによるサイバーセキュリティ対策 ―セキュリティ技術者のためのシェルスクリプト活用術 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.