帮助中心 > 关于网络安全 > Linux服务器防火墙配置全过程
Linux服务器防火墙配置全过程
时间 : 2025-03-23 16:14:57
编辑 : Jtti

服务器的防火墙是第一道防线,能够有效阻挡恶意流量、降低攻击的风险、控制访问权限。Linux服务器的防火墙一般需要涉及iptables、firewalld 和 ufw(Uncomplicated Firewall)等工具,它们各具特点,适用于不同的应用场景。下面为大家分享Linux服务器防火墙部署的全过程。

Linux防护墙的核心功能是管理数据包的流入和流出,用一些列规则来决定哪些连接能通过,哪些不能通过。不同Linux发行版防火墙的部署和管理工具有所不同。Ubuntu通常使用ufw 作为默认防火墙,而CentOS 7及更高版本则采用firewalld,而iptables依然是许多高级用户和传统服务器管理的首选。

Ubuntu和Debian系统上,ufw提供了一种更为简洁易用的方式来管理防火墙规则。默认情况下,ufw可能未启用,用户可以通过以下命令激活它:

sudo ufw enable

启用后检查当前防火墙状态:

sudo ufw status 

并允许SSH访问:

sudo ufw allow 22/tcp 

如果需要开放HTTP(80端口)和HTTPS(443端口),可以执行以下命令:

sudo ufw allow 80/tcp  
sudo ufw allow 443/tcp  

为了提高安全性,管理员还可以设置默认规则,例如默认拒绝所有入站连接,仅允许特定端口:

sudo ufw default deny incoming  
sudo ufw default allow outgoing  

对于需要远程管理的服务器,可以限制SSH登录来源,例如仅允许特定IP访问SSH:

sudo ufw allow from 192.168.1.100 to any port 22  

删除规则用: 

sudo ufw delete allow 22/tcp 来移除已开放的端口。

而在CentOS和RHEL等系统上,默认的防火墙管理工具是firewalld,它相比iptables更加动态化,可以在不影响现有连接的情况下更新规则。firewalld以“区域(zone)”的概念管理网络接口,例如 public、internal和trusted等,每个区域都可以有不同的规则。要启动 firewalld并查看当前状态,可以使用:

sudo systemctl start firewalld  
sudo systemctl enable firewalld  
sudo firewall-cmd --state  

如果需要开放特定端口,例如SSH、HTTP和HTTPS,可以执行:

sudo firewall-cmd --permanent --add-service=ssh  
sudo firewall-cmd --permanent --add-service=http  
sudo firewall-cmd --permanent --add-service=https  
sudo firewall-cmd --reload  

其中permanent选项表示规则会被永久保存,而reload 用于应用新的配置。如果要查看当前已开放的端口,可以使用:

sudo firewall-cmd --list-all  

高级用户而言iptables依然是灵活性最高的防火墙工具。iptables允许手动定义复杂的规则集,查看当前规则:

sudo iptables -L -v  

添加规则如允许SSH访问:

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

禁止某个IP地址访问服务器:

sudo iptables -A INPUT -s 192.168.1.200 -j DROP  

iptables规则默认不会持久化,服务器重启后会丢失,因此需要手动保存规则。在Ubuntu系统上,可以使用iptables-save和iptables-restore命令来持久化规则,而在CentOS系统上,则可以使用service iptables save来保存配置。

除了基本的端口管理,Linux防火墙还可以配合Fail2Ban等工具自动检测并封锁恶意IP。例如,Fail2Ban可以监控SSH登录失败次数,并自动封禁攻击者IP,以防止强制破解:

sudo apt install fail2ban  
sudo systemctl enable fail2ban  
sudo systemctl start fail2ban  

在/etc/fail2ban/jail.conf 文件中,可以配置SSH规则,例如:

[sshd]
enabled = true
port = 22
maxretry = 5
bantime = 3600

某个IP地址连续5次输入错误密码将被封禁1小时。当服务器暴露在公网时能有效提高服务器的安全性。

在互联网安全威胁日益增长的今天,合理配置防火墙是系统安全的基础,也是服务器稳定运行的强保障。

相关内容

Ubuntu系统更新和升级的步骤 企业服务器维护面临哪些挑战 Windows服务器备份策略有哪些 Nginx与Apache的优劣势对比 解释美国高防服务器防御流量清洗原理 新加坡高防服务器防御能力与硬件配置有哪些关联? 网站使用高防IP后HTTPS证书报错的原因 网站迁移到美国高防服务器需要修改哪些DNS设置 高防服务器TCP和UDP协议防护上的技术难点 软链接与硬链接的差异有哪些
返回

24/7/365 全天候支持我们时刻恭候您

帮助中心