日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux 怎么查看谁登过这台服务器,如何查看linux服务器是否被入侵

發布時間:2023/12/31 linux 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 怎么查看谁登过这台服务器,如何查看linux服务器是否被入侵 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

對于linux服務器來說,安全性是非常重要的問題。而服務器被入侵最常見的表現有:由內向外發送大量數據包(被DDOS肉雞)、服務器資源被耗盡(被挖礦)、不正常的端口連接(反向shell)、服務器日志被惡意刪除等。這里就跟大家講解一下如何查看linux服務器是否被入侵。

如何查看linux服務器是否被入侵

1、賬號安全

基本使用:

1 )用 戶 信 息 文 件 /etc/passwd root:x:0:0:root:/root:/bin/bash

account:password:UID:GID:GECOS:directory:shell

用戶名:密碼:用戶ID:組ID:用戶說明:家目錄:登陸之后shell 注:無密碼只允許本機登陸,遠程不允許登陸

2)影子文件/etc/shadow

root:$6$oGs1PqhL2p3ZetrE$X7o7bzoouHQVSEmSgsYN5UD4.kMHx6qgbTqwNVC5oOAouXvcjQSt.Ft7ql1WpkopY0UV9ajBwUt1DpYxTCVvI/:16809:0:99999:7:::

用戶名:加密密碼:密碼最后一次修改日期:兩次密碼的修改時間間隔:密碼有效期:密碼修改到期到的警告天數:密碼過期之

后的寬限天數:賬號失效時間:保留

who//查看當前登錄用戶(tty本地登陸pts遠程登錄)

w //查看系統信息,想知道某一時刻用戶的行為

uptime //查看登陸多久、多少用戶,負載

入侵排查:

1)查詢特權用戶特權用戶(uid 為0)

[root@localhost ~]# awk -F: '$3==0{print $1}' /etc/passwd

2)查詢可以遠程登錄的帳號信息

[root@localhost ~]# awk '/\$1|\$6/{print $1}' /etc/shadow

3)除root帳號外,其他帳號是否存在sudo權限。如非管理需要,普通帳號應刪除sudo權限[root@localhost ~]# more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)" 4、禁用或刪除多余及可疑的帳號

usermod -L user禁用帳號,帳號無法登錄,/etc/shadow第二欄為!開頭

userdel user刪除user用戶

userdel -r user將刪除user用戶,并且將/home目錄下的user目錄一并刪除

2、文件排查

1)敏感目錄的文件分析[類/tmp 目錄,命令目錄/usr/bin /usr/sbin 等]

ls用來顯示目標列表

2)查看 tmp 目錄下的文件:ls –alt /tmp/

Linux服務器入侵檢測排查方法

3)查看開機啟動項內容:ls -alt /etc/init.d/,/etc/init.d 是 /etc/rc.d/init.d的軟鏈接

入侵排查:

啟動項文件: more /etc/rc.local /etc/rc.d/rc[0~6].d ls -l /etc/rc.d/rc3.d

4)按時間排序查看指定目錄下文件:ls -alt | head -n 10

針對可疑文件可以使用 stat 進行創建修改時間、訪問時間的詳細查看,若修改時間距離事件日期接近,有線性關聯,說明可能被篡改或者其他。

(1) Access Time:簡寫為 atime,表示文件的訪問時間。當文件內容被訪問時,更新這個時間。

(2) Modify Time:簡寫為 mtime,表示文件內容的修改時間,當文件的數據內容被修改時,更新這個時間。

(3) Change Time:簡寫為 ctime,表示文件的狀態時間,當文件的狀態被修改時,更新這個時間,例如文件的鏈接數,大小,權限,Blocks 數。

5)查看歷史命令記錄文件~/.bash_history

查找~/.bash_history 命令執行記錄,主要分析是否有賬戶執行過惡意操作系統;命令在 linux 系統里,只要執行過命令的用戶,那么在這個用戶的 HOME 目錄下,都會有一個.bash_history 的文件記錄著這個用戶都執行過什么命令;

那么當安全事件發生的時候,我們就可以通過查看每個用戶所執行過的命令,來分析一下這個用戶是否有執行惡意命令,如果發現哪個用戶執行過惡意命令, 那么我們就可以鎖定這個線索,去做下一步的排查。

基本使用:

通過.bash_history查看帳號執行過的系統命令

①root的歷史命令

histroy

②打開/home各帳號目錄下的.bash_history,查看普通帳號的歷史命令

