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小马已经不能用了

目录
相关文章
|
14天前
|
存储 分布式计算 固态存储
阿里云2核16G、4核32G、8核64G配置云服务器租用收费标准与活动价格参考
2核16G、8核64G、4核32G配置的云服务器处理器与内存比为1:8,这种配比的云服务器一般适用于数据分析与挖掘,Hadoop、Spark集群和数据库,缓存等内存密集型场景,因此,多为企业级用户选择。目前2核16G配置按量收费最低收费标准为0.54元/小时,按月租用标准收费标准为260.44元/1个月。4核32G配置的阿里云服务器按量收费标准最低为1.08元/小时,按月租用标准收费标准为520.88元/1个月。8核64G配置的阿里云服务器按量收费标准最低为2.17元/小时,按月租用标准收费标准为1041.77元/1个月。本文介绍这些配置的最新租用收费标准与活动价格情况,以供参考。
|
12天前
|
监控 PHP Apache
优化 PHP-FPM 参数配置:实现服务器性能提升
优化PHP-FPM的参数配置可以显著提高服务器的性能和稳定性。通过合理设置 `pm.max_children`、`pm.start_servers`、`pm.min_spare_servers`、`pm.max_spare_servers`和 `pm.max_requests`等参数,并结合监控和调优措施,可以有效应对高并发和负载波动,确保Web应用程序的高效运行。希望本文提供的优化建议和配置示例能够帮助您实现服务器性能的提升。
34 3
|
15天前
|
存储 缓存 固态存储
阿里云服务器2核8G、4核16G、8核32G配置租用收费标准与活动价格参考
2核8G、8核32G、4核16G配置的云服务器处理器与内存比为1:4,这种配比的云服务器一般适用于中小型数据库系统、缓存、搜索集群和企业办公类应用等通用型场景,因此,多为企业级用户选择。本文介绍这些配置的最新租用收费标准与活动价格情况,以供参考。
|
16天前
|
存储 编解码 安全
阿里云服务器2核4G、4核8G、8核16G配置租用收费标准与活动价格参考
通常情况下,个人和一般企业用户在购买阿里云服务器时比较喜欢购买2核4G、4核8G、8核16G等配置,这些配置既能满足各种图文类中小型网站和应用又能满足企业网站应用、批量计算、中小型数据库系统等场景,2核4G配置适合新手入门或初创企业,4核8G与8核16G兼具成本与性能优势,适合通用场景,本文介绍这些配置的最新购买价格,包含原价收费标准和最新活动价格。
|
1月前
|
JSON JavaScript 前端开发
《进阶篇第6章:vue中的ajax》包括回顾发送ajax请求方式、vue-cli脚手架配置代理服务器、vue-resource
《进阶篇第6章:vue中的ajax》包括回顾发送ajax请求方式、vue-cli脚手架配置代理服务器、vue-resource
59 22
|
21天前
|
PHP 数据库 数据安全/隐私保护
布谷直播源码部署服务器关于数据库配置的详细说明
布谷直播系统源码搭建部署时数据库配置明细!
|
30天前
|
NoSQL Linux PHP
|
1月前
|
JavaScript 前端开发 Java
vue2知识点:vue-cli脚手架配置代理服务器
vue2知识点:vue-cli脚手架配置代理服务器
52 7
|
1月前
|
前端开发 JavaScript Java
第6章:Vue中的ajax(包含:回顾发送ajax请求方式、vue-cli脚手架配置代理服务器)
第6章:Vue中的ajax(包含:回顾发送ajax请求方式、vue-cli脚手架配置代理服务器)
66 4
|
1月前
|
弹性计算 应用服务中间件 网络安全
ECS服务器使用:SSL证书安装、配置和问题定位指南
本文简要介绍了SSL证书的生成与部署方法,包括使用OpenSSL生成自签名证书和从CA获取证书的步骤,以及在Apache和Nginx服务器上的配置方法。此外,还提供了测试证书是否生效的方法和常见问题的解决策略,帮助确保证书正确安装并解决调试过程中可能遇到的问题。
150 0

推荐镜像

更多
下一篇
无影云桌面