CentOS Apache防火墙配置技巧
导读:CentOS Apache防火墙配置技巧 1. 基础防火墙工具准备 CentOS 7及以上版本默认使用firewalld作为防火墙管理工具。首先确保其安装并运行: sudo yum install firewalld -y # 安装fir...
CentOS Apache防火墙配置技巧
1. 基础防火墙工具准备
CentOS 7及以上版本默认使用firewalld作为防火墙管理工具。首先确保其安装并运行:
sudo yum install firewalld -y # 安装firewalld
sudo systemctl start firewalld # 启动服务
sudo systemctl enable firewalld # 设置开机自启
2. 允许HTTP/HTTPS流量(核心需求)
Apache默认使用80(HTTP)和443(HTTPS)端口,需通过firewalld开放对应服务:
sudo firewall-cmd --permanent --zone=public --add-service=http # 开放HTTP
sudo firewall-cmd --permanent --zone=public --add-service=https # 开放HTTPS
sudo firewall-cmd --reload # 重新加载配置使更改生效
验证规则:sudo firewall-cmd --list-all,应能看到http和https在public区域的服务列表中。
3. 自定义端口配置(非标准端口场景)
若Apache监听非80/443端口(如8080),需单独添加端口规则:
sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp # 开放8080端口
sudo firewall-cmd --reload
验证端口是否开放:sudo firewall-cmd --query-port=8080/tcp(返回yes表示成功)。
4. 限制访问源(提升安全性)
通过rich规则仅允许特定IP访问Apache,减少非法请求:
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" accept' # 允许单个IP
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" accept' # 允许IP段
sudo firewall-cmd --reload
此配置可有效防止未授权IP扫描或攻击。
5. 配合SELinux增强安全(可选但推荐)
若系统启用SELinux(默认enforcing模式),需调整策略避免Apache被拦截:
- 允许Apache访问网络:
sudo setsebool -P httpd_can_network_connect 1 # 允许HTTP服务连接网络 - 设置正确安全上下文:若Apache需访问自定义目录(如
/data/www),需修改上下文:sudo chcon -Rt httpd_sys_content_t /data/www # 设置目录为HTTP内容类型 sudo semanage fcontext -a -t httpd_sys_content_t "/data/www(/.*)?" # 永久生效 sudo restorecon -Rv /data/www # 恢复上下文
6. 日志监控与排查
开启防火墙和Apache的详细日志,便于及时发现异常:
- 防火墙日志:查看
/var/log/firewalld目录下的日志文件(如firewalld),记录拒绝的流量。 - Apache日志:通过
httpd.conf配置日志级别和路径,例如:LogLevel alert rewrite:trace3 # 提高日志详细度 ErrorLog ${ APACHE_LOG_DIR} /error_log # 错误日志路径 CustomLog ${ APACHE_LOG_DIR} /access_log combined # 访问日志格式
7. 定期维护与更新
- 更新系统和软件包:定期运行
sudo yum update -y,修复已知安全漏洞。 - 备份配置文件:定期备份防火墙规则和Apache配置,例如:
sudo cp /etc/firewalld/zones/public.xml /etc/firewalld/zones/public.xml.bak sudo cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
通过以上技巧,可实现CentOS环境下Apache防火墙的有效配置,平衡安全性与可用性。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS Apache防火墙配置技巧
本文地址: https://pptw.com/jishu/741421.html
