首页主机资讯Debian虚拟机防火墙配置技巧

Debian虚拟机防火墙配置技巧

时间2025-10-23 19:28:03发布访客分类主机资讯浏览640
导读:Debian虚拟机防火墙配置技巧 一、工具选择:优先使用UFW(简化配置) 对于大多数Debian用户,UFW(Uncomplicated Firewall) 是管理防火墙的首选工具,它基于iptables但提供了更简洁的命令行接口,适合新...

Debian虚拟机防火墙配置技巧

一、工具选择:优先使用UFW(简化配置)

对于大多数Debian用户,UFW(Uncomplicated Firewall) 是管理防火墙的首选工具,它基于iptables但提供了更简洁的命令行接口,适合新手快速上手。若需更底层的高级配置(如复杂规则、自定义链),再选择iptables。

二、UFW基础配置步骤

  1. 安装与启用
    首先更新软件包列表并安装UFW:

    sudo apt update &
        &
         sudo apt install ufw
    

    启用UFW(启用后会默认拒绝所有传入连接,允许所有传出连接):

    sudo ufw enable
    

    启用时系统会提示是否允许SSH连接(若通过SSH管理虚拟机,必须选择“是”,否则会导致断连)。

  2. 常用规则操作

    • 允许端口:开放HTTP(80/tcp)、HTTPS(443/tcp)、SSH(22/tcp)等常用端口:
      sudo ufw allow 80/tcp    # 允许HTTP
      sudo ufw allow 443/tcp   # 允许HTTPS
      sudo ufw allow 22/tcp    # 允许SSH
      
    • 允许特定IP访问:限制某IP(如公司IP 192.168.1.100)访问所有端口:
      sudo ufw allow from 192.168.1.100
      
    • 允许服务:通过服务名快速开放端口(如MySQL的3306端口):
      sudo ufw allow mysql     # 等同于允许3306/tcp
      
    • 删除规则:通过规则编号(sudo ufw status numbered查看)或直接指定规则删除:
      sudo ufw delete 3        # 删除第3条规则
      sudo ufw delete allow 80/tcp  # 删除允许80/tcp的规则
      
    • 查看状态:查看当前规则及状态(verbose模式显示详细信息):
      sudo ufw status          # 简略状态
      sudo ufw status verbose  # 详细状态
      
  3. 高级UFW配置

    • 限制SSH登录速率:防止暴力破解,限制每分钟最多3次尝试:
      sudo ufw limit 22/tcp
      
    • 允许特定网络接口:仅允许eth2接口访问3306端口(如虚拟机绑定特定网卡):
      sudo ufw allow in on eth2 to any port 3306
      
    • 开启日志记录:记录被拒绝的连接,便于排查问题:
      sudo ufw logging on
      
    • 重置UFW:若配置错误,可通过重置恢复默认状态(会删除所有规则):
      sudo ufw reset
      

三、iptables高级配置(可选)

若需更灵活的规则(如端口转发、自定义链),可使用iptables,但需手动保存规则并设置开机加载:

  1. 安装与基本配置
    安装iptables:

    sudo apt update &
        &
         sudo apt install iptables
    

    配置默认策略(拒绝所有传入,允许所有传出):

    sudo iptables -P INPUT DROP
    sudo iptables -P OUTPUT ACCEPT
    

    允许已建立的连接(避免中断现有会话):

    sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    

    允许SSH(22/tcp)、HTTP(80/tcp)、HTTPS(443/tcp):

    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    

    拒绝其他所有入站连接(作为最后一条规则):

    sudo iptables -A INPUT -j DROP
    
  2. 保存与自动加载规则
    Debian默认不保存iptables规则,需手动保存:

    sudo sh -c "iptables-save >
         /etc/iptables/rules.v4"
    

    创建开机加载脚本(/etc/network/if-pre-up.d/iptables):

    sudo tee /etc/network/if-pre-up.d/iptables <
        <
        EOF
    #!/bin/sh
    /sbin/iptables-restore <
         /etc/iptables/rules.v4
    EOF
    sudo chmod +x /etc/network/if-pre-up.d/iptables
    

    此时重启虚拟机后,iptables规则会自动加载。

四、关键安全技巧

  1. 默认策略设置
    无论使用UFW还是iptables,都应遵循“默认拒绝,显式允许”原则:

    • UFW:sudo ufw default deny incoming(拒绝所有传入)、sudo ufw default allow outgoing(允许所有传出);
    • iptables:sudo iptables -P INPUT DROP(拒绝所有传入)、sudo iptables -P OUTPUT ACCEPT(允许所有传出)。
  2. SSH安全配置

    • 启用前先放行SSH端口(避免断连);
    • 更改默认SSH端口(如2222):编辑/etc/ssh/sshd_config,修改Port 2222,然后重启SSH;
    • 禁用root直接登录:PermitRootLogin no(需用普通用户+sudo);
    • 使用SSH密钥对替代密码登录(更安全)。
  3. 测试与验证

    • 配置规则后,用telnetnmap测试端口是否开放(如nmap -p 80 your_vm_ip);
    • 检查UFW状态(sudo ufw status)或iptables规则(sudo iptables -L -n -v),确保无冲突规则;
    • 查看UFW日志(/var/log/ufw.log)或系统日志(journalctl -u ufw),排查异常连接。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Debian虚拟机防火墙配置技巧
本文地址: https://pptw.com/jishu/733729.html
Debian虚拟机磁盘空间管理 Debian虚拟机远程访问设置

游客 回复需填写必要信息