如何在 Linux 下大量屏蔽恶意 IP 地址

本文介绍了一种处理服务器受到恶意IP不断尝试失败登录的方法,并提供了具体的屏蔽步骤。文章中还特别提到了使用iblocklist2ipset工具时需要注意的细节。

近日,服务器受到了一个ip的不断尝试失败登录(命令:lastb),所以进行了屏蔽,屏蔽教程参考
https://linux.cn/article-4904-1.html
注意点:
1.安装iblocklist2ipset 需要使用python2 的pip 安装才行
2.在centos上安装会报错“Error during parsing: ‘ascii’ codec can’t decode byte 0x8b in position 1: ordinal not in range(128)”,处理的方法如同github 提出的解决方案,将gz去掉。

### 屏蔽恶意访问 IP 的方法 在 Linux 系统中,可以通过 `iptables` 来实现对特定恶意 IP 地址屏蔽功能。以下是详细的说明: #### 关闭可能冲突的服务 为了防止与其他防火墙服务(如 `firewalld`)发生冲突,在启用 `iptables` 前需确保其他防火墙已停止运行并被禁用[^3]。 ```bash systemctl stop firewalld.service systemctl disable firewalld.service ``` #### 安装 iptables 如果系统尚未安装 `iptables`,则需要先完成其安装操作。对于基于 Red Hat 或 CentOS 的发行版,可使用以下命令进行安装[^1]: ```bash yum install iptables-services ``` 而对于 Debian/Ubuntu 类型的操作系统,则应采用如下方式: ```bash apt-get update && apt-get install iptables-persistent ``` #### 添加屏蔽规则 要阻止某个具体的恶意 IP 访问服务器资源,可通过向 `iptables` 中加入拒绝策略来达成目的。例如,假设目标是要封锁来自地址 `192.168.1.100` 的所有连接请求,那么可以执行下面这条指令[^2]: ```bash iptables -A INPUT -s 192.168.1.100 -j DROP ``` 此命令的作用是在输入链 (`INPUT`) 上追加一条新记录,指定源地址为 `192.168.1.100` 并将其丢弃(`DROP`)处理而不发送任何响应消息给对方。 另外还可以创建更复杂的过滤条件以适应不同的实际需求场景,比如仅针对某些端口实施限制措施等。这里给出另一个例子——封杀试图通过 SSH 登陆 (默认端口号为22) 的某外部主机尝试: ```bash iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j REJECT ``` 该语句表示当检测到有源自 `192.168.1.100` 使用 TCP 协议且目的地端口为 22 号的数据包进入时即刻予以回绝(`REJECT`)答复告知发起者连接失败的信息。 #### 持久化配置更改 由于每次重启操作系统之后都会清空当前内存里的临时表项数据结构所以有必要保存所做的调整以便长期有效工作下去。具体做法依据所使用的版本有所不同;如果是 RHEL/CentOS7及以上的话就应当这样去做[^1]: ```bash service iptables save ``` 或者手动复制现有设定文件至相应位置下覆盖原始备份副本亦可行通: ```bash cp /etc/sysconfig/iptables /etc/sysconfig/iptables.bak /etc/init.d/iptables save ``` 而 Ubuntu 用户则需要用到专门工具帮助存储修改后的状态信息下来: ```bash netfilter-persistent save ``` 以上就是利用 Linux 自带组件之一 —— Iptables 实现简单粗暴却高效实用的安全防护手段介绍完毕啦!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值