為歷史的命令增加登錄的IP地址、執行命令時間等信息:

a)保存1萬條命令

sed -i 's/^HISTSIZE=1000/HISTSIZE=10000/g' /etc/profile

b)在/etc/profile的文件尾部添加如下行數配置信息:

######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

注:此命令并不會清除保存在文件中的記錄,因此需要手動刪除.bash_profile文件中的記錄。

入侵排查:

進入用戶目錄下

cat .bash_history >> history.txt

6)查看操作系統用戶信息文件/etc/passwd

查找/etc/passwd 文件, /etc/passwd 這個文件是保存著這個 linux 系統所有用戶的信息,通過查看這個文件,我們就可以嘗試查找有沒有攻擊者所創建的用戶,或者存在異常的用戶。我們主要關注的是第 3、4 列的用戶標識號和組標識號,和倒數一二列的用戶主目錄和命令解析程序。一般來說最后一列命令解析程序如果是設置為 nologin 的話,那么表示這個用戶是不能登錄的,所以可以結合我們上面所說的 bash_history 文件的排查方法。首先在/etc/passwd 中查找命令解釋程序不是 nologin 的用戶, 然后再到這些用戶的用戶主目錄里, 找到bash_history,去查看這個用戶有沒執行過惡意命令。

/etc/passwd 中一行記錄對應著一個用戶,每行記錄又被冒號(:)分隔為 7 個字段, 其格式和具體含義如下:

用戶名:口令:用戶標識號:組標識號:注釋性描述:主目錄:登錄 Shell

7)查看新增文件

find:在指定目錄下查找文件

例:find ./ -mtime 0 -name "*.php"(查找 24 小時內被修改的 php 文件)

find / -ctime 2(查找 72 小時內新增的文件)

8)特殊權限的文件查看

查找 777 的權限的文件:find / *.jsp -perm 4777

9)隱藏的文件(以 "."開頭的具有隱藏屬性的文件)

注:在文件分析過程中,手工排查頻率較高的命令是 find grep ls 核心目的是為了關聯推理出可疑文件;

3、端口、進程排查

1)使用netstat 網絡連接命令,分析可疑端口、IP、PID

netstat -antlp|more

查看下pid所對應的進程文件路徑:運行ls -l /proc/$PID/exe或file /proc/$PID/exe($PID 為對應的pid 號)

netstat 用于顯示與 IP、TCP、UDP 和 ICMP 協議相關的統計數據,一般用于檢驗本機各端口的網絡連接情況。

選項參數:

-a 顯示所有連線中的 Socket。

-n 直接使用 IP 地址,而不通過域名服務器。

-t 顯示 TCP 傳輸協議的連線狀況。

-u 顯示 UDP 傳輸協議的連線狀況。

-v 顯示指令執行過程。

-p 顯示正在使用 Socket 的程序識別碼和程序名稱。

-s 顯示網絡工作信息統計表。

2)根據 netstat 定位出的 pid,使用 ps 命令,分析進程

-a 代表 all。同時加上 x 參數會顯示沒有控制終端的進程

-aux 顯示所有包含其他使用者的行程(ps -aux --sort -pcpu | less 根據 cpt 使用率進行排序)

-C 顯示某的進程的信息

-axjf 以樹形結構顯示進程

ps aux | grep pid | grep –v grep

4、日志排查

1)查看系統用戶登錄信息

a)使用 lastlog 命令,系統中所有用戶最近一次登錄信息。

b)使用 lastb 命令,用于顯示用戶錯誤的登錄列表;

c)使用 last 命令,用于顯示用戶最近登錄信息(數據源為/var/log/wtmp,var/log/btmp);

utmp 文件中保存的是當前正在本系統中的用戶的信息。

wtmp 文件中保存的是登錄過本系統的用戶的信息。

/var/log/wtmp 文 件 結 構 和 /var/run/utmp 文 件 結 構 一 樣 , 都 是 引 用

/usr/include/bits/utmp.h 中 的 struct utmp;

關于如何查看linux服務器是否被入侵就為大家介紹到這里,如果您的linux服務器出現了一些異常的現象,應該第一時間就根據上面介紹的檢查方法逐一排查,盡早解決入侵問題才能避免遭受更大的損失。如果您對于服務器被入侵的問題無法自己解決,也可以向安全狗尋求技術支持,我們會安排專業的安全技術團隊為您解決。

總結

以上是生活随笔為你收集整理的linux 怎么查看谁登过这台服务器,如何查看linux服务器是否被入侵的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。