第十九章 Linux網絡安全之經驗談(1 / 3)

第十九章 Linux網絡安全之經驗談

關於分區

一個潛在的黑客如果要攻擊你的Linux服務器,他首先就會嚐試緩衝區溢出。在過去的幾年中,以緩衝區溢出為類型的安全漏洞是最為常見的一種形式了。更為嚴重的是,緩衝區溢出漏洞占了遠程網絡攻擊的絕大多數,這種攻擊可以輕易使得一個匿名的Internet用戶有機會獲得一台主機的部分或全部的控製權!

為了防止此類攻擊,我們從安裝係統時就應該注意。如果用root分區紀錄數據,如log文件和email,就可能因為拒絕服務產生大量日誌或垃圾郵件,從而導致係統崩潰。所以建議為/var開辟單獨的分區,用來存放日誌和郵件,以避免root分區被溢出。最好為特殊的應用程序單獨開一個分區,特別是可以產生大量日誌的程序,還有建議為/home單獨分一個區,這樣他們就不能填滿/分區了,從而就避免了部分針對Linux分區溢出的惡意攻擊。

關於BIOS

記著要在BIOS設置中設定一個BIOS密碼,不接收軟盤啟動。這樣可以阻止不懷好意的人用專門的啟動盤啟動你的Linux係統,並避免別人更改BIOS設置,如更改軟盤啟動設置或不彈出密碼框直接啟動服務器等等。

關於口令

口令是係統中認證用戶的主要手段,係統安裝時默認的口令最小長度通常為5,但為保證口令不易被猜測攻擊,可增加口令的最小長度,至少等於8。為此,需修改文件/etc/login.defs中參數PASS_MIN_LEN(口令最小長度)。同時應限製口令使用時間,保證定期更換口令,建議修改參數PASS_MIN_DAYS(口令使用時間)。

關於Ping

既然沒有人能ping通你的機器並收到響應,你可以大大增強你的站點的安全性。你可以加下麵的一行命令到/etc/rc.d/rc.local,以使每次啟動後自動運行,這樣就可以阻止你的係統響應任何從外部/內部來的ping請求。

echo1>/proc/sys/net/ipv4/icmp_echo_ignore_all

關於Telnet

如果你希望用戶用Telnet遠程登錄到你的服務器時不要顯示操作係統和版本信息(可以避免有針對性的漏洞攻擊),你應該改寫/etc/inetd.conf中的一行象下麵這樣:

telnetstreamtcpnowaitroot/usr/sbin/tcpdin.telnetd-h

加-h標誌在最後使得telnet後台不要顯示係統信息,而僅僅顯示login。

關於特權賬號

禁止所有默認的被操作係統本身啟動的且不需要的帳號,當你第一次裝上係統時就應該做此檢查,Linux提供了各種帳號,你可能不需要,如果你不需要這個帳號,就移走它,你有的帳號越多,就越容易受到攻擊。

為刪除你係統上的用戶,用下麵的命令:userdelusername

為刪除你係統上的組用戶帳號,用下麵的命令:groupdelusername

在終端上打入下麵的命令刪掉下麵的特權用賬號:

userdeladm

userdellp

userdelsync

userdelshutdown

userdelhalt

userdelmail

如果你不用sendmail服務器,就刪除這幾個帳號:

userdelnews

userdeluucp

userdeloperator

userdelgames

如果你不用Xwindows服務器,就刪掉這個帳號。

userdelgopher

如果你不允許匿名FTP,就刪掉這個用戶帳號:

userdelftp

關於su命令

如果你不想任何人能夠su為root的話,你應該編輯/etc/pam.d/su文件,加下麵幾行:

authsufficient/lib-

/security/pam_rootok-