仓酷云

标题: 带来一篇包管Centos Apache Web办事器宁静的10个倡议 [打印本页]

作者: 爱飞    时间: 2015-1-14 20:30
标题: 带来一篇包管Centos Apache Web办事器宁静的10个倡议
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!假如你是一个体系***,你应当依照以下的10点倡议来包管Apacheweb办事器的宁静。
1、禁用不用要的模块

假如你盘算源码编译装置apache,你应当禁用以下的模块。假如你运转./configure-help,你将会看到一切可用的你能够禁用/开启的模块。

当你实行./configure依照上面禁用以上的一切模块。
[size=1em]
[size=1em]1

[size=1em]2

[size=1em]3

[size=1em]4

[size=1em]5

[size=1em]6

[size=1em]7

[size=1em]8

[size=1em]9

[size=1em]10

[size=1em]11

[size=1em]12

[size=1em]13

[size=1em]14

[size=1em]15

[size=1em]16

[size=1em][size=1em]./configure
[size=1em]--enable-ssl
[size=1em]--enable-so
[size=1em]--disable-userdir
[size=1em]--disable-autoindex
[size=1em]--disable-status
[size=1em]--disable-env
[size=1em]--disable-setenvif
[size=1em]--disable-cgi
[size=1em]--disable-actions
[size=1em]--disable-negotiation
[size=1em]--disable-alias
[size=1em]--disable-include
[size=1em]--disable-filter
[size=1em]--disable-version
[size=1em]--disable-asis



假如激活ssl且禁用mod_setenv,你将会失掉以下毛病。
毛病:Syntaxerroronline223of/usr/local/apache2/conf/extra/httpd-ssl.conf:Invalidcommand‘BrowserMatch’,perhapsmisspelledordefinedbyamodulenotincludedintheserverconfiguration
办理计划:假如你利用ssl,不要禁用setenvif模块。大概你禁用setenvif模块,能够在httpd-ssl.conf正文BrowserMatch。
装置完玉成,实行httpd-l,会列出一切已装置的模块。

[size=1em]
[size=1em]1

[size=1em]2

[size=1em]3

[size=1em]4

[size=1em]5

[size=1em]6

[size=1em]7

[size=1em]8

[size=1em]9

[size=1em]10

[size=1em]11

[size=1em]12

[size=1em]13

[size=1em]14

[size=1em]15

[size=1em]16

[size=1em]17

[size=1em][size=1em]#/usr/local/apache2/bin/httpd-l
[size=1em]Compiledinmodules:
[size=1em]core.c
[size=1em]mod_authn_file.c
[size=1em]mod_authn_default.c
[size=1em]mod_authz_host.c
[size=1em]mod_authz_groupfile.c
[size=1em]mod_authz_user.c
[size=1em]mod_authz_default.c
[size=1em]mod_auth_basic.c
[size=1em]mod_log_config.c
[size=1em]mod_ssl.c
[size=1em]prefork.c
[size=1em]http_core.c
[size=1em]mod_mime.c
[size=1em]mod_dir.c
[size=1em]mod_so.c



在这个例子里,我们装置了以下apache模块:

2、以独自的用户和用户组运转Apache

Apache大概默许地以nobody或daemon运转。让Apache运转在本人没有特权的帐户对照好。比方:用户apache。
创立apache用户组和用户。

[size=1em]
[size=1em]1

[size=1em]2

[size=1em][size=1em]groupaddapache

[size=1em]useradd-d/usr/local/apache2/htdocs-gapache-s/bin/falseapache



变动httpd.conf,准确地设置User和Group。
[size=1em]
[size=1em]1

[size=1em]2

[size=1em]3

[size=1em][size=1em]#vihttpd.conf
[size=1em]Userapache
[size=1em]Groupapache



以后重启apache,实行ps-ef下令你会看到apache以“apache”用户运转(除第一个都是以root运转以外)。
[size=1em]
[size=1em]1

[size=1em]2

[size=1em]3

[size=1em]4

[size=1em]5

[size=1em]6

[size=1em]7

[size=1em][size=1em]#ps-ef|grep-ihttp|awk{print$1}
[size=1em]root
[size=1em]apache
[size=1em]apache
[size=1em]apache
[size=1em]apache
[size=1em]apache



3、限定会见根目次(利用Allow和Deny)

在httpd.conf文件按以下设置来加强根目次的宁静。
[size=1em]
[size=1em]1

[size=1em]2

[size=1em]3

