5

新しい CentOS7 ボックスで「新しい」firewalld を使用しようとしましたが、切断された接続試行をログに記録できません。誰かがトリックを知っていますか?

私は試した:

firewall-cmd --zone=public --remove-service=ssh
firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="10.1.2.0/24" port port="22" protocol="tcp" log prefix="SSH-ALLOW_" accept'
firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="10.3.4.0/24" port port="22" protocol="tcp" log prefix="SSH-ALLOW_" accept'
[here comes a VERY VERY long list of similar entries]

そして今、質問: 許可されていない IP からの接続試行のログ エントリを指定するにはどうすればよいですか? 非動作のようなもの:

firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="NOT-ONE-OF-THE-ABOVE" port port="22" protocol="tcp" log prefix="SSH-DENY_" drop'

何か案は?

4

2 に答える 2

0

これが日付の付いた投稿であることはわかっています。私の解決策は特定のポートのログに直接対処するものではありませんが、firewalld でログ ドロップを検索してきました。この問題に対処しようとする多くの古い投稿やブログがあります。

パブリックの場合、Red Hat からのこの更新は、サブスクライバーだけでなく、より多く利用できるはずです。

Errata RHSA-2016:2597 から firewalld-0.4.3.2-8.el7 にアップグレードします。

ログに記録するパケットを指定する

firewall-cmd --set-log-denied= 値は、all、unicast、broadcast、multicast、または off のいずれかです。

ソース: https://access.redhat.com/solutions/1191593

于 2018-01-30T16:06:58.823 に答える
0

ほとんど。どちらの場合も、アドレス パラメータを反転します。

表示されている 2 つのサブネットを含む例では、元のサブネットを次のように変更します。

firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="NOT-ONE-OF-THE-ABOVE" port port="22" protocol="tcp" log prefix="SSH-DENY_" drop'

これらに:

firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="10.1.2.0/24" invert=true port port="22" protocol="tcp" log prefix="SSH-DENY_" drop'
firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="10.3.4.0/24" invert=true port port="22" protocol="tcp" log prefix="SSH-DENY_" drop'

これにより、firewalld によって次の IP テーブル ルールが作成されます。

# iptables -S | grep _public_log
-A IN_public -j IN_public_log
-A IN_public_log ! -s 10.1.2.0/24 -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -j LOG --log-prefix SSH-DENY_
-A IN_public_log ! -s 10.3.4.0/24 -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -j LOG --log-prefix SSH-DENY_

iptables speak の 2 つのルールの違いは、「!」です。論理演算子「Not」を表します。iptables に対する元のルール:

-A IN_public_deny -s 10.1.2.0/24 -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -j DROP
-A IN_public_log -s 10.1.2.0/24 -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -j LOG --log-prefix SSH-DENY_

HTH。

于 2015-09-01T22:30:38.540 に答える