ubuntu

Ubuntu防火墙怎样阻止恶意IP

小樊
49
2025-10-16 15:41:56
栏目: 智能运维

使用UFW(Uncomplicated Firewall)阻止恶意IP
UFW是Ubuntu默认的防火墙管理工具,基于iptables封装,提供更简单的命令行界面,适合大多数用户快速配置。以下是具体步骤:

1. 安装与启用UFW

若系统未预装UFW,可通过以下命令安装:

sudo apt update && sudo apt install ufw

安装完成后,启用UFW(默认禁用):

sudo ufw enable

系统会提示确认,输入y并按回车键即可。

2. 设置默认策略

为提升安全性,建议将默认策略设置为拒绝所有入站流量、允许所有出站流量(避免未明确允许的连接进入系统):

sudo ufw default deny incoming
sudo ufw default allow outgoing

3. 阻止单个恶意IP

使用deny from命令阻止特定IP地址访问所有端口,例如阻止192.168.1.100

sudo ufw deny from 192.168.1.100

4. 阻止IP范围

若需封禁整个网段的恶意IP(如192.168.1.0/24),可使用CIDR表示法:

sudo ufw deny from 192.168.1.0/24

5. 查看与管理规则

6. 保存规则

UFW规则默认永久生效(系统重启后不会丢失),无需额外保存操作。


使用iptables(底层防火墙工具)阻止恶意IP
若需更细粒度的控制(如限制连接速率),可直接使用iptables(UFW底层依赖的工具)。以下是关键步骤:

1. 安装iptables

Ubuntu系统通常预装iptables,若未安装,可通过以下命令安装:

sudo apt update && sudo apt install iptables

2. 阻止单个IP或网段

3. 保存规则

iptables规则默认重启后丢失,需手动保存:

sudo iptables-save > /etc/iptables/rules.v4  # IPv4规则
sudo ip6tables-save > /etc/iptables/rules.v6  # IPv6规则(可选)

为确保系统启动时自动加载规则,可创建启动脚本(如/etc/network/if-pre-up.d/iptables),内容如下:

#!/bin/sh
iptables-restore < /etc/iptables/rules.v4
ip6tables-restore < /etc/iptables/rules.v6

赋予脚本执行权限:

sudo chmod +x /etc/network/if-pre-up.d/iptables

补充建议:结合fail2ban自动封禁
若需应对频繁的恶意IP攻击(如暴力破解),可使用fail2ban工具自动检测日志并封禁IP。安装与配置步骤如下:

  1. 安装fail2ban:
    sudo apt install fail2ban
    
  2. 创建自定义配置文件(如针对SSH):
    sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
    
  3. 修改jail.local,启用SSH防护并设置封禁参数:
    [sshd]
    enabled = true
    port = ssh
    filter = sshd
    logpath = /var/log/auth.log
    maxretry = 3  # 允许的最大失败次数
    bantime = 600  # 封禁时间(秒)
    findtime = 600  # 检测时间窗口(秒)
    
  4. 启动fail2ban:
    sudo systemctl start fail2ban
    sudo systemctl enable fail2ban
    

通过以上方法,可有效阻止恶意IP访问Ubuntu系统,提升服务器安全性。

0
看了该问题的人还看了