Apache PHP的安全设置

简介:

在另一篇“如何简单获取Web服务器(Apache)的版本”中,我说到了为了防止某些别有用心的家伙窥视我们的服务器,应该做些什么,即便是为我们的服务器砌上一堵砖墙也好(虽然不怎么结实,但总比裸露在外界好些吧!)
   Okay,让我们先来看看,这砖墙应该砌在什么地方?呵呵 ,让我们着眼于2个参数,分别为ServerTokens和ServerSignature,通过控制这2个阀门应该就能起到一些作用,比如我们可以在配置文件中这么写:

ServerTokens ProductOnly
ServerSignature Off

ServerTokens
   这个阀门用于控制服务器是否相应来自客户端的请求,向客户端输出服务器系统类型或内置模块等重要的系统信息。

  • 在主配置文件中提供全局控制
  • 默 认阀值为”Full”(ServerTokens Full),所以,如果你的Linux发行版本没有更改过这个阀值的话,所有与你的系统有关的敏感信息都会向全世界公开(恐怖哦~)。比如RHEL会将该 阀值更改为”ServerTokens OS”,而Debian依然使用默认的”Full”阀值

  以apache-2.0.55为例,阀值可以设定为以下某项(后面为相对应的Banner Header):  

ProductOnly  >>>    Server: Apache
Major  >>>    Server: Apache/2
Minor  >>>  Server: Apache/2.0
Minimal  >>>  Server: Apache/2.0.55
OS  >>>  Server: Apache/2.0.55 (Debian)
Full (or not specified) default  >>>  Server: Apache/2.0.55 (Debian) PHP/5.1.2-1
                                                         +b1 mod_ssl/2.0.55 OpenSSL/0.9.8b


ServerSignature

   这个阀门控制由系统生成的页面(错误信息,mod_proxy ftp directory listing等等)的页脚中如何显示信息。

  • 可在全局设置文件中控制,或是通过.htaccess文件控制
  • 默认为”off “(ServerSignature Off),有些Linux发行版本可能会打开这个阀门,比如Debian在默认的虚拟主机上默认将这个阀门设置为开放
  • 全局阀门的阀值会被虚拟主机或目录单位的配置文件中的阀值所覆盖,所以,必须确保这样的事情不应该发生

可用的阀值为下面所示:

Off (default): 不输出任何页脚信息 (如同Apache1.2以及更旧版本,用于迷惑)
On:输出一行关于版本号以及处于运行中的虚拟主机的ServerName 
     (2.0.44之后的版本,由ServerTokens负责是否输出版本号)
EMail: 创建一个发送给ServerAdmin的”mailto”


注意*上述关于如何设置2个阀门从而尽量减少敏感信息泄露的方法,并不会使你的服务器真的更安全,如果你现在使用的版本比较旧,请务必尽快将系统升级,降低被蠕虫攻击的风险。

=======================================================================

如果你已经看过我写的另一篇关于如何隐藏Apache信息的文章,你就不会感到陌生,是的,我们今天再来谈谈如何隐藏PHP信息,毕竟apache+php的组合,就像切片面包+果酱一样,深入千家万户,呵呵
   还记得我们上次提到的那2个阀门了吗?对,就是ServerTokens & ServerSignature,Okay,让我们先来看看,通过设置这2个阀门后系统会提供给我们一些什么“有用”的信息:

HEAD http://test01.10domains.com/index .html
200 OK
Connection: close
Date: Fri, 16 Oct 2006 01:13:23 GMT
Server: Apache
Content-Type: text/html; charset=UTF-8
Client-Date: Fri, 16 Oct 2006 21:42:53 GMT
Client-Peer: 192.168.0.102:80
Client-Response-Num: 1

  哦~,看上去还不错是吗。好的,再来看看,如果指向的是index.php,那会发生什么:

HEAD http://test01.10domains.com/index .php
200 OK
Connection: close
Date: Fri, 16 Oct 2006 01:16:30 GMT
Server: Apache
Content-Type: text/html; charset=UTF-8
Client-Date: Fri, 16 Oct 2006 21:48:13 GMT
Client-Peer: 192.168.0.102:80
Client-Response-Num: 1
X-Powered-By: PHP/5.1.2-1+b1

