IT監査実践編(Linux②)Linuxサーバのログ取得・監視設定:IT監査で確認すべきポイントMay 11, 2026 · 4 分
Linuxサーバのログ取得・監視設定:IT監査で確認すべきポイント
目次

はじめに:なぜLinuxサーバのログ管理がIT監査で重要なのか

IT監査において、Linuxサーバのログ取得・監視設定は避けて通れない重要な確認項目です。ログは「システムの証跡」であり、セキュリティインシデントの発生時には原因究明の唯一の手がかりとなることも少なくありません。

近年、サイバー攻撃の高度化やコンプライアンス要件の厳格化に伴い、適切なログ管理の重要性は年々高まっています。金融庁の「金融機関のITガバナンスに関する対話のためのオブザベーション」や、経済産業省の「サイバーセキュリティ経営ガイドライン」においても、ログの適切な取得・保管・監視は重要な管理策として位置づけられています。

本記事では、IT監査の実務担当者向けに、Linuxサーバのログ取得・監視設定において確認すべきポイントを具体的に解説します。監査を受ける側のシステム管理者の方にとっても、事前準備のチェックリストとして活用いただける内容となっています。


背景・概要:Linuxログ管理の基本を理解する

Linuxにおけるログの種類と役割

Linuxシステムでは、様々なログが生成されています。IT監査において特に重要なログは以下の通りです。

ログの種類主な格納場所記録される内容
システムログ/var/log/syslog または /var/log/messagesOS全般のイベント、サービスの起動・停止
認証ログ/var/log/auth.log または /var/log/secureログイン試行、sudo実行、認証関連
カーネルログ/var/log/kern.logカーネルメッセージ、ハードウェア関連
監査ログ/var/log/audit/audit.logauditdによる詳細な操作記録
アプリケーションログ各アプリケーション固有Webサーバ、DB、ミドルウェア等のログ

rsyslogとjournaldの違い

現代のLinuxディストリビューションでは、主に2つのログ管理システムが使用されています。

rsyslogは、従来からあるsyslogの拡張版で、テキストベースのログファイルを生成します。設定ファイルは/etc/rsyslog.confにあり、柔軟なフィルタリングやリモート転送が可能です。

systemd-journaldは、systemdに統合されたログ管理機能で、バイナリ形式でログを保存します。journalctlコマンドで参照でき、メタデータの豊富さが特徴です。

多くの環境では、両者が併用されており、journaldで収集したログをrsyslog経由でファイル出力するという構成が一般的です。

IT監査におけるログ管理の位置づけ

IT監査フレームワークにおいて、ログ管理は以下の領域に関連します。

これらのフレームワークに基づき、ログ管理の適切性を評価することが求められます。


具体的な確認ポイント:IT監査で押さえるべき8項目

ポイント1:ログ取得対象の網羅性を確認する

確認の目的:セキュリティ上重要な操作やイベントがすべて記録されているかを検証します。

確認すべき項目

  1. 認証関連イベント

    • ログイン成功・失敗(ローカル、SSH、コンソール)
    • sudo実行とその結果
    • パスワード変更、アカウントロック
  2. 特権操作

    • root権限での操作
    • 重要な設定ファイルの変更
    • サービスの起動・停止
  3. ファイルアクセス

    • 機密データへのアクセス
    • システム設定ファイルの変更
    • 実行ファイルの変更

実務での確認方法

# rsyslogの設定確認
cat /etc/rsyslog.conf | grep -v "^#" | grep -v "^$"

# auditdのルール確認
auditctl -l

# journaldの設定確認
cat /etc/systemd/journald.conf

監査上の着眼点

ポイント2:ログの保存期間と容量管理を検証する

確認の目的:法規制やポリシーで定められた期間、ログが保存されていることを確認します。

一般的な保存期間の目安

業界・規制推奨保存期間
金融機関(FISC安対基準)最低1年、重要なものは7年
PCI DSS最低1年(直近3ヶ月は即時参照可能)
一般企業(ベストプラクティス)最低90日〜1年
法的証拠保全事案に応じて3〜10年

確認すべき設定

