找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 4022|回复: 21

[N1盒子] n1小钢炮添加防火墙搞掉端口扫描程序

[复制链接]
发表于 2020-4-29 02:14 | 显示全部楼层 |阅读模式
本帖最后由 noame 于 2020-4-29 02:55 编辑

最近,找到了一个防火墙封禁端口的项目,其效果是当除指定以外的端口被扫描的时候,会被直接封禁。
比如某个设备企图访问小钢炮的1234端口,iptables发现1234端口并没有设置开启,因此就断定这个设备是不怀好意的设备,并在一定时间内封禁其ip
还是挺有趣的,具体详细可访问源项目地址查看。

同样的,建议在开始操作之前,用crontab定时脚本,定时恢复防火墙,为自己留后门,以免误操作被ban(本人惨痛经历建议)。
不过,小钢炮系统的iptable规则有点不同,是默认开机重置的,因此如果出错我们也可以直接拔掉电源重启,
而其他linux系统的话,建议百度,旨在安全修改和测试,该留后门留后门。

下面以小钢炮系统为例,我们要把自定义的防火墙规则写成脚本
touch /etc/init.d/iptable_rule

把下面的内容复制到/etc/init.d/iptable_rule里面,此外要改的地方是pub-port-set的那几行,端口根据实际情况进行调整,每行一个。

  1. #!/bin/sh
  2. iptables -F DOCKER-USER #清空DOCKER-USER表,默认是一条没有用的规则,因此我清空了
  3. IP_DENY_SECOND=30 #累计封禁的时间,过期后可继续访问
  4. PORT_SCAN_MAX=3 #访问错误次数,到达3次立即封禁

  5. DEV=eth0 #目标网卡
  6. INPUT="-A INPUT" #在INPUT表插入
  7. FORWARD="-A DOCKER-USER" #在DOCKER-USER表插入

  8. # 新建可访问的端口名单
  9. ipset create pub-port-set bitmap:port range 0-65535

  10. # 设置你平常要用的端口,要按照自己的具体情况进行设置
  11. ipset add pub-port-set 80
  12. ipset add pub-port-set 443
  13. ipset add pub-port-set 22
  14. ipset add pub-port-set 5299

  15. # 名单最大条数
  16. # 例如 100Mbps网络下 IP_DENY_SECOND 秒能收到多少 SYN 包?(SYN 最小 60B)
  17. #如果封禁时间设置了大于30秒,会联动下面这个值,直接爆错,这个时候也可手动把$IP_DENY_SECOND替换成30
  18. #IP_SET_MAX=$((100 * 1024 * 1024 / 8 / 60 * 30))
  19. IP_SET_MAX=$((100 * 1024 * 1024 / 8 / 60 * $IP_DENY_SECOND))

  20. # 新建扫描者名单
  21. ipset create scanner-ip-set hash:ip \
  22. timeout $IP_DENY_SECOND \
  23. maxelem $IP_SET_MAX \
  24. counters

  25. ##新建trap-scan规则表 ##
  26. iptables -N trap-scan
  27. iptables -A trap-scan -m set --match-set scanner-ip-set src -j DROP
  28. iptables -A trap-scan -j SET --add-set scanner-ip-set src
  29. iptables -A trap-scan -j DROP

  30. ## 引用trap-scan规则表,交给 trap-scan 处理,这里分两个表引用
  31. #一个是INPUT,处理的是与docker无关的端口
  32. iptables -i $DEV $INPUT -p tcp --syn -m set ! --match-set pub-port-set dst -j trap-scan
  33. iptables -i $DEV $INPUT -p tcp --syn -m set ! --update-counters --match-set scanner-ip-set src --packets-gt $PORT_SCAN_MAX -j DROP
  34. iptables -i $DEV $INPUT -p tcp ! --syn -m conntrack ! --ctstate ESTABLISHED,RELATED -j DROP

  35. #另一个是DOCKER-USER,处理的是与docker有关的端口
  36. iptables -i $DEV $FORWARD -p tcp --syn -m set ! --match-set pub-port-set dst -j trap-scan
  37. iptables -i $DEV $FORWARD -p tcp --syn -m set ! --update-counters --match-set scanner-ip-set src --packets-gt $PORT_SCAN_MAX -j DROP
  38. iptables -i $DEV $FORWARD -p tcp ! --syn -m conntrack ! --ctstate ESTABLISHED,RELATED -j DROP
复制代码
最后建议先直接执行/etc/init.d/iptable_rule进行测试 ,测试效果的命令:
  1. watch -n1 ipset list scanner-ip-set
复制代码
正常的效果是,当设备访问没有设置过的端口时,会立刻封禁,封禁未过期之前都不能访问小钢炮的任何服务,
不过有例外,已经建立连接的服务并不会被ban,比如说你的电脑在被封禁前登录了ssh,封禁之后已经登录了的ssh仍旧可以使用。

测试成功之后,就可以把脚本添加到开机自启脚本里面了
  1. echo "/etc/init.d/iptable_rule" >> /etc/rc.local
复制代码
手动解除封禁的方法很简单,就是把ipscanner-ip-set 移除就好了
  1. ipset del scanner-ip-set $ip
复制代码

至于设置防火墙的意义,算是聊胜于无把
如果说你n1没啥重要的东西,而且只在本地设置,那也不设置也无妨。


后话:如果你是小钢炮系统,而且还不小心一条命令直接ban掉所有端口,包括ssh,主机管理界面...
恭喜你,走了我的老路(苦笑),不过还好,庆幸你看到了我的帖子吧哈哈哈哈。我已经摸索出免重刷的解决办法了:传送门

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-4-29 02:41 | 显示全部楼层
这个项目不错 有意思
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-4-29 05:52 | 显示全部楼层
66666666
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-4-29 07:53 | 显示全部楼层
学习一下~~~~~~~~~~~
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-4-29 08:06 来自手机 | 显示全部楼层
感谢分享 收藏备用
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-4-29 14:47 | 显示全部楼层
touch /etc/init.d/iptable_rule
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-4-29 14:58 | 显示全部楼层
感谢分享,收藏了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-4-29 15:13 | 显示全部楼层
感谢提供分享
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-4-29 15:22 | 显示全部楼层
嗯 这个教程对于某些用户还是有用的
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-4-29 16:02 | 显示全部楼层
看看神操作
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-5-10 18:39 | 显示全部楼层
谢谢分享!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-7-2 14:21 | 显示全部楼层
感谢分享,酷安佬来围观一下。zerotier要要尝试一下iptables了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-7-3 22:30 | 显示全部楼层
学习知识了!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-7-3 22:43 | 显示全部楼层
就喜欢你这样爱技术的人
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-7-3 22:52 | 显示全部楼层
感谢楼主,来学习一下
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-25 21:01

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表