Apache 安全设置

  • 时间:
  • 浏览:20
  • 来源:极速10分6合下注平台_极速10分6合注册平台_极速10分6合官网平台

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攻击,通过将蠕虫散播到几滴 主机,大规模的点对点攻击得以进行,除非你不提供服务,要不然几乎无法阻止已经 的攻击,你这名 攻击通常会定位到大型的网站上. 

5.缓冲区溢出 

  你这名 攻击很普遍,攻击者利用CGI程序编写而且 严重不足程序偏离 正常的流程,程序使用静态的内存分配,攻击者就都时需发送有俩个 超长的请求使缓冲区溢出,比如,而且 perl编写的处理用户请求的网关脚本,一但缓冲区溢出,攻击者就都时需执行恶意指令. 

6.非法获取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 1000"或"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 1000你这名 等于告诉恶意用户过多过多过多过多用信息,着实说不算开了门,但等于被告诉了门在那里,还是相当危险的.

三:建立安全的目录社会形态apache服务器包括3个目录社会形态

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已经 的服务器软件,时需绑定到1000端口上来监听请求,而root是唯一有你这名 权限的用户,随着攻击手段和角度的增加,已经 会使服务器受到相当大的威胁,一但被利用缓冲区溢出漏洞,就都时需控制整个系统.现在的服务器设计通常以root启动,而且程序放弃root权限,改为某个低级的帐号运行.你这名 土法子显然会降低对系统的危害,但攻击者还是会寻找漏洞提升权限,即使无法获得root权限,也都时需删除文件,涂改主页等.

  为了进一步提高系统安全性,linux内核引入chroot机制,chroot是内核中的有俩个 系统调用,软件都时需通过调用函数库的chroot函数,来更改某个程序所能见到的跟目录,比如,apache软件安塞进/usr/local/httpd目录,以root启动apache,你这名 root权限的父程序会派生数个以nobody权限运行的子程序,父程序监听1000端口,而且交给某个子程序处理,这已经 子程序处于的目录续承父程序,即/usr/local/httpd目录,而且一但目录权限设定错误,被攻击的apache子程序都时需访问/usr/local,/usr,/tmp甚至整个文件系统,而且apache程序处于的跟目录仍然是整个文件系统的跟目录,而且都时需用chroot将apache限制在/usr/local/httpd/下,太难apache所存取的文件都被限制在/usr/local/httpd下,创建chroot监牢的作用就是 将程序权限限制在文件目录树下,保证安全.

  而且自己手动apache的监牢,将是很烦琐和错综复杂的工作,时需牵扯到库文件,这里都时需使用jail包来错综复杂监牢的实现jail的官方网站为:有兴趣都时需逛逛这里就是 写出具体的创建过程稍微麻烦.

九: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的应用相对还是比较麻烦的,有时需句子,都时需发贴或查看资料.

  原文地址:http://www.opsers.org/server/apache-security-settings.html