apache 服务器安全配置

简介: 0x01.错误详情页隐藏错误详情页测试方法:访问网站不存在的页面,如果网站没有做404页面重定向,就会泄露其敏感信息如下图:0x01-1.

0x01.错误详情页隐藏

错误详情页测试方法:
  • 访问网站不存在的页面,如果网站没有做404页面重定向,就会泄露其敏感信息如下图:
img_30eed86a9481f8c3a8eb711282350efa.png
0x01-1.png
  • 查看响应头信息:
zzq@ubuntu:~$ curl -I http://192.168.178.135/
HTTP/1.1 200 OK
Date: Tue, 01 May 2018 11:58:36 GMT
Server: Apache/2.4.7 (Ubuntu)         #中间件版本及操作系统
X-Powered-By: PHP/5.5.9-1ubuntu4.24   #显示服务端脚本语言及其版本号
Link: <http://192.168.178.135/index.php/wp-json/>; rel="https://api.w.org/"
Link: <http://192.168.178.135/>; rel=shortlink
Content-Type: text/html; charset=UTF-8
修复方法:
1).修改配置文件:etc/apache2/apache2.conf 或者/etc/httpd/conf/httpd.conf隐藏中间件信息。修改或添加以下配置:
ServerTokens Prod
ServerSignature Off
2).修改配置文件:/etc/php5/apache2/php.ini隐藏PHP信息,将expose_php = On 改为 expose_php = Off
expose_php = Off
3).修改配置文件: /etc/apache2/sites-enabled/000-default.conf设置网站根目录为 /var/www/html/
zzq@ubuntu:~$ sudo vim /etc/apache2/sites-enabled/000-default.conf
img_a0486a2fba7d52f9699a4317d73fda73.png
0x01-2.png
4).修改配置文件:/etc/apache2/apache2.conf将网站根目录里面的AllowOverride None设置AllowOverride All,保存退出!
zzq@ubuntu:~$ sudo vim /etc/apache2/apache2.conf
<Directory /var/www/html>
        Options Indexes FollowSymLinks
        AllowOverride All        #设置为All,此目录下的.htaccess 指令才会生效
        Require all granted
</Directory>
5).修改完以上配置文件保存并退出,然后重启apache服务
zzq@ubuntu:~$ sudo service apache2 restart
6).再次访问错误页面,已经没有刚才泄露的信息了
img_ee06895e376973751d6377d8e5061f40.png
0x01-3.png
zzq@ubuntu:~$ sudo curl -I http://192.168.178.135/
HTTP/1.1 200 OK
Date: Tue, 01 May 2018 12:26:10 GMT
Server: Apache
Last-Modified: Tue, 17 Apr 2018 02:49:12 GMT
ETag: "2cf6-56a02621ccf1c"
Accept-Ranges: bytes
Content-Length: 11510
Vary: Accept-Encoding
Content-Type: text/html


0x02.重定向404页面

加固步骤:

1).在网站根目录新建一个.htaccess文件,内容为:
zzq@ubuntu:/var/www/html$ cd /var/www/html/
zzq@ubuntu:/var/www/html$ ls -a
.  ..  index.html  wordpress
zzq@ubuntu:/var/www/html$ sudo vim .htaccess
ErrorDocument 404 /404.html
zzq@ubuntu:/var/www/html$ ls -a
.  ..  .htaccess  index.html  wordpress
zzq@ubuntu:/var/www/html$ 
2).在同目录下新建404.html,文件名与上一步指定的文件名相同,即404.html
zzq@ubuntu:/var/www/html$ sudo vim 404.html
<!DOCTYPE html>
<html>
<head>
    <title>404页面</title>
</head>
<body>
Hello,This is 404 page!!
</body>
</html>
3).测试一下,可以看到我们自定义的页面已经生效
img_9ba86cbcd917ad98e9cd1a2cfb1be740.png
0x02-1.png

注意事项

1、不要将404错误直接转向到网站首页,这将导致首页不被收录;
2、/404.html 前面不要带主域名,否则返回的状态码是302或200状态码;
3、自定义的404页面必须是大于512B,如果小于这个大小,浏览器就不会执行;



0x03.列目录问题

什么是列目录

当Web服务器配置不当的时候,如果当前目录不存在默认文件(比如index.html),Apache会列出当前目录下所有文件,造成敏感信息泄露。
我们可以测试一下,测试方法:
首先我们可以删除存在的默认文件index.html

zzq@ubuntu:/var/www/html$ ls
404.html  index.html  wordpress
zzq@ubuntu:/var/www/html$ sudo cp index.html index.html.bak
zzq@ubuntu:/var/www/html$ sudo rm -rf index.html
zzq@ubuntu:/var/www/html$ ls
404.html  index.html.bak  wordpress
zzq@ubuntu:/var/www/html$ 

然后再访问网站

img_175ae7a1b9c2738672d262c0a3db84e3.png
0x03-1.png

修复方法:

修改配置文件:/etc/apache2/apache2.conf
zzq@ubuntu:~$ sudo vim /etc/apache2/apache2.conf
<Directory /var/www/html>        #这必须是网站的根目录
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

Options Indexes FollowSymLinks
这里的indexes 是指在目录中要存在index文件,如果不存在把文件列出来,如果存在index文件可以直接显示index文件,因此每个目录都必须存在index文件,如果不存在有可能此目录把文件全部列出来。

删除Indexes这个参数,保存退出,然后重启apache服务
<Directory /var/www/html>
        Options FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>
