2016-08-22 14 views
0

私は、デフォルトのINPUTポリシーがDROPに設定されたiptablesファイアウォールを持っています。私はSSHブルートフォースの試みを遅くするためにこれを使用しています。問題は、最後の行を残すと、以前のルールがトリガされず、すべてのSSHトラフィックが受け入れられるということです。私はそれを残しておくと、悪いIPからのパケットは落とされますが、私自身もSSHに接続することはできません。私の理解では、iptablesはシーケンシャルなので、前のルールのいずれも起動していなければ最後のルールにしか到達しません。私は最後の行に言うことを試みていることはあなたのIPがSSH_BRUTEFORCEリストにない場合は、経由で行く」である私が間違って何をやっているiptables SSHブルートフォース保護

iptables -P INPUT DROP 
iptables -P OUTPUT ACCEPT 
iptables -P FORWARD DROP 

iptables -N SSHSCAN 

iptables -A INPUT -i ens3 -p tcp -m tcp --dport 22 -m state --state NEW -j SSHSCAN 

iptables -A SSHSCAN -m recent --set --name SSH_BRUTEFORCE --rsource 
iptables -A SSHSCAN -m recent --update --seconds 360 --hitcount 10 --name SSH_BRUTEFORCE --rsource -j LOG --log-prefix "Anti SSH-Bruteforce: " --log-level 2 
iptables -A SSHSCAN -m recent --update --seconds 360 --hitcount 10 --name SSH_BRUTEFORCE --rsource -j DROP 
iptables -A SSHSCAN -m recent --rcheck --name SSH_BRUTEFORCE -j ACCEPT 
+0

あなたの現在の努力からあなたを抑止することはできませんが、fail2banはまた捨てる価値があります。 – castis

+0

また、インストールと設定が非常に簡単です。 https://download.configserver.com/csf/install.txt – sebastienvg

+0

パスワード認証を禁止するようにsshデーモンを設定することができれば、ほとんど問題を解決できます。 – larsks

答えて

0

あなたは律速例えばで開始することができます。?:

/usr/sbin/iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set /usr/sbin/iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP

あなたがドロップをログに記録したい場合は、

/sbin/iptables -N LOGDROP

/sbin/iptables -A LOGDROP -j LOG

/sbin/iptables -A LOGDROP -j DROP

iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set

iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j LOGDROP

ソースはここhttps://www.rackaid.com/blog/how-to-block-ssh-brute-force-attacks/

である。また、私は何か他のものにデフォルトのポートを移動することをお勧めしますと@larsksのように私はパスワードでログインを否定する提案しますキーを受け入れるだけです。

関連する問題