buntu Server 14.04 システムと shorewall ファイアウォールを実行しています。 Shorewallは本質的に iptables のフロントエンドであり、Netfilterを介してロギングを行うのはiptablesです(これまでのところ私の理解です)。
私の問題は、別の宛先への ロギングに関するshorewallドキュメント を理解できないことです。これは私がどこまで来たかです:
ulogd
をインストールして起動しました/etc/shorewall/params
_で変数を定義しました:_LOG=NFLOG
_$LOG
_のすべてのinfo
を_/etc/shorewall/shorewall.conf
_に変更しました/etc/shorewall/shorewall.conf
_に設定しました:_LOGFILE=/var/log/shorewall
_これにより、おそらく次のことが達成されます。NetfilterはNFLOG
(ULOG
の後継)宛先にログを記録します。つまり、Netfilterログメッセージは_ulogd2
_によって処理されます。
わからないのは、_ulogd2
_にすべての海岸壁メッセージを目的のログファイル_/var/log/shorewall
_に書き込むように指示する方法です。
このフォーラムスレッド が証言しているように、ドキュメントはこれについてかなり不明確です。これ ブログ投稿 _ulogd2
_のログリダイレクトに関して、私が見つけたのも同様に曖昧です。
ulogd2
_にリダイレクトするための私のアプローチはまったく正しいですか?ulogd2
_にリダイレクトするように_/var/log/shorewall
_を設定するにはどうすればよいですか?PS:これは他のLinuxディストリビューションにも同様に関連しているので、AskUbuntuではこの質問をしていません。
Ubuntuはrsyslogを使用しているため、メッセージをフィルタリングして任意のログファイルに書き込むように設定できます。たとえば、ファイル/etc/rsyslog.d/shorewall.confを作成します。
:msg, contains, "Shorewall:" /var/log/shorewall
& ~
または、さらに分割したい場合
:msg, contains, "Shorewall:cust2net:ACCEPT:" /var/log/shorewallc2na.log
& ~
:msg, contains, "Shorewall:" /var/log/shorewall
& ~
これにより、「Shorewall:cust2net:ACCEPT:」を含むすべてのメッセージが1つのログファイルに記録され、「Shorewall」を含む他のすべてのメッセージが別のログファイルに記録されます。
これを有効にするには、rsyslogdを再起動する必要があります。
policy
ファイルを更新するのを忘れたと思います。
#SOURCE DEST POLICY LOG LEVEL LIMIT:BURST
$FW net ACCEPT
net all DROP $LOG
# The FOLLOWING POLICY MUST BE LAST
all all REJECT $LOG