Apache安全加固
实验环境
1 | root@NF:~# apache2 -version |
关注官网更新公告
https://httpd.apache.org/security_report.html
以最小权限运行Apache进程
注意:本环境下的Apache默认就是以www-data
用户运行,默认符合要求。
根据需要,为 Apache 服务创建用户及用户组。如果没有设置用户和组,则新建用户,并在 Apache 配置文件中进行指定。
创建 Apache 用户组。
groupadd apache
创建 Apache 用户并加入 Apache 用户组。
useradd apache –g apache
将下面两行设置参数加入 Apache 配置文件 apache2.conf 中:
1
2User apache
Group apache
检查 apache2.conf 配置文件中是否允许使用非专用账户(如 root 用户)运行 Apache 服务。
默认设置一般即符合要求。Linux 系统中默认使用 apache 或者 nobody 用户,Unix 系统默认使用 daemon 用户。
加固作用:
- 以最小权限运行中间件服务,即使网站被getshell,也能减少影响程度。
扩展阅读:
禁用目录浏览功能
编辑配置文件apache2.conf,指定网站根目录添加Options FollowSymLinks参数。
1 | <Directory /var/www/html> |
若要启用目录浏览功能,则是Options Indexes FollowSymLinks
,同样禁止目录浏览功能除了删除Indexes
也可以在前面加个减号,即Options -Indexes FollowSymLinks
来表示。
加固作用:
- 不展示目录结构信息,防止敏感文件泄露。
扩展阅读:
Apache Options Indexes FollowSymLinks详解 - callie
启用日志审计
apache2默认启用了错误日志和访问日志的记录,可看配置文件apache.conf有无以下内容。
1 | ErrorLog ${APACHE_LOG_DIR}/error.log |
apache默认日志路径:/var/log/apache2
一条标准的访问日志内容如下:
1 | 192.168.56.1 - - [30/Mar/2020:16:34:56 +0800] "GET /test/index.php HTTP/1.1" 200 277 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36" |
格式 | 含义 |
---|---|
%h | 远端主机(访问网站的客户端地址) |
%l | 远端登录名,用了短横代替 |
%u | 远端用户名,用了短横代替 |
%t | 时间,包括访问的日期、时间、时区 |
%r | 请求起始行,包括请求方法、访问的文件路径 |
%>s | HTTP状态码 |
%O | 响应包数据大小,单位是字节 |
%{Referer}i\ | 来源 |
%{User-Agent}i\ | 远端主机浏览器的UA信息 |
加固作用:
- 记录访问信息,提供溯源证据。
- 帮助开发者排查问题。
扩展阅读:
限制特定目录文件执行权限
编辑配置文件apache2.conf,根据业务需求添加下面内容。
1 | <Directory "/var/www/html/upload"> |
加固作用:
- 通过禁止访问来阻止一些非法文件的执行(恶意攻击者通过任意文件上传漏洞,往往会上传一些可执行文件,如木马文件,从而拿到webshell)。
扩展阅读:
自定义错误页面
编辑配置文件apache2.conf,添加下面内容
1 | ErrorDocument 403 /custom403.html |
其中customxxx.html
为要设置的错误页面,需提前写好放网站根目录下。
1 | root@NF:~# ls -lah /var/www/html/ | grep html |
加固作用:
- 防止默认报错页面泄露一些敏感信息(开发框架、数据库语句、物理路径、内网IP等)。
扩展阅读:
隐藏Apache版本号
编辑配置文件apache2.conf,添加下面内容
1 | ServerSignature Off |
加固作用:
- 防止中间件版本信息泄露。
限制和允许特定IP访问
编辑配置文件apache2.conf,添加下面内容。
若使用IP白名单,则根据业务需求添加下面内容
1 | <Directory "/var/www/html/test"> |
若使用IP黑名单,则根据业务需求添加下面内容
1 | <Directory "/var/www/html/test"> |
加固作用:
- 使访问受控。
扩展阅读:
扩展阅读
http://httpd.apache.org/docs/current/zh-cn/
https://blog.51cto.com/ww123/1639424
https://www.cnblogs.com/xiaozi/p/10117715.html
https://www.jianshu.com/p/a8bab3f50c7b
https://bbs.ichunqiu.com/thread-35736-1-1.html
https://www.alibabacloud.com/help/zh/faq-detail/52981.htm
https://blog.csdn.net/my98800/article/details/51740389
小彩蛋
各位大佬有空能不能帮我投个票,有账号的直接投(还有两天)
没有注册过的,用手机号注册一个账号(先领个VIP再投)
账号注册地址
https://user.ichunqiu.com/?u=RAFnx93Zfg0Ai7uBqVi3suaXELRRE1xp&type=1
投票地址
https://www.ichunqiu.com/20201111
一个账号每天 可以投3票(11号晚上截止,还有两天)
新注册账号可以领24小时VIP(可以投两次6票的)
感谢
原文作者: à ō é
原文链接: https://laoel.github.io/2020/04/28/Apache安全加固/
版权声明: 转载请注明出处(必须保留原文作者署名原文链接)