debian防火墙如何阻止恶意攻击
导读:1. 选择合适的防火墙工具 Debian系统常用的防火墙工具包括iptables(底层包过滤工具,功能强大但配置复杂)和ufw(Uncomplicated Firewall,基于iptables的简化前端,适合新手)。两者均可有效阻止恶意攻...
1. 选择合适的防火墙工具
Debian系统常用的防火墙工具包括iptables(底层包过滤工具,功能强大但配置复杂)和ufw(Uncomplicated Firewall,基于iptables的简化前端,适合新手)。两者均可有效阻止恶意攻击,推荐优先使用ufw(默认未安装,需手动安装)。
2. 基础配置:设置默认策略与开放必要端口
- 设置默认策略:拒绝所有传入连接,允许所有传出连接(减少未授权访问风险)。
- ufw示例:
sudo ufw default deny incoming
(拒绝传入)、sudo ufw default allow outgoing
(允许传出)。 - iptables示例:
sudo iptables -P INPUT DROP
(拒绝传入)、sudo iptables -P OUTPUT ACCEPT
(允许传出)。
- ufw示例:
- 开放必要端口:仅开放系统需要的服务端口(如HTTP 80、HTTPS 443、SSH 22),避免暴露多余端口。
- ufw示例:
sudo ufw allow 80/tcp
(HTTP)、sudo ufw allow 443/tcp
(HTTPS)、sudo ufw allow ssh
(SSH,默认22端口)。 - iptables示例:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
(HTTP)、sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
(SSH)。
- ufw示例:
- 启用防火墙:
- ufw:
sudo ufw enable
(启用后规则立即生效)。 - iptables:需保存规则并设置开机自启(见下文“3. 保存规则与开机自启”)。
- ufw:
3. 阻止恶意IP与端口扫描
- 手动阻止特定IP/网段:若发现恶意IP(如频繁发起攻击的地址),可手动添加规则拦截。
- ufw示例:
sudo ufw deny from 192.168.1.100
(阻止单个IP)、sudo ufw deny from 192.168.1.0/24
(阻止整个网段)。 - iptables示例:
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段)。
- ufw示例:
- 自动阻止暴力破解:使用SSHGuard工具(支持iptables/ufw),自动解析SSH日志中的暴力破解尝试,并封禁攻击IP(默认封禁时间30分钟)。
- 安装:
sudo apt install sshguard
(默认集成ufw,无需额外配置)。 - 集成ufw:修改
/etc/ufw/before.rules
,在*filter
部分前添加-A ufw-before-input -j SSHGUARD
(将SSH流量交给SSHGuard处理)。
- 安装:
4. 高级防护:防范DDoS与端口扫描
- DDoS攻击缓解:使用DDoS Deflate工具,自动检测并封禁大量异常连接的IP(如每秒超过10次SYN请求)。
- 安装与配置:下载脚本
wget https://github.com/jgmdev/ddos-deflate/archive/master.zip
,解压后运行./install.sh
,修改/usr/local/ddos/ddos.conf
中的阈值(如NO_OF_CONNECTIONS=50
)和封禁时间(如BAN_PERIOD=600
秒)。
- 安装与配置:下载脚本
- 端口扫描检测:通过iptables的
--tcp-flags
选项,拦截SYN扫描(常见端口扫描方式)。- 示例规则:
sudo iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST SYN -j DROP
(丢弃仅带SYN标志的包,阻止扫描)。
- 示例规则:
5. 规则持久化与系统加固
- 保存iptables规则:Debian默认不保存iptables规则,需手动保存并设置开机自启。
- 保存规则:
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
(修补已知漏洞,减少攻击面)。 - 禁用root远程登录:修改
/etc/ssh/sshd_config
中的PermitRootLogin no
,重启SSH服务sudo systemctl restart ssh
(避免root账户被暴力破解)。 - 使用强密码与SSH密钥:通过
passwd
命令设置复杂密码(包含大小写、数字、特殊字符),并配置SSH密钥认证(~/.ssh/authorized_keys
),禁用密码登录(PasswordAuthentication no
)。
- 定期更新系统与软件:
注意事项
- 配置防火墙前,确保已开放SSH端口(或其他远程管理端口),避免误操作导致无法远程连接。
- 测试规则时,建议先在本地终端操作,确认无误后再应用到生产环境。
- 定期检查防火墙日志(
/var/log/syslog
或/var/log/ufw.log
),分析异常流量并及时调整规则。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: debian防火墙如何阻止恶意攻击
本文地址: https://pptw.com/jishu/720097.html