Cracker入侵之前做的第一件事情就是刺探目標主機的信息,利用各種方法得到目標主機所提供服務的版本信息,從而判斷其是否存有漏洞??梢詫γ總€開放的端口進行相應的連接,通常這些服務程序會顯示自己的"banner",這樣就能直接獲知版本號,如ftp、telnet、sendmail等系統服務。通過這些返回的banner,依靠經驗或資料,判斷系統版本及服務的漏洞信息,從而發動入侵?,F在很多掃描器都具備了自動獲取banner的功能,這樣大大減輕了入侵者的工作量如nmap、portready等。將Linux偽裝成Windows主機,有助于減小被入侵的風險。下面筆者羅列一些更改其中典型網絡服務的Banner的方法。
Wu-ftp
用十六進制文本編輯器修改/usr/sbin/in.ftpd文件,找到如下幾行:
/var/log/lastlog
Could not write %.100s: %.100s
Version wu-2.6.1-16
改成
Microsoft FTP Service (Version 5.0)
或者
Serv-U FTP Server v4.0 for WinSock ready...
Telnet banner
編輯文件/etc/issue.net,找到類似這行(不同版本的Linux內容不太一樣):
Red Hat Linux release 8.0 (Psyche)
Kernel \r on an \m
改成
Microsoft Windows Version 5.00 (Build 2195)
Welcome to Microsoft Telnet Service
Telnet Server Build 5.00.99206.1
由于issue.net重啟后會自動恢復,為了保持這些偽造的信息,需要再編輯文件/etc/rc.local,在這些行前加“#”號,注釋掉恢復的功能:
# echo "" > /etc/issue
# echo "$R" >> /etc/issue
# echo "Kernel $(uname -r) on $a $SMP$(uname -m)" >> /etc/issue
# cp -f /etc/issue /etc/issue.net
# echo >> /etc/issue
Apache
在安裝Apache前,在源文件/src/include目錄下找到httpd.h頭文件。此文件定義了apache的版本信息,apache安裝時需要調用它。編輯http.h文件,找到如下幾行:
#define SERVER_BASEVENDOR "Apache Group"
#define SERVER_BASEPRODUCT "Apache"
#define SERVER_BASEREVISION "1.3.20"
可以根據自己的意愿改成其他信息,筆者改的是Microsoft-IIS/5.0。
SSH
編輯文件/etc/ssh/sshd_config,找到這行:
Banner /etc/issue.net
在此行前加#進行注釋就可以不顯示SSH的Banner。
Sendmail
在sendmail.mc文件中去掉$v、$z這兩個宏,并包含下面的內容:
define(`confSMTP_LOGIN_MSG',$j Sendmail Secure/Rabid;$b)
然后生成sendmail.cf文件:
#m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
如果sendmail.mc中沒有include(`/usr/share/sendmail-cf/m4/cf.m4')這一行就需要和Sendmail提供的預設的配置文件cf.m4一起使用來生成文件sendmail.cf:
#m4 /usr/share/sendmail-cf/m4/cf.m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
經過上述的幾個步驟,Linux系統的基本安全性能就得到了很大的增強。要得到最大化的安全性能,當然還要根據實際需求配置Apache等等,由于篇幅所限,本文不再進行敘述。關于Linux的安全,當然還有太多需要介紹。您如果還有其他好的經驗,也請發郵件給我們,與大家分享!