应用:基于Unix的Web服务器安全指南
在计算机🕎网络日益普及的今天【de jīn tiān】📝,计算机🕎安全不但要求防治计【fáng zhì jì】算机🕎病毒【bìng dú】❌,而且要提高系统抵抗黑客非法入侵的能力🛺,还要提【hái yào tí】🏓高对远程数据【chéng shù jù】🛅传输的保密性,避免在【bì miǎn zài】传输途【chuán shū tú】中遭受非法窃🔘取【qǔ】。本文仅🍲仅讨论在构造Web服务器时可能😮出现的一些情💃况【kuàng】,希望能【xī wàng néng】🏒引起重【yǐn qǐ chóng】视【shì】🚊。
一. 安全漏洞
Web服务器⛳上的漏【shàng de lòu】洞可以从以下😺几方面考虑【kǎo lǜ】:
1.在Web服务器上你不让人访【ràng rén fǎng】🤚问的秘密文件、目录或【mù lù huò】⬛重要数【chóng yào shù】🐊据。
2.从远程用户向【yòng hù xiàng】服务器发送信息时🐟,特别是🧢信用卡【xìn yòng kǎ】之类东🔬西时【xī shí】,中途遭不法分子非法【zǐ fēi fǎ】😛拦截。
3.Web服务器【fú wù qì】本身存📢在一些漏洞【lòu dòng】,使得一些人能侵入到🕎主机系统【tǒng】,破坏一些重要的数据,甚至造【shèn zhì zào】🖱成系统【chéng xì tǒng】🎖瘫痪🤐。
4.CGI安全方面的漏洞有:
(1)有意或🎩无意在【wú yì zài】🔭主机系统中遗【tǒng zhōng yí】漏💳Bugs给非法【gěi fēi fǎ】黑客创造条件。
(2)用CGI脚本编写的程【xiě de chéng】序当涉及到远程用户🏴从浏览【cóng liú lǎn】器中输【qì zhōng shū】入表格【rù biǎo gé】👹(Form),并进行检索🌏(Search index),或【huò】🔇form-mail之类在【zhī lèi zài】主机上直接操作命令【zuò mìng lìng】🔹时👟,或【huò】🔇许会给🎳Web主机系统造成危险。
5.还有一些简单【xiē jiǎn dān】的🦏从网上下载的🦏Web服务器,没有过【méi yǒu guò】多考虑😹到一些安全因😃素【sù】,不能用【bú néng yòng】作商业【zuò shāng yè】🐄应用🐗。
因此😠,不管是【bú guǎn shì】配置服务器【wù qì】,还是在编写CGI程序时【chéng xù shí】都要注意系统🏋的安全🐞性【xìng】。尽量堵💣住任何存在的【cún zài de】漏洞,创造安【chuàng zào ān】🐟全的环境📽。
二. 提高系统安全性和稳定性
Web服务器安全预防措施:
1.限制在📧Web服务器【fú wù qì】开账户【kāi zhàng hù】,定期删🤓除一些🈂断进程【duàn jìn chéng】的用户。
2.对在Web服务器🈚上开的账户💾,在口令【zài kǒu lìng】长度及🐻定期更【dìng qī gèng】改方面【gǎi fāng miàn】作出要🤯求,防止被盗用【dào yòng】。
3.尽量使FTP、MAIL等服务🖇器与之【qì yǔ zhī】分开,去掉【qù diào】🎈ftp,sendmail,tftp,NIS, NFS,finger,netstat等一些✡无关的应用【yīng yòng】。
4.在Web服务器【fú wù qì】上去掉一些绝对不用的如SHELL之类的【zhī lèi de】解释器【jiě shì qì】🔚,即当在⏩你的🛢CGI的程序中没用✝到PERL时,就尽量【jiù jìn liàng】把🍫PERL在系统解释器【jiě shì qì】🔚中删除【zhōng shān chú】📗掉。
5.定期查看服务器中的日志【rì zhì】🎤logs文件,分析一🏽切可疑【qiē kě yí】事件【shì jiàn】。在【zài】errorlog中出现rm, login, /bin/perl, /bin/sh等之类【děng zhī lèi】记录时,你的服🐩务器可🎅能已经受到了【shòu dào le】一些非🎅法用户👜的入侵。
6.设置好Web服务器【fú wù qì】上系统【shàng xì tǒng】🕋文件的【wén jiàn de】权限和属【shǔ】性,对可让🏃人访问【rén fǎng wèn】的【de】文档分配一🐅个公用【gè gōng yòng】🤰的【de】组,如WWW,并只分🏈配它只读的【de】权利。把所有🧖的【de】HTML文件归【wén jiàn guī】属【shǔ】WWW组,由【yóu】Web管理员⬆管理WWW组。对💂于Web的配置【de pèi zhì】文件仅【wén jiàn jǐn】👔对💂Web管理员⬆有写的【de】权利。
7.有些Web服务器🖲把Web的【de】文档目录与【mù lù yǔ】💰FTP目录指🕖在同一【zài tóng yī】目录时👞,应该注意不要🍣把FTP的目录【de mù lù】与💰CGI-BIN指定在【zhǐ dìng zài】一个目录之下👇。这样是【zhè yàng shì】为了防【wéi le fáng】止一些用户通过⛄FTP上载一🥧些如PERL或🥇SH之类程【zhī lèi chéng】序【xù】,并用Web的【de】CGI-BIN去执行🥝,造成不【zào chéng bú】良后果。
8.通过限【tōng guò xiàn】制许可【zhì xǔ kě】访问用🧕户🍩IP或DNS,如在NCSA中的🐾access.conf中加上【zhōng jiā shàng】:
《Directory /full/path/to/directory》
《Limit GET POST》
order mutual-failure
deny from all
allow from 168.160.142. abc.net.cn
《/Limit》
《/Directory》
这样只能是以【néng shì yǐ】🚑域名为abc.net.cn或【huò】🚦IP属于168.160.142的客户【de kè hù】访问该👠Web服务器。
对于CERN或🐤W3C服务器【fú wù qì】⛲可以这样在【yàng zài】httpd.conf中加上:
Protection LOCAL-USERS {
GetMask @(*.capricorn.com, *.zoo.org, 18.157.0.5)
}
Protect /relative/path/to/directory/* LOCAL-USERS
9.WINDOWS下HTTPD
(1)Netscape Communications Server for NT
PERL解释器的漏洞:
Netscape Communications Server中无法🏭识别🎉CGI-BIN下的扩【xià de kuò】🕖展名及👧其应用关系【guān xì】🛂,如【rú】.pl文件是【wén jiàn shì】🛴PERL的代码程序自🥈动调用【dòng diào yòng】的解释文件,即使现在也只【zài yě zhī】🆓能把perl.exe文件存【wén jiàn cún】放在【fàng zài】CGI-BIN目录之【mù lù zhī】🍓下。执行【háng】如【rú】⬆:/cgi-bin/perl.exe? &my_script.pl。但是⛪这就给任何人都有执【dōu yǒu zhí】行【háng】PERL的可能,当有些人在其浏览器【liú lǎn qì】的URL中加上如【rú】:/cgi-bin/perl.exe?-e unlink <*>时,有可能【yǒu kě néng】造成删除服务【chú fú wù】🌐器当前目录下文件的危险。但是⛪,其他如【qí tā rú】:O′Reilly WebSite或Purveyor都不存💃在这种🎠漏洞。
CGI执行批处理文件的漏洞:
文件test.bat的内容如下:
@echo off
echo Content-type: text/plain
echo
echo Hello World!
如果客【rú guǒ kè】🐈户浏览器的URL为:/cgi-bin/test.bat?&dir,则执行【zé zhí háng】调用命令解释【lìng jiě shì】器完成💈DIR列表。这就让🐚访问者【fǎng wèn zhě】有执行🗑其他命令可能性【xìng】🔼。
(2)O′Reilly WebSite server for Windows NT/95
在WebSite1.1B以前的📚版本中【bǎn běn zhōng】☕使用💺批处理文件存在🌙着与【zhe yǔ】Netscape同样的漏洞,但是【dàn shì】🦗,新版关【xīn bǎn guān】闭了.bat在CGI中的作用💺。支持⚫PERL,新版将VB和【hé】C作为🔅CGI开发工【kāi fā gōng】具【jù】。
(3)Microsoft′s IIS Web Server
1996年【nián】3月🔋5日前的【rì qián de】🔒IIS在NT下的【xià de】🌏BUG严重【yán chóng】,可以任【kě yǐ rèn】意使用【yì shǐ yòng】🐀command命令【mìng lìng】。但之后【dàn zhī hòu】🔵已修补了该漏洞【dòng】,你可检查你的【chá nǐ de】可执行文件的建立日期。IIS3.0还存在一【cún zài yī】些安全🐪BUG,主要是【zhǔ yào shì】CGI-BIN下的【xià de】🌏覆给权利📅。另外【lìng wài】🚭,许多Web服务器本身都存在一【cún zài yī】些安全🐪上的漏🦗洞【dòng】,都是在版本升级过程中被不断更新了,在此就🌇不一一➗列举了🥍。
三. 从CGI编程角度考虑安全
1.采用编【cǎi yòng biān】译语言比解释【bǐ jiě shì】语言会更安全🌌些🚷,并且CGI程序应放在独立于【lì yú】🌆HTML存放目录之外的👽CGI-BIN下【xià】,这是为了防止一些【yī xiē】🚷非法访问者从【wèn zhě cóng】浏览器端【duān】🌦取得解【qǔ dé jiě】释性语🐴言的👽原代码【yuán dài mǎ】后👳从中寻找漏洞🦍。
2.在用C来编写CGI程序时【chéng xù shí】应尽量少用【shǎo yòng】😌popen()、system()、所有涉及💁/bin/sh的🤵SHELL命令以【mìng lìng yǐ】及在👐PERL中的🆗system()、exec()、open()、eval()等exec或【huò】eval之类命令【lìng】。
在由用【zài yóu yòng】户填写😙的form还回【hái huí】CGI时,不要直接调用system()之类函【zhī lèi hán】🎒数💖。
另外,对于数📲据的加【jù de jiā】密与传输【shū】,目前有🚊SSL、SHTTP、SHEN等协议供大家✳研究【yán jiū】。
四. 防火墙(Firewall)
1.防火墙的概念
防火墙(Firewall)是指一🍾个由软件或由软件和【ruǎn jiàn hé】硬件设【yìng jiàn shè】备组合【bèi zǔ hé】🥝而成【ér chéng】🤗,处于企业或网【yè huò wǎng】络群体【luò qún tǐ】计算机与外界【yǔ wài jiè】🥛通道【tōng dào】(Internet)之间,限制外界用户对内部💅网络的🎤访问及管理内部用户访问外♉界网络的🎤权限。
2.防火墙的措施
(1)代理(Proxy)主机
“内部网【nèi bù wǎng】络【luò】🈲--代理网关🏭(Proxy Gateway)--Internet”
这种方🍡式是内【shì shì nèi】📑部网络与【yǔ】🍰Internet不直接🐳通讯。就是内【jiù shì nèi】部网🗡络计算【luò jì suàn】🍀机用户【hù】🏨与【yǔ】🍰代理网关采用🔊一种通讯方式,即提供内部网【nèi bù wǎng】🗡络协议(Netbios、TCP/IP 等),而网关与【yǔ】🍰Internet之间采🤟取的是标准【biāo zhǔn】⤵TCP/IP网络通🤗讯协议。这样【zhè yàng】使得网络🚷数据包不能直【bú néng zhí】接在内外网络【wài wǎng luò】🚭之间进【zhī jiān jìn】🦌行。内部计【nèi bù jì】算机必【suàn jī bì】😕须通过代理网关访问【guān fǎng wèn】Internet,这样【zhè yàng】容🚜易在代理服务【lǐ fú wù】🔚器上对【qì shàng duì】🍦内部网【nèi bù wǎng】🗡络计算【luò jì suàn】🍀机访问外界计【wài jiè jì】算机进【suàn jī jìn】行限制。另外,由于代👯理服务【lǐ fú wù】🔚器两端采用不同协议【tóng xié yì】标准【biāo zhǔn】⤵也可以【yě kě yǐ】直接阻【zhí jiē zǔ】止外界非法入侵。还有📭,代理服务【lǐ fú wù】🔚器的网【qì de wǎng】关可对【guān kě duì】数据封包进👜行验证和对密🏈码进行确认等安全管制。这样【zhè yàng】,能较好地控制管理两【guǎn lǐ liǎng】⭐端的用户【hù】🏨,起到防火墙作用。
因为这🌘种防火墙措施【qiáng cuò shī】是采用透过代【tòu guò dài】理服【lǐ fú】🧠务器进行🍄,在联机📖用户多🚗时【shí】🔁,效率必【xiào lǜ bì】然受到【rán shòu dào】影响,代理服【lǐ fú】🧠务器负担很重【dān hěn chóng】,所以许多访问【wèn】👤Internet的客户软件在🌧内部网络计算机中可【jī zhōng kě】能无法正常访问【wèn】👤Internet。
(2)路由器加过滤器完成
“内部网🛄络【luò】--过滤器【guò lǜ qì】🈹(Filter)--路由器(Router)--Internet”
这种结构由路✨由器和过滤【guò lǜ】🌊器共同完成从IP地址或🛁域名上【yù míng shàng】对外界【duì wài jiè】🧗计算机访问【fǎng wèn】🧑内部网【nèi bù wǎng】络的限制🌭,也可以指定或限制内部网【nèi bù wǎng】络访问【fǎng wèn】🧑Internet。路由器🛶仅对主机上特定的【dìng de】🦉PORT上的数【shàng de shù】据通讯【jù tōng xùn】加以路🏁由,而过滤【guò lǜ】🌊器则执【qì zé zhí】行筛选、过滤【guò lǜ】🌊、验证及其安全【qí ān quán】监控🕍,这样可以很大📅程度上隔断内😐外网络【wài wǎng luò】间的不🍙正常的【zhèng cháng de】访问【fǎng wèn】🧑登录。
关键词:Unix,Web服务器
阅读本文后您有什么感想? 已有 人给出评价!
- 1
- 1
- 1
- 1
- 1
- 1