歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> Unix基礎知識 >> Unix的Web服務器安全指南

Unix的Web服務器安全指南

日期:2017/2/25 10:12:39   编辑:Unix基礎知識
 在計算機網絡日益普及的今天,計算機安全不但要求防治計算機病毒,而且要提高系統抵抗黑客非法入侵的能力,還要提高對遠程數據傳輸的保密性,避免在傳輸途中遭受非法竊取。本文僅僅討論在構造Web服務器時可能出現的一些情況,希望能引起重視。

  一. 安全漏洞

  Web服務器上的漏洞可以從以下幾方面考慮:

  1.在Web服務器上你不讓人訪問的秘密文件、目錄或重要數據。

  2.從遠程用戶向服務器發送信息時,特別是信用卡之類東西時,中途遭不法分子非法攔截。

  3.Web服務器本身存在一些漏洞,使得一些人能侵入到主機系統,破壞一些重要的數據,甚至造成系統癱瘓。

  4.CGI安全方面的漏洞有:

  (1)有意或無意在主機系統中遺漏Bugs給非法黑客創造條件。

  (2)用CGI腳本編寫的程序當涉及到遠程用戶從浏覽器中輸入表格(Form),並進行檢索(Search index),或form-mail之類在主機上直接操作命令時,或許會給Web主機系統造成危險。

  5.還有一些簡單的從網上下載的Web服務器,沒有過多考慮到一些安全因素,不能用作商業應用。

  因此,不管是配置服務器,還是在編寫CGI程序時都要注意系統的安全性。盡量堵住任何存在的漏洞,創造安全的環境。

  二. 提高系統安全性和穩定性

  Web服務器安全預防措施:

  1.限制在Web服務器開賬戶,定期刪除一些斷進程的用戶。

  2.對在Web服務器上開的賬戶,在口令長度及定期更改方面作出要求,防止被盜用。

  3.盡量使FTP、MAIL等服務器與之分開,去掉ftp,sendmail,tftp,NIS, NFS,finger,netstat等一些無關的應用。

  4.在Web服務器上去掉一些絕對不用的如SHELL之類的解釋器,即當在你的CGI的程序中沒用到PERL時,就盡量把PERL在系統解釋器中刪除掉。

  5.定期查看服務器中的日志logs文件,分析一切可疑事件。在errorlog中出現rm, login, /bin/perl, /bin/sh等之類記錄時,你的服務器可能已經受到了一些非法用戶的入侵。

  6.設置好Web服務器上系統文件的權限和屬性,對可讓人訪問的文檔分配一個公用的組,如WWW,並只分配它只讀的權利。把所有的HTML文件歸屬WWW組,由Web管理員管理WWW組。對於Web的配置文件僅對Web管理員有寫的權利。

  7.有些Web服務器把Web的文檔目錄與FTP目錄指在同一目錄時,應該注意不要把FTP的目錄與CGI-BIN指定在一個目錄之下。這樣是為了防止一些用戶通過FTP上載一些如PERL或SH之類程序,並用Web的CGI-BIN去執行,造成不良後果。

  8.通過限制許可訪問用戶IP或DNS,如在NCSA中的access.conf中加上:

  《Directory /full/path/to/directory》

  《Limit GET POST》

  order mutual-failure

  deny from all

  allow from 168.160.142. abc.net.cn

  《/Limit》

  《/Directory》

  這樣只能是以域名為abc.net.cn或IP屬於168.160.142的客戶訪問該Web服務器。

  對於CERN或W3C服務器可以這樣在httpd.conf中加上:

  Protection LOCAL-USERS

  Protect /relative/path/to/directory/* LOCAL-USERS

  9.WINDOWS下HTTPD

  (1)Netscape Communications Server for NT

  PERL解釋器的漏洞:

  Netscape Communications Server中無法識別CGI-BIN下的擴展名及其應用關系,如.pl文件是PERL的代碼程序 自動調用的解釋文件,即使現在也只能把perl.exe文件存放在CGI-BIN目錄之下。執行如:/cgi-bin/perl.exe? &my_script.pl。但是這就

  給任何人都有執行PERL的可能,當有些人在其浏覽器的URL中加上如:/cgi-bin/perl.exe?&-e+unlink+ %3C*%3E時,有可能造成刪除服務器當前目錄下文件的危險。但是,其他如:O′Reilly WebSite或Purveyor都不存在這種漏洞。

  CGI執行批處理文件的漏洞:

  文件test.bat的內容如下:

  @echo off

  echo Content-type: text/plain

  echo

  echo Hello World!

  如果客戶浏覽器的URL為:/cgi-bin/test.bat?&dir,則執行調用命令解釋器完成DIR列表。這就讓訪問者有執行其他命令可能性。

  (2)O′Reilly WebSite server for Windows NT/95

  在WebSite1.1B以前的版本中使用批處理文件存在著與Netscape同樣的漏洞,但是,新版關閉了.bat在CGI中的作用。支持PERL,新版將VB和C作為CGI開發工具。

  (3)Microsoft′s IIS Web Server

  1996年3月5日前的IIS在NT下的BUG嚴重,可以任意使用command命令。但之後已修補了該漏洞,你可檢查你的可執行文件的建立日期。 IIS3.0還存在一些安全BUG,主要是CGI-BIN下的覆給權利。另外,許多Web服務器本身都存在一些安全上的漏洞,都是在版本升級過程中被不斷 更新了,在此就不一一列舉了。

Copyright © Linux教程網 All Rights Reserved