April 2020
Intermediate to advanced
352 pages
4h 11m
Japanese
システム管理者やセキュリティ技術者にとって、ファイルの存在、レジストリの値、ユーザアカウントといった、システムの現在の設定をチェックするツールは非常に有用である。設定の確認に加え、この手法はベースラインとなる設定を記録し、ベースラインとの差異を監視することで、簡易なIDSとしても用いることができる。この手法は、侵入の痕跡を探索するために用いることもできる。
本章では、ファイルやユーザの存在といった、チェックすべき一連の設定を記述したテキストファイルを読み込み、現在のシステムが条件を満たしているかを確認するようなツールを作成する。ツールはWindowsを対象するが、少し修正することでLinuxのサポートもできるようにする。
validateconfig.shツールは次のようなチェックを行う。
表21-1にスクリプトが読み込む設定ファイルの構文を示す。
表21-1 ファイルのフォーマット
| 目的 | フォーマット |
|---|---|
| ファイルの存在 | file ファイルパス |
| ファイルの不存在 | !file ファイルパス |
| ファイルのハッシュ | hash SHA-1ハッシュ ファイルパス |
| レジストリの値 | reg "キーのパス" "値" "expected" |
| ユーザの存在 | user ユーザID |
| ユーザの不存在 | !user ユーザID |
| グループの存在 | group グループID |
| グループの不存在 | !group グループID |
例21-1に設定ファイルのサンプルを示す。
例21-1 validconfig.txt
user jsmith file "c:\windows\system32\calc.exe" ...
Read now
Unlock full access