学位论文:基于linux平台的WEB安全技术研究.doc

上传人:文****钱 文档编号:22157 上传时间:2018-04-28 格式:DOC 页数:60 大小:8.98MB
下载 相关 举报
学位论文:基于linux平台的WEB安全技术研究.doc_第1页
第1页 / 共60页
学位论文:基于linux平台的WEB安全技术研究.doc_第2页
第2页 / 共60页
学位论文:基于linux平台的WEB安全技术研究.doc_第3页
第3页 / 共60页
学位论文:基于linux平台的WEB安全技术研究.doc_第4页
第4页 / 共60页
学位论文:基于linux平台的WEB安全技术研究.doc_第5页
第5页 / 共60页
点击查看更多>>
资源描述

1、广州大学华软软件学院网络技术系学位论文广州大学华软软件学院网络系摘要根据网络安全的“木桶理论”,网络安全是由若干“木板”元素的安全决定,因此本文就LINUX平台下WEB服务器的各个安全元素进行分析并给出其增强安全的技术方法。从而构建一个稳定的WEB的安全防护体系。关键词LINUX,APACHE,PHP,MYSQL,安全,防火墙,入侵检测技术ABSTRACTACCORDINGTONETWORKSECURITY“BUCKETTHEORY“,NETWORKSECURITYISANUMBEROF“WOOD“ELEMENTOFTHESECURITYDECISIONS,SOTHISWEBSERVERONT

2、HELINUXPLATFORMTOANALYZETHEVARIOUSSECURITYELEMENTS,ANDGIVENITSENHANCEDSECURITYTECHNOLOGYANDMETHODSTOBUILDASTABLESYSTEMOFSECURITYPROTECTIONWEBKEYWORDSLINUXAPACHEPHPMYSQLSECURITYFIREWALLINTRUSIONDETECTIONTECHNOLOGY目录第一章LAMP的安全模型111LAMP简介112LAMP的优势113模型图的设计114模型的分析215模型的实现2151LINUX系统的安全防护2152APACHE服务器的

3、安全防护3153MYSQL数据库安全防护3154PHP服务器安全防护3155防火墙与入侵检测设计4第二章LINUX系统的安全配置421LINUX操作系统简介422版本选择与安装4221安装REDHATAS40操作系统423LINUX系统安全问题624LINUX系统安全策略7241给BIOS设置密码7242设置GRUB启动口令7243为LILO增加开机口令8244用户与口令设置8245取消普通用户的控制台访问权限9246控制ROOT登录TTY设备9247禁止普通用户SU为ROOT用户10248隐藏系统信息10249阻止PING102410防止DOS攻击102411特别的帐号112412经常更新及

4、安装补丁12第三章APACHE安全分析与配置1231WEB服务器软件APACHE简介13311APACHE的工作原理13312APACHE服务器面临的安全问题1332配置一个安全的APACHE服务器14321及时升级系统或添加补丁14322隐藏和伪装APACHE的版本14323建立一个安全的目录结构16324为APACHE使用专门的用户和用户组16325WEB目录的访问策略17326关注APACHE服务器日志文件18327HTACCESS文件实现用户安全认证18广州大学华软软件学院网络技术系学位论文广州大学华软软件学院网络系328设置文件访问的权限20329设置目录的访问权限223210减少C

5、GI和SSI风险253211使用SSL加固APACHE253212APACHE服务器防范DOS27第四章PHP服务器配置与编程安全2841PHP编程语言简介2842PHP安全问题分析28421服务器安全隐患28422编程语言的漏洞2943安全配置PHP服务器30431配置安全模式30432用户组的安全设置32433安全执行指定的目录程序3244PHP编程安全分析与设置33441关闭危险函数33442关闭PHP版本信息在HTTP头中的泄漏34443禁止自动注册的全局变量34444使用OPEN_BASEDIR限制脚本访问目录用户36445检测脚本的包含文件名39446过滤用户的输入命令41447打

6、开MAGIC_QUOTES_GPC来防止SQL_INJECT42448警告及错误信息43449禁用某些不必要的类44第五章IPTABLES防火墙配置4451防火墙介绍4452防火墙技术4453WEB网站攻击类型4454防火墙功能实现45541WEB服务器的配置策略45542防火墙防范攻击47第六章入侵检测技术实现4961入侵检测技术简介5062SNORT搭建入侵检测系统50621SNORT模式50622构造基于SNORTRULES系统环境50623配置SNORT51624配置SNORT规则自动更新54心得体会与致辞55参考文献56前言随着INTERNET/INTRANET网络的快速发展,采用L

