web-dev-qa-db-ja.com

Shorewall:カスタムファイルへのロギング

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はNFLOGULOGの後継)宛先にログを記録します。つまり、Netfilterログメッセージは_ulogd2_によって処理されます。

わからないのは、_ulogd2_にすべての海岸壁メッセージを目的のログファイル_/var/log/shorewall_に書き込むように指示する方法です。

このフォーラムスレッド が証言しているように、ドキュメントはこれについてかなり不明確です。これ ブログ投稿 _ulogd2_のログリダイレクトに関して、私が見つけたのも同様に曖昧です。

要約すれば:

  1. 海岸壁のログメッセージを_ulogd2_にリダイレクトするための私のアプローチはまったく正しいですか?
  2. Shorewallのメッセージを_ulogd2_にリダイレクトするように_/var/log/shorewall_を設定するにはどうすればよいですか?

PS:これは他のLinuxディストリビューションにも同様に関連しているので、AskUbuntuではこの質問をしていません。

5
derabbink

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を再起動する必要があります。

4
user9517

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
0
Kartoch