排查链接是否失效_Linux服务器入侵检测排查方法
1、賬號(hào)安全
基本使用:
1 )用 戶(hù) 信 息 文 件 /etc/passwd root:x:0:0:root:/root:/bin/bash
account:password:UID:GID:GECOS:directory:shell
用戶(hù)名:密碼:用戶(hù)ID:組ID:用戶(hù)說(shuō)明:家目錄:登陸之后shell 注:無(wú)密碼只允許本機(jī)登陸,遠(yuǎn)程不允許登陸
2)影子文件/etc/shadow
root:$6$oGs1PqhL2p3ZetrE$X7o7bzoouHQVSEmSgsYN5UD4.kMHx6qgbTqwNVC5oOAouXvcjQSt.Ft7ql1WpkopY0UV9ajBwUt1DpYxTCVvI/:16809:0:99999:7:::
用戶(hù)名:加密密碼:密碼最后一次修改日期:兩次密碼的修改時(shí)間間隔:密碼有效期:密碼修改到期到的警告天數(shù):密碼過(guò)期之
后的寬限天數(shù):賬號(hào)失效時(shí)間:保留
who//查看當(dāng)前登錄用戶(hù)(tty本地登陸pts遠(yuǎn)程登錄)
w //查看系統(tǒng)信息,想知道某一時(shí)刻用戶(hù)的行為
uptime //查看登陸多久、多少用戶(hù),負(fù)載
入侵排查:
1)查詢(xún)特權(quán)用戶(hù)特權(quán)用戶(hù)(uid 為0)
[root@localhost ~]# awk -F: '$3==0{print $1}' /etc/passwd
2)查詢(xún)可以遠(yuǎn)程登錄的帳號(hào)信息
[root@localhost ~]# awk '/$1|$6/{print $1}' /etc/shadow
3)除root帳號(hào)外,其他帳號(hào)是否存在sudo權(quán)限。如非管理需要,普通帳號(hào)應(yīng)刪除sudo權(quán)限[root@localhost ~]# more /etc/sudoers | grep -v "^#|^$" | grep "ALL=(ALL)" 4、禁用或刪除多余及可疑的帳號(hào)
usermod -L user禁用帳號(hào),帳號(hào)無(wú)法登錄,/etc/shadow第二欄為!開(kāi)頭
userdel user刪除user用戶(hù)
userdel -r user將刪除user用戶(hù),并且將/home目錄下的user目錄一并刪除
2、文件排查
1)敏感目錄的文件分析[類(lèi)/tmp 目錄,命令目錄/usr/bin /usr/sbin 等]
ls用來(lái)顯示目標(biāo)列表
2)查看 tmp 目錄下的文件:ls –alt /tmp/
3)查看開(kāi)機(jī)啟動(dòng)項(xiàng)內(nèi)容:ls -alt /etc/init.d/,/etc/init.d 是 /etc/rc.d/init.d的軟鏈接
基本使用:
系統(tǒng)運(yùn)行級(jí)別示意圖:
入侵排查:
啟動(dòng)項(xiàng)文件: more /etc/rc.local /etc/rc.d/rc[0~6].d ls -l /etc/rc.d/rc3.d
4)按時(shí)間排序查看指定目錄下文件:ls -alt | head -n 10
針對(duì)可疑文件可以使用 stat 進(jìn)行創(chuàng)建修改時(shí)間、訪(fǎng)問(wèn)時(shí)間的詳細(xì)查看,若修改時(shí)間距離事件日期接近,有線(xiàn)性關(guān)聯(lián),說(shuō)明可能被篡改或者其他。
(1) Access Time:簡(jiǎn)寫(xiě)為 atime,表示文件的訪(fǎng)問(wèn)時(shí)間。當(dāng)文件內(nèi)容被訪(fǎng)問(wèn)時(shí),更新這個(gè)時(shí)間。
(2) Modify Time:簡(jiǎn)寫(xiě)為 mtime,表示文件內(nèi)容的修改時(shí)間,當(dāng)文件的數(shù)據(jù)內(nèi)容被修改時(shí),更新這個(gè)時(shí)間。
(3) Change Time:簡(jiǎn)寫(xiě)為 ctime,表示文件的狀態(tài)時(shí)間,當(dāng)文件的狀態(tài)被修改時(shí),更新這個(gè)時(shí)間,例如文件的鏈接數(shù),大小,權(quán)限,Blocks 數(shù)。
5)查看歷史命令記錄文件~/.bash_history
查找~/.bash_history 命令執(zhí)行記錄,主要分析是否有賬戶(hù)執(zhí)行過(guò)惡意操作系統(tǒng);命令在 linux 系統(tǒng)里,只要執(zhí)行過(guò)命令的用戶(hù),那么在這個(gè)用戶(hù)的 HOME 目錄下,都會(huì)有一個(gè).bash_history 的文件記錄著這個(gè)用戶(hù)都執(zhí)行過(guò)什么命令;
那么當(dāng)安全事件發(fā)生的時(shí)候,我們就可以通過(guò)查看每個(gè)用戶(hù)所執(zhí)行過(guò)的命令,來(lái)分析一下這個(gè)用戶(hù)是否有執(zhí)行惡意命令,如果發(fā)現(xiàn)哪個(gè)用戶(hù)執(zhí)行過(guò)惡意命令, 那么我們就可以鎖定這個(gè)線(xiàn)索,去做下一步的排查。
基本使用:
通過(guò).bash_history查看帳號(hào)執(zhí)行過(guò)的系統(tǒng)命令
①root的歷史命令
histroy
②打開(kāi)/home各帳號(hào)目錄下的.bash_history,查看普通帳號(hào)的歷史命令
為歷史的命令增加登錄的IP地址、執(zhí)行命令時(shí)間等信息:
a)保存1萬(wàn)條命令
sed -i 's/^HISTSIZE=1000/HISTSIZE=10000/g' /etc/profile
b)在/etc/profile的文件尾部添加如下行數(shù)配置信息:
######jiagu history xianshi#########
USER_IP=`who -u am i 2>/dev/null | awk '{print $NF}' | sed -e 's/[()]//g'`
if [ "$USER_IP" = "" ]
then USER_IP=`hostname`
fi
export HISTTIMEFORMAT="%F %T $USER_IP `whoami` " shopt -s histappend
export PROMPT_COMMAND="history -a"
######### jiagu history xianshi ##########
c)source /etc/profile讓配置生效
生成效果: 12018-07-10 19:45:39 192.168.204.1 root source /etc/profile
③歷史操作命令的清除:history -c
注:此命令并不會(huì)清除保存在文件中的記錄,因此需要手動(dòng)刪除.bash_profile文件中的記錄。
入侵排查:
進(jìn)入用戶(hù)目錄下
cat .bash_history >> history.txt
6)查看操作系統(tǒng)用戶(hù)信息文件/etc/passwd
查找/etc/passwd 文件, /etc/passwd 這個(gè)文件是保存著這個(gè) linux 系統(tǒng)所有用戶(hù)的信息,通過(guò)查看這個(gè)文件,我們就可以嘗試查找有沒(méi)有攻擊者所創(chuàng)建的用戶(hù),或者存在異常的用戶(hù)。我們主要關(guān)注的是第 3、4 列的用戶(hù)標(biāo)識(shí)號(hào)和組標(biāo)識(shí)號(hào),和倒數(shù)一二列的用戶(hù)主目錄和命令解析程序。一般來(lái)說(shuō)最后一列命令解析程序如果是設(shè)置為 nologin 的話(huà),那么表示這個(gè)用戶(hù)是不能登錄的,所以可以結(jié)合我們上面所說(shuō)的 bash_history 文件的排查方法。首先在/etc/passwd 中查找命令解釋程序不是 nologin 的用戶(hù), 然后再到這些用戶(hù)的用戶(hù)主目錄里, 找到bash_history,去查看這個(gè)用戶(hù)有沒(méi)執(zhí)行過(guò)惡意命令。
/etc/passwd 中一行記錄對(duì)應(yīng)著一個(gè)用戶(hù),每行記錄又被冒號(hào)(:)分隔為 7 個(gè)字段, 其格式和具體含義如下:
用戶(hù)名:口令:用戶(hù)標(biāo)識(shí)號(hào):組標(biāo)識(shí)號(hào):注釋性描述:主目錄:登錄 Shell
7)查看新增文件
find:在指定目錄下查找文件
例:find ./ -mtime 0 -name "*.php"(查找 24 小時(shí)內(nèi)被修改的 php 文件)
find / -ctime 2(查找 72 小時(shí)內(nèi)新增的文件)
8)特殊權(quán)限的文件查看
查找 777 的權(quán)限的文件:find / *.jsp -perm 4777
9)隱藏的文件(以 "."開(kāi)頭的具有隱藏屬性的文件)
注:在文件分析過(guò)程中,手工排查頻率較高的命令是 find grep ls 核心目的是為了關(guān)聯(lián)推理出可疑文件;
3、端口、進(jìn)程排查
1)使用netstat 網(wǎng)絡(luò)連接命令,分析可疑端口、IP、PID
netstat -antlp|more
查看下pid所對(duì)應(yīng)的進(jìn)程文件路徑:運(yùn)行l(wèi)s -l /proc/$PID/exe或file /proc/$PID/exe($PID 為對(duì)應(yīng)的pid 號(hào))
netstat 用于顯示與 IP、TCP、UDP 和 ICMP 協(xié)議相關(guān)的統(tǒng)計(jì)數(shù)據(jù),一般用于檢驗(yàn)本機(jī)各端口的網(wǎng)絡(luò)連接情況。
選項(xiàng)參數(shù):
-a 顯示所有連線(xiàn)中的 Socket。
-n 直接使用 IP 地址,而不通過(guò)域名服務(wù)器。
-t 顯示 TCP 傳輸協(xié)議的連線(xiàn)狀況。
-u 顯示 UDP 傳輸協(xié)議的連線(xiàn)狀況。
-v 顯示指令執(zhí)行過(guò)程。
-p 顯示正在使用 Socket 的程序識(shí)別碼和程序名稱(chēng)。
-s 顯示網(wǎng)絡(luò)工作信息統(tǒng)計(jì)表。
2)根據(jù) netstat 定位出的 pid,使用 ps 命令,分析進(jìn)程
-a 代表 all。同時(shí)加上 x 參數(shù)會(huì)顯示沒(méi)有控制終端的進(jìn)程
-aux 顯示所有包含其他使用者的行程(ps -aux --sort -pcpu | less 根據(jù) cpt 使用率進(jìn)行排序)
-C 顯示某的進(jìn)程的信息
-axjf 以樹(shù)形結(jié)構(gòu)顯示進(jìn)程
ps aux | grep pid | grep –v grep
將 netstat 與 ps 結(jié)合:
4、日志排查
1)查看系統(tǒng)用戶(hù)登錄信息
a)使用 lastlog 命令,系統(tǒng)中所有用戶(hù)最近一次登錄信息。
b)使用 lastb 命令,用于顯示用戶(hù)錯(cuò)誤的登錄列表;
c)使用 last 命令,用于顯示用戶(hù)最近登錄信息(數(shù)據(jù)源為/var/log/wtmp,var/log/btmp);
utmp 文件中保存的是當(dāng)前正在本系統(tǒng)中的用戶(hù)的信息。
wtmp 文件中保存的是登錄過(guò)本系統(tǒng)的用戶(hù)的信息。
/var/log/wtmp 文 件 結(jié) 構(gòu) 和 /var/run/utmp 文 件 結(jié) 構(gòu) 一 樣 , 都 是 引 用
/usr/include/bits/utmp.h 中 的 struct utmp;
總結(jié)
以上是生活随笔為你收集整理的排查链接是否失效_Linux服务器入侵检测排查方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: android 模糊查询搜索框_彻底搞懂
- 下一篇: python 调用linux内核api_