找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 973|回复: 2

[NAS/Server] [ZT]DirectAdmin(DA)增加锁定IP功能(官方iptables规则)

[复制链接]
发表于 2019-3-5 09:30 | 显示全部楼层 |阅读模式
https://www.zrblog.net/5899.html

安全是非常沉重的一个话题,当我们面对每天收到的暴力猜解密码的提醒邮件,以及后台看到一堆触目惊心的IP的时候,我们不要在沉默!赵容,作为技术小白加上超级懒人,叫我写个规则,一个个的IP去屏蔽,是一件很无趣的事情,下面,我们一起来看看官方帮助中心给我们的解决方案:给DA后台增加IP锁定功能!

首先,我们来看看我刚刚安装的一个DA后台留下的部分蛋疼的人们的IP信息。

我们该如何让DA管理后台可以很方便的锁定这些IP呢?下面,是来自官方帮助中心的一个方式,适合跟赵容一样不喜欢手动折腾的人们。

首先,下载官方的iptables规则


  1. cd /etc/init.d      #进入目录

  2. mv iptables iptables.backup      #备份原文件

  3. wget http://files1.directadmin.com/services/all/iptables         #下载新iptables文件

  4. chmod 755 iptables        #设置文件权限

  5. /etc/init.d/iptables restart  #重启iptables
复制代码



接着,下载锁定IP脚本程序,设置文件权限


  1. cd /usr/local/directadmin/scripts/custom
  2. wget http://files1.directadmin.com/services/all/block_ip.sh
  3. wget http://files1.directadmin.com/services/all/show_blocked_ips.sh
  4. wget http://files1.directadmin.com/services/all/unblock_ip.sh
  5. chmod 700 block_ip.sh show_blocked_ips.sh unblock_ip.sh
复制代码

最后,创建一个清单文本,以便查看被锁定的IP列表

  1. touch /root/blocked_ips.txt
  2. touch /root/exempt_ips.txt
复制代码


通过以上操作,我们进入DA面板后台,密码暴力猜解监控,点击监控到的IP最后的IP Info,然后在接下来的页面点击隔离该IP就可以了。

如需自动锁定,请继续。


  1. cd /usr/local/directadmin/scripts/custom
  2. wget http://files1.directadmin.com/services/all/brute_force_notice_ip.sh
  3. chmod 700 brute_force_notice_ip.sh
复制代码

回复

使用道具 举报

 楼主| 发表于 2021-1-17 13:13 | 显示全部楼层
在centos 7中默认用Firewall替代了iptables.

/etc/sysconfig
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-17 13:43 | 显示全部楼层

CentOS7 下iptables安装与iptables使用

一、iptables安装
  1. yum install iptables -y
  2. yum install iptables-services
复制代码

查看安装情况
  1. rpm -qa|grep iptables
复制代码

禁用/停止自带的firewalld服务
  1. #停止firewalld服务
  2. systemctl stop firewalld
  3. #禁用firewalld服务
  4. systemctl mask firewalld
复制代码


修改iptables配置文件
  1. vi /etc/sysconfig/iptables
复制代码
  1. #firewall configuration written by system-config-firewall
  2. # Manual customization of this file is not recommended.

  3. *filter
  4. :INPUT ACCEPT [0:0]
  5. :FORWARD ACCEPT [0:0]
  6. :OUTPUT ACCEPT [0:0]
  7. -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  8. -A INPUT -p icmp -j ACCEPT
  9. -A INPUT -i lo -j ACCEPT
  10. -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
  11. -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
  12. -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
  13. -A INPUT -j REJECT --reject-with icmp-host-prohibited
  14. -A FORWARD -j REJECT --reject-with icmp-host-prohibited
  15. COMMIT
复制代码

设置现有规则
  1. #查看iptables现有规则
  2. iptables -L -n
  3. #先允许所有,不然有可能会杯具
  4. iptables -P INPUT ACCEPT
  5. #清空所有默认规则
  6. iptables -F
  7. #清空所有自定义规则
  8. iptables -X
  9. #所有计数器归0
  10. iptables -Z
  11. #允许来自于lo接口的数据包(本地访问)
  12. iptables -A INPUT -i lo -j ACCEPT
  13. #开放22端口
  14. iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  15. #开放21端口(FTP)
  16. iptables -A INPUT -p tcp --dport 21 -j ACCEPT
  17. #开放80端口(HTTP)
  18. iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  19. #开放443端口(HTTPS)
  20. iptables -A INPUT -p tcp --dport 443 -j ACCEPT
  21. #允许ping
  22. iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
  23. #允许接受本机请求之后的返回数据 RELATED,是为FTP设置的
  24. iptables -A INPUT -m state --state  RELATED,ESTABLISHED -j ACCEPT
  25. #其他入站一律丢弃
  26. iptables -P INPUT DROP
  27. #所有出站一律绿灯
  28. iptables -P OUTPUT ACCEPT
  29. #所有转发一律丢弃
  30. iptables -P FORWARD DROP
复制代码


其他规则设定
  1. #如果要添加内网ip信任(接受其所有TCP请求)
  2. iptables -A INPUT -p tcp -s 45.96.174.68 -j ACCEPT
  3. #过滤所有非以上规则的请求
  4. iptables -P INPUT DROP
  5. #要封停一个IP,使用下面这条命令:
  6. iptables -I INPUT -s ***.***.***.*** -j DROP
  7. #要解封一个IP,使用下面这条命令:
  8. iptables -D INPUT -s ***.***.***.*** -j DROP
复制代码

保存规则设定
  1. #保存上述规则
  2. service iptables save
复制代码


开启iptables服务
  1. #注册iptables服务
  2. #相当于以前的chkconfig iptables on
  3. systemctl enable iptables.service
  4. #开启服务
  5. systemctl start iptables.service
  6. #查看状态
  7. systemctl status iptables.service
复制代码



解决vsftpd在iptables开启后,无法使用被动模式的问题
1.首先在/etc/sysconfig/iptables-config中修改或者添加以下内容


  1. #添加以下内容,注意顺序不能调换
  2. IPTABLES_MODULES="ip_conntrack_ftp"
  3. IPTABLES_MODULES="ip_nat_ftp"
复制代码

2.重新设置iptables设置
  1. iptables -A INPUT -m state --state  RELATED,ESTABLISHED -j ACCEPT
复制代码

开端口:
  1. iptables -A INPUT -p tcp --dport 22 -j ACCEPT
复制代码

关指定IP端口:
  1. iptables -I INPUT -p tcp –dport 22 -s 192.168.0.0/24 -j DROP
复制代码

启动
  1. systemctl start iptables.service
复制代码

以下为完整设置脚本
  1. #!/bin/sh
  2. iptables -P INPUT ACCEPT
  3. iptables -F
  4. iptables -X
  5. iptables -Z
  6. iptables -A INPUT -i lo -j ACCEPT
  7. iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  8. iptables -A INPUT -p tcp --dport 21 -j ACCEPT
  9. iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  10. iptables -A INPUT -p tcp --dport 443 -j ACCEPT
  11. iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
  12. iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
  13. iptables -P INPUT DROP
  14. iptables -P OUTPUT ACCEPT
  15. iptables -P FORWARD DROP
  16. service iptables save
  17. systemctl restart iptables.service
复制代码





参考:
https://www.cnblogs.com/kreo/p/4368811.html


回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

QQ|Archiver|手机版|小黑屋|吹友吧 ( 京ICP备05078561号 )

GMT+8, 2025-5-1 21:18 , Processed in 0.259199 second(s), 16 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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