Apache简介及安全配置方案
作者:hebedich 发布时间:2023-11-02 23:42:25
0×00 测试环境
centos6.5+apache2.2.15+php5.3.3
0×01 php的运行模式介绍
php的运行模式分四种:
1. CGI通用网关接口
2. fast-cgi常驻型的CGI
3. cli命令行运行
4. web模块模式
一般情况下,apache使用web模块模式运行php
0×02 Apache运行原理介绍
Apache是基于模块化设计的,各个模块在系统启动的时候按需载入。Apache对于php的解析,就是通过众多Module中的php Module来完成的。
所以,php加载成为了apache的一个模块,可以把apache和php当成一个整体看待。
当浏览器请求一个php文件时,我们可以理解为apache直接处理返回给浏览器结果,服务器上也只会有httpd进程,而不会有php进程。
apache的一些配置主要是通过httpd.conf来实现的,但是可以在httpd.conf中开启对.htaccess的支持,然后 在.htaccess中进行配置。不过一般情况下,不应该使用.htaccess文件,除非你对主配置文件没有访问权限。.htaccess文件应该被用 在内容提供者需要针对特定目录改变服务器的配置而又没有root权限的情况下。如果服务器管理员不愿意频繁修改配置,则可以允许用户通 过.htaccess文件自己修改配置。
0×03 Apache安全配置方案
1. 选择漏洞较少的apache版本,并打上安全补丁
查看apache版本号:httpd -v
然后在sebug上搜索该版本号有什么漏洞,可根据提示提升版本或者打上补丁
2. 关闭一些不使用的模块及功能
可在LoadModule前加#,来注释掉一些不使用的模块
3. 隐藏banner信息
ServerTokens OS 修改为:ServerTokens Prod (在出现错误页的时候不显示服务器操作系统的名称)
ServerSignature On 修改为:ServerSignature Off(不回显apache版本信息)
4. 删除默认网站及页面
删除默认的页面,防止泄露服务器信息
5. 可修改banner信息
6. 配置httpd.conf禁止目录浏览
将Options Indexes FollowSymLinks改为Options -Indexes FollowSymLinks
7. 配置httpd.conf设置默认文档
DirectoryIndex index.html
8. 合理配置apache的运行账户
为apache单独建立一个运行账户及账户组,并在httpd.conf配置
User apache
Group apache
9. 合理控制apache运行账户对磁盘的写入,执行权限
取消apache运行账户对网站目录的写入权限,上传目录除外,其他非网站目录尽量不给权限
10. 合理控制apache运行账户对sh等的执行权限
取消掉了运行账户对sh等的执行权限后能够防止webshell通过默认的sh执行命令
11. 配置httpd.conf取消对上传目录的php执行权限
<Directory "/var/www/html/aaa">
<FilesMatch ".(php|php5)$">
Deny from all
</FilesMatch>
</Directory>
12. 配置httpd.conf限制禁止访问的文件夹,例如后台目录
<Directory "/var/www/html/aaa">
Deny from all
</Directory>
13. 配置httpd.conf限制一些特殊目录的特定ip访问,如内部接口等。
<Directory "/var/www/html/aaa">
Order Deny,Allow
Deny from all
Allow from 192.168.1.111
</Directory>
14. 配置httpd.conf限制一些文件类型的访问,如txt的日志
<Files ~ ".txt$">
Order allow,deny
Deny from all
</Files>
15.配置httpd.conf修改修改监听端口来防止一些内部系统被扫描
这样可以防止一些直接扫描80端口的黑客
Listen 12345
16. 关闭对.htaccess的支持
AllowOverride All
改为
AllowOverride None
17. 配置httpd.conf记录访问日志
0×04 .htaccess常见配置方法参考
首先,不建议使用.htaccess,其次,使用.htaccess需要在httpd.conf中开启,最后,开始.htaccess支持后需要在 httpd.conf中配置防止.htaccess文件被下载,下面介绍几个基本配置方法不全,更多的可以参考其他网站专门针对.htaccess 的配置方法。
1. 定制目录的默认文档
DirectoryIndex index.html index.php index.htm
2. 定制错误页面
ErrorDocument 404 errors/404.html
3. 控制访问文件和目录的级别
order deny,allow
deny from all
allow from 192.168.0.0/24
4. 防止列目录
Options -Indexes
0×05 总结
其实一个web服务器的保护是分几个层次的(暂不考虑程序的漏洞):
1. 隐藏自己
要保护一个web服务器首先得学会隐藏自己,对于一些内部系统,如后台,内部接口等,我们可以通过改端口,限制ip等方式来不让黑客发现。
2. 隐藏身份
对于多数web系统来说,都是提供给外面的访问的,所以想隐藏自己其实是很难的。但是我们还是要学会隐藏身份,可以通过改banner,该返回信息来隐藏身份来加大黑客攻击的难度。
3. 选用安全的版本及修补一些已知的漏洞
其实前面两步都是很容易突破,然后获知一个web系统所使用的web服务器版本的,此时我们能做的就是选择一个少漏洞的版本,及打上安全补丁。
4. 做好安全配置
做好基础的安全配置,禁止目录浏览,设定默认文档,上传目录限制php执行等等,来阻挡黑客的入侵。
5. 合理配置web服务进程账户的权限
当黑客已经通过程序漏洞上传了一个webshell并且已经成功执行了,此时,就只能很好的配置服务进程的账户权限,包括磁盘的读取写入,特殊程序如sh的执行,等等,这样可以讲危害降到最低。
6. 记录日志
最后,当黑客已经光顾之后,我们也只能通过日志来分析,看问题出在哪里了。


