無差別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