最近、自宅端末のエンドポイントセキュリティを見直すためにパスワードの複雑性ポリシーを定めたり、セキュリティ更新状況をちゃんと管理することにした。
全部綺麗になってパッチ適用もオートメーションになればもはや管理することは無くなるんだけど、オフライン端末等も含めるとなかなかそうもいかないのが現状。
ということでRedmineのCMDBにカスタムフィールドを追加して端末ごとの状況を入力してみた。
※変更が効かないMACさえ隠しておけば何とでもなると思ってる。。
工夫した点
前提としてカスタムフィールドはテキストではなく、なるべく実態に即した型を使用したい。
セキュリティ更新日なら日付型、ポリシー準拠状況は真偽型。
空欄を作ると入力漏れなのか該当する値が無いのか分からないので、全機器セキュリティ項目は埋めたい。
しかしここで問題となるのが追加NICなどのそもそも機器本体ではないケース。
当然NICにパスワードなんてないし、セキュリティパッチを当てるような対象でもない。
そこで次のルールとした
パスワードポリシー準拠欄
- 準拠可能なものは、はい・いいえで選択
- 準拠不可(該当しない)の場合、はいを選択
これで、いいえと未記入(記入もれ)だけクエリで拾えば要対応案件が分かる。
セキュリティ更新日欄
- パッチ適用の対象となる機器のうち、適用日がはっきりしているものは日付を記入
- パッチ適用の対象となる機器のうち、適用日がはっきりしないものは1111年1月1日を記入
- パッチ適用の対象とならない機器は、9999年9月9日を入力
これで、古い日付と未記入(記入もれ)だけクエリで拾えば要対応案件が分かる。
運用ポリシーも叩き作成してみたので公開
Redmine内のWikiに書いた内容をコピーしてきた。
パスワードポリシー
複雑性に関するポリシー
- 大文字・小文字・数字・特殊文字をそれぞれ最低1種類含む、ランダムに生成された16文字のパスワードを使用する
- 可能な限りKeePassXCによるパスワード自動生成機能を使用し、「すばらしい」と評価が付くパスワードが出るまで繰り返し生成をやり直す
デフォルトユーザー名変更ポリシー
- ラズベリーパイのデフォルトユーザーpiは名前を変更する
特権に関するポリシー
- rootがパスワード未設定の場合にログインできない設定になっていることを確認する
- 上記設定を活かすため、rootにはあえてパスワードを設定しない
- sudoによる権限昇格時にユーザーパスワードを要求する
セキュリティパッチ運用ポリシー
- オンライン端末については週に1度更新を確認し、最新パッチを適用する
- オフライン端末については最低でも半年に1度更新を確認し、最新パッチを適用する
ポリシーの運用方針
もともとダメダメだったので一気にガチガチにしようとはせず、できる範囲からやっていこうと思う。
パスワードについては今ほとんどKeePassXCからのコピペ運用で回ってるのである程度複雑化させても面倒くさがらずに運用できることが実証済。
運用していくなかでポリシーは必要に応じて頻繁かつ柔軟に変えていこうと思う。
そんなブレブレで良いのかと思うかもしれないけど、所詮個人が自宅でやることなので、守れもしないポリシーを見て見ぬフリして実体がコントロール不能に陥いるよりは、防衛ラインを上げたり下げたりしながら、決めたラインで戦い続けるという方が現実的。
以上