猜你喜欢
- 关于新发布的IE8 Beta1,网友们都纷纷下载来使用,尝到了功能强大的甜头;有的却因网络流传:安装后会覆盖原来的IE7,并且不能
- 无论你试图从即将坏掉的存储驱动器抢救数据,将归档备份到远程存储,还是在别处对活动分区制作一份完美副本,都要知道如何安全可靠地复制驱动器和文件
- 1、先进入网卡配置目录2、编辑ifcfg-ens33网卡的配置文件 vim ifcfg-e
- 【WordPress(或者说任何一个web-based app)可以参考的优化策略】单服务器优化策略:DB优化;缓存优化和页面加载速度优化(
- 2009年5月19日21时起,在中国北京、天津、上海、河北、山西、安徽、湖北、广东、广西等省陆续出现互联网网络故障,使用电信网络服务的网民上
- 人们上网都是为了查找并欣赏自己所需要的东西,如果你的网站没有什么内容,人们看一眼就走了,没有回头客,那么你的网站就是每天就是有一万个流量,也
- 1. 下载地址:https://www.vmware.com/go/getfusion2. 安装和安装其他Mac软件一样,双击app文件即可
- 首先介绍下,本人做站一年多,朋友都喜欢称呼我静水,一开始自己什么都不懂通过朋友介绍用了DEDE做了一个文章站,刚开始的时候感觉还不错,没有出
- 本文实例讲述了linux文件管理命令。分享给大家供大家参考,具体如下:1、显示文件内容cat : 显示文件内容tac
- 打印本地主机与Berkeley网络上的主机之间的所有通信数据包(nt: ucb-ether, 此处可理解为'Berkeley网络
- 我们可以用两种方法显示M盘的:一、修改注册表方式:1. 单击“开始”,然后单击“运行”。2. 在“打开”框中,键入 regedit,然后单击
- 虽然以前针对服务器性能优化做过很多设置。如:优化应用程序池,增加虚拟内存等等。但是前段时间,服务器还是经常会CPU满100%。一开始想法是写
- find 命令主要用于查找目录和文件,可以指定多种参数进行匹配。用法:find +查找路径 +命令参数
- 前言本文主要给大家介绍了关于vi与vim修改tab为4个空格的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧方法如
- 白帽SEO工作准确的讲白帽SEO是一些遵守互联网道德准则,遵守搜索引擎约束规范的搜索引擎优化工作者。白帽SEO是相对黑帽SEO而言的。其特点
- 在网上查询了一下还没有人分享linux主机如何通过.htaccess文件同时实现301重定向和伪静态的,为帮助朋友少走弯路,特以把经验分享一
- 最近在搞几台虚拟机来学习分布式和大数据的相关技术,首先先要把虚拟机搞起来,搞起虚拟机第一步先安装系统,接着配置网络vmware为我们提供了三
- 发布商都很关注收入的波动问题,今天我们就帮大家深入分析一下如何知道收入波动的背后原因,并采取相应的措施。首先,大家都知道,AdSense 收
- 前一段时间博主在VMware虚拟机上安装了Ubuntu系统,如果还没有安装的同学可以参考博主上一篇文章:VMware Ubuntu安装详细过
- 硬件环境:HPNetserverE60128M内存单网卡软件环境:Redhat6.2vPOPmail4.9.4QMail1.3MySQL-3