架设单机服务器防火墙设置指南:从基础到高级防护

2025.6.1 杂七杂八 1578

架设单机服务器防火墙设置指南:从基础到高级防护

本文详细讲解单机服务器防火墙的架设与配置方法,涵盖基础规则设定、端口管理、DoS防护等实战技巧,帮助用户快速构建安全的服务器环境,适用于Linux/Windows系统管理员及运维人员。

一、防火墙基础概念与准备工作

在开始配置前,需明确防火墙的核心功能:通过预定义规则控制进出服务器的网络流量。单机环境推荐使用系统内置防火墙工具:

  • Linux系统:iptables/nftables(传统方案)或firewalld(RedHat系)
  • Windows系统:Windows Defender防火墙

操作前务必确认:

 Linux检查防火墙状态
sudo systemctl status firewalld
 或
sudo iptables -L -n

二、核心配置步骤

1. 默认策略设置

建议采用白名单模式,默认拒绝所有流量:

 设置默认策略(Linux iptables示例)
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT

2. 必要端口放行规则

根据服务类型开放端口,例如Web服务器需放行:

 放行SSH(22)、HTTP(80)、HTTPS(443)
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

3. 防御常见攻击

添加防SYN Flood攻击规则:

sudo iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
sudo iptables -A INPUT -p tcp --syn -j DROP

三、高级防护策略

1. 地理IP封锁

使用ipset屏蔽特定国家IP段:

 创建IP集并添加IP段
sudo ipset create malicious_country hash:net
sudo ipset add malicious_country 1.0.0.0/8
 应用规则
sudo iptables -A INPUT -m set --match-set malicious_country src -j DROP

2. 应用层防护

通过connlimit模块限制连接数:

sudo iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 50 -j REJECT

四、规则持久化与测试

Linux系统需保存规则(不同发行版命令不同):

 Ubuntu/Debian
sudo iptables-save > /etc/iptables.rules
 CentOS/RHEL
sudo service iptables save

测试建议:

  1. 使用nmap扫描开放端口
  2. 通过curl测试服务可达性
  3. 检查系统日志/var/log/syslogjournalctl

五、Windows服务器特别提示

通过PowerShell配置防火墙:

 禁止所有入站流量(需管理员权限)
Set-NetFirewallProfile -Profile Domain,Public,Private -DefaultInboundAction Block
 放行特定端口
New-NetFirewallRule -DisplayName "Allow HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow

评论