防火墙规则来阻止攻击者的 IP 地址

2024-06-18 20:12

本文主要是介绍防火墙规则来阻止攻击者的 IP 地址,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. iptables

要禁止服务器与特定 IP 地址的通信,可以使用防火墙来设置规则。在 Ubuntu 上,iptables 是一个常用的防火墙工具。以下是使用 iptables 设置禁止与特定 IP 通信的步骤:

  1. 阻止所有进出的通信

如果你想阻止服务器与特定 IP 地址的所有通信(包括进出通信),你可以使用以下命令:

sudo iptables -A INPUT -s 167.235.7.72 -j DROP
sudo iptables -A OUTPUT -d 167.235.7.72 -j DROP
  1. 阻止特定端口的通信

如果你只想阻止特定端口的通信,例如阻止端口 10300 的通信,你可以使用以下命令:

sudo iptables -A INPUT -s 167.235.7.72 --dport 10300 -j DROP
sudo iptables -A OUTPUT -d 167.235.7.72 --sport 10300 -j DROP
  1. 保存规则

为了确保重启后规则仍然有效,需要保存 iptables 规则:

sudo apt-get install iptables-persistent
sudo netfilter-persistent save
sudo netfilter-persistent reload
  1. 验证规则

你可以使用以下命令来查看现有的 iptables 规则:

sudo iptables -L -v -n
  1. 取消规则

如果你需要取消某条规则,可以使用以下命令(假设规则是按顺序添加的,1 是规则的编号):

sudo iptables -D INPUT 1
sudo iptables -D OUTPUT 1

注意事项

确保在执行防火墙规则前备份当前的规则设置,以防出错。
在生产环境中,执行这些命令前需要小心,防止误操作导致服务器无法访问。

这些步骤可以帮助你禁止服务器与特定 IP 地址的通信。如果有其他防火墙工具或更高级的需求,可以根据实际情况选择合适的解决方案。

2. 使用 fail2ban 锁定 IP 地址

以下是配置 fail2ban 的详细步骤:

安装 fail2ban:

对于基于 Debian/Ubuntu 的系统:

sudo apt-get install fail2ban

对于基于 Red Hat/CentOS 的系统:


sudo yum install fail2ban

配置 fail2ban:

创建或编辑 jail.local 文件以覆盖默认设置。这是推荐的方法,因为直接修改 jail.conf 会在软件更新时被覆盖。


sudo nano /etc/fail2ban/jail.local

添加 SSH 的 fail2ban 配置:

添加以下内容来配置 fail2ban 监控 SSH 登录尝试:

[sshd]
enabled = true
port    = ssh
filter  = sshd
logpath = /var/log/auth.log
maxretry = 5
bantime = 300

enabled: 启用该规则。
port: 监控的端口,通常是 ssh 或 22。
filter: 指定 fail2ban 使用的过滤器,通常是 sshd。
logpath: 指定日志文件路径,一般为 /var/log/auth.log。
maxretry: 允许的最大失败尝试次数,这里设置为 5 次。
bantime: 封锁时间,以秒为单位,这里设置为 300 秒(5 分钟)。

重启 fail2ban 服务:

使配置生效:

sudo systemctl restart fail2ban

查看 fail2ban 状态:

使用以下命令查看 fail2ban 的运行状态及当前被封锁的 IP 地址:

sudo fail2ban-client status sshd

你将看到类似如下的输出,列出当前正在监控的 jail(如 sshd)及被封锁的 IP 地址:

Status for the jail: sshd|- Filter|  |- Currently failed: 0|  |- Total failed: 10|  `- File list:    /var/log/auth.log`- Actions|- Currently banned: 1|- Total banned: 5`- Banned IP list: 192.168.1.100

测试配置

尝试使用错误的密码登录 SSH 超过 5 次。
之后,你的 IP 地址将被自动封锁,无法再进行连接。
尝试在 5 分钟后重新登录,封锁将自动解除。

手动管理 IP 封锁

如果需要手动管理被封锁的 IP 地址,可以使用以下命令:

查看当前被封锁的 IP 地址:

sudo fail2ban-client status sshd

手动解封某个 IP 地址:

sudo fail2ban-client set sshd unbanip <IP_ADDRESS>

手动封锁某个 IP 地址:

sudo fail2ban-client set sshd banip <IP_ADDRESS>

通过上述步骤,你可以有效地防止来自特定 IP 地址的暴力破解攻击,并在检测到多次失败登录尝试后自动封锁这些 IP 地址。

这篇关于防火墙规则来阻止攻击者的 IP 地址的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1072984

相关文章

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

C++作用域和标识符查找规则详解

《C++作用域和标识符查找规则详解》在C++中,作用域(Scope)和标识符查找(IdentifierLookup)是理解代码行为的重要概念,本文将详细介绍这些规则,并通过实例来说明它们的工作原理,需... 目录作用域标识符查找规则1. 普通查找(Ordinary Lookup)2. 限定查找(Qualif

Nginx Location映射规则总结归纳与最佳实践

《NginxLocation映射规则总结归纳与最佳实践》Nginx的location指令是配置请求路由的核心机制,其匹配规则直接影响请求的处理流程,下面给大家介绍NginxLocation映射规则... 目录一、Location匹配规则与优先级1. 匹配模式2. 优先级顺序3. 匹配示例二、Proxy_pa

Nginx路由匹配规则及优先级详解

《Nginx路由匹配规则及优先级详解》Nginx作为一个高性能的Web服务器和反向代理服务器,广泛用于负载均衡、请求转发等场景,在配置Nginx时,路由匹配规则是非常重要的概念,本文将详细介绍Ngin... 目录引言一、 Nginx的路由匹配规则概述二、 Nginx的路由匹配规则类型2.1 精确匹配(=)2

Android与iOS设备MAC地址生成原理及Java实现详解

《Android与iOS设备MAC地址生成原理及Java实现详解》在无线网络通信中,MAC(MediaAccessControl)地址是设备的唯一网络标识符,本文主要介绍了Android与iOS设备M... 目录引言1. MAC地址基础1.1 MAC地址的组成1.2 MAC地址的分类2. android与I

Java根据IP地址实现归属地获取

《Java根据IP地址实现归属地获取》Ip2region是一个离线IP地址定位库和IP定位数据管理框架,这篇文章主要为大家详细介绍了Java如何使用Ip2region实现根据IP地址获取归属地,感兴趣... 目录一、使用Ip2region离线获取1、Ip2region简介2、导包3、下编程载xdb文件4、J

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

Nginx location匹配模式与规则详解

《Nginxlocation匹配模式与规则详解》:本文主要介绍Nginxlocation匹配模式与规则,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、环境二、匹配模式1. 精准模式2. 前缀模式(不继续匹配正则)3. 前缀模式(继续匹配正则)4. 正则模式(大

Python中使用正则表达式精准匹配IP地址的案例

《Python中使用正则表达式精准匹配IP地址的案例》Python的正则表达式(re模块)是完成这个任务的利器,但你知道怎么写才能准确匹配各种合法的IP地址吗,今天我们就来详细探讨这个问题,感兴趣的朋... 目录为什么需要IP正则表达式?IP地址的基本结构基础正则表达式写法精确匹配0-255的数字验证IP地