網路安全工具

網路安全工具是自動檢測遠程或本地主機安全性弱點的程式,一個好的掃描器相當於一千個口令的價值。

基本信息

簡介

如何工作:TCP連線埠掃描器,選擇TCP/IP連線埠和服務(比如FTP),並記錄目標的回答,可收集關於目標主機的有用信息(是否可匿名登錄,是否提供某種服務)。掃描器告訴我們什麼:能發現目標主機的內在弱點,這些弱點可能是破壞目標主機的關鍵因素。系統管理員使用掃描器,將有助於加強系統的安全性。黑客使用它,對網路的安全將不利。

掃描器的屬性:1、尋找一台機器或一個網路。2、一旦發現一台機器,可以找出機器上正在運行的服務。3、測試哪些服務具有漏洞。

目前流行的掃描器:1、NSS網路安全掃描器,2、stroke超級最佳化TCP連線埠檢測程式,可記錄指定機器的所有開放連線埠。3、SATAN安全管理員的網路分析工具。4、JAKAL。5、XSCAN

工具介紹

儘管各種版本的Linux distribution 附帶了很多開放源的自由軟體,但是仍然有大量的有用的工具沒有被默認。

包括在它們的安裝光碟內,特別是有一些可以增強Linux網路安全的工具包,它們大多也是開放源的自由軟體。

這裡簡單地介紹一下幾個增強Linux網路安全的工具。

1. sudo

sudo是系統管理員用來允許某些用戶以root身份運行部分/全部系統命令的程式。一個明顯的用途是增強了站點的安全性,如果你需要每天以root身份做一些日常工作,經常執行一些固定的幾個只有root身份才能執行的命令,那么用sudo對你是非常適合的。

sudo的主頁在:http://www.courtesan.com/courtesan/products/sudo/

以Redhat 為例,下面介紹一下安裝及設定過程:

首先,你能從sudo主頁上下載for Redhat Linux的rpm package.

它在ftp://ftp.freshmeat.net/pub/rpms/sudo/ 當前最新的穩定版本1.5.9p4。

執行#rpm -ivh sudo* 進行安裝,然後用/usr/sbin/visudo編輯/etc/sudoers檔案。

如果系統提示你找不到/usr/bin/vi但實際上你在目錄/bin下有vi程式,你需要

ln -sf /bin/vi /usr/bin/vi為vi 在/usr/bin下創建符號連結。(註:我在Redhat 6.1上遇到,Redhat 5.x上沒有此問題)

另外,如果出現某些其它錯誤,你可能還需要#chmod 700 /var/run/sudo

下面是我的/etc/sudoers檔案例子:

CODE:

[root@sh-proxy /etc]# more sudoers

Host_Alias SERVER=sh-proxy

# User alias specification

User_Alias ADMIN=jephe,tome

# Cmnd alias specification

Cmnd_Alias SHUTDOWN=/etc/halt,/etc/shutdown,/etc/reboot

ADMIN SERVER=SHUTDOWN

jephe SERVER=/usr/bin/tail -f /var/log/maillog

jephe SERVER=/usr/bin/tail -f /var/log/messages

# User privilege specification

root ALL=(ALL) ALL

-----------

既然我經常需要遠程登錄到伺服器觀察email log檔案/var/log/maillog的變化,因此我加了這一行到 /etc/sudoers,這樣我不需要經常登錄作為root來完成我的日常工作,改善了安全性。

2. sniffit

sniffit 是一個有名的網路連線埠探測器,你可以配置它在後台運行以檢測哪些Tcp/ip連線埠上用戶的輸入/輸出信息。

最常用的功能是攻擊者可以用它來檢測你的23(telnet)和110(pop3)連線埠上的數據傳送以輕鬆得到你的登錄口令和mail帳號密碼,sniffit基本上是被破壞者所利用的工具,但是既然想知道如何增強你的站點的安全性,首先你應該知曉闖入者們所使用的各種工具。

sniffit 的主頁在 http://reptile.rug.ac.be/~coder/sniffit/sniffit.html你能從那裡下載最新的版本,安裝是非常容易的,就在根目錄運行#tar xvfz sniff*解開所有檔案到對應目錄。

你能運行sniffit -i以互動式圖形界面查看所有在指定網路接口上的輸入/輸出信息。

如:為了得到所有用戶通過某接口a.b.c.d接收郵件時所輸入的pop3帳號和密碼,你能運行

#sniffit -p 110 -t a.b.c.d &

#sniffit -p 110 -s a.b.c.d &

記錄檔案放在目錄/usr/doc/sniffit*下面:

Log File根據訪問者的IP位址,隨機高端連線埠號和用來檢測的網路接口IP位址和檢測連線埠來命名。它利用了tcp/ip協定天生的虛弱性,因為普通的telnet和pop3所傳的用戶名和密碼信息都是明文,不帶任何方式的加密。 因此對telnet/ftp.你可以用ssh/scp來替代. sniffit檢測到的ssh/scp信息基本上是一堆亂碼,因此你不需要擔心ssh所傳送的用戶名和口令信息會被第三方所竊取。

3. ttysnoop(s)

ttysnoop是一個重定向對一個終端號的所有輸入/輸出到另一個終端的程式。目前我所知道的它的所在網站為http://uscan.cjb.net,但是始終連不上去,從其它途徑我得到了ttysnoop-0.12c-5 ,地址是http://rpmfind.net/linux/RPM/contrib/libc6/i386/ttysnoop-0.12c-5.i386.html這個版本好象還不能支持shadow password,安裝後你需要手動創建目錄/var/spool/ttysnoop測試這個程式是有趣的,下面是相關指令:

首先改/etc/inetd.conf中的in.telnetd默認調用login登錄程式為/sbin/ttysnoops,象下面這樣:

