【メモ】インフラとOSハードニングの基本
はじめに
安全なアプリケーションを作っても、動かす基盤が弱ければ事故は起きます。
不要サービス、広すぎるポート開放、放置されたパッチ、雑な構成管理は、攻撃者にとって分かりやすい入口になります。1
この章では、セキュリティ技術入門として押さえておきたいハードニングの基本を整理します。
ハードニングとは何か
ハードニングは、システムを使いにくくすることではありません。
不要な機能や余計な露出を減らし、想定した使い方だけに寄せることです。
言い換えると、次の問いに答える作業です。
- 本当に必要な機能は何か
- 誰がどこから触るのか
- 不要な入口が開いていないか
- 変化を追える状態か
不要サービスを止める
使っていないサービスが動いていると、それ自体が管理対象と攻撃面になります。1
この段階で意識したいのは、次の点です。
- 何が起動しているか把握する
- 使わないものは止める
- 将来使うかもしれないという理由で漫然と残さない
不要サービスは、便利さではなく、露出の増加として見なければなりません。
ポートと通信を絞る
開いているポートは、外部または内部から到達できる入口です。
本当に必要な通信だけを許可することが重要です。1
考えるべき観点は次のとおりです。
- どの通信が必要か
- 外部公開が必要か
- 管理用通信は限定できるか
- 一時的に開けた設定を戻しているか
パッチ管理
脆弱性は、存在すること自体より、分かっているのに放置されることが大きな問題です。1
そのため、パッチ管理では次が重要です。
- 対象資産を把握する
- どの更新が必要かを追う
- 適用優先度を決める
- 適用後の確認を行う
「時間ができたら更新する」ではなく、運用として回る仕組みにする必要があります。
構成管理
構成が分からない環境では、安全性も再現性も担保しにくくなります。1
たとえば、次のような状態は危険です。
- 誰がいつ何を変えたか分からない
- サーバごとに設定が微妙に違う
- 手作業変更が残り続ける
- 設計値と実環境がずれている
構成管理は、可用性や運用効率のためだけでなく、セキュリティにも直結します。
バックアップも防御の一部
バックアップは、障害対応だけでなく、破壊、誤削除、侵害からの復旧にも関わります。1
注意したいのは、バックアップが「存在する」だけでは不十分なことです。
- 復元できるか
- 必要な範囲を取れているか
- 改ざんや同時破壊に弱くないか
- 復旧手順が分かるか
WAF、FW、EDRを役割で理解する
セキュリティ技術入門の段階では、個別製品名より「どこを守る役割か」を押さえるのが重要です。1
- FW: 通信の出入りを制御する
- WAF: Webアプリまわりの不審なアクセスを抑制する
- EDR: 端末やサーバ上の不審な挙動を検知、対応する
これらはどれか1つで全部守るものではなく、層ごとに役割が違います。
起こしやすい誤り
初期設定のままでも大丈夫と思う
初期設定は、すべての運用に最適化された安全設定ではありません。
環境に応じた見直しが必要です。
使っていないものを残しても害はないと思う
不要サービスや不要ポートは、利用価値より管理負荷と攻撃面の増加が大きくなります。
パッチ適用を単発イベントで考える
更新は一回きりではなく、継続的な運用です。
対象把握、優先順位、適用確認まで含めて考える必要があります。
日常で意識したい原則
- 不要なものを減らす
- 必要な通信だけを残す
- 構成変化を追えるようにする
- パッチとバックアップを運用として回す
- 防御製品の役割分担を理解する
ミニ確認
- 不要サービスを止めることがなぜ重要か
- ポート管理で見るべきなのは何か
- パッチ管理を継続運用として考えるべき理由は何か
- WAF、FW、EDRの役割はどう違うか