7、INUX操作系统作为网络服务器的用户越来越多,其一因为LINUX系统时开放源代码的免费软件;其二因为较之微软的WINDOWS网络操作系统而言,LINUX系统具有更好的稳定性、高效性和安全性。目前流行的LAMP组合是LINUX操作系统,APACHE网络服务器,MYSQL数据库,PHP、PERL或者PYTHON编程语言的缩写。在过去的几年里,这些组件的兼容性不断完善,在一起的应用情形变得更加普遍。并且它们为了改善不同组件之间的协作,已经创建了某些扩展功能。目前,几乎在所有的LINUX发布版中都默认包含了这些产品。LINUX、APACHE、MYSQL和PERL、PHP或者PYTHON语言,这些产品共

8、同组成了一个强大的WEB应用程序平台。作为开源软件的组合,LAMP最大的优势就是它的开放性。对开发人员来说,开放程度越高,其可选择东西也就越多,去描述需求的逻辑结构就很自由。下面就以LAMP组合为例,分别研究LINUX系统、APACHE网络服务器、MYSQL数据库和PHP脚本语言的安全防护。广州大学华软软件学院网络技术系学位论文第1页共58页广州大学华软软件学院网络系第一章LAMP的安全模型11LAMP简介LINUXAPACHEMYSQLPERL/PHP/PYTHON,一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成

9、了一个强大的WEB应用程序平台。12LAMP的优势灵活性既没有技术上的限制也没有许可证的限制。这允许你能够以适合你的方式灵活地构建和部署应用程序,而不是以你正在使用的技术的提供商规定的方式。个性化LAMP组件是开源软件,已经建立了大量的额外的组件和提供额外功能的模块,能够让你个性化设置组件和功能以便满足你的需求。容易开发用LAMP组件开发极其简单,代码通常非常简洁,甚至非程序员也能够修改或者扩展这个应用程序,同时也给专业的程序员提供了各种高级的特性。容易应用大多数主机服务都把基于LAMP的环境作为标准,应用程序也不需要编译,在新的主机上部署一个应用程序就像拷贝一个应用软件那样容易。安全由于是开

10、源软件,大量的程序员关注这些软件的开发,问题通常能够很快地修复,不需要昂贵的技术支持合同。经过大量的用户和团体组织多年来的使用,LAMP技术是安全和稳定的。成本低廉LAMP组件都是开源软件,只要遵循GPL协议,可以自由获得和免费使用,极大降低了部署成本。13模型图的设计根据网络安全的木桶理论,设计中把LAMP安全模型划分为LAMP安全、防火墙及入侵二个主要的模块,将其中的各项安全尽可能考虑周全并切实实施,才能保证整个WEB平台的高效稳定性。LAMP的安全模型第2页共58页广州大学华软软件学院网络系图10安全LAMP模型14模型的分析模型的划分原则首先在实现LINUX系统安全的基础,搭建安全的A

11、PACHE,PHP,MYSQL服务器,构成一个内部安全的WEB平台,然后再结合防火墙与入侵检测技术加固整个WEB平台外部安全性,形成一个内外结合的稳定,安全LAMP系统模型。15模型的实现151LINUX系统的安全防护LINUX系统作为LAMP组合的基础,它的安全关系到整个系统的稳定,尽管LINUX在功能上、价格上和性能上都有很多优势,但是作为开放式的操作系统,可以在网络上找到许多现成的程序和工具,这既方便了用户,也方便了黑客,因为他们也能很容易地找到程序和工具来潜入LINUX系统,或者盗取LINUX系统上的重要信息。因此需要我们仔细地设定LINUX的各种系统功能,并且加上必要的安全措施。一般

12、来说对它的安全防护体系主要包括一下几个方面保护账户的安全试用最新的系统核心取消不必要的服务广州大学华软软件学院网络技术系学位论文第3页共58页广州大学华软软件学院网络系日志管理共同防御,确保安全152APACHE服务器的安全防护安装最新的补丁隐藏APACHE的版本号及其他敏感信息确保APACHE以其自身的用户账号和组运行确保WEB根目录之外的文件没有提供服务关闭目录浏览关闭CGI执行程序,多重选项。153MYSQL数据库安全防护MYSQL数据库是跨平台的关系型数据库,同时又是具有客户机/服务器体系结构的分布式数据库管理系统。用户可以利用很多语言编写访问数据库。大部分LINUX发行版都已经集成了

