勉強日記

チラ裏

入門監視 ch10 セキュリティ監視

www.oreilly.co.jp


  • セキュリティ監視は、インフラやアプリケーションとは異なる
    • インフラやアプリケーション: それ自体が監視対象たりえる計測可能な量をもつ
  • セキュリティ対策は、脅威・リスクとコストとの衡量
    • 100ドルを失わないために1000ドルかけない
  • 「セキュリティは難しい」と決めつけず、注意深く決断せよ

監視とコンプライアンス

  • コンプライアンス規制のいろいろ
    • HIPAA
    • SOX
      • J-SOXとかあるわね
    • PCI-DSS
    • SOC2
  • 統制が想定通り働いているか?
  • まさに監視で担保する

1.3.5 ネットワーク内へ「確立された」接続のみを許可する (PCI-DSS v3.2)

5.2 すべてのウィルス対策メカニズムが以下のように維持されていることを確実にする (PCI-DSS v3.2) - 最新の状態である - 定期的にスキャンを行う - PDI CSS要件10.7に従って監査ログを生成・保持する

  • 監査ログをログアグリゲーションシステムで保存する
  • すべてのノードが定期的に更新されており、スキャンが開始して終了していることを監視する

(b) 標準: 監査統制。ハードウェア、ソフトウェア、およびまたは、電子的に保護された健康に関する情報を含んだり使用する情報システム内の活動を記録し、検査する手続きとしての仕組みを実装すること。 (HIPAA, 2007)

  • すべてのログをとる
    • 単純だが簡単ではない

ユーザ、コマンド、ファイルシステムの監査

  • auditd
    • Linux Audit Systemのユーザスペースのインタフェース
  • Linux Audit System
  • 独立しているので、他のサブシステム(syslogとか)が動いていなくても動作する
    • rsyslog等と異なるところ
  • レポートできるイベント
    • コマンドの実行
      • sudo
      • その他コマンド
      • 誰が実行した
    • ファイルアクセス
      • 特定ファイルの変更
      • 時刻
      • 誰が変更した
    • ユーザ認証
      • 試行
      • 失敗

auditdのセットアップ

  • モダンなCentOSDebianベースのディストリなら最初から入ってることが多いそう
  • /var/log/audit/audit.logに記録される
  • カスタムルール
    • /etc/audit/rules.d/audit.rules (RedHat)
    • /etc/audit/audit.rules (Debian)
  • デフォルトで記録されるのはごく一部
    • sudo
    • 認証の試行
    • などなど

auditdとリモートログ

  • auditdではログがサーバローカルに置きっぱなしになる
  • 中央サーバに送る必要あり
    • 改ざん防止
    • 集約・分析
  • audisp-remote
    • リモートのsyslogレシーバに転送できる
  • 確認すべき項目
    • SSHログインの成功
    • sudo
      • 成功
      • 失敗
  • やっぱりSaaSのススメ -- auditdのログを収集し、集約・分析するツール
    • CloudPassage
    • Threat Stack

ホスト型侵入検知システム(HIDS)

  • HIDS: Host Intrusion Detection System
  • rootkit
    • 本来許可されていないはずのコンピュータあるいはそのソフトウェアの領域へのアクセスを有効にするよう(悪意を持って)デザインされたソフトウェアの集まり
  • rootkitの検知

rkhunter

  • 検知方法
    • 既知の正常なハッシュとのファイルハッシュ比較
    • シグネチャベースで既知のrootkitの検知
    • セキュリティチェックのベスプラクティス
      • rootによるSSHが許可されているかどうかなど

ネットワーク侵入検知システム(NIDS)

  • NIDS: Network Intrusion Detection System
  • ネットワーク自体に対する脅威の検知
  • ファイアウォールとの違い
    • ファイアウォール: 侵入を未然に防止する
      • いつかは侵入されるもの
    • NIDS: 侵入された後にそれを通知する
  • ネットワークタップを配置して生のトラフィックを確認 (tap)
    • fail-openなモードを備えていること
      • 故障時、単なるカプラになるやつ (identity)
    • 可用性の監視も忘れぬこと
  • ハードウェアタップ使え
    • ハードウェアタップじゃないやつ
    • ハードウェアタップでないと、ポートがいっぱいになってしまう
  • ネットワークタップを配置したら、複製したトラフィックをSIEMに送る
  • SIEM: Security Information and Event Management (情報イベント管理)

まとめ

  • コンプライアンス目的の監視の要求事項は、見た目よりも単純なことも多い
    • 簡単とは限らない
      • 例えば「全て」のログを取るのは単純だが簡単ではない
  • auditdを使ったユーザ、コマンド、ファイルシステムの監査は、始めるのは簡単だが、役立つ状態に持っていくまでの調整が非常に大変
  • ルートキットやその他のホストレベルの侵入を検知するのは難しい場合がある
    • rkhunterから始めるのが良い
  • ネットワークセキュリティにはファイアウォールは十分ではない
    • ファイアウォールは「侵入を防ぐ」もの
      • いつかは侵入される
    • ネットワークタップを注意深く配置し、NIDSを使うことで、たくさんの情報を取得できる
      • 侵入を検知して通知する