🛠️ rsyslogでiptablesログを破棄する設定手順

概要

iptablesLOG ターゲットによって出力される大量のログが syslog を圧迫するのを防ぐため、rsyslog にフィルタ設定を追加して、特定のログメッセージを保存せずに破棄する方法を紹介します。

前提条件

OS:Debian 系 Linux(Raspberry Pi OS 等)
対象:rsyslog がインストールされていること


📁 設定ファイルの場所

フィルタ設定は以下のファイルに記述します:

📝 対象ファイル:/etc/rsyslog.d/10-iptables-filter.conf
このファイルは rsyslog.conf$IncludeConfig /etc/rsyslog.d/*.conf により自動的に読み込まれます。

✏️ 記述方法と構文

各行は以下の構文で記述します:

:msg, contains, "フィルタしたい文字列"  ~
  • :msg, contains, "文字列" — メッセージに指定した文字列が含まれるかチェックするフィルタ条件
  • ~(チルダ)— マッチしたメッセージを破棄する(どこにも保存しない)

🧾 設定例

/etc/rsyslog.d/10-iptables-filter.conf の記述例:

# iptables ログをフィルタして破棄する
:msg, contains, "UDP LOG ポート番号:"  ~
:msg, contains, "BLOCK INPUT:"  ~
:msg, contains, "SRC="  ~
📝 各行の末尾の ~(チルダ)は破棄を意味します。マッチした行はどのログファイルにも書き込まれません。
フィルタしたい文字列に合わせて変更してください。

🔄 rsyslog の再起動

設定ファイルを保存したら、rsyslog を再起動して設定を反映させます:

sudo systemctl restart rsyslog
✅ エラーなく再起動できれば設定完了です。

✅ 動作確認

rsyslog の状態を確認します:

sudo systemctl status rsyslog

フィルタが正しく機能しているか確認するには、/var/log/syslog を監視して対象のログが出力されていないことを確認します:

sudo tail -f /var/log/syslog

📌 注意点

  • フィルタ設定ファイルは /etc/rsyslog.d/ 内に配置することで、rsyslog の再起動時に自動的に読み込まれます。
  • ~ による破棄は、マッチしたメッセージをすべてのログに書き込まなくします。重要なログが含まれる可能性がある場合は、フィルタ文字列を慎重に選択してください。
  • 設定変更後は必ず rsyslog を再起動してください。
JJ2YYK
  • JJ2YYK

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です