最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Ubuntu Apache安全设置的技巧
时间:2026-07-24 08:47:54 编辑:袖梨 来源:一聚教程网
Ubuntu 上 Apache 的安全设置要点

一 基础加固
- 保持系统与应用为最新:执行 sudo apt update && sudo apt upgrade,及时修补漏洞。
- 隐藏版本与标识:在 /etc/apache2/apache2.conf 或对应虚拟主机中加入ServerTokens ProdServerSignature Off减少攻击者获取服务器细节的机会。
- 禁用目录浏览:在站点或全局
中将 Options -Indexes(或移除 Indexes),防止目录结构泄露。 - 以最小权限运行:确认进程以 www-data 运行(查看 ps aux | grep apache2),避免以 root 启动。
- 自定义错误页:使用 ErrorDocument 403/404/500 /custom.html,避免默认错误页泄露路径、框架等信息。
二 传输加密与端口管理
- 全站 HTTPS:优先使用 Let’s Encrypt 自动签发与部署证书sudo apt install certbot python3-certbot-apachesudo certbot --apache自动创建 HTTP→HTTPS 跳转与证书续期。
- 自签名证书(测试/内网):sudo mkdir -p /etc/apache2/sslsudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt在虚拟主机 *<VirtualHost :443> 中启用:SSLEngine onSSLCertificateFile /etc/apache2/ssl/apache.crtSSLCertificateKeyFile /etc/apache2/ssl/apache.key并启用站点后重启:sudo a2ensite default-ssl.conf && sudo systemctl restart apache2。
- 防火墙放行:sudo ufw allow 80,443/tcpsudo ufw enable
- 端口变更(可选):编辑 /etc/apache2/ports.conf 将 Listen 80/443 改为自定义端口(如 5000/4443),并同步在防火墙放行对应端口。
三 访问控制与请求限制
- 基于 IP 的目录限制:在目标
中使用 Require all denied/granted 或旧语法 Order/Allow/Deny(Apache 2.4 推荐前者)。示例:<Directory “/var/www/secret”>Require local# 或仅允许内网段# Require ip 192.168.1.0/24 - 禁止通过 IP 直接访问:为默认站点或对应 VirtualHost 设置 ServerName <服务器IP> 并加入 Require all denied,避免 IP 直连命中默认站点。
- 基于用户密码的访问控制:sudo htpasswd -c /etc/apache2/.htpasswd username在 .htaccess 或
中加入:AuthType BasicAuthName “Restricted Area”AuthUserFile /etc/apache2/.htpasswdRequire valid-user - 限制上传目录执行权限:<Directory “/var/www/html/upload”><FilesMatch “.(php|php3|phtml)$”>Require all denied
- 仅允许必要 HTTP 方法(如仅 GET/POST):在
中使用 LimitExcept GET POST 限制危险方法(如 PUT/DELETE)。
四 模块与防护
- 精简模块:禁用不需要的模块(如 a2dismod status 等),减少攻击面。
- Web 应用防火墙:启用 mod_security2 进行请求过滤(SQLi、XSS 等),示例:sudo apt install libapache2-mod-security2sudo a2enmod security2sudo systemctl restart apache2按业务逐步调优规则集。
- 抗 DoS/Slowloris:启用 mod_evasive 与 mod_qos。示例(evasive):sudo apt install libapache2-mod-evasivesudo mkdir -p /var/log/apache2/evasivesudo chown www-data:root /var/log/apache2/evasive在 /etc/apache2/mods-available/evasive.conf 中设置如:DOSHashTableSize 2048DOSPageCount 20DOSPageInterval 1.0DOSSiteCount 300DOSSiteInterval 1.0DOSBlockingPeriod 10.0DOSLogDir “/var/log/apache2/evasive”按需启用 mod_qos 并调整并发/速率阈值。
五 日志审计与运维
- 启用与规范日志:确认 ErrorLog ${APACHE_LOG_DIR}/error.log、CustomLog ${APACHE_LOG_DIR}/access.log combined 等配置,日志默认位于 /var/log/apache2/。
- 实时监控与报表:tail -f /var/log/apache2/access.logsudo apt install logwatch配置并按日生成审计报告。
- 变更与重启:每次修改配置后先执行 sudo apache2ctl configtest,确认无语法错误再执行 sudo systemctl restart apache2。
- 持续维护:关注 Apache 安全公告与系统更新,定期备份站点与证书。
相关文章
- hbase压缩对性能的影响 07-24
- hbase snappy怎样配置 07-24
- hbase压缩怎样选择算法 07-24
- hbase有哪些压缩方法 07-24
- hadoop与flink性能对比 07-24
- hadoop与flink集成方式 07-24