看到最后那行了吗?我们的狐狸尾巴被暴露了~

   要隐藏这条大尾巴,我们就得去php.ini把它关闭掉,因为它默认是开放的(哦~太搞笑了,这么大条尾巴),编辑你的php.ini文件(它可能位于 /etc/php.ini , /etc/oho5/apache2/php.ini,或是其他什么只有你自己知道的地方8-P),找到”expose_php On”这行,把它改成”Off “就可以了:


expose_php = Off

   这下好了,再也不用担心大尾巴了,我只是把大尾巴牢牢绑在大腿上藏在大风衣下面而已,但这并不代表我们就不是只狐狸了,哈哈哈









本文转自 h2appy  51CTO博客,原文链接:http://blog.51cto.com/h2appy/1132815,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
存储 监控 安全
360 企业安全浏览器基于阿里云数据库 SelectDB 版内核 Apache Doris 的数据架构升级实践
为了提供更好的日志数据服务,360 企业安全浏览器设计了统一运维管理平台,并引入 Apache Doris 替代了 Elasticsearch,实现日志检索与报表分析架构的统一,同时依赖 Doris 优异性能,聚合分析效率呈数量级提升、存储成本下降 60%....为日志数据的可视化和价值发挥提供了坚实的基础。
360 企业安全浏览器基于阿里云数据库 SelectDB 版内核 Apache Doris 的数据架构升级实践
|
2月前
|
安全 PHP
从建站到拿站 -- PHP(Cookie设置)
从建站到拿站 -- PHP(Cookie设置)
20 0
|
6月前
|
PHP Apache
PHP环境搭建(配置php模块到apache服务器)
PHP环境搭建(配置php模块到apache服务器)
65 0
|
4月前
|
存储 监控 安全
带你读《Apache Doris 案例集》——07查询平均提速700% ,奇安信基于 Apache Doris 升级日志安全分析系统(1)
带你读《Apache Doris 案例集》——07查询平均提速700% ,奇安信基于 Apache Doris 升级日志安全分析系统(1)
|
4月前
|
SQL 存储 安全
带你读《Apache Doris 案例集》——07查询平均提速700% ,奇安信基于 Apache Doris 升级日志安全分析系统(2)
带你读《Apache Doris 案例集》——07查询平均提速700% ,奇安信基于 Apache Doris 升级日志安全分析系统(2)
107 0
|
30天前
|
运维 Linux Apache
LAMP架构调优(十)——Apache禁止指定目录PHP解析与错误页面优化
LAMP架构调优(十)——Apache禁止指定目录PHP解析与错误页面优化
199 2
|
1月前
|
PHP 数据安全/隐私保护
PHP页面如何实现设置独立访问密码
PHP网页如果需要查看信息必须输入密码,验证后才可显示出内容的代码如何实现? 对某些php页面设置单独的访问密码,如果密码不正确则无法查看内容,相当于对页面进行了一个加密
12 2
PHP页面如何实现设置独立访问密码
|
2月前
|
Java Apache
Apache HttpClient 4.5设置超时时间
Apache HttpClient 4.5设置超时时间
|
3月前
|
监控 安全 前端开发
PHP医院安全不良事件报告管理系统项目源码
不良事件上报系统,对患者安全(不良)事件实施全过程追踪管理,包括数据上报、流转审批、数据统计、原因分析、措施制定、效果追踪等环节,管理过程设置权限分级,相关人员职责明确,通过闭环管理使不良事件得到有效解决。 包含10大类医疗安全(不良)事件,即医疗事件、药品事件、护理事件、医学技术检查事件、输血事件、医院感染事件、医疗器械事件、安全管理与意外伤害事件,进一步又细分为60余类二级事件,全面覆盖医院所有临床科室、辅助科室及职能部门,从而消灭医疗安全(不良)事件管理的“盲区”。
33 1
|
3月前
|
安全 网络安全 Apache
Windows下Apache部署多个php项目
在 Windows 系统下,使用 Apache 服务器发布多个 PHP 项目是一项常见的任务。本文将介绍如何在 Windows 操作系统下使用 Apache 发布多个 PHP 项目。在 Windows 操作系统下使用 Apache 发布多个 PHP 项目可能有一些挑战,但是只要您按照本文的步骤进行操作,您就可以成功地完成这项任务。希望本文能够对您有所帮助。
60 0

推荐镜像

更多