用iptables限制黑客破解密码
创始人
2024-07-23 10:31:38
0

iptables限制黑客我使用了下,效果不错,你们可以试试。

  一般使用Linux做服务器都会开SSH服务用于管理,但世界上总有些无聊加无赖的黑客挂上字典暴力猜解你的密码,看着日志中不断增加的稀奇古怪的用户名,我不由的对这些不知疲倦的菜鸟起了敬佩之心。

  好了,不想跟小菜玩了,今天介绍如何使用iptables的recent模块来防止暴力破解密码。

  SSH服务默认端口是22,不过既然是你自己管理,大可改个端口,比如,本例中将SSH端口改成44322,一般只知用工具的菜鸟黑客都只会扫1000以下的端口,但一台计算机拥有65536个端口,随便把你的端口改到哪个犄角旮旯,就可以大幅度增加攻击者的成本。

  下面的代码是直接修改/etc/sysconfig/iptables文件,当然也可以用脚本,脚本只要在每句前面加iptables就行了。

  view sourceprint?01#SSH Login log 注:先记录都是谁要登录我的SSH服务,可以使用tail /var/log/iptables -n 100 | grep "SSH Login"查看最近谁在登录,iptables是日志文件名,日志名需要你自己在syslog中设置

  02-A INPUT -p tcp --dport 44322 --tcp-flags ALL SYN -m state --state NEW -j LOG --log-prefix "[SSH Login]:" --log-level debug

  03#1 Hour allow 5 SSH Login 注:每3600秒(每小时)只限5次连接我的SSH服务,可以自己改时间和次数,在这里你可以用-j DROP来代替-j REJECT,-j REJECT --reject-with tcp-reset是对客户端明确的返回一个重置TCP连接的包,告诉对方我关闭连接了,如果你觉得不需要对攻击者这么好心,就用-j DROP直接丢弃包,让对方傻傻的等回包去。

  04-A INPUT -p tcp --dport 44322 --tcp-flags ALL SYN -m state --state NEW -m recent --name SSH-SYN --update --seconds 3600 --hitcount 5 --rttl -j REJECT --reject-with tcp-reset

  05-A INPUT -p tcp --dport 44322 --tcp-flags ALL SYN -m state --state NEW -m recent --name SSH-SYN --set -j ACCEPT

  06#SSH Service back data filter 注:过滤建立TCP连接后收到的数据包

  07-A INPUT -p tcp --dport 44322 --tcp-flags ALL ACK -m state --state ESTABLISHED -j ACCEPT

  08-A INPUT -p tcp --dport 44322 --tcp-flags ALL ACK,PSH -m state --state ESTABLISHED -j ACCEPT

  09-A INPUT -p tcp --dport 44322 --tcp-flags ALL ACK,FIN -m state --state ESTABLISHED -j ACCEPT

  10-A INPUT -p tcp --dport 44322 --tcp-flags ALL RST -m state --state ESTABLISHED -j ACCEPT

  11-A INPUT -p tcp --dport 44322 --tcp-flags ALL ACK,RST -m state --state ESTABLISHED -j ACCEPT

  12-A INPUT -p tcp --dport 44322 --tcp-flags ALL ACK,URG -m state --state ESTABLISHED -j ACCEPT

  这里使用了iptables的连接跟踪功能,就是-m state --state,因为TCP连接的第一个包只能是SYN包,所以第2、4、5行只允许SYN包进入,这样就防止了其他类型的包来搅局。第4、5行也能防止不伪造源IP地址的SYN FLood攻击。7至12行表示过滤TCP连接已建立后的包的类型,注意--tcp-flags ALL后面是正常的包,比如根本不能出现SYN/FIN包、FIN/RST包、SYN/FIN/PSH包、SYN/FIN/RST包、SYN/FIN/RST/PSH包,一旦出现这样的包说明你被攻击了。

  这里要注意的一点就是,如果服务器管理员在一小时内成功登录了5次之后,他也不能登录了。因为iptables计算的是每小时内建立SSH连接的次数,不管你是猜密码还是正常登录。所以管理员最好做好配置计划。

  本代码经iptables 1.3.5,ipt_recent 0.3.1测试。

通过阅读文章,我们知道了用iptables的recent模块来防止暴力破解密码,很管用,快跟朋友分享吧!

【编辑推荐】

  • iptables 菜鸟变大虾
  • iptables 端口转发
  • iptables nat 技术笔记
  • iptables+NAT+端口映射
  • 如何查看iptables关于nat的日志
  • RedHat 9上用iptables做NAT网和记录日志
  • iptables下开放ftp连接

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...