[Copy to clipboard] [ - ]

CODE:

[root@jephe /etc]# more inetd.conf | grep in.telnetd

telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -L /sbin/ttysnoops

更改後一定要運行killall -HUP inetd使之生效,確保不要使用陰影口令,用#pwunconv禁止陰影口令。

再編輯檔案/etc/snooptab默認配置就可以了。

[Copy to clipboard] [ - ]

CODE:

[root@jephe /etc]# more snooptab

ttyS1 /dev/tty7 login /bin/login

ttyS2 /dev/tty8 login /bin/login

* socket login /bin/login

------

最後,如果在某個終端上有人登錄進來(你可以用w命令查看它在哪個終端),如登錄終端設備為ttyp0,則你可以登錄進伺服器打入#/bin/ttysnoop ttyp0(提示輸入root口令,再次,上面提到的這個版本不支持陰影口令)以監視用戶的登錄視窗。

4. nmap

nmap 是用來對一個比較大的網路進行連線埠掃描的工具,它能檢測該伺服器有哪些tcp/ip連線埠目前正處於打開狀態。你可以運行它來確保已經禁止掉不該打開的不安全的連線埠號。

nmap的主頁在http://www.insecure.org/nmap/index.html

下面給出一個簡單的例子:

[Copy to clipboard] [ - ]

CODE:

[root@sh-proxy /etc]# /usr/local/bin/nmap public.sta.net.cn

Starting nmap V. 2.12 by Fyodor ([email protected], www.insecure.org/nmap/)

Interesting ports on public.sta.net.cn (202.96.199.97):

Port State Protocol Service

21 open tcp ftp

23 open tcp telnet

25 open tcp smtp

109 open tcp pop-2

110 open tcp pop-3

143 open tcp imap2

513 open tcp login

514 open tcp shell

7000 open tcp afs3-fileserver

Nmap run completed -- 1 IP address (1 host up) scanned in 15 seconds

第二部分

一 John the ripper

在Linux中,密碼以hash格式被存儲,你不能反向從該hash數據表中分析出密碼,但可以以一組單詞hash後和它進行比較,如相同則就猜測出密碼。故起一個很難被猜測的密碼是非常關鍵的。一般地你決不能用字典存在的某個單詞作為密碼,那是相當容易被猜測出來的。另外也不能用一些常見的有規則性的字母數字排列來作為密碼,以123abc等。

John the ripper是一個高效的易於使用的密碼猜測程式,其主頁在http://www.openwall.com/john/

下載tar.gz格式的for UNIX的程式,然後用tar xvfz john*.tar.gz解開到任一目錄下。進入src目錄,打入 make linux-x86-any-elf (我用redhat 6.1)後會在run目錄下生成幾個執行檔案,包括主程式john。現在要Crack密碼就運行./john /etc/passwd即可。

John也可以Crack由htpasswd 生成的用於驗證apache用戶的密碼,如果你用htpasswd -c apachepasswd user創建了一個用戶user,並生成了密碼,你也可以用john apachepasswd來進行猜測。John在猜測密碼時輸出在終端上,並把猜測出的密碼存於john.pot檔案中。

另一個password Cracker是大家知道的經典的Cracker. 主頁在http://www.users.dircon.co.uk/~crypto/

二.Logcheck

Logcheck是用來自動檢查系統安全入侵事件和非正常活動記錄的工具,它分析各種Linux log檔案,

象/var/log/messages, /var/log/secure,/var/log/maillog等等,然後生成一個可能有安全問題的問題報告自動傳送email給管理員。你能設定它基於每小時,或者每天用crond來自動運行。

logcheck工具的主頁在http://www.psionic.com/abacus/logcheck/下載後用tar xvfz logcheck*解開到一臨時目錄如/tmp下,然後用./make linux自動生成相應的檔案到/usr/local/etc,/usr/local/bin/等目錄下,你可能更改設定如傳送通知能誰的郵件帳號,默認傳送到root,你能設定root的郵件別名帳號到一批人,更改設定讓其忽略某些類型的訊息如你的郵件記錄檔案中的plug-gw,因為plug-gw做反向IP查找,若找不到則記錄一個警告訊息到/var/log/maillog,logcheck默認記錄下所有這些警告傳送給你,你可以通過設定忽略掉它們。

利用logcheck工具分析你的所有logfile,避免了你每天經常手動地檢查它們,節省了時間,提高了效率。

三. Tripwire

Tripwire 是一個用來檢驗檔案完整性的非常有用的工具,你能定義哪些檔案/目錄需要被檢驗,不過默認設定能滿足大多數的要求,它運行在四種模下:資料庫生成模式,資料庫更新模式,檔案完整性檢查,互動式資料庫更新。當初始化資料庫生成的時候,它生成對現有檔案的各種信息的資料庫檔案,萬一以後你的系統檔案或者各種配置檔案被意外地改變,替換,刪除,它將每天基於原始的資料庫對現有檔案進行比較發現哪些檔案被更改,你能根據email的結果判斷是否有系統入侵等意外事件。

Tripwire的主頁在 http://www.tripwiresecurity.com , tripwire-1.2.3的版本你能免費使用。如果你使用Redhat Linux 6.1,你也能得到最新的為6.1重建的Tripwire-1.2.3

(http://rufus.w3.org/linux/RPM/powertools/6.1/i386/tripwire-1.2-3.i386.html)當你手動更改了系統中的配置檔案或程式時,你能手動再次生成一次資料庫檔案,運行 tripwire-initialize 在當前目錄下創建databases目錄並在該目錄下生成新的系統資料庫檔案,然後cp到/var/spool/tripwire目錄中覆蓋舊的。

相關詞條

相關搜尋

熱門詞條

聯絡我們