13、MYSQL作为标准的数据库软件,所以需让它运行得更加安全。ROOT口令管理限制拥有PROCESS权限的用户范围不要把FILE权限给所有用户由于篇幅所限,本文不再深入讨论有关MYSQL数据方面的安全。154PHP服务器安全防护PHP是一种功能强大的语言和解释器,无论是作为WEB服务器的模块方式运行还是作为单独的CGI程序运行,都能访问文件、执行命令或者在服务器上打开链接,而这些特性都使得PHP运行时必须特别注意安全。以安全模式运行PHP关闭PHP的错误显示限制PHP脚本的运行目录使用PHP加密技术第二章LINUX系统的安全配置第4页共58页广州大学华软软件学院网络系155防火墙与入侵检测设计防火

14、墙作为系统的第一道防线,其主要作用是监控可信任网络和不可信任网络之间的访问通道,可在内部与外部网络之间构成一道防护屏障,拦截来自外部的绯法访问并阻止内部信息的外泄,用LINUXIPTABLES做防火墙具有很高的灵活性和稳定性,而设置一个好的安全规则并严格实施,是配置一个好的防火墙必备条件。入侵检测技术的作用是监控网络和计算机系统是否出现被入侵或滥用的征兆。经过不断发展和完善,作为监控和识别攻击的标准解决方案,IDS系统已经成为安全防备系统的重要组成部分。LINUX平台下入侵检测的工具软件,如SNORT,它是一款轻量级且易于使用的工具,可以独立运行,也可以与PSAD和IPTABLES一起使用。根

15、据系统需求灵活应用,建立安全的IDS系统。第二章LINUX系统的安全配置21LINUX操作系统简介由于LINUX操作系统是一个开放源代码的免费操作系统,因此受到越来越多用户的欢迎。随着LINUX操作系统在我国的不断普及,有关的政府部门更是将基于LINUX开发具有自主版权的操作系统提高到保卫国家信息安全的高度来看待,因此我们不难预测今后LINUX操作系统在我国将得到更快更大的发展。虽然LINUX与UNIX很类似,但它们之间也有一些重要的差别。对于众多的习惯了UNIX和WINDOWSNT的系统管理员来讲,如何保证LINUX操作系统的安全将面临许多新的挑战。22版本选择与安装221安装REDHATA

16、S40操作系统在安装该版本的LINUX系统时候,需要充分考虑各个磁盘分区的安全性,分别为不同的应用安装单独的主分区,将关键的分区设置为只读,这样将大大提高文件系统的安全。广州大学华软软件学院网络技术系学位论文第5页共58页广州大学华软软件学院网络系(1)磁盘分区安全问题LINUX的文件系统可以分成几个主要的分区,每个分区分别进行不同的配置和安装,一般情况下要把根目录(/)、引导目录(/BOOT)、用户目录(/HOME)、临时目录(/TMP)、/USR/LOCAL和/VAR目录分开到不同的磁盘分区,这样会保证如果某些目录遭到攻击或破坏不会波及到其他重要的目录,而且各目录所在分区的磁盘空间大小应充

17、分考虑,避免因某些原因造成分区空间用完而导致系统崩溃(2)分区方案表虚拟机的LINUX系统目前有12G的空间可用目录空间容量配置说明根目录/3G引导目录/BOOT120MB包含了操作系统的内核和正常启动系统的文件,把/BOOT单独分区,使主要的其它分区出现了问题,系统依然能够启动。交换目录/SWAP512M作为交换分区,推荐大小为内存的两倍,本机的内存为256M,所以分配为512M用户目录/HOME2G该空间主要存放用户的个人文件临时目录/TMP1G存放大量的临时文件和碎片,对于多用户系统或者网络服务器是必要的。当用户对系统进行了错误的操作,因为文件系统的这一部分仍然还承受着读写操作,它通常会

18、比其它的部分更快地发生问题。所以文件系统的其它部分仍然是安全的软件目录/USR3G该分区是LINUX系统存放软件的地方,应将最大空间分给它日志目录/VAR2G/VAR分区是数据变化频繁,存放系统日志分区,也是第二章LINUX系统的安全配置第6页共58页广州大学华软软件学院网络系LINUXREDHATAS40的WEB目录默认存放位置,如/VAR/WWW/HTML(3)FDISKL查看分区信息,如图11所示。图11分区情况23LINUX系统安全问题(1)篡改ROOT密码如果不给GRUB设置口令,那么就等于ROOT用户的密码可以被随意更改,因为攻击者可以通改GRUB的引导参数,从而进入单用户模式直接

