隐藏 Apache PHP 的版本号
[ 2009/03/27 23:52 | by selboo ]
Apache:
开启 httpd.conf,加入以下两行:
ServerTokens ProductOnly
ServerSignature Off
PHP:
隐藏 PHP 版本就是隐藏类似于 "X-Powered-By: PHP/5.1.2-1+b1" 这个,开启 php.ini,加入:
php.ini
expose_php On
改成
expose_php Off
修改前
[root@selboo171 conf]# curl --head http://192.168.1.171
HTTP/1.1 200 OK
Date: Sat, 28 Mar 2009 12:15:59 GMT
Server: Apache/2.2.11 (Unix) mod_ssl/2.2.11 OpenSSL/0.9.8b DAV/2 PHP/5.2.9
Last-Modified: Sat, 20 Nov 2004 20:16:24 GMT
ETag: "9f6d3-2c-3e9564c23b600"
Accept-Ranges: bytes
Content-Length: 44
Content-Type: text/html
修改后
[root@selboo171 conf]# curl --head http://192.168.1.171
HTTP/1.1 200 OK
Date: Sat, 28 Mar 2009 12:16:15 GMT
Server: Apache
Last-Modified: Sat, 20 Nov 2004 20:16:24 GMT
ETag: "9f6d3-2c-3e9564c23b600"
Accept-Ranges: bytes
Content-Length: 44
Content-Type: text/html
开启 httpd.conf,加入以下两行:
ServerTokens ProductOnly
ServerSignature Off
PHP:
隐藏 PHP 版本就是隐藏类似于 "X-Powered-By: PHP/5.1.2-1+b1" 这个,开启 php.ini,加入:
php.ini
expose_php On
改成
expose_php Off
修改前
[root@selboo171 conf]# curl --head http://192.168.1.171
HTTP/1.1 200 OK
Date: Sat, 28 Mar 2009 12:15:59 GMT
Server: Apache/2.2.11 (Unix) mod_ssl/2.2.11 OpenSSL/0.9.8b DAV/2 PHP/5.2.9
Last-Modified: Sat, 20 Nov 2004 20:16:24 GMT
ETag: "9f6d3-2c-3e9564c23b600"
Accept-Ranges: bytes
Content-Length: 44
Content-Type: text/html
修改后
[root@selboo171 conf]# curl --head http://192.168.1.171
HTTP/1.1 200 OK
Date: Sat, 28 Mar 2009 12:16:15 GMT
Server: Apache
Last-Modified: Sat, 20 Nov 2004 20:16:24 GMT
ETag: "9f6d3-2c-3e9564c23b600"
Accept-Ranges: bytes
Content-Length: 44
Content-Type: text/html
Apache增加防DDoS模块
[ 2009/03/07 18:29 | by selboo ]
DDoS (distributed denial-of-service)及DoS (denial-of-service)在网路上十分常见,而DoS攻击所传送的请求跟正常的请求一样,分别在于每秒钟发出大量请求到伺服器,使伺服器的负载增加,最常见的情况是伺服器暂停服务。
而mod_evasive则是一个预防Apache遭受DDos攻击的模组,可以防止同一个IP对相同URI发出的大量请求,可设定的选项有:
–限制同一个IP在一定秒数内请求一个页面或档案的次数。
–限制同一个IP一秒内只可发出50个请求。
–设定被禁止的IP封锁时间。
以下是mod_evasive的安装方法:
1.先将原来的httpd.conf备份起来。
2.到http://www.zdziarski.com/projects/mod_evasive/下载mod_evasive。
3.在指令模式解压及编译mod_evasive:
tar zxvf mod_evasive_1.10.1.tar.gz
cd mod_evasive/
apxs -cia mod_evasive20.c
以上的apxs会放在Apache的bin目录内;如果Apache版本是1.3的话,指令要改为:
apxs -cia mod_evasive.c
安装好mod_evasive后,便要修改httpd.conf内容。
4.开启httpd.conf,加入以内容:
DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 100
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 10
DOSBlockingPeriod 600
DOSHashTableSize —这是占用记忆体的大小,如果伺服器比较繁忙,这个数值要设定大一点。
DOSPageCount —同一IP在一个时段内可以存取同一页面的次数,超过会被禁止。
DOSSiteCount —同一IP在一个网站内可以占用多少Object,超过会禁止。
DOSPageInterval — DOSPageCount内的时段设定。
DOSSiteInterval — DOSSiteCount的时间设定,以秒为单位。
DOSBlockingPeriod —当发现疑似攻击后,使用者会收到403 Forbidden,这是设定封锁的时间,以秒为单位。
5.最后重新启动Apache即可。
而mod_evasive则是一个预防Apache遭受DDos攻击的模组,可以防止同一个IP对相同URI发出的大量请求,可设定的选项有:
–限制同一个IP在一定秒数内请求一个页面或档案的次数。
–限制同一个IP一秒内只可发出50个请求。
–设定被禁止的IP封锁时间。
以下是mod_evasive的安装方法:
1.先将原来的httpd.conf备份起来。
2.到http://www.zdziarski.com/projects/mod_evasive/下载mod_evasive。
3.在指令模式解压及编译mod_evasive:
tar zxvf mod_evasive_1.10.1.tar.gz
cd mod_evasive/
apxs -cia mod_evasive20.c
以上的apxs会放在Apache的bin目录内;如果Apache版本是1.3的话,指令要改为:
apxs -cia mod_evasive.c
安装好mod_evasive后,便要修改httpd.conf内容。
4.开启httpd.conf,加入以内容:
DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 100
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 10
DOSBlockingPeriod 600
DOSHashTableSize —这是占用记忆体的大小,如果伺服器比较繁忙,这个数值要设定大一点。
DOSPageCount —同一IP在一个时段内可以存取同一页面的次数,超过会被禁止。
DOSSiteCount —同一IP在一个网站内可以占用多少Object,超过会禁止。
DOSPageInterval — DOSPageCount内的时段设定。
DOSSiteInterval — DOSSiteCount的时间设定,以秒为单位。
DOSBlockingPeriod —当发现疑似攻击后,使用者会收到403 Forbidden,这是设定封锁的时间,以秒为单位。
5.最后重新启动Apache即可。
apache的mod_proxy 反向代理
[ 2008/12/15 22:14 | by selboo ]
apache 403错误 You don't have permission to access on this server.
[ 2008/11/29 14:07 | by selboo ]
HTTP 错误 403 - 禁止访问
Internet Explorer
-----------------------------------------------------------------------------------------------------
去掉显示友好信息的钩后显示Forbidden You don't have permission to access \ on this server.
-----------------------------------------------------------------------------------------------------
apache昨天调试了一下午,都没有解决这个问题,到今天上午,仔细检查了一遍配置文件httpd.conf,找到这么一段:
[code]<Directory />
Options FollowSym
Internet Explorer
-----------------------------------------------------------------------------------------------------
去掉显示友好信息的钩后显示Forbidden You don't have permission to access \ on this server.
-----------------------------------------------------------------------------------------------------
apache昨天调试了一下午,都没有解决这个问题,到今天上午,仔细检查了一遍配置文件httpd.conf,找到这么一段:
[code]<Directory />
Options FollowSym
Apache虚拟目录日志分割及发布
[ 2008/09/03 11:11 | by selboo ]
Apache的日志分割要借助于目前国际上最流行、最通用的日志分割工具cronolog。日志轮循工具cronolog,已经是比较的相当成熟,在不中断apache服务器的情况下,它能严格的按每一天00:00:00-23:59:59来实现日志文件的分割,同时不受apache服务器重启的影响,安装配置十分简单。
第一步 安装cronolog
首先需要下载和安装cronolog,可以到http://www.cronolog.org/ 下载最新版本的cronolog。下载完毕以后,解压安装即可,方法如下所示:
[root@www tmp]# tar xvfz cronolog-1.6.2.tar.gz
[root@www tmp]# cd cronolog-1.6.2
[root@www cronolog-1.6.2]# ./configure
[root@www cronolog-1.6.2]# make
[root@www cronolog-1.6.2]# make check
[root@www cronolog-1.6.2]# make install
完成cronolog的配置和安装,默认情况下cronolog是安装在/usr/local/sbin下。
第二步 配置httpd.conf
在此认为apache服务器安装在/usr/local/目录下;修改apache日志配置文件httpd.conf如下所示:
1、设置日志格式定义
把httpd.conf中的以下语句:
LogFormat “%h %l %u %t \”%>s %b \”%{Referer}I\” \%{User-Agent}I\””combine
改为:
LogFormat “%h %l %u %t \”%>s %b \”%{Referer}I\” \%{User-Agent}I\””
2、设置TransferLog命令
CustomLog /usr/local/apache/logs/access_log common
或是
CustomLog /usr/local/apache/logs/access_log combine
为
TransferLog “|/usr/local/sbin/cronolog /usr/local/apache/logs/%Y%m%daccess_log”
备注:
/usr/local/sbin/cronolog 为cronolog安装后的路径。
/usr/local/apache/logs/ 为日志分割时候日志保存位置。
如果是有虚拟站点,那么需要对虚拟站点另外单独设置TransferLog命令,这样保证不同的虚拟站点的日志保存在不同的位置,也就是说每个虚拟站点都有单独的日志文件。如下所示,虚拟站点www.abc.com中添加TransferLog命令,保存的日志文件为单独的文件%y%m%dabcaccess_log。
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /usr/local/apache/docs/xxxx
ServerName www.abc.com
TransferLog “|/usr/local/sbin/cronolog /usr/local/apache/logs/%Y%m%dabcaccess_log”
第三步 重新启动Apache服务器
保存设置,重启apache服务器,浏览网站后,就会在 /usr/local/apache/logs/ 目录下产生当天对应的虚拟网站日志文件。
2、设置虚拟目录来发布日志
第一步 打开Apache配置文件httpd.conf,在其中(如果是虚拟主机发布,那么需要在虚拟配置范畴内)添加以下代码:
Alias /wwwlogs/ "/usr/local/apache/logs/"
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from xxx.xxx.xxx.xxx
以上的设置把/usr/local/apache/logs/目录下面的所有日志通过/wwwlogs/ 这个虚拟目录发布处理。同时这个虚拟目录禁止除了xxx.xxx.xxx.xxx(网站群流量分析服务器)以外的所有IP地址访问。
重新启动Apache服务器