因此,我设置了我的 iptables 配置,以便反复尝试 SSH 进入我的私人服务器会导致黑名单。
# iptables -N SSH
# iptables -A INPUT -p tcp --dport ssh -m conntrack --ctstate NEW -j SSH
# iptables -A SSH -m recent --name sshbf --rttl --rcheck --hitcount 3 --seconds 10 -j DROP
# iptables -A SSH -m recent --name sshbf --rttl --rcheck --hitcount 4 --seconds 1800 -j DROP
# iptables -A SSH -m recent --name sshbf --set -j ACCEPT
现在,我的 git 存储库也托管在此服务器上,并且设置为通过 ssh 工作,因为
git@myserver:/path/to/repo.repo.git
有没有办法修改上面的 iptables 规则,这样使用 git 帐户就不会触发 hitcount 规则。由于编码进度很多,尝试提交几次然后被锁定在服务器外半个小时,这并不好玩。
答案1
为了安全起见,我建议使用基于密钥的身份验证以及 SSH 密码,而不是使用复杂的 iptables 设置。只需允许端口 22,您的服务器就仍然是安全的。
http://tombuntu.com/index.php/2008/02/20/public-key-authentication-for-ssh-made-easy/
制定防火墙规则以保证你的 git 提交不会关闭你的访问将会很困难,因为防火墙无法区分两者。