19、修改ROOT密码。所以作为一个安全的系统,给GRUB设置密码是十分必要的。(2)用户权限问题对不同的用户必须要分类管理,赋予不同的操作权限,而对于那些不设密码的用户,必须要禁止,这样可以防止攻击者利用此途径进入系统。通过查看/ETC/PASSWD文件可以检查用户名与密码的对应关系。(3)口令文件安全在LINUX系统下的/ETC/PASSWD文件,是以明文方式存放密码的,这就给系统的广州大学华软软件学院网络技术系学位论文第7页共58页广州大学华软软件学院网络系安全性带来了很大的隐患。用CHATTR命令给的文件加上不可更改属性,从而防止非授权用户获得权限。(4)SU命令安全通过系统的SU命令,普通

20、用户在知道ROOT用户密码的前提下可以转化为ROOT用户,这给系统的安全带来很大的隐患。为了防止此类问题的发生,可以禁用SU命令。增强系统安全性(5)系统信息泄露默认情况下,当你登录LINUX系统的时候,会显示出相关的系统信息,这样会给攻击者利用,提高其入侵的成功率。我们可以编辑相关的文件来隐藏系统的信息。(6)DOS攻击DOS攻击是指攻击者通过消耗受害网络的带宽,消耗受害主机的系统资源,发掘编程缺陷,提供虚假路由或DNS信息,使被攻击目标不能正常工作。为了防范此类的攻击,我们可以对系统所有的用户设置资源限制。24LINUX系统安全策略241给BIOS设置密码BIOS设置密码,以防通过在BIO

21、S中改变启动顺序,而可以从软盘启动。这样可以阻止别人试图用特殊的启动盘启动你的系统,还可以阻止别人进入BIOS改动其中的设置(比如允许通过软盘启动等)。242设置GRUB启动口令GRUP负责引导主集中的操作系统,其安全性设置至关重要(从GRUP或LILO引导开始,可以进入SINGLE模式,修改ROOT密码)第一步设置文件/BOOT/GRUB/GRUBCONF,在PASSWWORD后面加入设置的密码。第二步重新返回引导界面,根据提示,按要求输入用户名和密码。第二章LINUX系统的安全配置第8页共58页广州大学华软软件学院网络系243为LILO增加开机口令LILO是代表LINUX加载程序,在/ET

22、C/LILOCONFANACONDA文件中增加选项,从而使LILO启动时要求输入口令,以加强系统的安全性。第一步编辑LILOCONFANACONDA文件(VI/ETC/LILOCONFANACONDA),在/ETC/LILOCONFANACONDA文件中添加两个选项RESTRICTED,PASSWORD。并在PASSWORD选项后面添加要设定的密码,这样系统在启动LILO时就要求通过密码验证。第二步通过编辑LILOCONFANACONDA文件,可以知道在LILO中,口令是以明码的方式存放的,存在一定的安全隐患,所以要把/ETC/LILOCONFANACONDA文件的权限设置为只允许ROOT用户

23、读取。ROOTLOCALHOST/CHMOD0600/ETC/LILOCONFANACONDA第三步为了防止非法更改LILOCONFANACONDA文件,可以使用“CHATTR”命令把“/ETC/LLILOCONFANACONDA“文件无法变动。ROOTLOCALHOST/CHATTRI/ETC/LILOCONFANACODA244用户与口令设置(1)用户安全在LINUX系统中,系统将输入的用户名存放在/ETC/PASSWD文件中。能够对其进行访问的只能是超级用户(ROOT)和操作系统的一些应用程序。还要杜绝不设口令的帐号存在。可以通过查看/ETC/PASSWD文件发现。例如,存在的用户名为T

24、EST的帐号,没有设置口令,则在该文件中存在第二项为空TEST1009/HOME/TEST/BIN/BASH。应将该类帐号删除或者设置口令。(2)用户口令在/ETC/PASSWD文件中是以明文方式存放密码的,这就给系统的安全性带来了很大的隐患。用CHATTR命令给下面的文件加上不可更改属性,从而防止非授权用户获广州大学华软软件学院网络技术系学位论文第9页共58页广州大学华软软件学院网络系得权限。ROOTLOCALHOST/CHATTRI/ETC/PASSWDROOTLOCALHOST/CHATTRI/ETC/SHADOWROOTLOCALHOST/CHATTRI/ETC/GROUPROOTLO

