iptables:その名前でチェーン/ターゲット/一致なし - SSH攻撃ルールを追加する

iptables:その名前でチェーン/ターゲット/一致なし - SSH攻撃ルールを追加する

無差別SSH攻撃のルールを追加する際に問題があります。私はこれを使ってこれをやろうとしています。

iptables -F
iptables -L
iptables -N SSHATTACK
iptables -A SSHATTACK -j LOG --log-prefix "Possible SSH attack! " --log-level 7
iptables -A SSHATTACK -j DROP
#Block each IP address for 120 seconds which establishe more than three connections within 120 seconds. In case of the forth connection attempt, the request gets delegated to the SSHATTACK chain, which is responsible for logging the possible ssh attack and finally drops the request.
iptables -A INPUT -i venet0 -p tcp -m state --dport 22 --state NEW -m recent --set
iptables -A INPUT -i venet0 -p tcp -m state --dport 22 --state NEW -m recent --update --seconds 120 --hitcount 4 -j SSHATTACK

しかし、次の2行に問題があります。

iptables -A INPUT -i venet0 -p tcp -m state --dport 22 --state NEW -m recent --set
iptables -A INPUT -i venet0 -p tcp -m state --dport 22 --state NEW -m recent --update --seconds 120 --hitcount 4 -j SSHATTACK

このコマンド以降の出力は次のようになります。

iptables: No chain/target/match by that name.

iptables -L次の出力を提供します。

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain SSHATTACK (0 references)
target     prot opt source               destination
LOG        all  --  anywhere             anywhere            LOG level debug prefix `Possible SSH attack! '
DROP       all  --  anywhere             anywhere

そしてiptables -S以下を提供します:

-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-N SSHATTACK
-A SSHATTACK -j LOG --log-prefix "Possible SSH attack! " --log-level 7
-A SSHATTACK -j DROP

ip add与えられた場合(「?」でIPアドレスを隠しました):

1 lo LOOPBACK,UP,LOWER_UP mtu 65536 qdisc noqueue state UNKNOWN
    linkloopback 000000000000 brd 000000000000
    inet 127.0.0.18 scope host lo
    inet6 1128 scope host
       valid_lft forever preferred_lft forever
2 venet0 BROADCAST,POINTOPOINT,NOARP,UP,LOWER_UP mtu 1500 qdisc noqueue state UNKNOWN
    linkvoid
    inet 127.0.0.132 scope host venet0
    inet ?.?.?.24820 brd ?.?.?.255 scope global venet00

このルールを追加するにはどうすればよいですか?私は何を見逃していますか?

答え1

これは古いスレッドですが、誰かがここに来ると役に立ちます(私のために解決されました)。

問題はカーネルドライバがないことです。追加した後

CONFIG_NETFILTER_XT_MATCH_RECENT=y

カーネル構成を変更して再コンパイルすると、問題が解決します。モジュール(= m)として追加し、実行時に insmod することもできます。

頑張ってください!

答え2

パラメータが一致--dportの一部ではありません。state努力する:

iptables -A INPUT -i venet0 -p tcp --dport 22 -m state --state NEW -m recent --set

答え3

私は何を見逃していますか?

独自のルールセットの複雑さを軽減し、この機能を使用してfail2banルールセットを管理できます。近くのCentOS 7パッケージリポジトリまたはCentOS 6のEPELを介して利用できます。

Fail2banは攻撃ブロックルールを確立し、sshいくつかのチュートリアルを提供します。ここまたはここ

関連情報