常用的Linux網(wǎng)絡(luò)安全工具簡介
簡介:
本文引用地址:http://www.ex-cimer.com/article/201610/305588.htm盡管各種版本的Linux distribution 附帶了很多開放源代碼的自由軟件,但是仍然有大量的有用的工具沒有被默認(rèn)包括在它們的安裝光盤內(nèi),特別是有一些可以增強(qiáng)Linux網(wǎng)絡(luò)安全的工具包,它們大多也是開放源的自由軟件。
這里簡單地介紹一下幾個(gè)增強(qiáng)Linux網(wǎng)絡(luò)安全的工具。
1. sudo
sudo是系統(tǒng)管理員用來允許某些用戶以root身份運(yùn)行部分/全部系統(tǒng)命令的程序。一個(gè)明顯的用途是增強(qiáng)了站點(diǎn)的安全性,如果你需要每天以root身份做一些日常工作,經(jīng)常執(zhí)行一些固定的幾個(gè)只有root身份才能執(zhí)行的命令,那么用sudo對你是非常適合的。
sudo的主頁在:http://www.courtesan.com/courtesan/products/sudo/
以Redhat 為例,下面介紹一下安裝及設(shè)置過程:
首先,你能從sudo主頁上下載for Redhat Linux的rpm package.
它在ftp://ftp.freshmeat.net/pub/rpms/sudo/
當(dāng)前最新的穩(wěn)定版本1.5.9p4。
執(zhí)行#rpm -ivh sudo* 進(jìn)行安裝,然后用/usr/sbin/visudo編輯/etc/sudoers文件。如果系統(tǒng)提示你找不到/usr/bin/vi但實(shí)際上你在目錄/bin下有vi程序,你需要ln -sf /bin/vi /usr/bin/vi為 vi 在/usr/bin下創(chuàng)建符號鏈接。(注:我在Redhat 6.1上遇到,Redhat 5.x上沒有此問題)
另外,如果出現(xiàn)某些其它錯(cuò)誤,你可能還需要#chmod 700 /var/run/sudo
下面是我的/etc/sudoers文件例子:
[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
-----------
既然我經(jīng)常需要遠(yuǎn)程登錄到服務(wù)器觀察email log文件/var/log/maillog的變化,因此我加了這一行到 /etc/sudoers,這樣我不需要經(jīng)常登錄作為root來完成我的日常工作,改善了安全性。
補(bǔ)充說明我覺得這主要可以防止sniffit,后門程序當(dāng)然sudo沒有被后門的
2. Sniffit
sniffit 是一個(gè)有名的網(wǎng)絡(luò)端口探測器,你可以配置它在后臺運(yùn)行以檢測哪些Tcp/ip端口上用戶的輸入/輸出信息。
最常用的功能是攻擊者可以用它來檢測你的23(telnet)和110(pop3)端口上的數(shù)據(jù)傳送以輕松得到你的登錄口令和mail帳號密碼,sniffit基本上是被破壞者所利用的工具,但是既然想知道如何增強(qiáng)你的站點(diǎn)的安全性,首先你應(yīng)該知曉闖入者們所使用的各種工具。
sniffit 的主頁在 http://reptile.rug.ac.be/~coder/sniffit/sniffit.html
你能從那里下載最新的版本,安裝是非常容易的,就在根目錄運(yùn)行#tar xvfz sniff*
解開所有文件到對應(yīng)目錄。
你能運(yùn)行sniffit -i以交互式圖形界面查看所有在指定網(wǎng)絡(luò)接口上的輸入/輸出信息。如:為了得到所有用戶通過某接口a.b.c.d接收郵件時(shí)所輸入的pop3帳號和密碼,你能運(yùn)行
#sniffit -p 110 -t a.b.c.d
#sniffit -p 110 -s a.b.c.d
記錄文件放在目錄/usr/doc/sniffit*下面:
log file根據(jù)訪問者的IP地址,隨機(jī)高端端口號和用來檢測的網(wǎng)絡(luò)接口IP地址和檢測端口來命名。它利用了tcp/ip協(xié)議天生的虛弱性,因?yàn)槠胀ǖ膖elnet和pop3所傳的用戶名和密碼信息都是明文,不帶任何方式的加密。 因此對telnet/ftp.你可以用ssh/scp來替代. sniffit檢測到的ssh/scp信息基本上是一堆亂碼,因此你不需要擔(dān)心ssh所傳送的用戶名和口令信息會被第三方所竊取。
補(bǔ)充如果是只抓口令的會我覺得hunt,linsniff.c好用一些另要注意一些反sniffit的程序
如antisniffit
3. ttysnoop(s)
ttysnoop是一個(gè)重定向?qū)σ粋€(gè)終端號的所有輸入/輸出到另一個(gè)終端的程序。目前我所知道的它的所在網(wǎng)站為http://uscan.cjb.net,但是始終連不上去,從其它途徑我得到了ttysnoop-0.12c-5 ,地址是http://rpmfind.net/linux/RPM/con ... p-0.12c-5.i386.html這個(gè)版本好象還不能支持shadow password,安裝后你需要手動創(chuàng)建目錄/var/spool/ttysnoop測試這個(gè)程序是有趣的,下面是相關(guān)指令:首先改/etc/inetd.conf中的in.telnetd默認(rèn)調(diào)用login登錄程序?yàn)?sbin/ttysnoops,象下面這樣:
[root@jephe /etc]# more inetd.conf | grep in.telnetd
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -L /sbin/ttysnoops
更改后一定要運(yùn)行killall -HUP inetd使之生效
確保不要使用陰影口令,用#pwunconv禁止陰影口令。
再編輯文件/etc/snooptab
默認(rèn)配置就可以了。
[root@jephe /etc]# more snooptab
ttyS1 /dev/tty7 login /bin/login
ttyS2 /dev/tty8 login /bin/login
* socket login /bin/login
------
最后,如果在某個(gè)終端上有人登錄進(jìn)來(你可以用w命令查看它在哪個(gè)終端),如登錄終端設(shè)備為ttyp0,則你可以登錄進(jìn)服務(wù)器打入#/bin/ttysnoop ttyp0(提示輸入root口令,再次,上面提到的這個(gè)版本不支持陰影口令)以監(jiān)視用戶的登錄窗口。
沒有用過,我想寫還是有一定管理作用的
4. nmap
nmap 是用來對一個(gè)比較大的網(wǎng)絡(luò)進(jìn)行端口掃描的工具,它能檢測該服務(wù)器有哪些tcp/ip端口目前正處于打開狀態(tài)。你可以運(yùn)行它來確保已經(jīng)禁止掉不該打開的不安全的端口號。nmap的主頁在http://www.insecure.org/nmap/index.html
下面給出一個(gè)簡單的例子:
[root@sh-proxy /etc]# /usr/local/bin/nmap public.sta.net.cn
Starting nmap V. 2.12 by Fyodor (fyodor@dhp.com, www.insecure.org/nmap/)
Interesting ports on public.sta.net.cn (202.96.199.97):
評論