centos虚拟机防火墙配置技巧
导读:CentOS虚拟机防火墙配置技巧 1. 基础配置:启动与状态管理 防火墙是虚拟机安全的第一道防线,首先需要确保其正确运行。使用以下命令管理服务: 启动firewalld:sudo systemctl start firewalld 设置开...
CentOS虚拟机防火墙配置技巧
1. 基础配置:启动与状态管理
防火墙是虚拟机安全的第一道防线,首先需要确保其正确运行。使用以下命令管理服务:
- 启动firewalld:
sudo systemctl start firewalld
- 设置开机自启:
sudo systemctl enable firewalld
(避免重启后失效) - 检查状态:
sudo systemctl status firewalld
(确认服务处于“active (running)”状态) - 查看当前状态:
sudo firewall-cmd --state
(快速确认防火墙是否激活)
2. 区域(Zone)管理:划分信任级别
firewalld通过区域(Zone)实现不同网络环境的差异化策略,默认区域为public
(适用于公共网络)。常用操作:
- 查看所有可用区域:
sudo firewall-cmd --list-all-zones
(了解区域特性,如trusted
允许所有流量,drop
拒绝所有流量) - 更改默认区域:
sudo firewall-cmd --set-default-zone=public
(新接口默认使用该区域,降低未明确配置的接口风险) - 查看接口所属区域:
sudo firewall-cmd --get-zone-of-interface=eth0
(确认虚拟机网络接口的区域归属)
3. 端口与服务配置:精准开放必要流量
开放端口
- 永久开放TCP端口(如80/HTTP):
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
(--permanent
确保重启后规则保留) - 永久开放UDP端口(如53/DNS):
sudo firewall-cmd --permanent --zone=public --add-port=53/udp
- 验证开放端口:
sudo firewall-cmd --zone=public --list-ports
(查看当前区域所有开放端口)
开放服务
firewalld内置常见服务(如http
、https
、ssh
)的规则,直接添加服务更便捷:
- 开放HTTP服务:
sudo firewall-cmd --permanent --zone=public --add-service=http
- 开放HTTPS服务:
sudo firewall-cmd --permanent --zone=public --add-service=https
- 开放SSH服务(远程管理必需):
sudo firewall-cmd --permanent --zone=public --add-service=ssh
- 重新加载配置:
sudo firewall-cmd --reload
(使永久规则生效,无需重启服务)
4. 富规则(Rich Rules):实现精细化控制
对于复杂需求(如限制特定IP访问、基于时间段控制),可使用富规则:
- 允许特定IP访问端口:
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'
(仅允许192.168.1.100访问SSH) - 拒绝特定IP访问:
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.200" reject'
(拒绝该IP的所有流量) - 基于时间段限制访问:
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port port="80" protocol="tcp" reject time start="00:00:00" end="06:00:00"'
(禁止该IP在0:00-6:00访问HTTP) - 查看富规则:
sudo firewall-cmd --list-rich-rules
(确认规则是否正确添加)
5. 日志与监控:追踪安全事件
日志是排查安全问题的关键,可通过以下命令开启防火墙日志:
- 记录拒绝的流量:
sudo firewall-cmd --set-log-denied=xml
(将拒绝的流量记录到系统日志,便于分析恶意访问) - 查看日志:使用
journalctl -u firewalld
或tail -f /var/log/messages
(实时查看防火墙日志)
6. 安全优化技巧:降低风险
- 设置默认拒绝策略:
sudo firewall-cmd --set-default-zone=drop
(默认拒绝所有未明确允许的流量,提升安全性) - 最小化开放端口:仅开放业务必需的端口(如Web服务开放80/443,数据库开放3306),避免暴露不必要的服务
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos虚拟机防火墙配置技巧
本文地址: https://pptw.com/jishu/724620.html