無論你是Linux的普通案頭使用者還是管理多個伺服器的系統管理員,你都面臨著同樣的問題:日益增加的各種威脅。Linux是一個開放式系統,可以在網路上找到許多現成的程式和工具,這既方便了使用者,也方便了駭客,因為他們也能很容易地找到程式和工具來潛入Linux系統,或者盜取Linux系統上的重要訊息。
“知己知彼,百戰不殆”。作為一個好的系統管理者,要保障整個系統的安全運行.最好的方法是瞭解攻擊的工作原理和機制,瞭解攻擊中使用了哪些工具,如何操作入侵等等。並知道如何從部署linux來降低風險。
一、蛛絲馬跡:從日誌著手
日誌記錄了系統每天發生的事情,可以通過他來檢查錯誤發生的原因或者攻擊者留下的痕迹,還可以即時的監測系統狀態,監測和追蹤侵入者等等。所以對於Linux系統而言,日誌非常重要,最好單獨建立一個Log Service器來存放日誌。
TIPS:在Linux系統中,有三個主要的日誌子系統: (1)連線時間日誌。由多個程式執行,把紀錄寫入到“/var/log/wtmp”和/“var/run/utmp”,Login等程式更新Wtmp和Utmp檔案,使系統管理員能夠跟蹤誰在何時登入到系統。
(2)由系統核心執行的進程統計。當一個進程終止時,往統計檔案中寫一個紀錄。進程統計的目的是為系統中的基本服務提供命令使用統計。
(3)錯誤記錄檔。由Syslogd(8)執行,各種系統守護進程、使用者程式和核心向檔案“/var/log/messages”報告值得注意的事件。另外有許多UNIX程式建立日誌。像HTTP和FTP這樣提供網路服務的伺服器也保持詳細的日誌。
從攻擊角度而言,伺服器上的安全檔案十分重要,若你關閉外部網路對你的伺服器的訪問,攻擊者總是試圖串連伺服器上的若干個連接埠,但是由於伺服器關閉了Inetd啟動的所有服務,所以LOG系統記錄下了這些訪問拒絕。常用的記錄檔如下: access-log 紀錄HTTP/web的傳輸 acct/pacct 紀錄使用者命令 aculog 紀錄MODEM的活動 btmp 紀錄失敗的紀錄 lastlog 最近幾次成功登入和最後一次不成功的登入 messages 從syslog中記錄資訊 sudolog 紀錄使用sudo發出的命令 sulog 紀錄使用su命令的使用 syslog 從syslog中記錄資訊 utmp 紀錄當前登入的每個使用者 wtmp 使用者每次登入進入和退出時間的永久紀錄 xferlog 紀錄FTP會話
二、亡羊補牢:加強防衛
一方面要積極尋找本作業系統的常見漏洞並及時升級廠商所公布的補丁。比如,可以修改Inetd.conf檔案以關閉某些服務,重新啟動後再用NMAP掃描,在攻擊者發現其以前更早的發現自己的系統的漏洞,並加以彌補。 另一方面要加強密碼保護。攻擊密碼的手段主要有:字典攻擊(Dictionaryattack)、混合攻擊(Hybridattack)、蠻力攻擊(Bruteforceattack)。最好的防衛方法便是嚴格控制進入特權,即使用有效密碼。主要包括密碼應當遵循字母、數字、大小寫(因為Linux對大小寫是有區分)混合使用的規則,如加入“#”或“%”或“$”這樣的特殊字元以添加複雜性。
1.保持最新的系統核心
由於Linux流通渠道很多,而且經常有更新的程式和系統補丁出現,因此,為了加強系統安全,一定要經常更新系統核心。
Kernel是Linux作業系統的核心,它常駐記憶體,用於載入作業系統的其他部分,並實現作業系統的準系統。由於Kernel控制電腦和網路的各種功能,因此,它的安全性對整個系統安全至關重要。
早期的Kernel版本存在許多眾所周知的安全性漏洞,而且也不太穩定,只有2.0.x以上的版本才比較穩定和安全,新版本的運行效率也有很大改觀。在設定Kernel的功能時,只選擇必要的功能,千萬不要所有功能照單全收,否則會使Kernel變得很大,既佔用系統資源,也給駭客留下可乘之機。
在Internet上常常有最新的安全Hotfix,Linux系統管理員應該訊息靈通,經常光顧安全新聞群組,查閱新的Hotfix。
2.增強安全防護工具
SSH是安全套接層的簡稱,它是可以安全地用來取代rlogin、rsh和rcp等公用程式的一套程式組。SSH採用公開密鑰技術對網路上兩台主機之間的通訊資訊加密,並且用其密鑰充當身分識別驗證的工具。
由於SSH將網路上的資訊加密,因此它可以用來安全地登入到遠程主機上,並且在兩台主機之間安全地傳送資訊。實際上,SSH不僅可以保障Linux主機之間的安全通訊,Windows使用者也可以通過SSH安全地串連到Linux伺服器上。
很多Linux發行版都包含一些非常使用的小工具,lsof就是其中一個。Lsof能列出當前系統開啟的所有檔案。在linux環境下,任何事物都以檔案的形式存在,通過檔案不僅僅可以訪問常規資料,還可以訪問網路連接和硬體。通過lsof工具能夠查看哪些進程正在使用哪些連接埠,它的進程ID以及是誰在運行它。如果你從中發現了一些異常,那麼你肯定值得仔細檢查一番。
3.限制超級使用者的權力
我們在前面提到,root是Linux保護的重點,由於它權力無限,因此最好不要輕易將超級使用者授權出去。但是,有些程式的安裝和維護工作必須要求有超級使用者的許可權,在這種情況下,可以利用其他工具讓這類使用者有部分超級使用者的許可權。Sudo就是這樣的工具。
Sudo程式允許一般使用者經過組態設定後,以使用者自己的密碼再登入一次,取得超級使用者的許可權,但只能執行有限的幾個指令。
查看本欄目更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/Linux/