【入門編】 Linux監査システム(auditd)によるログ監視の構築 – インフラ・ネットワーク & クラウドセキュリティ防御ガイド

みなさん、こんにちは。セキュリティの最前線で泥臭いインシデントと戦い続けているエンジニアです。

今日は、Linuxサーバーの「守り」の要である auditd(Linux監査システム)についてお話しします。難しそうに聞こえますか? 大丈夫です。一緒に一つずつ、紐解いていきましょう。

—

1. なぜ「ログ」が重要なのか? 〜泥棒の足跡を追いかける〜

サーバーを運用することは、一軒家を建てることに似ています。玄関(SSH)に鍵をかけ、窓(Webポート)を閉める。これが基本的な「要塞化」です。

しかし、もしプロの泥棒が「ピッキング」ではなく、壁をすり抜けて侵入してきたらどうでしょう? あなたが寝ている間に、家の中の金庫が開けられ、大切なデータが持ち出されるかもしれません。

そんな時、警察(システム管理者)が真っ先に確認するのは「防犯カメラの映像」ですよね。Linuxの世界において、その防犯カメラの役割を果たすのが auditd です。

auditd は、システム上の「誰が・いつ・どのファイルを・どう操作したか」というシステムコールレベルの記録を詳細に残してくれます。単なるログとは違い、攻撃者が証拠を消そうとしても、あらかじめ設定しておけば強固に守り抜くことができるんです。

—

2. auditd で「何」を監視すべきか?

闇雲にすべての操作を記録すると、ログの海に溺れてしまい、肝心な攻撃の痕跡を見逃します。まずは、絶対に押さえておくべきポイントを絞りましょう。

  • 特権操作の監視: sudo を使って root 権限を得た瞬間。
  • 重要ファイルの変更: /etc/passwd(ユーザー情報)や /etc/shadow(パスワードハッシュ)へのアクセス。
  • システムコールの監視: execve(プログラムの実行)。これで、「何が実行されたか」が分かります。

—

3. 実践:auditd の設定をやってみよう

では、実際に設定ファイル /etc/audit/rules.d/audit.rules を編集して、監視の目を光らせてみましょう。

# 1. 権限昇格を監視(sudoを実行した人を記録)
-w /usr/bin/sudo -p wa -k priv_esc

# 2. パスワード関連ファイルの改ざんを監視(誰かが無理やり書き換えていないか?)
-w /etc/passwd -p wa -k identity
-w /etc/shadow -p wa -k identity

# 3. プログラムの実行を監視(悪意あるスクリプトの実行をキャッチ)
-a always,exit -F arch=b64 -S execve -k exec_calls

# 最後に、設定を動的に読み込む(ルール変更後は必須!)
# auditctl -R /etc/audit/rules.d/audit.rules
  • -w: 監視対象のパスを指定。
  • -p wa: 「write(書き込み)」と「attribute(属性変更)」を監視するという意味です。
  • -k: ログを検索しやすくするための「タグ(ラベル)」です。

—

4. 盲点:ログ自体を盗まれたら?

ここで一つ、恐ろしい話をします。もし侵入者が「管理者権限」を手に入れたら、まず何をすると思いますか? そう、自分たちが残したログを消去します。

家の防犯カメラを壊し、録画データを持ち去るのと同じです。これを防ぐための鉄則が「ログのリモート転送」です。

ログをサーバーの中に溜め込むのではなく、別の「ログ収集サーバー」や「SIEM(統合ログ管理)」にリアルタイムで飛ばしておくのです。こうすれば、たとえサーバーが物理的に破壊されても、犯行の記録は安全な場所に残ります。

rsyslog を使うのが一般的ですが、設定はこのようなイメージです。

# /etc/rsyslog.d/audit.conf の設定例
# auditdのログをリモートサーバー(192.168.1.100)へ転送する
$ModLoad imfile
$InputFileName /var/log/audit/audit.log
$InputFileTag audit:
$InputFileStateFile stat-audit
$InputRunFileMonitor

# リモートのログサーバーへTCPで飛ばす
*.* @@192.168.1.100:514

—

5. まとめ:セキュリティは「継続」がすべて

auditd を設定したからといって、100%安全になるわけではありません。しかし、少なくとも「何かあった時に、何が起きたかを知る権利」を確保できます。

  • 最初の一歩: まずは sudo の実行ログを取るところから始めましょう。
  • 次のステップ: 大切な設定ファイルへのアクセスを監視しましょう。
  • 究極の守り: ログを外部へ退避させ、攻撃者が証拠隠滅できない環境を作りましょう。

セキュリティは、一度設定して終わりではありません。泥棒が新しい道具を手にいれるように、攻撃手法も常に進化しています。今日学んだことを基に、まずは自分のサーバーの「防犯カメラ」をオンにしてみてください。

もし分からないことがあれば、またいつでも聞きに来てくださいね。一緒に鉄壁のサーバーを育てていきましょう!

コメント

タイトルとURLをコピーしました