25、CALHOST/CHATTRI/ETC/GSHADOW(3)修改一些系统帐号的SHELL变量系统中存在一些默认的账号,例如UUCP,FTP和NEWS等,有一些仅仅需要FTP功能的帐号,一定不要给他们设置/BIN/BASH或者/BIN/SH等SHELL变量。编辑/ETC/PASSWD文件,输入以下命令,将它们的SHELL变量置空ROOTLOCALHOST/USERMODS/DEV/NULLUUCPROOTLOCALHOST/USERMODS/DEV/NULLFTPROOTLOCALHOST/USERMODS/DEV/NULLNEWS(4)设置口令最小长度和最短使用时间编辑/ETC/LOGINDE

26、FS文件中PASS_MIN_DAYS选项,修改参数为30天,PASS_MIN_LEN选项。设置为长度为8。245取消普通用户的控制台访问权限使用命令RMF/ETC/SECURITY/CONSOLEAPPS/,取消普通用户的控制台访问限,比如SHUTDOWN、REBOOT、HALT等命令,PROGRAM表示要注销的程序名。246控制ROOT登录TTY设备“/ETC/SECURETTY”文件允许你规定“ROOT”用户可以从那个TTY设备登录。编第二章LINUX系统的安全配置第10页共58页广州大学华软软件学院网络系辑SECURETTY文件(VI/ETC/SECURETTY)注释掉(在这一行的开头加

27、上号)不想让ROOT登录的TTY设备247禁止普通用户SU为ROOT用户SUSUBSTITUTEUSER替代用户命令允许你成为系统中其他已存在的用户,如果你不想任何人能够SU作为ROOT,你能编辑/ETC/PAMD/SU文件,并添加下面的行AUTHREQUIRED/LIB/SECURITY/ISA/PAM_WHEELSOGROUPISD这表示只有ISD组的用户可以执行SU命令成为ROOT用户。248隐藏系统信息设置登陆时候不要显示操作系统和版本信息,首先编辑“/ETC/RCD/RCLOCAL“文件,在下面显示的这些行前加一个“”,把输出信息的命令注释掉或者备份后清空。然后删除“/ETC“目录下

28、的“ISUENET”和“ISSUE“文件ROOTLOCALHOST/RMF/ETC/ISSUEROOTLOCALHOST/RMF/ETC/ISSUENET249阻止PING防止任何人PING你的系统,提高系统的安全性。ROOTLOCALHOST/ECHO1/PROC/SYS/NET/IPV4/ICMP_ECHO_IGNORE_ALL1/PROC/SYS/NET/IPV4/ICMP_ECHO_INGNORE_ALL2410防止DOS攻击对系统所有的用户设置资源限制可以防止DOS类型攻击。如最大进程数和内存使用数量等。第一步编辑/ETC/SECURITY/LIMITSCONF,并添加以下内容ROO

29、TLOCALHOST/VI/ETC/SECURITY/LIMITSCONF广州大学华软软件学院网络技术系学位论文第11页共58页广州大学华软软件学院网络系ROOTLOCALHOST/HARDCORE0ROOTLOCALHOST/HARDRSS5000ROOTLOCALHOST/HARDNPROC20第二步然后必须编辑/ETC/PAMD/LOGIN文件检查,检查SESSIONREQUIRED/LIB/SECURITY/PAM_LIMITSSO是否存在。没有就自己添加上面的命令禁止调试文件,限制进程数为50并且限制内存使用为5MB。2411特别的帐号禁止所有默认的被操作系统本身启动的且不需要的帐号

30、,当你第一次装系统时就应该做此检查,LINUX提供了各种帐号,你可能不需要,如果你不需要这个帐号,就移走它,你有的帐号越多,就越容易受到攻击。在终端上打入下面的命令删掉下面的用户。ROOTLOCALHOST/USERDELADMROOTLOCALHOST/USERDELLPROOTLOCALHOST/USERDELSYNCROOTLOCALHOST/USERDELSHUTDOWNROOTLOCALHOST/USERDELHALTROOTLOCALHOST/USERDELMAIL如果你不用SENDMAIL服务器,PROCMAILMAILX,就删除这个帐号。ROOTLOCALHOST/USERDE

31、LNEWSROOTLOCALHOST/USERDELUUCPROOTLOCALHOST/USERDELOPERATORROOTLOCALHOST/USERDELGAMES如果你不用XWINDOWS服务器,就删掉这个帐号。第三章APACHE安全分析与配置第12页共58页广州大学华软软件学院网络系ROOTLOCALHOST/USERDELGOPHERROOTLOCALHOST/USERDELFTP如果你不允许匿名FTP,就删掉这个用户帐号。打入下面的命令删除组帐号ROOTLOCALHOST/GROUPDELADMROOTLOCALHOST/GROUPDELLPROOTLOCALHOST/GROUP

