web-dev-qa-db-ja.com

`iptables`の詳細度を上げて、CentOSベースのサーバーでログの場所を決定しますか?

ポンドリバースプロキシに関してここで奇妙な問題が発生し、CentOSベースのディストリビューション(ClearOS 6.2.x)でトラフィックを適切に送信しなくなりました。

iptablesの問題か何かであると思います。自分の/var/log/messagesまたは/var/log/system

iptablesロギングの詳細度を上げて、それで何が起こっているかを確認するにはどうすればよいですか(ロギングデータがどこに保持されているかについての確実性の観点から)?

3
ylluminate

以下は、iptablesロギングをオンにするために過去に行った一般的な手順です。

Modify Logging
- Sudo vi /etc/syslog.conf
- kern.warning /var/log/iptables.log
 - Sudo /sbin/service syslog restart
 - Sudo vi /etc/logrotate.d/syslog
- If this file is already there, add /var/log/iptables.log to the first line
- If the file is not there, add it:
/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron /var/log/iptables.log {
    sharedscripts
    postrotate
        /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}
Implement firewall rules
• Sudo vi /etc/sysconfig/iptables.script
• Sudo chmod 700 /etc/sysconfig/iptables.script
• Sudo /etc/sysconfig/iptables.script

私のiptablesスクリプト内では、すべての一般的な許可ルールが上部にあり、下部に向かっていくつかの特定のロギングルールがあります。以下はいくつかの例です。

# Log dropped traffic
/sbin/iptables -A INPUT -j LOG -m limit --limit 10/m --log-level 4 --log-prefix "Dropped Traffic: "
# Log outbound traffic for anything not equal private ip ranges (this is defined in some previous rules)
/sbin/iptables -A OUTPUT -j LOG -m limit --limit 10/m --log-level 4 --log-prefix "Outbound Traffic: "
# Log traffic that doesn't hit a rule above (stuff that may be blocked in the future)
/sbin/iptables -A INPUT -j LOG -m limit --limit 10/m --log-level 4 --log-prefix "Potentially Dropped Traffic: "

これでできることは明らかにたくさんあります。 ここ はいくつかの一般的な情報への良いリンクです。

5
Eric

'-j LOG'ターゲットを使用して、一致したパケットをシステムログに記録できます。任意の文字列をプレフィックスとして付けることもできます。

問題のデバッグに役立つように、wiresharkやtcpdumpなどのネットワークスニファを使用できます。また、iptablesカウンターは、特定のルールの変更を監視することにより、ビジー状態の少ないサーバーに関する優れた情報源になります。

iptables -L -nvxで正確なカウンターを表示できます。

2
Khaled