1. 选择合适的防火墙工具
Debian系统常用的防火墙工具包括iptables(底层包过滤工具,功能强大但配置复杂)和ufw(Uncomplicated Firewall,基于iptables的简化前端,适合新手)。两者均可有效阻止恶意攻击,推荐优先使用ufw(默认未安装,需手动安装)。
2. 基础配置:设置默认策略与开放必要端口
sudo ufw default deny incoming(拒绝传入)、sudo ufw default allow outgoing(允许传出)。sudo iptables -P INPUT DROP(拒绝传入)、sudo iptables -P OUTPUT ACCEPT(允许传出)。sudo ufw allow 80/tcp(HTTP)、sudo ufw allow 443/tcp(HTTPS)、sudo ufw allow ssh(SSH,默认22端口)。sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT(HTTP)、sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT(SSH)。sudo ufw enable(启用后规则立即生效)。3. 阻止恶意IP与端口扫描
sudo ufw deny from 192.168.1.100(阻止单个IP)、sudo ufw deny from 192.168.1.0/24(阻止整个网段)。sudo iptables -A INPUT -s 192.168.1.100 -j DROP(阻止单个IP)、sudo iptables -A INPUT -m iprange --src-range 192.168.1.100-192.168.1.150 -j DROP(阻止IP段)。sudo apt install sshguard(默认集成ufw,无需额外配置)。/etc/ufw/before.rules,在*filter部分前添加-A ufw-before-input -j SSHGUARD(将SSH流量交给SSHGuard处理)。4. 高级防护:防范DDoS与端口扫描
wget https://github.com/jgmdev/ddos-deflate/archive/master.zip,解压后运行./install.sh,修改/usr/local/ddos/ddos.conf中的阈值(如NO_OF_CONNECTIONS=50)和封禁时间(如BAN_PERIOD=600秒)。--tcp-flags选项,拦截SYN扫描(常见端口扫描方式)。
sudo iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST SYN -j DROP(丢弃仅带SYN标志的包,阻止扫描)。5. 规则持久化与系统加固
sudo sh -c "iptables-save > /etc/iptables/rules.v4"(需安装iptables-persistent包:sudo apt install iptables-persistent,安装时选择“保存当前规则”)。sudo nano /etc/network/if-pre-up.d/iptables,添加#!/bin/sh\n/sbin/iptables-restore < /etc/iptables/rules.v4,赋予执行权限sudo chmod +x /etc/network/if-pre-up.d/iptables。sudo apt update && sudo apt upgrade -y(修补已知漏洞,减少攻击面)。/etc/ssh/sshd_config中的PermitRootLogin no,重启SSH服务sudo systemctl restart ssh(避免root账户被暴力破解)。passwd命令设置复杂密码(包含大小写、数字、特殊字符),并配置SSH密钥认证(~/.ssh/authorized_keys),禁用密码登录(PasswordAuthentication no)。注意事项
/var/log/syslog或/var/log/ufw.log),分析异常流量并及时调整规则。