资源预览内容
第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
第9页 / 共13页
第10页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Apache 服务器安全问题Apache 服务器面临的安全问题 .2HTTP 拒绝服务 .2缓冲区溢出 .3如何配置一个安全的 Apache 服务器 .3勤打补丁 .3建立一个安全的目录结构 .5为 Apache 使用专门的用户和用户组 .5Web 目录的访问策略 .6禁止使用目录索引 .6禁止默认访问 .6禁止用户重载 .6配置 Apache 服务器访问日志 .7相关配置文件说明 .7Web 服务器日志轮循 .8Apache 服务器的密码保护 .9减少 CGI 和 SSI 风险 .11使用 SSL 加固 Apache .12Apache 服务器防范 DoS 攻击 .13Apache 服务器面临的安全问题HTTP 拒绝服务攻击者通过某种手段使服务器拒绝对 HTTP 应答。这使得 Apache 服务器对系统资源(cpu 与内存)需求剧增,最终导致造成系统变慢甚至瘫痪。Apache 服务器最大的缺点是他的普及性成为了众矢之的。Apache 服务器所面临的拒绝服务攻击主要包括以下几种形式。数据包洪水工具1. 一种中断服务器或者本地网络的方法是数据包洪水攻击,它通常使用Internet 控制报文协议(ICMP)包或者 UDP 包。在最简单的情况下,这些攻击都是使服务器或者网络的负载过重,这意味着黑客的网络攻击速度必须比目标的网络速度更快。使用 UDP 包的优势是不会有任何包返回到黑客的主机。而使用 ICMP 的优势是使得黑客的攻击更加富有变化。发送有缺陷的包会搞乱并锁住受害者的网络。目前所流行的趋势是黑客欺骗目标服务器,让其相信正在受到来自自身的洪水攻击。2. 磁盘攻击这是一种更麻烦的攻击,它不仅仅影响目标计算机的通信,还破坏他的硬件。伪造的用户请求利用写命令攻击目标服务器的硬盘,让其超过极限,并强制关闭。受攻击者会因为信息暂时不可达,甚至丢失而产生损失。3. 路由不可达通常,拒绝服务攻击集中在路由器上,攻击者首先获得控制权并操纵目标主机。当攻击者能够更改路由器的路由表时,会造成整个网络不可达。这种攻击非常阴险,因为它刚开始出现时会让人莫名其妙。因为随后你的服务器就会失效,而整个网络又会不可达,这样你会要调查很多地方。4. 分布式拒绝攻击这是对 Apache 服务器最有威胁的工具,即 DDoS。当很多堡垒主机被感染时,一起向你的服务器发起拒绝服务攻击,是招架不住的。其中,繁衍式攻击是最恶劣的,因为攻击程序不会通过人为干涉而蔓延。Apache 服务器特别容易受到攻击,无论是对分布式攻击还是隐藏来源的工具。原因是 Apache 服务器无处不在,对于Apache 服务器所制定的病毒,特别是 ssl 蠕虫潜伏在很多主机上,黑客可以通过操纵蠕虫,利用服务器的代码漏洞攻击服务器,通过 SSL 握手将自己安放在 Apache 服务器上。黑客利用缓冲溢出将一个伪造的密钥安装在服务器上(适用于低于 0.9.6e版本的 Apache 服务器上) 。攻击者能够在被感染的主角上执行恶意代码,在许多这样的病毒的作用下,下一步就是多特定的目标发动一场大的分布式拒绝服务攻击了。通过将这样的蠕虫散播到大量的主机上,大规模的点到点攻击得以进行,对目标计算机或者网络带来不可挽回的损失。缓冲区溢出攻击者利用 CGI 程序编写的一些缺陷使程序偏离正常的流程。程序使用静态分配的内存保存请求数据,攻击者就可以发送一个超长的请求使缓冲区溢出。比如,一些 perl 编写的处理用回请求的网关脚本。一旦缓冲区溢出,攻击者可以执行其恶意指令。攻击者获得 root 权限如果 Apache 以 root 权限运行,系统上程序的一些逻辑缺陷或者缓冲区的漏洞,会让攻击者很容易自本地获得 Linux 上管理员的 root 权限。在一些远程的情况下,攻击者会利用一些以 root 身份执行的有缺陷的系统守护程序来取得 root 的权限,或者利用有缺陷的服务进程漏洞来取得普通用户权限,用以远程登录服务器,进而控制整个系统。如何配置一个安全的 Apache 服务器勤打补丁在 www.apache.org 上的 changelog 中都写着 bug fix 、security bug 的字样。所以,Linux 管理员要经常关注相关网站的缺陷,及时升级系统或者打补丁。使用最高的和最新的安全版本对于加强 Apache 服务器的安全是至关重要的。将你的 openssl升级打牌 0.9.6e 或更高的版本,伪造的密钥将起不了任何作用,也不能渗透到系统中。一些反病毒程序能够发现并杀死 ssl 病毒,但是蠕虫病毒可能产生变体,从而逃脱反病毒软件的追捕。重启 Apache 可以杀死这样的病毒,但是对于防止将来的感染没有什么积极的作用。隐藏和伪装 Apache 的版本通常,软件的漏洞和特定的版本是相关的,因此,版本号对黑客来说是最有价值的东西。默认情况下,系统会把 Apache 版本模块都显示出来(在 HTTP 返回头中) 。如果列举目录的话,会显示域名信息(文件列表正文) ,去除 Apache 的版本号的方法是修改配置文件 http.conf。找打一下关键字:serversignature 并将其设定为:Serversignature offServertokens prod然后重启服务器。通过分析 web 服务器的类型,可以大致推测出操作系统的类型,比如,windows 使用 IIS,而 Linux 下最常见的是 Apache。默认的 Apache 配置里没有任何信息保护机制,并且允许目录浏览。通过目录浏览,通常可以获得类似“Apache/1.3.27 server at apache.linuxforum.net port 80”或者“apache/2.0.49(unix)PHP/4.38”这类的信息。通过修改配置文件的 servertokens 参数,可以将 Apache 的相关信息隐藏起来。但是,Red Hat Linux 运行的 Apache 是编译好的程序,提示信息被编译在程序里,要隐藏这些信息需要改动 Apache 的源代码,然后,重新编译安装程序,以替换里面的提示内容。以 Apache 2.0.50 为例,编辑 ap_release.h 文件,修改“#define AP_SERVER_BASEPRODUCT”Apache”为“#define AP_SERVER_BASEPRODUCT”micosoft-IIS 6.0” ”.修改完后,重新编译,安装 Apache。Apache 安装按成后,修改 httpd.conf 配置文件,将“servertokens full”改成“servertokens prod”;将“Serversignature on”改成“Serversignature off”,然后
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号