如何从bruteforce ssh攻击中保护ubuntu服务器?

Modified on: Sat, 09 Jun 2018 03:23:23 +0800

我的密码安全,但我听到人们在发生暴力攻击时抱怨服务器的性能急剧下降。如何保护我的ubuntu 10.10服务器免受此类攻击?是否有apparmor配置文件?还是用其他方式来解决它?

作者:,Dziamid

最佳答案

您可以使用不同的解决方案。最好的解决方案是使用RSA身份验证,使用公钥/私钥对用户进行身份验证。

查看这本伟大的手册,了解不同的方法(包括RSA认证):http:// www .la-samhna.de /库/ brutessh.html

我正在服务器上使用第三解决方案,因为我不想让我的非专业用户变得复杂:使用iptables来限制每分钟的连接数量,这使得暴力攻击变得缓慢而无用。

这是我正在使用的解决方案:

iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j LOG --log-prefix "SSH_brute_force "
iptables -A INPUT -p tcp --dport 22 -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j DROP

正如此处所述:这将允许三个端口22连接来自60秒内任何给定的IP地址,并且在重新允许再次连接之前需要60秒没有后续连接尝试。 --rttl选项还在匹配数据包时考虑数据报的TTL,以便努力减轻欺骗性源地址。

正如上述指南中所述,最好使用白名单将受信任的用户与这些规则分开:

iptables -N SSH_WHITELIST

然后添加可信主机:

iptables -A SSH_WHITELIST -s $TRUSTED_HOST -m recent --remove --name SSH -j ACCEPT

然后制定规则:

iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j SSH_WHITELIST
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j ULOG --ulog-prefix SSH_brute_force
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j DROP
作者:,Pedram

相关问答

添加新评论