首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用iptables防止SSH蛮力攻击和DDOS攻击

使用iptables防止SSH蛮力攻击和DDOS攻击
EN

Server Fault用户
提问于 2017-05-02 12:02:34
回答 3查看 5.3K关注 0票数 0

在iptables顶部有以下行,这些行用于防止SSH野蛮攻击和DDOS攻击:防止SSH暴力攻击和DDOS攻击的iptables段

这里困扰我的是“名称:默认”,在这三种情况下,我只是想知道它们是否都会起作用,还是会覆盖另一种呢?知道怎么测试吗?

另外,我使用Nginx作为Apache的反向代理,在这里使用端口80和443 (即Nginx正在运行的端口),还是在iptables中使用Apache端口7080和7081?

这是使用Plesk和Ubuntu14.04在VPS上运行的。

谢谢你的帮忙!

下面是我用来将这些行添加到iptables中的命令:

代码语言:javascript
复制
iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 5 --hitcount 20 -j DROP
iptables -I INPUT -p tcp --dport 443 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 443 -m state --state NEW -m recent --update --seconds 5 --hitcount 20 -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 5 -j DROP 
EN

回答 3

Server Fault用户

发布于 2017-05-02 12:03:54

实现这一目标的最简单方法是安装fail2ban。它将在默认情况下监视SSH,并动态禁止经常失败的It。但是,您可以将其配置为监视任何日志文件。因此,您也可以包括HTTP和HTTPS。

票数 1
EN

Server Fault用户

发布于 2017-05-02 13:52:37

这里困扰我的是“名称:默认”,我只是想知道它们是否都能工作,还是会覆盖另一个呢?添加“-名称唯一名称”可以解决这个问题(如果是问题的话)。以下是更新后的指令:

代码语言:javascript
复制
iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set --name SSH
iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent  --update --seconds 60 --hitcount 5 --name SSH -j DROP
iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --set --name DDOS-HHTP
iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 5 --hitcount 20 --name DDOS-HHTP -j DROP
iptables -I INPUT -p tcp --dport 443 -m state --state NEW -m recent --set --name DDOS-HHTPS
iptables -I INPUT -p tcp --dport 443 -m state --state NEW -m recent --update --seconds 5 --hitcount 20 --name DDOS-HHTPS -j DROP
票数 0
EN

Server Fault用户

发布于 2017-05-02 13:00:29

有点像

代码语言:javascript
复制
iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m sshbrute --set
iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m sshbrute --update --seconds 60 --hitcount 4 -j DROP

可能对你有用。所有ssh连接(或者端口22连接)都被标记为"sshbrute",如果从特定IP在一分钟内有超过4个新连接,则第二个命令将删除任何新的ssh连接。不要搞砸你的密码,或者如果你搞砸了,就慢慢来。

票数 -1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/847755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档