32、DELMAIL如不用SENDMAIL服务器,删除这个组帐号ROOTLOCALHOST/GROUPDELNEWSROOTLOCALHOST/GROUPDELUUCPROOTLOCALHOST/GROUPDELGAMES如你不用XWINDOWS,删除这个组帐号ROOTLOCALHOST/GROUPDELDIPROOTLOCALHOST/GROUPDELPPPUSERSROOTLOCALHOST/GROUPDELPOPUSERS2412经常更新及安装补丁由于各种LINUX厂商的分版不同,所以先访问REDHAT相关主页获取信息FTP/UPDATESREDHATCOM/可使用下列命令安装补丁RPMFVH

33、文件名可用UP2DATE命令直接更新第三章APACHE安全分析与配置广州大学华软软件学院网络技术系学位论文第13页共58页广州大学华软软件学院网络系31WEB服务器软件APACHE简介随着网络技术的普及、应用和WEB技术的不断完善,WEB服务已经成为互联网上重要的服务形式之一。原有的客户端/服务器模式正在逐渐被浏览器/服务器模式所取代。本章将介绍WEB服务器的工作原理以及面临的主要威胁,并结合LINUX平台搭配安全的WEB服务器。311APACHE的工作原理客户端与服务器的通信过程简述如下(1)客户端(浏览器)和WEB服务器建立TCP连接,连接建立以后,向WEB服务器发出访问请求(如GET)。

34、根据HTTP协议,该请求中包含了客户端的IP地址、浏览器的类型和请求的URL等一系列信息。(2)WEB服务器收到请求后,将客户端要求的页面内容返回到客户端。如果出现错误,那么返回错误代码。(3)断开与远端WEB服务器的连接。312APACHE服务器面临的安全问题为了保护WEB服务器不被恶意攻击和破坏,第一步就是要了解和识别它所面临的安全风险,APACHE服务器主要面临的安全问题如下(1)显示版本信息通常,软件的漏洞信息和特定版本是相关的,因此,版本号对黑客来说是最有价值的。在默认情况下,系统会把APACHE版本模块都显示出来,这样无疑是给黑客提供了重要的消息,防止此类的信息泄露,可以通过修改A

35、PACHE的配置文件。(2)拒绝服务攻击这种方法攻击者会通过某些手段使服务器拒绝对HTTP应答。这样会使APACHE对系统资源CPU时间和内存需求的剧增,最终造成APACHE系统变慢甚至完全瘫痪。(3)被攻击者获得ROOT权限的安全缺陷该安全缺陷主要是因为APACHE服务器一般以ROOT权限运行父进程,攻击者会通过它获得ROOT权限,进而控制整个APACHE系统。杜绝此类安全隐患可以为第三章APACHE安全分析与配置第14页共58页广州大学华软软件学院网络系APACHE使用配置专门的用户和用户组,并限制其权限。(4)防止非法用户访问黑客通过匿名用户来攻击APACHE服务器,这样使得WEB服务器

36、难以追踪到黑客的真实身份,不利于进行反攻击及安全防范策略的实施,APACHE自带用户认证机制可以帮我们解决这个问题,它能够有效控制所有登录并检查访问用户的合法性,使合法用户以合法的权限访问网络系统的资源。维护WEB网站的安全。(5)文件与目录信息安全对于WEB网站的一些重要文件,一旦被黑客知道其准确的位置,通过入侵WEB服务器,非法获得读取权限,使这类信息暴露出来,解决文件和目录安全的方法,可以通过设置文件的访问权限和禁止目录的索引来完成。(6)WEB的通信弱点HTTP没有提供加密机制,第三方可以在客户和服务器之间窃听通讯。HTTP是一个无状态协议不保存有关用户的信息,不能证实用户的身份。HT

37、TP没有提供方法来认证正在进行的会话。不能判断是否有第三方窃听了会话。为了解决这些缺陷,我们可以使用安全套接层协议SSL。安全套接层是采用RSA和DES认证与加密以及MD5完整性检查而包装起来的方法。使用这些方法,SSL解决了基于WEB通讯的安全问题32配置一个安全的APACHE服务器下面就以APACHE224版本为例图文说明如何搭建一个安全的服务器。321及时升级系统或添加补丁经常关注相关网站的安全信息发布,并且及时修补和升级。使用最高和最新的安全版本对于加强APACHEWEB服务器的安全是至关重要的。322隐藏和伪装APACHE的版本第一步先使用端口扫描工具NMAP来查看未设置前的端口信息

