20种让你的Apache更安全的设置(翻译)

原创 2007年09月25日 11:17:00
原文来自: http://www.petefreitag.com/item/505.cfm
一. 确定你安装了最新的安全补丁.先把本文del.icio.us了,然后再回来看其他的。
二. 隐藏Apache的版本号,以及其他一些信息apache的默认设置公开了apache的版本号,操作系统,甚至还有已经安装了的apache组件。黑客们会利用这些信息更方便的去攻击你。并且,这些信息告诉了所有人:你的apache并没有经过配置
你可以在httpd.conf文件中,加上或者修改两条代码,隐藏信息。
ServerSignature Off
ServerTokens Prod
ServerSignature apache生成的一些页面底部,比如404页面,文件列表页面等等。
ServerTokens指向被用来设置Server的http头回响。设置为Prod可以让HTTP头回响显示成这样….
Server: Apache
如果是个超级偏执狂,你可以修改源代码或者使用mod_security,来显示比Apache更多的东西.
确定apache是运行在它之下的用户和组之下。很多apache安装之后他们是运行在nobody之下的。所以,每个运行在nobody之下的apache,将会被同组的邮件服务其攻击。chown apache.apache /var/…
User apache
Group apache
确认根目录的东西是关闭的我们不惜王apache有修改根目录的全县。 所以,建议你所有的网站都放在一个目录下面(我们称为/web,你可以象这样设置:

Order Deny,Allow
Deny from all
Options None
AllowOverride None
Order Allow,Deny
Allow from all


QUOTE:
由于我们设置了Options None 和AllowOverride None,这将关闭options权限和覆盖权限,你现在必须为每个文件夹加上explicitly,为他们恢复Option和Override权限。

关闭文件夹浏览你可以在httpd.conf的Directory标签中间加上一个Options指令
。 设置Options为None或者-Indexes
Options -Indexes
关闭服务器的side includes也要添加一条Optoions指令到Directory 标签中, 使Options 为 None或者-Includes
Options -Includes
关掉CGI如果你不用CGI,那就在Directory标签中加上一条Options指令关掉他。 使Options为None或者-ExecCGI
Options -ExecCGI
不要让apache进入象征性links中(我理解的是#)也是在directory中修改Options 为 -FollowSymLinks
Options -FollowSymLinks
关闭多选项关闭所有选项
Options none
关闭几个选项
Options -ExecCGI -FollowSymLinks -Indexes
关闭对 .htaccess 文件的支持。也在Directory标签中,但是AllowOverride指令
AllowOverride none
如果你需要Overrides,需要确认他们不能被下载。改变他们的文件名,而不是原来的.htaccess, 比如可以改为.httpdoveride, 或者屏蔽所有的.ht开头的文件。
AccessFileName .httpdoverride
Order allow,deny
Deny from all
Satisfy All

运行 mod_securitymod_security 是一个非常好用的Apache组件.
通过mod_security你可以达到以下效果:

简单的过滤
正则表达式过滤
URL 编码验证
Unicode编码验证
核查
Null值攻击预防
上传大小限制
服务器身份掩藏
内置Chroot支持
更多…
关掉一些不需要的组件去module documentation 看一下你到底需要哪些组件. 好多时候你会发现,你并不需要….
一行一行去查找你的httpd.conf里是否包含LoadModule, 可以用#放在行首去关闭组件。 如果象搜索组件,可以运行:
grep LoadModule httpd.conf
这里有些组件常常打开的,但是不需要。
mod_imap,mod_include,mod_info,mod_userdir,mod_status,mod0cgi,mod-autoindex.
去人只有root有阅读apache配置文件和bin文件的权限。chown -R root:root /usr/local/apache
chmod -R o-rwx /usr/local/apache
减少Timeout值默认设置timeout指令是300秒。 你可以减小他,以预防一些潜在攻击。
Timeout 45
减小最大请求apache有很多指令来减小请求数,一个很好的指令是LimitRequestBody指令。 这条指令默认设置是无线的。 如果你想设置上传文件不能超过1MB, 你可以这样写:
LimitRequestBody 1048567
如果不允许问文件上传。你可以设得更小。
其他得指令,可以看看LimitRequestFields,LimitrequestFieldSize , LimitRequestLine. 这些指令都是默认设置。但是你必须去优化他们,成为你需要的。 可以看看这个文档
限制XML body区的大小如果你运行了mod_dav,你会希望限制XML 请求的body大小。 LimitXMLRequestBody指令只有在Apache2中有。 并且他的默认值是1个millon字节大小,大约1M, 很多教材上说这里设置为0比较好,这就意味着多大的文件都可以上传,如果你需要上传大文件的话。 但是如果你简单的改变一下控制。 你可以大概的设置成10MB
LimitXMLRequestBody 10485760
限制并发apache有些设置可以限制并发请求。MaxClients就是服务器能承受的最大用户值。
其他的指令比如MaxSpareServers,MaxRequestsPerChild, Apache2上的 ThreadsPerChild,ServerLimit,和MaxSpareThreads 和你的系统硬件配置的配合都是很重要的。
IP限制地址段如果你有一些资源只能给特定的网段使用…176。16.0.0–176.16.0.16
Order Deny,Allow
deny from all
Allow from 176.16.0.0/16
或者也可以限定单一IP
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
调整KeepAlive 设置MaxKeepAliveRequests –> 100 — (你需要的数)
KeepAliveTimeout –> 15 –(你需要的数)
在Chroot环境运行apache(没翻译. )chroot allows you to run a program in its own isolated jail. This prevents a break in on one service from being able to effect anything else on the server.
It can be fairly tricky to set this up using chroot due to library dependencies. I mentioned above that the mod_security module has built in chroot support. It makes the process as simple as adding a mod_security directive to your configuration:
SecChrootDir /chroot/apache
There are however some caveats however, so check out the docs for more info



 

Apache Web服务器安全配置全攻略

作为最流行的Web服务器,Apache Server提供了较好的安全特性,使其能够应对可能的安全威胁和信息泄漏。    Apache 服务器的安全特性   1、 采用选择性访问控制和强制性访问控制...
  • CareChere
  • CareChere
  • 2016年08月28日 17:34
  • 3179

Apache 安全配置方法

Apache易于安装并且相当容易管理。不幸的是,许多Apache的安装由于为完全的陌生者提供了关于自己服务器的太多”有帮助”的信息,例如 Apache的版本号和与操作系统相关的信息。通过这种信息,一个...
  • wangshuai6707
  • wangshuai6707
  • 2016年08月29日 10:25
  • 2096

Apache安全设置

Apache安全设置 Apache服务器走到那里,unix/linux就跟到那里,这足以说明在WEB服务器领域Apache的优良性能与市场占有率 这今天互联网的大环境下,web服务已经成为公司企业...
  • big1980
  • big1980
  • 2013年09月27日 08:37
  • 881

Apache的一些安全设置

1、关闭目录浏览功能 当一个目录下面mei'you
  • u012588643
  • u012588643
  • 2014年10月16日 10:21
  • 494

Apache安全设置

Apache服务器走到那里,unix/linux就跟到那里,这足以说明在WEB服务器领域Apache的优良性能与市场占有率这今天互联网的大环境下,web服务已经成为公司企业必不可少的业务,大多数的安全...
  • lumengabc
  • lumengabc
  • 2013年12月09日 10:53
  • 586

C/C++笔记--strcpy和strncpy函数的安全性分析

两者都是C/C++里面的字符串拷贝函数,不同的是后者多了一个参数,此参数可以指定从源拷贝多长。char* strcpy(char* strDest, const char* strSrc) char*...
  • ZH___xin
  • ZH___xin
  • 2016年07月21日 18:35
  • 487

如何设置 PHP.ini 让你的PHP更安全

php用越来越多!安全问题更为重要!这里讲解如果安全配置php.ini   安全配置一   (1) 打开php的安全模式   php的安全模式是个非常重要的内嵌的安全机制,能够控制一些php...
  • llu0001
  • llu0001
  • 2015年01月04日 09:38
  • 675

对手机支付安全机制的思考

支付安全的本质支付安全的本质,是要体现账户拥有者的真实意图。如何突破支付安全根据支付安全的定义,有这么几种方式可以突破支付安全:1,伪装成账户拥有者,发出伪造的支付意图2,误导账户拥有者,让用户在误导...
  • wwwsq
  • wwwsq
  • 2013年12月26日 11:45
  • 1876

Apache web服务器安全加固

作为最流行的Web服务器,Apache Server提供了较好的安全特性,使其能够应对可能的安全威胁和信息泄漏。 1、 采用选择性访问控制和强制性访问控制的安全策略 从Apache 或Web的角度...
  • my98800
  • my98800
  • 2016年06月23日 08:15
  • 879

ssh安全设置,提高服务器安全性

sshd[25632]: Failed password for root from 121.43.184.36 port 30580 ssh2 sshd[25633]: Received disco...
  • everimbaq
  • everimbaq
  • 2015年07月08日 11:35
  • 1610
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:20种让你的Apache更安全的设置(翻译)
举报原因:
原因补充:

(最多只允许输入30个字)