Linux 防火墙配置技巧
时间:2026-10-4 10:52 作者:emer 分类: 无
Linux 防火墙配置技巧
服务器安全第一步就是配好防火墙,只开需要的端口,其他全关。
1. firewalld(CentOS 7+ 默认)
# 查看状态
firewall-cmd --state
# 查看已开放端口
firewall-cmd --list-ports
# 开放端口
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
# 开放多个端口
firewall-cmd --permanent --add-port=8000-9000/tcp
# 开放指定 IP 访问
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.1.100' port protocol='tcp' port=3306 accept"
# 重载配置(必须重载才生效)
firewall-cmd --reload
# 删除端口
firewall-cmd --permanent --remove-port=8080/tcp
2. ufw(Ubuntu 默认)
# 查看状态
ufw status
# 开启防火墙
ufw enable
# 允许 SSH
ufw allow 22
# 允许 80 和 443
ufw allow 80
ufw allow 443
# 允许指定 IP
ufw allow from 192.168.1.100 to any port 3306
# 拒绝某个 IP
ufw deny from 1.2.3.4
# 删除规则
ufw delete allow 8080
3. iptables(经典)
# 查看规则
iptables -L -n
# 允许 22 端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# 允许 80 端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 允许本地回环
iptables -A INPUT -i lo -j ACCEPT
# 允许已建立的连接
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# 默认拒绝其他
iptables -P INPUT DROP
# 保存规则(CentOS)
service iptables save
4. 安全建议
- 只开必要端口:SSH、HTTP、HTTPS,其他全关
- SSH 改端口:不要用默认 22,改成其他端口
- 限制 SSH 登录 IP:只允许你的 IP 登录 SSH
- 数据库不对外暴露:MySQL、Redis 只允许本地访问
- 定期查看日志:/var/log/secure 看有没有暴力破解
5. 常用端口速查
- 22:SSH
- 80:HTTP
- 443:HTTPS
- 3306:MySQL
- 6379:Redis
- 8080:应用端口
总结
Linux 防火墙核心:
- CentOS 用 firewalld
- Ubuntu 用 ufw
- 只开必要端口
- 数据库不对外暴露
- SSH 限制 IP 访问
配好防火墙,服务器安全提升一大截。