38、,如图21所示广州大学华软软件学院网络技术系学位论文第15页共58页广州大学华软软件学院网络系图21扫描端口第二步编辑配置文件/ETC/HTTPDCONF。找到SERVERSIGNATURE关键字,并修改为SERVERSIGNATUREONSERVERTOKENSPROD。如图22所示。图31配置HTTPDCONF文件第三步然后重新启动APACHE服务器。使修改生效,再用NMAP工具进行扫描,发现提示中的APACHE版本信息已经隐藏了。如图32所示。第三章APACHE安全分析与配置第16页共58页广州大学华软软件学院网络系图32验证配置323建立一个安全的目录结构APACHE服务器包括以下四个

39、主要目录。SERVERROOT保存配置文件(CONF子目录)、二进制文件和其他服务器配置文件。DOCUMENTROOT保存WEB站点的内容,包括HTML文件和图片等。SCRIPALIAS保存CGI脚本。CUSTOMLOG和ERRORLOG保存访问日志和错误日志。安全配置原则SERVERROOT目录应该被配置为只能由ROOT用户访问;DOCUMENTROOT应该能够被管理WEB站点内容的用户访问和使用APACHE服务器的APACHE用户和APACHE用户组访问;SCRIPTALIAS目录应该只能被CGI开发人员和APACHE用户访问;只有ROOT用户可以访问日志目录324为APACHE使用专门的

40、用户和用户组按照最小特权原则,需要给APACHE分配一个合适的权限,让其能够完成WEB服广州大学华软软件学院网络技术系学位论文第17页共58页广州大学华软软件学院网络系务。必须保证APACHE使用一个专门的用户和用户组,不要使用系统预定义的账号,比如NOBODY用户和NOGROUP用户组。因为只有ROOT用户可以运行APACHE,DOCUMENTROOT应该能够被管理WEB站点内容的用户访问和使用APACHE服务器的APACHE用户和APACHE用户组访问。设“CAO”用户要在WEB站点发布内容,只有ROOT用户才可以访问日志目录,如图33所示图33设置APACHE用户与组325WEB目录的访

41、问策略(1)禁止使用目录索引当用户访问一个不存在于服务器的文件时,APACHE就会显示该目录的列表。这样会暴露WEB站点结构,因此需要修改配置文件禁止显示动态目录索引。修改配置文件HTTPDCONFOPTIONSINDEXESFOLLOWSYMLINKS(2)禁止用户重载为了禁止用户对目录配置文件(HTACCESS)进行重载(修改),可以设定ALLOWOVERRIDENONE第三章APACHE安全分析与配置第18页共58页广州大学华软软件学院网络系326关注APACHE服务器日志文件APACHE可以记录所有的访问请求,同样,错误的请求也会记录。APACHE配置文件中,需要关心的和日志相关的配置

42、文件有两个CUSTOMLOG/WWW/LOGS/ACCESS_LOGCOMMON记录WEB站点的每个进入请求ERRORLOG/WWW/LOGS/ERROR_LOG记录产生错误状态的请求通过分析与维护这些日志文件可以快速的定位和解决服务器的故障。327HTACCESS文件实现用户安全认证第一步首先利用APACHE附带的程序HTPASSWD,在/ETC/HTTPD/CONFD/目录下生成包含用户名和密码的文本文件PDFILETXT,系统自动生成每行内容格式为“用户名密码”,如图34所示图34建立用户密码文件第二步然后在CONFD目录下创建APACHE基本认证配置文件AUTH_BASICCONF亦可

43、在HTTPDCONF内设置如图35所示广州大学华软软件学院网络技术系学位论文第19页共58页广州大学华软软件学院网络系图35设置配置文件第三步最后进入/VAR/WWW/HTML/目录下创建控制的目录和HTACCESS文件,如图36所示图36建立HTACCESS文件HTACCESS文件最后的“REQUIRE”告诉服务器哪些用户可以进入。第四步验证用户,在浏览器的地址栏中输入HTTP/172164203/DOC若提示输入认证,则表示配置正确。如图37所示第三章APACHE安全分析与配置第20页共58页广州大学华软软件学院网络系图37浏览器验证第五步按要求输入用户名,密码即可进入需要访问的目录,如图

44、38所示图38显示结果328设置文件访问的权限设置在认证配置文件AUTH_BASICCONF或HTTPDCONF内设置禁止读取文件,下面以AA,HTML文件为例,演示如何禁止他人读取。第一步编辑认证文件AUTH_BASICCONF文件,加入这段内容,如图39所示广州大学华软软件学院网络技术系学位论文第21页共58页广州大学华软软件学院网络系图39编辑AUTH_BASIC_CONF文件第二步配置完成后,重新启动APACHE服务器,打开浏览器,在地址栏中输入HTTP/172164203/SECURITY,测试是否可以访问AAHTML文件。如图310所示图310测试配置第三步从第二步的图示可见,无法

