安全是系統管理員憂慮的主要問題之一,然而,由于internet引發的侵入危險變得越來越高。
據統計,如果聯接的用戶數量增加,駭客的數量隨之增加.因此,安全工具呈指數增加.再一次多謝自由軟件社區,因為他們給我們提供了我們能見到的最好的工具和大量的文檔。
在本文結束部分的參考文獻區你將會發現許多有趣的聯接,顯而易見地,本文將要提到的不可能沒有疏漏之處,我提到的只是我挑選的一些好工具.
這篇文章不但寫給個人用戶,同樣也是給系統管理員提供的,盡管一些工具是為保護主機和提高網絡安全專門設計的.大部分工具可以在許多unix上工作(如果不是全部的unix上),不管這些unix是商業的還是免費的。
最后,這篇文章不是一篇"如何使你的網絡或主機安全"的文章,而是一篇關于你能夠(必須)用來提高一個網絡或機器安全性的各種工具的介紹.
一、通用的工具
讓我們把這部分稱為"白帽子保護紅帽子,擊退黑帽子的工具(tools for whitehats to protect redhat from blackhats)":-).大多數linux發行版(不僅僅是redhat)都保含了一些好的安全工具,它們被用來使你的機器更加安全.
在這些工具中,我們能數出TCPWrapper,PAM,影子口令工具等,因為它們是發行版的一部份,你可以找到關于它們的許多東西:HOWTO,man手冊,所以我們不想在它們身上化太多時間.
讓我們從影子口令工具開始,簡單來說,它們允許口令加密,文件/etc/passwd被文件/etc/shadow代替.
比影子口令工具更精致的是PAM,就象名字所說的那樣,這是另外一種認證方法,被用來配置對服務的訪問控制.
可以在一些文件中定義許多限制,這樣能容易地進行管理.這些文件通常放在/etc/pam.d目錄中.
TCPWrapper,簡單來說,是通過ip地址或主機名來限制服務訪問權限.倚靠兩個文件來決定容許訪問還是拒絕訪問,這兩個文件是/etc/host.allow和/etc/host.deny
TCPWrapper可以配置為兩種工作模式:通過運行看守進程,或者是修改/etc/inetd.conf文件.如果你的unix系統沒有包含TCPWrapper,你可以從ftp://ftp.porcupine.org/pub/security/獲得它.
現在,我要告訴你們,為什么我不詳悉介紹上面提到的這些工具,因為有一個工具可以完成上敘所有的功能,這就是Bastille-Linux,如果你只想安裝一個安全工具,那么就安裝它吧,目前的常見的linux版本還沒有包含它, 但你可以到http://bastille-linux.sourceforge.net網站上下載.
順便說一下,我們不會在本文介紹Bastille-Linux,這樣做毫無意義,因為我的同事在九月份的LinuxFocus上有一篇相當不錯的文章已經介紹了它.他已經介紹了所有的東西.去那看看吧,讓我們把Bastille-Linux加入你生活中必不可少的重要工具中吧!
另外一個常用的來提高安全性的工具是xinetd,它存在于http://www.xinetd.org,對不起,我也不打算介紹它,同樣是是因為我的同事在十一月份的LinuxFocus上做完了這項工作.
現在,讓我們來看一看一些特別的東西。
二、防火墻工具
自由軟件Linux帶有把你機器變成防火墻的軟件.2.2內核是iptables,而2.0內核則是ipfwadm.為了使iptables或ipfwadm工作,內核必需正確選擇選項進行編譯.關于這個問題,除了HOWTOS,還有很多相關文章,所以,同樣我不打算多提.
簡單地說,我們可以把防火墻看作包過濾工具,工作最重要的部分是關心防火墻的配置,同樣,一個錯誤配置的防火墻會變得非常危險.
不管怎么說,防火墻相當重要.
舉個例子來說,Bastille-Linux可以給你提供一個基于ipchains的防火墻.
如果你訪問三、端口掃描
在這里我們接觸問題的核心部分,這個思想是:象一個駭客干的那樣,使用同樣的工具,來監測你機器或網絡的弱點所在.
在這個領域,我們能夠在兩個偉大的工具上受益,但還有其它更多的.
第一個叫作nmap,你可以從http://www.insecure.org上下載到,同時還有大量的信息和鏈接等等.
用nmap你可以檢查你的網絡或機器哪些端口是開放的.當然,你可以用其它的命令做到這點,例如lsof或netstat,但是只能檢測你自己的機器.顯而易見的,nmap當然也可以檢查你自己的機器.
nmap能提供給你許多信息,例如,它能告訴你運行的是哪種操作系統,通知你所開放的端口的危險性,最后,至少,nmap相當容易使用.
nmap既可在shell下運行,也可以通過一個叫nmapfe的圖形界面來運行.這個圖形界面是基于gtk庫的,nmap的當前版本是2.53,它可以在許多unix平臺上運行,提供原代碼,rpm包,帶或不帶圖形界面.
nmap是系統管理必不缺少的工具.
多謝Fyodor先生,以及恭賀他的偉大工作.
第二個叫作nessus,可從網站http://www.nessus.org上下載,nessus使用客戶/服務器結構來工作,源代碼遵循posix標準,能在許多unix版本上運行.甚至還有基于win32的客戶端.nessus依賴nmap(要知道,沒有nmap,nessus就不能運行),GUI客戶端還需要GTK庫函數的支持.
nessus當前版本是1.06,通過nessus,你可一用一個命令掃描整個網絡.這個命令就是網絡地址,例如,在目標框中鍵入192.168.1.0/24,將會掃描整個子網的255臺機器。
盡管nessus比nmap復雜不少,但它不但容易使用,功能很多.比方說,它可以生成報告,比較各報告的差異...,另外一個功能相當有趣:nessus為端口掃描中發現的問題提供解決方案,只要這些機器是unix系統,這些建議通常有用,對其它操作系統,就沒這么恰當,但這不是一個問題.
下面是一臺非常容易受攻擊的機器的例子
nessus還有另一項偉大的功能,它可以運行插件,這樣,每次在任何地方發現新的安全漏洞,它都可以很快升級.
nessus是另一個系統管理真的需要的工具,Deraison先生和Merci beaucoup做的棒極了.
兩個工具都在一個linux機器和其它不同操作系統的網絡中測試過,有Linux RH 6.2, Irix 6.5.7, Solaris 2.6, NeXTStep 3.3,QNX RT, BeOS 5.0, Amiga OS 3.5,Not Terminated 4.0.在大多數平臺上測試結果給人留下深刻印象,當然Amiga系統沒有真正被認證,(因為它看起來象一臺打印機或路由器!),但是有誰現在的網絡中還有這種操作系統呢(除了我們)?
不管怎么說,整些工具是今天網絡中必須有的工具.
為了結束這個章節,讓我們來提一提其它一些工具象SARA(http://www-arc.com/sara/),或者是它的父輩SATAN(http://www.porcupine.org/satan/)或AINT(http://www.wwdsi.com).它們不但是端口掃瞄器而且它們都對提高網絡安全非常有用。