温馨提示×

Debian Dopra如何配置防火墙

小樊
42
2025-10-29 19:11:40
栏目: 智能运维

Debian系统防火墙配置指南(以UFW为例,适合新手)
Debian系统原生支持多种防火墙工具,其中**UFW(Uncomplicated Firewall)**是官方推荐的简化版防火墙管理工具,适合大多数用户;iptables则是底层工具,适合高级用户自定义规则。以下是详细配置步骤:

一、使用UFW配置防火墙(推荐)

1. 安装与启用UFW

首先更新软件包列表并安装UFW:

sudo apt update
sudo apt install ufw

安装完成后,启用UFW(默认拒绝所有入站连接、允许所有出站连接):

sudo ufw enable

验证UFW状态(显示“Status: active”表示启用成功):

sudo ufw status

若需查看详细规则(包含规则编号,方便后续删除),可使用:

sudo ufw status verbose

2. 常用规则配置

  • 允许特定端口
    允许SSH(22端口,TCP协议,用于远程登录):

    sudo ufw allow 22/tcp
    

    允许HTTP(80端口,TCP协议,用于网页服务):

    sudo ufw allow 80/tcp
    

    允许HTTPS(443端口,TCP协议,用于加密网页服务):

    sudo ufw allow 443/tcp
    

    允许指定IP(如192.168.1.100)访问SSH:

    sudo ufw allow from 192.168.1.100 to any port 22
    
  • 拒绝端口/IP
    拒绝FTP(21端口,TCP协议):

    sudo ufw deny 21/tcp
    

    拒绝指定IP(如10.0.0.1)的所有访问:

    sudo ufw deny from 10.0.0.1
    
  • 删除规则
    按规则内容删除(如删除允许SSH的规则):

    sudo ufw delete allow 22/tcp
    

    按规则编号删除(需先通过sudo ufw status verbose查看编号,如编号为1):

    sudo ufw delete 1
    

3. 高级配置(可选)

  • 设置默认策略
    若需更严格的安全控制,可将默认入站策略设为“拒绝”(默认已开启),默认出站策略设为“允许”(默认已开启):

    sudo ufw default deny incoming
    sudo ufw default allow outgoing
    

    注意:修改默认策略前,请确保已放行必要服务(如SSH),否则可能导致无法远程登录。

  • 启用日志记录
    开启UFW日志(记录防火墙活动,便于排查问题):

    sudo ufw logging on
    

    日志文件默认存储在/var/log/syslog中。

二、使用iptables配置防火墙(高级用户)

1. 安装与基础配置

安装iptables:

sudo apt install iptables

添加基础规则(允许SSH、HTTP、HTTPS入站,拒绝其他入站):

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT  # 允许SSH
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT  # 允许HTTP
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT # 允许HTTPS
sudo iptables -P INPUT DROP  # 拒绝所有其他入站连接

说明-A INPUT表示追加到INPUT链(处理入站流量),-p tcp指定TCP协议,--dport指定端口,-j ACCEPT表示接受,-P INPUT DROP表示默认拒绝入站。

2. 保存与自动加载规则

  • 保存规则
    将当前规则保存到/etc/iptables/rules.v4(Debian默认路径):
    sudo iptables-save > /etc/iptables/rules.v4
    
  • 设置开机自动加载
    创建启动脚本/etc/network/if-pre-up.d/iptables,内容如下:
    #!/bin/sh
    /sbin/iptables-restore < /etc/iptables/rules.v4
    
    赋予脚本执行权限:
    sudo chmod +x /etc/network/if-pre-up.d/iptables
    
    这样系统重启后会自动加载保存的规则。

三、注意事项

  1. 优先使用UFW:UFW封装了iptables的复杂操作,更适合新手,避免误操作导致服务中断(如误拒绝SSH导致无法远程登录)。
  2. 测试规则:在生产环境应用规则前,建议先在测试环境验证,避免锁死自己的访问权限。
  3. 备份规则:修改规则前,建议备份当前规则(如cp /etc/iptables/rules.v4 /etc/iptables/rules.v4.bak),便于恢复。
  4. 监控日志:通过/var/log/syslog(UFW)或journalctl -u ufw(UFW日志)监控防火墙活动,及时发现异常访问。
  5. 开放必要端口:根据实际需求开放端口(如数据库服务需开放3306端口),不要过度开放端口增加安全风险。

通过以上步骤,您可以为Debian系统配置基础的防火墙保护。根据实际需求,可进一步调整规则(如限制访问频率、允许特定IP段等)。

0