[size=1em]4

[size=1em]5

[size=1em][size=1em]<Directory/>
[size=1em]OptionsNone
[size=1em]Orderdeny,allow
[size=1em]Denyfromall
[size=1em]</Directory>



在下面的:

4、为conf和bin目次设置得当的权限

bin和conf目次应当只同意受权用户检察。创立一个组和把一切同意检察/修正apache设置文件的用户增添到这个组是一个不错的受权***。
上面我们设置这个组为:apacheadmin
创立组:

[size=1em]
[size=1em]1

[size=1em][size=1em]groupaddapacheadmin




同意这个组会见bin目次。
[size=1em]
[size=1em]1

[size=1em]2

[size=1em][size=1em]chown-Rroot:apacheadmin/usr/local/apache2/bin

[size=1em]chmod-R770/usr/local/apache2/bin



同意这个组会见conf目次。
[size=1em]
[size=1em]1

[size=1em]2

[size=1em][size=1em]chown-Rroot:apacheadmin/usr/local/apache2/conf

[size=1em]chmod-R770/usr/local/apache2/conf



增添符合的用户到这个组。
[size=1em]
[size=1em]1

[size=1em]2

[size=1em][size=1em]#vi/etc/group

[size=1em]apacheadmin:x:1121:user1,user2



5、克制目次扫瞄

假如你不封闭目次扫瞄,用户就可以看到你的根目次(或任何子目次)一切的文件(目次)。
好比,当他们扫瞄http://{your-ip}/images/而images下没有默许首页,那末他们就会在扫瞄器中看到一切的images文件(就像ls-l输入)。从这里他们经由过程点击就可以看到公家的图片文件,或点点击子目次看到内里的内容。
为了克制目次扫瞄,你能够设置Opitons指令为“None“大概是“-Indexes”。在选项名前加“-”会强迫性地在该目次删除这个特征。
Indexes选项会在扫瞄器显现可用文件的列表和子目次(当没有默许首页在这个目次)。以是Indexes应当禁用。

[size=1em]
[size=1em]1

[size=1em]2

[size=1em]3

[size=1em]4

[size=1em]5

[size=1em]6

[size=1em]7

[size=1em]8

[size=1em]9

[size=1em]10

[size=1em]11

[size=1em]12

[size=1em]13

[size=1em][size=1em]<Directory/>
[size=1em]OptionsNone
[size=1em]Orderallow,deny
[size=1em]Allowfromall
[size=1em]</Directory>
[size=1em]
[size=1em](or)
[size=1em]
[size=1em]<Directory/>
[size=1em]Options-Indexes
[size=1em]Orderallow,deny
[size=1em]Allowfromall
[size=1em]</Directory>



6、禁用.htaccess

在htdocs目次下的特定子目次下利用.htaccess文件,用户能掩盖默许apache指令。在一些情形下,如许欠好,应当禁用这个功效。
我们能够在设置文件中按以下设置禁用.htaccess文件来不同意掩盖apache默许设置。

[size=1em]
[size=1em]1

[size=1em]2

[size=1em]3

[size=1em]4

[size=1em]5

[size=1em]6

[size=1em][size=1em]<Directory/>
[size=1em]OptionsNone
[size=1em]AllowOverrideNone
[size=1em]Orderallow,deny
[size=1em]Allowfromall
[size=1em]</Directory>



7、禁用别的选项

上面是一些Options指令的可用值。

毫不要指定“OptionsAll”,一般指定下面的一个或多个的选项。你能够按上面代码把多个选项毗连。
OptionsIncludesFollowSymLinks
当你要嵌进多个Directory指令时,“+”和“-”是有效处的。也有大概会掩盖下面的Directory指令。
以下面,/site目次,同意Includes和Indexes。

[size=1em]
[size=1em]1

[size=1em]2

[size=1em]3

[size=1em]4

[size=1em]5

[size=1em]6

[size=1em][size=1em]<Directory/site>
[size=1em]OptionsIncludesIndexes
[size=1em]AllowOverrideNone
[size=1em]Orderallow,deny
[size=1em]Allowfromall
[size=1em]</Directory>



关于/site/en目次,假如你必要承继/site目次的Indexes(不同意Includes),并且只在这个目次同意FollowSymLinks,以下:
[size=1em]
[size=1em]1

[size=1em]2

[size=1em]3

[size=1em]4

[size=1em]5

[size=1em]6