# logrotateの設定確認
cat /etc/logrotate.conf
cat /etc/logrotate.d/*

# 実際のログファイルの保存状況
ls -la /var/log/
ls -la /var/log/audit/

# journaldの保存設定
journalctl --disk-usage
cat /etc/systemd/journald.conf | grep -E "^(SystemMaxUse|MaxRetentionSec)"

logrotate設定例の評価ポイント

/var/log/auth.log {
    weekly          # ローテーション頻度
    rotate 52       # 保存世代数(52週=1年分)
    compress        # 圧縮の有無
    delaycompress   # 圧縮タイミング
    missingok       # ファイル欠落時の動作
    notifempty      # 空ファイルの扱い
}

監査上の着眼点

ポイント3:ログの改ざん防止対策を評価する

確認の目的:ログの真正性が担保され、事後的な改ざんが困難であることを確認します。

改ざん防止の主な方法

  1. ファイルパーミッションの適切な設定
# ログファイルのパーミッション確認
ls -la /var/log/auth.log
# 推奨: -rw-r----- (640) または -rw------- (600)

# ログディレクトリのパーミッション確認
ls -ld /var/log/audit/
# 推奨: drwx------ (700)
  1. immutable属性の設定(高セキュリティ環境)
# immutable属性の確認
lsattr /var/log/audit/audit.log
# "i"フラグがあれば削除・変更不可
  1. リモートログサーバへの転送
# rsyslogでのリモート転送設定確認
grep -E "^(\*\.\*|auth\.\*)" /etc/rsyslog.conf | grep "@"
  1. ログの署名・ハッシュ化

auditdのDispatcher機能を使用した完全性検証や、外部ツール(OSSEC、Tripwireなど)との連携を確認します。

監査上の着眼点

ポイント4:auditdの設定を詳細に確認する

確認の目的:Linux監査システム(auditd)が適切に設定され、重要な操作が記録されていることを確認します。

auditdとは: auditdは、Linuxカーネルレベルで動作する監査システムです。システムコールレベルでの詳細な操作記録が可能であり、コンプライアンス要件を満たすために不可欠なコンポーネントです。

確認すべき設定ファイル

# auditd.confの主要設定
cat /etc/audit/auditd.conf

重要なパラメータ:

推奨されるauditルールの例

# /etc/audit/rules.d/audit.rules の内容確認

# 時刻変更の監視
-a always,exit -F arch=b64 -S adjtimex -S settimeofday -k time-change

# ユーザー・グループ変更の監視
-w /etc/passwd -p wa -k identity
-w /etc/group -p wa -k identity
-w /etc/shadow -p wa -k identity

# sudoers変更の監視
-w /etc/sudoers -p wa -k sudo-change
-w /etc/sudoers.d/ -p wa -k sudo-change

# ネットワーク設定変更の監視
-w /etc/hosts -p wa -k network-change
-w /etc/network/ -p wa -k network-change

# 特権コマンドの監視
-a always,exit -F path=/usr/bin/passwd -F perm=x -k privileged-passwd
-a always,exit -F path=/usr/bin/sudo -F perm=x -k privileged-sudo

ルールの意味

監査上の着眼点

ポイント5:ログの集中管理とSIEM連携を確認する

確認の目的:複数サーバのログが一元管理され、相関分析が可能な状態であることを確認します。

集中管理の重要性

確認すべき構成要素

  1. ログ転送の設定(送信側)
# rsyslogでの転送設定
cat /etc/rsyslog.conf | grep -E "^(\*\.\*|auth)" | grep "@"

# 例: *.* @@192.168.1.100:514
# @: UDP転送、@@: TCP転送
  1. ログ受信サーバの設定(受信側)
# リスニング設定の確認
cat /etc/rsyslog.conf | grep -E "^(module|input)"

# 例:
# module(load="imtcp")
# input(type="imtcp" port="514")
  1. SIEM(Security Information and Event Management)連携

一般的なSIEM製品とLinuxログの連携確認:

監査上の着眼点

ポイント6:アラートと異常検知の仕組みを評価する

確認の目的:セキュリティ上の異常が適切に検知され、担当者に通知される仕組みがあることを確認します。

検知すべきイベントの例

カテゴリ具体的なイベント閾値の目安
認証異常SSH認証失敗5回/5分で同一IP
認証異常sudo失敗3回/10分で同一ユーザー
特権操作root権限でのファイル変更重要ファイル変更時は即時
可用性ディスク使用率80%超過で警告、90%超過で緊急

ローカルでの検知設定例(fail2ban)

# fail2banの設定確認
cat /etc/fail2ban/jail.local

# SSHの設定例
# [sshd]
# enabled = true
# maxretry = 5
# findtime = 600
# bantime = 3600

auditdベースのアラート(ausearch/aureport)

# 認証失敗の確認
aureport -au --failed

# 特定期間の異常確認
ausearch -ts recent -m USER_LOGIN -sv no

監査上の着眼点

ポイント7:ログのバックアップとリストア手順を確認する

確認の目的:障害や攻撃によるログ消失に備えた対策が講じられていることを確認します。

バックアップの観点

  1. バックアップの頻度と方法
# cronジョブでのバックアップ確認
crontab -l
cat /etc/cron.d/*

# バックアップスクリプトの例
# 0 2 * * * /usr/local/bin/log-backup.sh
  1. バックアップ先の確認
# バックアップ先の存在確認
ls -la /backup/logs/

# リモートバックアップの場合
cat /etc/rsyncd.conf
  1. リストア手順の文書化と検証

監査上の着眼点

ポイント8:運用手順とドキュメントの整備状況を確認する

確認の目的:ログ管理が属人化せず、継続的に運用可能な状態であることを確認します。

確認すべきドキュメント

  1. ログ管理ポリシー

    • ログ取得対象の定義
    • 保存期間の規定
    • アクセス権限の規定
  2. 運用手順書

    • 日常的なログ確認手順
    • ログローテーションの確認手順
    • 容量監視の手順
  3. インシデント対応手順

    • ログの保全手順(証拠保全)
    • 分析手順とツール
    • エスカレーションフロー
  4. 変更管理記録

    • ログ設定の変更履歴
    • 承認プロセスの記録

監査上の着眼点


よくある質問(FAQ)

Q1:ログの保存期間は最低どのくらい必要ですか?

A1:業界や適用される規制によって異なりますが、一般的な目安は以下の通りです。

最低限の推奨保存期間

業界別の要件例

実務上のポイントとして、ログの保存期間を決定する際は、法規制要件だけでなく、以下の観点も考慮してください:

  1. インシデント調査への対応:高度な攻撃は発見まで平均200日以上かかるとされるため、最低でも1年分のログがあることが望ましい
  2. 訴訟対応:法的紛争が発生した場合の証拠保全期間
  3. コスト:ストレージコストとのバランス(圧縮・階層化ストレージの活用検討)

Q2:auditdとrsyslogの両方を使う必要がありますか?

A2:はい、両方を適切に使い分けることを推奨します。それぞれ役割と特徴が異なるためです。

rsyslog(syslog)の特徴

auditdの特徴

使い分けの指針

用途推奨されるシステム
一般的なシステムイベントrsyslog
アプリケーションログrsyslog
認証イベントの詳細追跡auditd
ファイルアクセスの監視auditd
コンプライアンス対応auditd(必須)+ rsyslog

セキュリティ要件が高い環境では、両方を有効化し、auditdのログもrsyslog経由でリモートサーバに転送する構成が一般的です。

Q3:IT監査でログ設定の不備を指摘された場合、何から対応すべきですか?

A3:指摘事項の内容と重要度によりますが、以下の優先順位で対応することを推奨します。

優先度1(即座に対応):セキュリティに直結する問題

対応例

# rsyslogサービスの確認と有効化
systemctl status rsyslog
systemctl enable --now rsyslog

# auditdの有効化
systemctl enable --now auditd

優先度2(1週間以内に対応):ポリシー違反の問題

対応例

# logrotate設定の修正
vi /etc/logrotate.d/rsyslog
# rotate 4 → rotate 52(保存期間を1年に延長)

優先度3(1ヶ月以内に対応):運用・文書化の問題

対応のステップ

  1. 指摘事項の正確な理解と影響範囲の特定
  2. 是正計画の策定(期限、担当者、具体的な対応内容)
  3. 変更管理プロセスに従った設定変更
  4. 変更後のテストと検証
  5. ドキュメントの更新
  6. 監査人への是正完了報告

重要なのは、単に設定を修正するだけでなく、再発防止の仕組みを構築することです。定期的なセルフ監査やチェックリストの導入を検討してください。


まとめ:IT監査に備えたLinuxログ管理のチェックリスト

本記事で解説した内容を、IT監査に備えたチェックリストとしてまとめます。

ログ取得に関するチェック項目

ログ保存に関するチェック項目

ログ保護に関するチェック項目

ログ監視に関するチェック項目

運用・ドキュメントに関するチェック項目


おわりに

Linuxサーバのログ取得・監視設定は、IT監査における重要な確認項目であり、セキュリティとコンプライアンスの両面で欠かせない管理策です。

本記事で解説した8つのポイントを押さえることで、IT監査への対応力を高めるとともに、実際のセキュリティインシデント発生時にも適切に対処できる体制を構築できます。

特に重要なのは、ログは「取得して終わり」ではなく、適切に保存し、監視し、必要時に活用できる状態を維持することです。日常的な運用の中でログ管理の品質を維持し、定期的なセルフ監査を通じて改善を続けてください。

本記事が、皆様のIT監査対応とセキュリティ強化の一助となれば幸いです。

IT監査 セキュリティ