zzq@ubuntu:~$ sudo service apache2 restart
再次访问就会出现403Forbidden页面如下图所示:
img_0b36300ac47ad2de3a68bb53a64cb717.png
0x03-2.png

0x04.删除默认安装页面

测试方法

默认安装完成之后,会有一个默认的apache测试页面,里面会泄露一些信息,包括网站目录,操作系统,版本等等

img_ab2f588390957a1b1fc6595f7b276bf9.png
图片.png
加固方法

step1.编辑配置文件/etc/httpd/conf.d/welcome.conf

[root@localhost ~]# vim /etc/httpd/conf/httpd.conf

step2.找到如下行

img_f829400e0870bd8b393f355ea7372b32.png
图片.png

step3.修改为如下,并保存退出

img_bd3c0b14e5a75c38c49271f09d4a6559.png
图片.png

step4.重启apache服务

[root@localhost ~]# service httpd restart
修复验证

step1.在网站根目录下创建一个index.php文件

img_cc222e9e50f1676d226282a47577384c.png
图片.png

step2.再次访问

img_85b8134791cfef3ce939012678fd5a80.png
图片.png

0x05.文件权限

在图片上传过程中,特对是针对上传图片得目录和上传得文件内容必须经过严格控制,因为可能由
于权限过高导致上传被突破后,直接放入小马,这个站点就被拿下了,所以对上传目录进行权限控
制。

漏洞测试

img_11808d63f411aa08353ff9e3f174e921.png
图片.png

加固方法:

step1.编辑http.conf文件

[root@localhost upload]# vim /etc/httpd/conf/httpd.conf

step2.限定目录没有执行的PHP脚本执行的权限

img_7fb2aa57f8b8affc795060f59268529b.png
图片.png

step3.编辑重启服务

[root@localhost upload]# service httpd restart

step4.再次测试漏洞是否存在

img_25d1b03e240cc6b4494790d4ce0b5890.png
图片.png

可以看到/upload/目录下的php小马已经不能用了

目录
相关文章
|
19天前
HAProxy的高级配置选项-配置haproxy支持https协议及服务器动态上下线
文章介绍了如何配置HAProxy以支持HTTPS协议和实现服务器的动态上下线。
51 8
HAProxy的高级配置选项-配置haproxy支持https协议及服务器动态上下线
|
19天前
|
监控 Apache
HAProxy的高级配置选项-Web服务器状态监测
这篇文章介绍了HAProxy的高级配置选项,特别是如何进行Web服务器状态监测,包括基于四层传输端口监测、基于指定URI监测和基于指定URI的request请求头部内容监测三种方式,并通过实战案例展示了配置过程和效果。
41 8
HAProxy的高级配置选项-Web服务器状态监测
|
1天前
|
Ubuntu Linux
Linux服务器的自动启动可以在哪里进行配置?
Linux服务器的自动启动可以在哪里进行配置?
11 3
|
23天前
|
存储 弹性计算 负载均衡
阿里云服务器地域、实例、带宽与操作系统等配置选择指南参考
在数字化时代,无论是个人博客、企业官网、APP后端支持,还是小程序运行或者其他项目,云服务器都扮演着至关重要的角色,考虑产品质量、服务和价格等因素,大家现在都喜欢选择阿里云服务器。然而,对于初次接触云服务的新手来说,可能并不是很清楚应该如何选阿里云服务器的地域、实例、带宽与操作系统等配置。本文将从地域选择、实例规格、操作系统、云盘配置、购买时长以及带宽选择等六个方面,为新手用户提供详细的选购指南,以供参考。
阿里云服务器地域、实例、带宽与操作系统等配置选择指南参考
|
12天前
|
监控 应用服务中间件
Nagios 服务器 Nrpe 配置
Nagios服务器需安装NRPE并定义监控命令于`command.cfg`中。示例配置如下:`check_nrpe -H $HOSTADDRESS$ -c $ARG1$`。客户端配置文件如`192.168.149.128.cfg`可引用NRPE配置的命令,如`check_nrpe!check_load`以监控负载。监控HTTP关键词使用`check_http`命令加参数,如`-I`指定IP,`-u`指定URL,`-s`指定关键词,可在`command.cfg`中定义如`check_http_word`命令,并在主机配置文件中引用。
33 13
|
15天前
|
编解码 小程序
无影云电脑产品使用黑神话悟空之:游戏服务器更新/配置问题
该文档主要介绍了使用无影云电脑玩《黑神话:悟空》时可能遇到的问题及解决方法,包括游戏服务器更新、配置问题、画质建议及如何开启帧数显示等内容,并提供了详细的步骤指导与参考链接。
|
18天前
|
监控 安全 网络协议
快速配置Linux云服务器
快速配置Linux云服务器
|
20天前
|
数据库连接 Apache Java
【独家揭秘】图书管理系统的奇幻之旅:一文看透Apache Wicket如何从想法萌芽到服务器上翩翩起舞?
【8月更文挑战第31天】本文通过实战案例,详细介绍从概念到部署的Apache Wicket应用开发全流程。以在线图书管理系统为例,涵盖应用概念定义、项目创建、架构设计、首页编写、数据库交互及应用部署等关键步骤。通过Maven或Gradle引入Wicket依赖,设计包结构,并使用JPA或Hibernate处理数据持久化。最终,将应用配置并部署到Tomcat或Jetty服务器,帮助你全面掌握Wicket开发技巧。
27 0
|
28天前
|
监控 Linux 测试技术
|
28天前
|
监控 安全 网络安全
如何保护 Apache 服务器的安全
【8月更文挑战第23天】
43 0

推荐镜像

更多