<b>Apache服务器安全防备</b>[服务器安全]
本文“<b>Apache服务器安全防备</b>[服务器安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
Apache服务器走到那边,unix/linux就跟到那边,这足以阐明在WEB服务器范畴Apache的优异性能与市场占据率
这本日互联网的大环境下,web服务已经成为公司企业必不可少的业务,大大都的安全问题也跟随而来,攻击重点也转移为web攻击,很多web与颇有代价的客户服务与电子商业活动结合在一同,这也是吸引恶意攻击重要缘由.
先来理解下web所面对的安全风险
HTTP回绝服务攻击
攻击者通过某些手段使服务器回绝对http应答,这使Apache对系统资源(cup时间与内存)需求巨增,终究造成系统变慢乃至完好瘫痪,Apache服务器最大的缺陷是,它的广泛性使它成为众矢之的,Apache服务器无时无刻不遭到DoS攻击威胁,主要有下边几种
1.数据包大水攻击
一种中止服务器或本地网络的办法是数据包大水攻击,它普通利用internet掌握报文协议(ICMP,属于网络层协议)
包或是udp包,在最简单的情势下,这些攻击都是使服务器或网络负载太重,这意味这攻击者的网络速度必须比目标主机网络速度要快,利用udp包的 上风是不会有任何包返回到黑客的计算机(udp效率要比tcp高17倍),而利用ICMP包的上风是攻击者能让攻击越发富与改变,发送有缺陷的包会搞乱并 锁住受害者的网络,目前风行的趋向是攻击者拐骗服务器,让其相信正在受来自自身的大水攻击
2.磁盘攻击
这是一种很不德行的攻击,它不但影响计算机的通信,还破坏其硬件,假造的用户恳求操纵写号令攻击目标计算机硬盘,让其超越极限,并强迫关闭,终局很悲凉
3.路由不可达
普通DoS攻击,集合在路由器上,攻击者首先得到掌握权并操作目标机械,当攻击者能更改路由表条目时刻,会招致整个网络无法通信,这种攻击很阴险,躲藏,因为网络管理员需求解除的网络不通缘由很多,此中一些缘由需求具体辨别
4.分布式回绝服务攻击
这也是最具有威胁的DDoS攻击,名称很简单理解,简单说就是群欧,很多客户机同时单条服务器,你会发现你将伤痕累累,Apache服务器分外容 易遭到攻击,无论是DDos还是躲藏根源的攻击,因为Apache无处不在,分外是为Apache特地打造的病毒(特选SSL蠕虫),暗藏在很多主机上, 攻击者通过病毒可以操作大量被传染的机械,对特定目标策动一次浩荡的DDoS攻击,通过将蠕虫散布到大量主机,大规模的点对点攻击得以举行,除非你不供应 服务,要不然几近无法禁止这样的攻击,这种攻击普通会定位到大型的网站上.
缓冲区溢出,这种攻击很广泛,攻击者操纵CGI程序编写一些缺陷程序偏离正常的流程,程序利用静态的内存分配,攻击者便可以发送一个超长的恳求使缓冲区溢出,比方,一些perl编写的处理用户恳求的网关脚本,一但缓冲区溢出,攻击者便可以履行恶意指令
不法获得root权限
假如Apache以root权限运行,系统上一些程序的逻辑缺陷或缓冲区溢出漏洞,会让攻击者很简单在本地系统获得linux服务器上的管理者权 限,在一些远程情形下,攻击者会操纵一些以root身份履行的有缺陷的系统保护进程来获得root权限,或操纵有缺陷的服务进程漏洞来获得普通用户权限, 以远程登陆,进而掌握整个系统.
这边这些都是服务将会碰到的攻击手段,下边来说,若何打造安全的Apache服务器
假如你能服从下边这些倡议,那么你将得到一台相对安全的apache服务器
一:勤打补钉
你必必要相信这个是最有效的手段,缓冲区溢出等漏洞都必须利用这种手段来防备,勤奋点相信对你没有害处
在http:www.apache.org上最新的changelog中都写有:bug fix ,security bug fix的字样,做为负责任的管理员要常常关注相关漏洞,及时进级系统增添补钉.利用最新安全版本对加强apache至关重要
二:躲藏和假装Apache的版本
打乱攻击者的步骤,给攻击者带来麻烦,相信是管理员乐意看到的.软件的漏洞信息和版本是相关的,在攻击者汇集你服务软件信息时刻授与迷惑是个不错的挑选,何况版本号,对攻击者来说相当与GPS定位一样重要
默许情形,系统会把apache版本模块都显示出来(http返回头),假如摆列目录的话,会显示域名信息(文件列表正文),去除Apache版本号的办法是改正配置文件,找到关键字,改正成下边
ServerSignature off
ServerTokens prod
通过解析web服务器范例,大致可以猜测操作系统范例,win利用iis,linux广泛apache,默许的Apache配置里没有任何信息保 护机制,并且答应目录浏览,通过目录浏览,普通可以得到近似“apache/1.37 Server at apache.linuxforum.net Port 80”或“apache/2.0.49(unix)PHP/4.3.8”的信息
通过改正配置文件中的ServerTokens参数,可以将Apache的相关信息躲藏起来,假如不行的话,大概是提醒信息被编译在程序里了,要躲藏需求改正apache的源代码,然后重新编译程序,以替换内容
编辑ap_release.h文件,
改正"#define AP_SERVER_BASEPRODUCT\"Apache\""为
"#define AP_SERVER_BASEPRODUCT\"Microsoft-IIS/5.0\"
编辑os/unix/os.h文件
改正"#define PLATFORM\"Unix\""为
"#define PLATFORM\'Win32"
改正完成后,重新编译,安装apache,在改正配置文件为上边做过的,再次启动apache后,用工具扫描,发现提醒信息中已经显示为windows操作系统了
趁便说下,目前这个论坛,就有点不太讲究,这是论坛错误的返复书息,看了有点汗地感受
Apache/2.2.8 (Ubuntu) DAV/2 SVN/1.4.6 mod_ssl/2.2.8 OpenSSL/0.9.8g Server at forum.ubuntu.org.cn Port 80
这个等于奉告恶意用户很多有效信息,固然说不算开了门,但等于被奉告了门在那边,还是相当危险的
三:成立安全的目录构造apache服务器包含四个目录构造
ServerRoot #保存配置文件,二进制文件与其他服务器配置文件
DocumentRoot #保存web站点内容,包含HTML文件和图片等
ScripAlias #保存CGI脚本
Customlog 和 Errorlog #保存日记和错误日记
倡议的目录构造为,以上四种目录像互独立并且不存在父子逻辑关系
注:
ServerRoot目录只能为root用户拜候
DocumentRoot目录应当可以被管理web站点内容的用户拜候和利用apache服务器的apache用户与组拜候
ScripAlias目录应当只能被CGI开辟人员和apache用户拜候
Customlog 和 Errorlog只能被root拜候
下边是一个安全目录构造的事例
+-------/etc/
|
| +----/http (ServerRoot)
| +----/logs (Customlog 和 Errorlog)
|
+-------var/www
|
| +---/cgi-bin (ScripAlias)
| +---/html (DocumentRoot)
这样的目录构造是对比安全的,因为目录之间独立,某个目录权限错误不会影响到其他目录
四:为apache利用专门的用户与组
按照最小特权的原则,需求给apache分配一个符合的权限,让其可以完成web服务
注:
最小特权原则是系统安全中最基本的原则之一,限制利用者对系统及数据举行存取所需求的最小权限,保证用户可以完成任务,同时也确保被盗取或非常操作所造成的丧失
必须保证apache利用一个专门的用户与组,不要利用系统预定的帐户,比方nobody用户与nogroup组
因为只有root用户可以运行apache,DocumentRoot应当可以被管理web站点内容的用户拜候和利用apache服务器的 apache用户与组拜候,比方,但愿“test”用户在web站点公布内容,并且可以以httpd身份运行apache服务器,可以这样设定
groupadd webteam
usermod -G webteam test
chown -R httpd.webteam /www/html
chmod -R 2570 /www/htdocs
只有root能拜候日记,举荐这样的权限
chown -R root.root /etc/logs
chown -R 700 /etc/logs
五:web目录的拜候战略
关于可以拜候的web目录,要利用相对保守的途径举行拜候,不要让用户查看任何目录索引列表
禁止利用目录索引:
apache在接到用户对一个目录的拜候时,会查找DirectoryIndex指令指定的目录索引文件,默许为index.html,假如该文件不存在,那么apache会成立动态列表为用户显示该目录的内容,这样就会表露web站点构造,因此需求改正配置文件禁止显示动态目录索引,改正httpd.conf
Options -Indexes FollowSymLinks
Options指令告诉apache禁止利用目录索引,FollowSymLinks表示不答应利用标记衔接.
禁止默许拜候:
要的安全战略必必要禁止默许拜候的存在,只对指定的目录开放权限,假如答应拜候/var/www/html目录,利用以下设定
Order deny,allow
Allow from all
禁止用户重载:
为了禁止用户对目录配置文件(htaccess)举行重载(改正),可以这样设定
AllowOverride None
六:apache服务器拜候掌握
apache的access.conf文件负责设置文件的拜候权限,可以实现互联网域名和ip地址的拜候掌握
如答应192.168.1.1到192.168.1.254的主机拜候,可以这样设定
order deny,allow
deny from all
allow from pair 192.168.1.0/255.255.255.0
七:apache服务器的密码保护
.htaccess文件是apache上的一个设置文件,它是一个文本文件,.htaccess文件供应了针对目录改变配置的办法
既通过在一个特定的文档目录中安排一个包含一个或多个指令的文件(.htaccess文件),以作用于此目录和子目录.
.htaccess的功效包含设置网页密码,设置发生错误时呈现的文件,改变首业的文件名(如,index.html),禁止读取文件名,重新导向文件,加上MIME类别,禁止目录下的文件等.
注:.htaccess是一个完好的文件名,不是***.htaccess或其他格局,在/abc目录下安排一个.htaccess文件,那么/abc与它的子目录城市被这个文件影响,但/index.html不会被影响
.htaccess的成立和利用对比复杂点,假如感爱好的朋友可以回帖发问,这里就不 具体写出来了,这种保护要比某些程序实现的保护安全,那种办法可以通过被猜想办法获得密码,用.htaccess很难被破解,但文本方法的考证会对比慢, 对少量用户没影响,但对大量用户就必须利用带数据模块的考证了,这需求编译源代码时刻开启模块,默许是不开启的
八:让apache运行在“监牢”中
“监牢”的意思是指通过chroot机制来更改某个软件运行时所能看到的根目录,简单说,就是被限制在指定目录中,保证软件只能对该目录与子目录文件有所行动,从而保证整个服务器的安全,即便被破坏或侵入,毁伤也不大
从前,unix/linux上的daemon都是以root权限启动的,当时,这是一件理所当然的事情,像apache这样的服务器软件,需求绑 定到80端口上来监听恳求,而root是唯一有这种权限的用户,随着攻击手段和强度的增添,这样会使服务器遭到相当大的威胁,一但被操纵缓冲区溢出漏洞, 便可以掌握整个系统.目前的服务器计划普通以root启动,然后进程放弃root权限,改成某个初级的帐号运行.这种方法明显会降低对系统的危害,但攻击 者还是会探求漏洞晋升权限,即便无法得到root权限,也可以删除文件,涂改主页等
为了进一步提高系统安全性,linux内核引入chroot机制,chroot是内核中的一个系统调用,软件可以通过调用函数库的chroot函 数,来更改某个进程所能见到的跟目录,比方,apache软件安装在/usr/local/httpd目录,以root启动apache,这个root权 限的父进程会派生数个以nobody权限运行的子进程,父进程监听80端口,然后交给某个子进程处理,这时刻子进程所处的目录续承父进程,即/usr /local/httpd目录,但是一但目录权限设定错误,被攻击的apache子进程可以拜候/usr/local , /usr ,/tmp乃至整个文件系统,因为apache进程所处的跟目录仍旧是整个文件系统的跟目录,假如可以用chroot将apache限制在/usr /local/httpd/下,那么apache所存取的文件都被限制在/usr/local/httpd下,成立chroot监牢的作用就是将进程权限 限制在文件目录树下,保证安全.
假如自己手动apache的监牢,将是很烦琐和复杂的工作,需求牵扯到库文件,这里可以利用jail包来简化监牢的实现
jail的官方网站为: http://www.jmcresearch.com有爱好可以走走
这里也不写出具体的成立历程略微麻烦,假如对安全有需求的话,请回帖,会及时补上
九:apache服务器防备Dos
apache服务常常会碰到Dos攻击,防备的主要手段是通过软件,apahce Dos Evasive Maneuvers Module
来实现的,它是一款mod_access的替换软件,可以抵挡DoS攻击,该软件可以快速回绝来自相同地址对同一URL的反复恳求,通过查询内部一张各子进程的哈希表来实现
可以到网址:http://online/.securityfocus.com/tools/ 上下载软件
十:削减CGI和SSI风险
CGI脚本的漏洞已经成为WEB服务器的主要安全隐患,普通是程序编写CGI脚本产生了很多漏洞,掌握CGI的漏洞除了在编写时刻注意对输入数据 的合理查抄,对系统调用的谨严利用等因素外,首先利用CGI程序全部者的ID来运行这些程序,即便被漏洞危害也仅限于该ID能拜候的文件,不会对整个系统 带来致命的危害,因此需求谨严利用CGI程序.
1.3版的apache集成了suEXEC程序,可认为apache供应CGI程序的掌握支持,可以把suEXEC看做一个包装器,在Apache接到CGI程序的调用恳求后,把这个恳求交给suEXEC来负责完成具体调用,并从suEXEC返回后果,suEXEC可以办理一些安全问题,但会影响速度
假如是对安全性要求很高时刻,倡议利用suEXEC,此外还有一个软件CGIWrap,它的安全性要高与suEXEC
削减SSI脚本风险,假如用exec等SSI号令运行外部程序,也会存在近似CGI脚本风险,除了内部调试程序时,应利用
option号令禁止其利用:
Option IncludesNOEXEC
十一:利用ssl加固Apache
利用具有SSL功效的服务器,可以提高网站敏感页的安全性能,SSL工作与TCP/IP协议和HTTP协议之间
SSL可以加密互联网上传送的数据流,供应身份考证,在线购物而没必要耽忧别人盗失信誉卡信息,在基于电子商务和基于web邮件的地方非常重要.
SSL的利用相对还是对比麻烦的,有需求的话,可以发贴或查看资料,这几就不多写,篇幅不够
以上是“<b>Apache服务器安全防备</b>[服务器安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |