您好,登錄后才能下訂單哦!
如何判斷Linux系統是否被非法進入,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
對于在線運行的業務系統,安全性是一個至關重要的問題。服務器被非法進入最常見的表現有:由內向外發送大量數據包(被DDOS肉雞)、服務器資源被耗盡(被挖礦)、不正常的端口連接(反向shell)、服務器日志被惡意刪除等..排除Linux系統管理員操作不當的情況,如何檢測自己的系統是否被非法進入呢?下面跟大家簡單分享實用的幾個小技巧~
一、檢查系統日志
1.1 檢查系統登陸日志,統計IP重試登陸的次數。
對于惡意登陸的系統行為,在日志中會留下蛛絲馬跡,通過檢查系統登陸日志,統計重試登陸的次數,能看到哪些IP及哪些用戶在惡意登陸系統。
# lastb root | awk '{print $3}' | sort | uniq -c | sort -nr| more
說明:
lastb命令,該命令需要root權限,可以顯示所有登陸信息,也可以顯示指定用戶的信息,后面直接跟相關的用戶即可。
二、檢查系統用戶
對于非法進入行為,往往通過檢查系統用戶,可以發現一些蛛絲馬跡,比如有沒有異常新增用戶及提權用戶。通過對系統用戶的檢查,是檢測的重要方面。
2.1 查看是否有異常的系統用戶
cat /etc/passwd
2.2 檢查是否有新用戶尤其是UID和GID為0的用戶
awk -F":" '{if($3 == 0){print $1}}' /etc/passwd
2.3 檢查是否存在空口令賬戶
awk -F: '{if(length($2)==0) {print $1}}' /etc/passwd
三、檢查系統異常進程
對于被非法進入的系統,可以通過查看進程,確認有哪些異常非系統及非業務的進程在運行,通過對這些異樣進程的檢查,查找惡意程序的來源。
3.1 使用ps -ef命令查看進程
ps -ef
尤其注意UID為root的進程
3.2 查看該進程所打開的端口和文件
lsof -p pid
3.3 檢查隱藏進程
ps -ef | awk '{print $2}'| sort -n | uniq >1; ls /proc |sort -n|uniq >2;diff -y -W 40 1 2 說明:
lunux所有的進程在/proc均有記錄,需要注意,這里的信息是最詳細。
四、檢查系統異常文件
對于被非法進入的系統,通過檢查系統異常文件,可以追蹤非法進入的信息,比如檢查一下SUID的文件,一些空格文件等。
4.1 檢查一下 SUID的文件
# find / -uid 0 -perm 4000 -print
4.2 檢查大于10M的文件
# find / -size +10000k –print
4.3 檢查空格文件
# find / -name “…” –print # find / -name “.. ” –print # find / -name “. ” –print # find / -name ” ” –print
4.4 檢查系統中的core文件
# find / -name core -exec ls -l {} ()
五、檢查系統文件的完整性
系統文件的完整性是非法進入檢測的重要方面,尤其通過對一些常用系統命令的md5值的檢查,可以判斷系統是否被非法進入,比如ls,ping等 這些常用 的命令被惡意程序篡改后,我們在執行這些系統命令的時候,實際上在執行惡意程序。
5.1 檢查linux系統文件的完整性
尤其注意以下幾個目錄 /sbin,/bin,/usr/bin
例如: # whereis ls # md5sum /usr/bin/ls
當然也可以寫成腳本的形式,對批量生成系統文件md5值與正常系統做比對,如果md5值與正常系統不一樣。那說明你的系統可能被非法進入了。
5.2 利用工具AIDE檢查系統文件的完整性
通過手動檢查系統文件的md5方面,效率不是很高,可以通過AIDE軟件來輔助檢查系統文件的完整性,該軟件的具體使用方法詳見官方文檔
六、檢查網絡
網絡方面通過檢查網卡的是不是處于混雜模式,檢查系統中網絡監聽的端口,對于一些非系統,非業務的端口尤其是要重點關注。
6.1 檢查網卡模式
# ip link | grep PROMISC(正常網卡不該在promisc混雜模式,可能存在sniffer) 網卡處于混雜模式,這樣通過網卡的流量都會被監聽
6.2 檢查惡意程序開放的端口及打開的文件
#netstat -ntlup #lsof -i: 端口號
七、檢查系統計劃任務
系統的定時任務也是非法進入檢測的重要方面,有些惡意的程序通過系統的計劃任務,定時調度任務,通過對定時任務的檢查,可以發現一些被非法進入的重要信息。
# crontab –u root –l # cat /etc/crontab # ls /etc/cron.*
注意:
root和UID是0的schedule
八、檢查系統服務
8.1 centos 6版本
查看系統啟動的服務
# chkconfig —list
這個主要檢測的是啟動服務,目前在centos7以上都采用systemd 來管理相應的服務。Systemd是一個系統管理守護進程、工具和庫的集合,用于取代System V初始進程。Systemd的功能是用于集中管理和配置類UNIX系統。
查看所有的可用單元# systemctl list-unit-files
九、檢查rootkit
9.1 通過rkhunter檢查
通過rkhunter輸出的信息提示,是判斷系統是否被rootkit的要重要手段,除OK之外的提示是重點關注的對象。
# rkhunter -c
參數說明:
-c:檢查本地文件系統
9.2通過chkrootkit 檢查
# chkrootkit -q
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。