[size=1em][size=1em]<Directory/site/en>
[size=1em]Options-Includes+FollowSymLink
[size=1em]AllowOverrideNone
[size=1em]Orderallow,deny
[size=1em]Allowfromall
[size=1em]</Directory>




8、删除不必要的DSO模块

假如你加载了静态同享工具模块到apache,他们应当在httpd.conf文件在“LoadModule”指令下。
请注重静态编译的Apache模块是不在“LoadModule”指令里的。
在httpd.conf正文任何不必要的“LoadModules”指令。

[size=1em]
[size=1em]1

[size=1em][size=1em]grepLoadModule/usr/local/apache2/conf/httpd.conf




9、限定会见特定收集(或IP地点)

假如你必要只同意特定IP地点或收集会见你的网站,按以下操纵:
只同意特定收集会见你的网站,在Allow指令下给出收集地点。

[size=1em]
[size=1em]1

[size=1em]2

[size=1em]3

[size=1em]4

[size=1em]5

[size=1em]6

[size=1em]7

[size=1em][size=1em]<Directory/site>
[size=1em]OptionsNone
[size=1em]AllowOverrideNone
[size=1em]Orderdeny,allow
[size=1em]Denyfromall
[size=1em]Allowfrom10.10.0.0/24
[size=1em]</Directory>



只同意特定IP地点会见你的网站,在Allow指令下给出IP地点。
[size=1em]
[size=1em]1

[size=1em]2

[size=1em]3

[size=1em]4

[size=1em]5

[size=1em]6

[size=1em]7

[size=1em][size=1em]<Directory/site>
[size=1em]OptionsNone
[size=1em]AllowOverrideNone
[size=1em]Orderdeny,allow
[size=1em]Denyfromall
[size=1em]Allowfrom10.10.1.21
[size=1em]</Directory>



10、克制显现或发送Apache版本号(设置ServerTokens)

默许地,办事器HTTP呼应头会包括apache和php版本号。像上面的,这是有伤害的,由于这会让黑客经由过程晓得具体的版本号而倡议已知该版本的毛病打击。
[size=1em]
[size=1em]1

[size=1em][size=1em]Server:Apache/2.2.17(Unix)PHP/5.3.5




为了制止这个,必要在httpd.conf设置ServerTokens为Prod,这会在呼应头中显现“Server:Apache”而不包括任何的版本信息。
<divstyle="background-color:#FFFFFF;border:none;margin:0px;padding:0px;font-family:微软雅黑;color:#222222;font-size:13px;"><divid="highlighter_843487"class="syntaxhighlighterbash"style="border:none;padding:0px;margin:1em0px!important;font-size:1em!important;">
[size=1em]1

[size=1em]2

<divclass="container"style="border:0px!important;margin:0px!important;padding:0px!important;vertical-align:baseline!important;font-size:1em!important;">
作者: 分手快乐    时间: 2015-1-16 18:55
标题: 带来一篇包管Centos Apache Web办事器宁静的10个倡议
对于英语不是很好的读者红旗Linux、中标Linux这些中文版本比较适合。现在一些Linux网站有一些Linux版本的免费下载,这里要说的是并不适合Linux初学者。
作者: 灵魂腐蚀    时间: 2015-1-19 20:08
我们自学,就这个循环的过程中,我们学习了基本操作,用vi,shell,模拟内存的分配过程等一些OS管理。
作者: 飘灵儿    时间: 2015-2-5 22:34
这也正是有别的OS得以存在的原因,每个系统都有其自身的优点。?
作者: 深爱那片海    时间: 2015-2-14 00:39
直到学习Linux这门课以后,我才知道,原来我错了。?
作者: 精灵巫婆    时间: 2015-3-4 03:41
查阅经典工具书和Howto,特别是Howto是全球数以万计的Linux、Unix的经验总结非常有参考价值通常40%的问题同样可以解决。
作者: 老尸    时间: 2015-3-11 16:10
学习Linux应具备的。[书籍+网络资源]
作者: 仓酷云    时间: 2015-3-19 06:13
写学习日记,这是学习历程的见证,同时我坚持认为是增强学习信念的法宝。
作者: 第二个灵魂    时间: 2015-3-27 09:09
熟读Linux系统有关知识,如系统目录树,有关内容可购书阅读或搜索论坛。
作者: 蒙在股里    时间: 2015-3-27 09:09
我学习Linux的心得体会 ,希望对大家的学习有所帮助,由于水平有限,本文难免有所欠缺,望请指正。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2