45、浏览到AAHTML文件,如果有客户故意在/SECURTY后输入AAHTML文件,提示无法访问到该文件。表示设置正确。如图311所示第三章APACHE安全分析与配置第22页共58页广州大学华软软件学院网络系图311显示结果329设置目录的访问权限利用APACHE的访问控制,设定/VAR/WWW/HTML/ACL目录只有1721640/24网段的客户端可以访问。第一步创建试验所需的目录和INDEXHTML文件,如图312所示图312创建INDEX文件第二步创建访问控制所需的配置文件,并重启APACHE服务器使改动生效广州大学华软软件学院网络技术系学位论文第23页共58页广州大学华软软件学院网络系如

46、图313所示图313建配置文件第三步测试配置,客户端在1721640/24网段做访问。如图314所示图314测试配置第四步把客户端的IP地址改为1721632,测试在非1721640网段访问在地址栏上输入HTTP/172164203/ACL,若出现下图所示的页面,表示设置生效了。如图315所示第三章APACHE安全分析与配置第24页共58页广州大学华软软件学院网络系图315显示结果广州大学华软软件学院网络技术系学位论文第25页共58页广州大学华软软件学院网络系3210减少CGI和SSI风险CGI脚本的漏洞已经成为WEB服务器的首要安全隐患,通常是程序编写CGI脚本中产生了许多漏洞。控制CGI脚

47、本的漏洞除了在编写时需要注意对输入数据的合法性检查、对系统调用的谨慎使用等因素外,首先使用CGI程序所有者的UID来运行这些程序。这些CGI程序即使存在某些漏洞,那么其危害也仅限于该UID所能够访问的文件。而不会对整个系统带来致命的影响。因此,除了内部调试程序时都应当可以使用OPTION命令禁止其使用。OPTIONSINCLUDESNOEXEC3211使用SSL加固APACHESSL使用公共密钥加密技术,服务器在连接结束时给客户端发送公用密钥用来加密信息,而加密的信息只有服务器用它自己持有的专用密钥才能解开。客户端用公用密钥加密数据,并且发送给服务器自己的密钥,以唯一确定自己,防止在系统两端之

48、间有人冒充服务器或客户端进行欺骗。所以具有SSL功能的WEB服务器,可以提高网站的安全性能。配置SSL认证实例在配置的过程中,需要用到MOD_SSL软件包,先用命令“RPMQA|GREPMOD_SSL”检查是否安装,如果没有安装,以ROOT的身份登录系统自行安装。此处不再做详细的讨论。第一步产生SSL凭证,使用OPENSSLGENRSAOUTSERVERKEY1024命令可以生成KEY和CSR档如图316所示第三章APACHE安全分析与配置第26页共58页广州大学华软软件学院网络系图316生成SSL认证文件第二步输入命令自行签署金钥,然后把生成的SERVERCSR,SERVERKEY,SERV

49、ERCRT文件复制到CA存放的目录/ETC/HTTPD/CONF/CA,并修改APACHE配置文件HTTPDCONF,添加以下两行。如图317所示图317自行生产金钥第三步重新启动APACHE服务器,让修改生效。APACHECTLSTOPAPACHECTLSTARTSSL广州大学华软软件学院网络技术系学位论文第27页共58页广州大学华软软件学院网络系第四步使用浏览器访问APACHE服务器的首页,输入“HTTPS/LOCALHOST”,此时出现屏幕提示,如图318所示图318测试配置第五步点击“确定”按钮,即可进入加密显示的APACHE首页,注意浏览器的位置栏和右下角的标志。如图319所示图319显示结果3212APACHE服务器防范DOS第四章PHP服务器与编程安全第28页共58页广州大学华软软件学院网络系输入命令NETSTATANGREPI“服务器IP地址80“AWK“PRINT6“SORTUNIQCSORTN,自动统计TCP连接的各个状态的数量,如果SYN_RECV很高的话,就不能排除有基于TCP协议的拒绝服务攻击的可能。于是需要打开TCP_SYNCOOKIESECHO1/PROC/SYS/NET/IPV4/TCP_SYNCOOKIES如果没有/PROC/SYS/NET/IPV4/TCP_SYNCOOKIES,说明内核不支持SYNCOOKIES,需要重新

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。