安全|網路
關於分區
一個潛在的駭客如果要攻擊你的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請求。
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
關於Telnet
如果你希望使用者用Telnet遠程登入到你的伺服器時不要顯示作業系統和版本資訊(可以避免有針對性的漏洞攻擊),你應該改寫/etc/inetd.conf中的一行象下面這樣:
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h
加-h標誌在最後使得telnet後台不要顯示系統資訊,而僅僅顯示login。
關於特權帳號
禁止所有預設的被作業系統本身啟動的且不需要的帳號,當你第一次裝上系統時就應該做此檢查,Linux提供了各種帳號,你可能不需要,如果你不需要這個帳號,就移走它,你有的帳號越多,就越容易受到攻擊。
為刪除你系統上的使用者,用下面的命令:userdel username
為刪除你系統上的組使用者帳號,用下面的命令:groupdel username
在終端上打入下面的命令刪掉下面的特權用帳號:
userdel adm