Linux系統安全保護
一、蛛絲馬跡:從日誌著手
日誌記錄了系統每天發生的事情,可以通過他來檢查錯誤發生的原因或者攻擊者留下的痕跡,還可以實時的監測系統狀態,監測和追蹤侵入者等等。所以對於Linux系統而言,日誌非常重要,最好單獨建立一個日誌伺服器來存放日誌。
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上常常有最新的安全修補程式,Linux系統管理員應該訊息靈通,經常光顧安全新聞組,查閱新的修補程式。
2.增強安全防護工具
SSH是安全套接層的簡稱,它是可以安全地用來取代rlogin、rsh和rcp等公用程式的一套程式組。SSH採用公開金鑰技術對網路上兩臺主機之間的通訊資訊加密,並且用其金鑰充當身份驗證的工具。
由於SSH將網路上的資訊加密,因此它可以用來安全地登入到遠端主機上,並且在兩臺主機之間安全地傳送資訊。實際上,SSH不僅可以保障Linux主機之間的安全通訊,Windows使用者也可以通過SSH安全地連線到Linux伺服器上。
很多Linux發行版都包含一些非常使用的小工具,lsof就是其中一個。Lsof能列出當前系統開啟的所有檔案。在linux環境下,任何事物都以檔案的形式存在,通過檔案不僅僅可以訪問常規資料,還可以訪問網路連線和硬體。通過lsof工具能夠檢視哪些程式正在使用哪些埠,它的程式ID以及是誰在執行它。如果你從中發現了一些異常,那麼你肯定值得仔細檢查一番。
3.限制超級使用者的權力
我們在前面提到,root是Linux保護的重點,由於它權力無限,因此最好不要輕易將超級使用者授權出去。但是,有些程式的安裝和維護工作必須要求有超級使用者的許可權,在這種情況下,可以利用其他工具讓這類使用者有部分超級使用者的許可權。Sudo就是這樣的工具。
Sudo程式允許一般使用者經過組態設定後,以使用者自己的密碼再登入一次,取得超級使用者的許可權,但只能執行有限的幾個指令。
4.設定使用者賬號的安全等級
除密碼之外,使用者賬號也有安全等級,這是因為在Linux上每個賬號可以被賦予不同的許可權,因此在建立一個新使用者ID時,系統管理員應該根據需要賦予該賬號不同的許可權,並且歸併到不同的使用者組中。
在Linux系統上的tcpd中,可以設定允許上機和不允許上機人員的名單。其中,允許上機人員名單在/etc/hosts.allow中設定,不允許上機人員名單在/etc/hosts.deny中設定。設定完成之後,需要重新啟動inetd程式才會生效。此外,Linux將自動把允許進入或不允許進入的結果記錄到/rar/log/secure檔案中,系統管理員可以據此查出可疑的進入記錄。
每個賬號ID應該有專人負責。在企業中,如果負責某個ID的職員離職,管理員應立即從系統中刪除該賬號。很多入侵事件都是借用了那些很久不用的賬號。
在使用者賬號之中,黑客最喜歡具有root許可權的賬號,這種超級使用者有權修改或刪除各種系統設定,可以在系統中暢行無阻。因此,在給任何賬號賦予root許可權之前,都必須仔細考慮。
Linux系統中的/etc/securetty檔案包含了一組能夠以root賬號登入的終端機名稱。例如,在RedHatLinux系統中,該檔案的初始值僅允許本地虛擬控制檯(rtys)以root許可權登入,而不允許遠端使用者以root許可權登入。最好不要修改該檔案,如果一定要從遠端登入為root許可權,最好是先以普通賬號登入,然後利用su命令升級為超級使用者。
使用口令老化。口令老化一種增強的系統口令生命期認證機制,雖然它會一定程式的削弱使用者使用的便利性,但是它能夠確保使用者的口令定期更換,這是一種非常好的安全措施。因此,如果一個帳戶受到了黑客的攻擊並且沒有被發現,但是在下一個密碼更改週期,他就不能再訪問該帳號了。
三、反擊:從系統開始
攻擊者具有對Linux伺服器的全部控制權,可以在任何時刻都能夠完全關閉甚至毀滅此網路。可以採取的反擊措施有:備份重要的關鍵資料;改變系統中所有口令,通知使用者更新口令;隔離該網段,使攻擊行為僅出現在一個小範圍內;允許行為繼續進行。如有可能,不要急於把攻擊者趕出系統,爭取收集證據;進行各種嘗試,識別出攻擊源
相關文章
- 用日誌系統保護Linux安全Linux
- Linux的系統的安全如何保障?保護Linux系統安全的九個常用方法Linux
- 19-作業系統安全保護作業系統
- Linux作業系統安全必要保護措施例項(轉)Linux作業系統
- 保護Solaris系統安全小竅門(轉)
- 保護企業系統中的程式碼安全
- 小心設定啟動項保護Windows系統安全Windows
- 淺談資料庫系統安全保護機制資料庫
- 視訊通訊保障系統為‘救護車安全保駕護航’
- LINUX的系統核心空間的保護(轉)Linux
- 自我保護 菜鳥系統安全自檢手冊(轉)
- Linux系統:保證資料安全落盤Linux
- 保護工控系統網路安全的關鍵三步
- 保護網站安全網站
- 呼叫系統螢幕保護 (轉)
- Linux網路安全策略和保護措施Linux
- Zoho CRM系統保護使用者隱私和資料安全
- 交易所開發系統最主要的要能保護交易安全
- 保護系統 用資料庫加密實現資料的安全資料庫加密
- Windows8系統保護的作用Windows
- 用 Tails 1.4 Linux 系統來保護隱私和保持匿名AILinux
- 詳解Linux作業系統的核心空間保護(轉)Linux作業系統
- windows10系統開啟系統保護的方法Windows
- 保護Linux伺服器安全的四個要點!Linux伺服器
- .net程式混淆、安全、保護、加密加密
- 千兆應用入侵防護系統保護解決方案(轉)
- win10如何禁用增強保護_win10怎麼禁用系統保護Win10
- 阿里安全在國際頂會分享蘋果系統核心防禦增強機制 保護使用者系統安全阿里蘋果
- 【步驟】如何辦理資訊系統安全等級保護備案證明?
- Win10系統怎麼設定bios密碼保護電腦安全Win10iOS密碼
- 中華人民共和國計算機資訊系統安全保護條例 (轉)計算機
- 維護網路安全保護人民利益
- 如何保護電子郵件安全
- Spring Boot安全保護使用教程Spring Boot
- 資料安全與PostgreSQL:保護策略SQL
- 保護資料庫的安全(二)資料庫
- 保護資料庫的安全(一)資料庫
- 保護Oracle資料庫的安全Oracle資料庫