安全運維 Linux系統攻擊回溯

2022-06-23 01:27:15 字數 3304 閱讀 7051

入侵排查思路 (1)- 日誌分析

日誌分析

預設日誌路徑: /var/log

檢視日誌配置情況: more /etc/rsyslog.conf

重要日誌:

登入失敗記錄: /var/log/btmp

最後一次登入: /var/log/lastlog

登入成功記錄: /var/log/wtmp

登入日誌記錄: /var/log/secure

日誌分析常用命令:

grep -rn "

hello,world!

"cat input_file | tail -n + 1000 | head -n 2000(顯示1000-2999行)

find /etc -name init #在目錄/etc中查詢檔案init

sed -i '

153,$d

'.bash_history #刪除歷史操作記錄,只保留前153行

grep -c 5

foo file #顯示file檔案裡匹配foo那行以及上下5行

定位有多少ip在爆破主機的root賬號

grep

"failed password for root

" /var/log/secure | awk '

'| sort | uniq -c | sort -nr |more

爆破使用者名稱字典

grep

"failed password

" /var/log/secure|perl -e '

while($_=<>)'

|uniq -c | sort --nr

登入成功ip

grep

"accepted

" /var/log/secure | awk '

' | sort | uniq -c | sort -nr |more

登入成功的日期、使用者名稱、ip:

grep

"accepted

" /var/log/secure | awk '

'軟體安裝公升級解除安裝日誌:

more /var/log/yum.log

入侵排查思路(2)- 賬號安全

使用者資訊檔案: /etc/passwd

影子檔案: /etc/shadow

who #檢視當前登入使用者(tty本地登入,pts遠端登入)

w #檢視系統資訊,想知道某一時刻使用者的行為

入侵排查:

查詢特權使用者(uid為0): awk -f: '$3==0' /etc/passwd

查詢可以遠端登入的賬號資訊: awk '/\$1|\$6/' /etc/passwd

禁用或刪除多餘可疑的賬號:

usermod -l user #禁用賬號,賬號無法登入

userdel -r user #將刪除user使用者,並且將/home目錄下的user目錄一併刪除

入侵排查思路(3)- 歷史命令

root的歷史命令: history

其他賬號的歷史命令: /home各賬號目錄下的 .bash_history

歷史操作命令的清除: history -c

入侵排查:

進入使用者目錄:

cat .bash_history >> history.txt

入侵排查思路(4)- 埠&程序&開機啟動項

檢查異常埠:

使用netstat網路連線命令,分析可疑埠、ip、pid

netstat -antlp|more

檢查異常程序:

使用ps命令,分析程序

ps aux |grep pid

使用 netset 和 ps 等命令時,可以靈活配合 grep命令獲取資訊

netstat -anp | grep -i listen

lsof -i:port #程序和埠對應關係

ps -aux檢視程序資訊(ps -ef 對於**shell,更便於發現)

檢查開機啟動項:

系統預設執行級別: vi /etc/inittab

開機啟動配置檔案: /etc/rc.local

入侵排查:

啟動項檔案:

more /etc/rc.local /etc/rc.d/rc[0~6

].dls -l /etc/rc.d/rc3.d/定時任務

crontab -l 列出某個使用者cron服務的詳細內容

crontab -r 刪除某個使用者 cront任務(刪除所有的計畫任務)

crontab -e 使用編輯器編輯當前的crontab檔案

重點關注以下目錄是否存在惡意指令碼:

/var/spool/cron/*

/etc/crontab

/etc/cron.d/*

/etc/cron.daily/*

/etc/cron.hourly/*

/etc/cron.monthly/*

/etc/cron.weekly/

/etc/anacrontab

/var/spool/anacron/*

more /etc/cron.daily/* #檢視目錄下所有檔案

系統服務

服務自啟動:

修改 /etc/re.d/rc.local 檔案,加入 /etc/init.d/httpd start

查詢rpm包安裝的服務:

chkconfig --list #查詢服務自啟動狀態,可以看到所有的rpm包安裝的服務

ps aux | grep crond #檢視當前服務

系統在3和5級別下的啟動項

中文環境

chkconfig --list | grep "3:啟動\|5:啟動"

英文環境

chkconfig --list | grep "3:on\|5:on"

查詢原始碼包安裝的服務:

檢視服務安裝位置,一般在 /user/local/

搜尋 /etc/rc.d/init.d/ 檢視是否存在

檢查異常檔案

檢視敏感目錄,如 /tmp目錄下的檔案,同時注意隱藏資料夾,以「..」為名稱的資料夾具有隱藏屬性

得到發現webshell、遠控木馬的建立時間,找出同一時間建立的檔案

find /opt -iname "*" -atime 1 -type f #找出 /opt 下一天前訪問過的檔案

針對可疑檔案可以使用 stat進行建立修改時間

LINUX 安全運維 (一)

linux 安全非常重要!曲突徙薪!這個成語的意思是 一人家的廚房堆著大量柴禾,某人指出這樣危險,很容易著火,建議改善 彎曲 煙道,移走柴禾.但主人不聽.一日果真著火,四鄰趕來救援,主人房屋被焚,損失慘重,準備了豐盛食品招待四鄰,唯獨沒有請那個提建議的人.平時做好防禦工作,比出故障了要強吧!linu...

Linux安全運維命令

黑客再次擊中網際網路心臟 linux太符合rfc5961標準 所以出現linux tcp漏洞 的內容引發了業界對於linux安全性的思考,本文將linux安全運維經常用到的幾個命令介紹給大家。linux和最初玩的windows伺服器不一樣,linux下,除了管理面板搞定的東西,其他幾乎全部都是命令列...

Linux系統運維

linux系統運維 本書作者劉遄 liu chu n 從事於linux運維技術行業,高中時期便因興趣的驅使而較早地接觸到了linux系統並開始學習運維技術,並且在2012年獲得紅帽工程師rhce 6版本證書,在2015年初又分別獲得紅帽工程師rhce 7版本證書與紅帽架構師認證rhca頂級證書。儘管...