|
|
楼主 |
发表于 2022-10-30 00:19:15
|
显示全部楼层
常规检查------系统版本信息 I( n' j4 F* E/ ~
' q W) b' N% e: b& f6 p! k# O复制代码8 c4 G# Z: `/ ]8 _% V/ A
$ lsb_release -a- O, p1 _8 Y4 ~, l( W0 ^# m
LSB Version: core-2.0-ia32:core-2.0-noarch:core-3.core...% U9 k& J4 E/ W8 d. p g
Distributor ID: Ubuntu/ w% @; f! C% V0 y% s0 s8 G4 R# b
Description: Ubuntu 12.10, }, W( z( [, {
Release: 12.10: M3 G% `- q! w
Codename: quantal
$ R f$ W9 }, ]9 F& r: G: F复制代码
9 M, ?* J8 J" j4 C8 d* s$ e系统安装软件包列表& A" W& B( L* a1 t. R1 C
0 D- {1 D$ v( w3 f
$ rpm -qa #Fedora/Redhat系统适用, S0 D" H& \# t
" B7 Q: c# r1 F+ s( j9 Z) Z
$ dpkg -l #Ubuntu系统适用. S( e, A# L* \; l
系统进程运行状态
, G' f- F# ?) n' f
6 A2 u0 p4 O. p复制代码
' ]: b4 x, D8 ]% e h7 D$ top$ s& x6 Z3 Z# f- N( m5 W
`) c. T& X% f7 q$ d
1 top - 15:34:24 up 23:44, 10 users, load average: 0.52, 0.56, 0.590 z6 O% H( H0 a. Z! x7 R
2 Tasks: 245 total, 2 running, 241 sleeping, 1 stopped, 1 zombie% `8 M) g; V4 f q5 ^; q$ G$ f
3 %Cpu(s): 14.3 us, 3.4 sy, 0.0 ni, 82.0 id, 0.0 wa, 0.0 hi, 0.3 si, 0.0 st
e, J6 ^9 t3 _/ V( a" B6 I; Z2 }6 T4 KiB Mem: 3924136 total, 3220824 used, 703312 free, 296052 buffers5 u, r5 L- U( R7 ^: d8 |) B0 e
5 KiB Swap: 0 total, 0 used, 0 free, 1488240 cached
; T4 {( |9 n% H* l6 a% X' a6! ]8 r' M- s& N& V/ z
7 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
* y! M g, |# a3 H1 e8 14846 good 20 0 733m 158m 43m S 33.8 4.1 71:54.21 firefox& }/ }2 `8 e3 a/ N+ p& a
9 1309 root 20 0 98.6m 29m 6616 S 14.6 0.8 39:01.19 Xorg. h U/ V S6 |9 v
10 ...
# V( r \- O) ?' r$ W9 f复制代码1 D! t1 n1 p0 [6 g( m6 A
说明:
/ ]9 j6 }! R l1 k) @ W' V7 O
6 s: z- G; I5 k: s, b7 B6 ~- _第1行,与命令w输出的含义相同4 E, t0 @3 K4 W: [7 L# f" M$ v
第2行,进程总数245
( g4 g: u5 ?7 r1 Q第3行,CPU使用情况,用户态(us)占用率14.3%,内核态占用率3.4(sy)
* y8 q) F/ q+ [, `- b第4,5行,内存使用情况,物理内存4G,空闲703M,交换分区大小为0
1 f. P# _: s0 i0 N u' h4 d第6,7,8行等,进程列表及实时运行状态
* v) P; n9 c B z% Q
0 A, m4 H# J9 J, t& i1 F2 `+ a1 ` ^
. A3 P1 X3 _3 b$ N2 N. d4 q
+ K2 f( A+ S! ^ z系统运行级查看
B' \, V" X" }2 a7 e- ?
6 a( d1 p* a8 X$ runlevel : A" B4 o, |. \0 Y$ X! y$ ]0 P! j
Ubuntu系统服务管理和配置实现特殊,所以Linux通用的服务管理命令chkconfig等不支持,经初步试用发现命令update-rc.d还很初级,可能达不到预期效果。' L0 c( ]$ V' x; @- {
/ Q$ r% V9 t5 j& t
停止ssh服务
1 t3 u( N& i$ z# d( _- h3 n
. [4 B: ~# r, { I$ P$ sudo update-rc.d ssh disable
* r' L5 u' c8 q启用ssh服务; B" s1 D3 f* q7 u6 @$ J1 @
) Y5 Y. ~) ~) t& ]# H2 k+ a$ sudo update-rc.d ssh enable5 f6 \$ B% q+ B/ G, z E/ h
8 a/ H! m+ Y; }6 M. h P$ R2 a8 W
( \+ v* g( w4 }8 k
帐号安全-----系统用户登陆情况检查8 y# b8 q2 y1 f/ R
6 u" r8 ?! k" N
复制代码
' n# P7 b7 S* i$ w' ? D! N* V" k% X8 V5 F z5 R; S
15:09:17 up 23:18, 4 users, load average: 0.77, 0.59, 0.63
7 m6 ~* ?1 ]5 G% S4 `$ |+ y# dUSER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
5 s1 z, ] u% K0 c4 j j' k( Rdemo pts/2 192.168.1.100 15:12 1:16 0.30s 0.09s -bash
% [: O, P9 u5 h+ \; Vgooo tty7 :0 三15 23:18m 36:49 2.22s gnome-session --session=ubuntu7 j; D( x4 n. t, b& }- ?% J, m3 i
gooo pts/0 :0 三15 23:57 9.24s 9.01s /usr/bin/firefox
! k& d; f5 G3 a8 v6 ]& H复制代码
7 d. M8 S- u: |2 W" m# ]4 f2 r说明:9 M# F1 s6 E f" O5 B4 x9 m* `
- \% @" i- H1 V( F系统当前时间:15:09:173 i7 C% A0 I: o3 @, E+ v: o
系统已运行时间:23:18% T. M F3 t- r& c8 g% b
系统平均负载:0.77, 0.59, 0.63 (over the last 1, 5 and 15 minutes)
# P' H9 ?9 p' Q" k已登陆用户:4个
8 {5 O% k3 M5 n1 m2 qdemo用户通过网络在图形下的terminal(pts指虚拟终端)登陆,登陆时间15:12,IP地址为192.168.1.100;: r P# F/ P0 x7 k
gooo用户的第一个登陆在控制台七(即Ctrl+Alt+F5),为当前gnome图形桌面的登陆用户;$ v D( N/ o8 g, T, D$ O
gooo用户的第二个登陆在图形下的terminal,正在运行firefox;: S5 q# i8 \- g
注意:如果发现有不明用户登陆系统,可通过命令”pkill -kill -t TTYName”将其踢掉,如踢掉demo用户的命令如下:* z# p: @, C( h; w1 x0 L2 O
, U, q7 G* A$ Z7 @& f N2 M, k
$ sudo pkill -kill -t pts/2
# L& j% l h8 f6 T+ R: H: H
& r4 B6 d0 |$ \- [1 S
$ K0 p4 g: I X: }5 Z2 D检查系统中保存帐号列表的文件中是否有异常帐号。
1 g- u! {& Z5 d" G& u( S: p
0 S4 u- D! a0 F& d) z5 ~复制代码
9 G4 f0 [3 y/ ~4 \8 ~7 Q' \$ d$ cat /etc/passwd. c& [- P& H0 `" i0 s) P0 \
root:x:0:0:root:/root:/bin/bash7 N: g) A6 u s8 F4 D( X
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
$ t+ P4 W- {1 G2 C1 v( Nbin:x:2:2:bin:/bin:/bin/sh
: Y3 [$ @( N- g2 Esys:x:3:3:sys:/dev:/bin/sh! x0 m, Q9 L# m3 A; U0 ?
sync:x:4:65534:sync:/bin:/bin/sync
q9 C3 ]6 O0 k4 t T$ e$ z..., [7 ~. A0 a' K6 ^0 k5 s
*test:x:0:1001:cs2c,,,,:/home/test:/bin/bash*
3 `1 c8 p1 h3 j9 J8 y' D5 P# N复制代码, A! g5 P2 o- _ p
要特别注意类似test(最后一行)的帐号,这个帐号UID被设为0,意味这个用户权限与root完全相同,而且在Ubuntu下可以直接登陆(Ubuntu下默认是不允许root登陆系统的),非常危险。
' l& H% }/ _ o. P* Y. v" _5 N8 ~" @: w$ k% ?
5 G7 U0 G5 c+ |% w" G: V, s" S+ w+ A, A* m
帐号历史活动记录+ ^5 B7 q6 x2 V. W
2 h* ?) D( d: t7 t. t; |; W2 elast命令显示系统最近三次用户登陆情况,如果不指定-n参数,默认显示所有。7 }+ \ r: N' }* d- V0 \& v- P
: ?6 o+ h& m8 \$ f( H/ {2 {( e
$ sudo last -n 3
6 E* ?. A" c+ u( \1 e3 S# t
& x4 c' R% C6 z. k: c& p- X
! x- F! [" I# }; M' o+ X用户名 终端 来源 登录时间 - 关闭时间(持续时间)
/ y2 v1 |% o( K& o4 [* J' d' V3 H+ x. I$ g
gooo pts/2 192.168.1.100 Thu Aug 15 15:58 - 16:07 (00:08)
9 L. B# l* I& T) t" tgooo tty5 Thu Aug 15 15:12 - 16:09 (00:57)- r1 U4 u, t2 Z; \8 O N2 n
gooo pts/7 :0 Thu Aug 15 15:06 still logged in6 D% n" a( f0 C: F0 Z. K
, N3 l( W3 i$ W( o/ s9 n
5 y; H; Z3 A7 R( Q/ Mlastb命令显示系统最近三次用户登陆失败的情况,如果不指定-n参数,默认显示所有。ubuntu系统下lastb默认不记录通过远程ssh登陆的失败记录,问题还在查找。
0 Z1 v& [; e! n! N
' i& u, O; h8 B$ sudo lastb -n 3# W4 e$ m8 u3 e0 H
用户名 终端 来源 登录时间 - 关闭时间(持续时间)5 V$ C4 B9 J1 `+ ^
UNKNOWN tty6 Thu Aug 15 16:04 - 16:04 (00:00)
- H2 P) O+ R, g- T9 j3 {root tty6 Thu Aug 15 16:04 - 16:04 (00:00) + G6 y: m# @. L6 d# ]" _ \
aureport是一个更加强大的系统审计信息查询工具,基于audit daemon,auditd根据配置规则记录相关系统活动,如用户口令修改记录、进程运行记录等信息,通过aureport工具可以查询audit日志。8 w% Y0 u$ f, \, {* U: i
( m$ ]4 } h i
$ man aureport
6 T$ }/ o9 l; L0 n$ j) e8 P+ l2 a6 R+ F$ G/ ?: j
% n- K' v+ J, [+ R6 w
2 `0 Q9 P1 L% `- N! l6 c) e
' w# X, w$ _2 U3 |) }: H网络安全----服务端口开放检查& _4 p( Z( c7 ~$ ^9 C
6 g0 H P2 A* A/ k
复制代码4 Y8 G$ y& p9 M$ D1 y
$ sudo netstat -anpt
) @( Q& D Z$ h/ l
' D$ y. s4 }& Z" K/ q' ?3 `- M1 Active Internet connections (servers and established)
+ A. _' e8 Z9 F2 Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name+ ^0 K$ }) `; q8 T9 H" V. @
3 tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 825/sshd
( t8 ]4 H( Y" G4 tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 12489/cupsd $ N, [5 @7 X( e) Z" o4 j! d
5 tcp 1 0 192.168.1.106:45268 91.189.92.11:443 CLOSE_WAIT
3 v% P9 ^/ K4 k$ p C d6 tcp 0 0 192.168.1.106:22 192.168.1.109:42066 ESTABLISHED 24652/sshd:
: T5 L$ f% @7 k) M0 m J7 tcp 0 0 192.168.1.106:55095 192.168.1.108:22 ESTABLISHED 25221/ssh
. U) _* {0 _2 A: p' B8 tcp 0 0 192.168.1.106:32872 122.193.23.59:80 TIME_WAIT - 4 R" H2 E; {) a2 q5 j# U) R
9 tcp 0 0 192.168.1.106:46298 184.25.111.231:80 TIME_WAIT - 8 A+ b2 N) ?. }9 w$ ^' m8 ?: x
10 udp 0 0 0.0.0.0:17500 0.0.0.0:* 2579/drop* A+ p5 t+ L) @9 L
11 tcp6 0 0 ::1:631 :::* LISTEN 12489/cupsd 7 Z. y( r% O/ D3 U9 ^4 w
复制代码
% v( e- n, S3 w5 E, ?: n5 q说明:
8 W' Z% @& b% F
9 \, }& s. \( G3 _0 L命令说明(A):
! q- b( l" b4 w7 x2 x% R" f$ X+ ]. b0 @; y. R6 q
“-a” 显示所有;8 u2 r9 e& Q* N& \0 X- }; ?. W9 p
“-n” IP地址和端口号以数字方式显示,默认为别名方式;
( f1 _3 y- Q. s. l b) W“-p” 显示PID和进程名;
- q4 G( g$ P+ B7 j7 P! c“-t” 显示TCP协议;
5 h' o$ J' t X5 T( u“-u” 显示UDP协议。
' O& s& u+ b0 g+ e( e' {" N) a第3行,sshd服务(进程ID为825)开启了tcp协议的22号端口,不限制接入IP地址;6 `' T; h. b' t
第4行,cupsd服务开启了tcp协议的631端口,限制仅允许本地访问; y/ m) K$ @1 b
第5行,本机正在访问91.189.92.11的443端口; W; ]. h b0 v4 O2 P- Z Q
第6行,远程主机192.168.1.109已经通过ssh服务远程登陆本机(192.168.1.106);
& X7 p. l, \1 v1 U第7行,本机已经通过ssh服务远程登陆远程主机192.168.1.109;
5 a5 @0 E& X( r( k- C' @% K第8,9行,本机正在访问122.193.23.59和184.25.111.231两个网站;0 O$ k. s3 o S0 A. \' B% N3 i
第10行,未知服务(drop进程,PID2579)开启了udp协议的17500端口,不限制接入IP地址;
, _; w- V# F* G% L+ g第11行,cupsd服务开启了tcp6协议(IPv6协议)的631端口,限制仅允许本地访问;
' P% |% A6 b! v' \% u
+ a5 y" X& T8 y$ e* ~
2 j; V' w% j4 v+ A; w% V* k2 c% u) B; y
- n* V' {# d$ h% `0 V+ s
2 ?0 n# K3 r* f8 [! U% y2 w下面是网络链路安全检查-----默认网关检查# e4 [- ^3 `3 ^" L9 N4 {
" t" O, L; T4 t1 K$ R$ route -n0 [* H2 c( J& o/ d$ C* R- m! ~
网络设备节点情况
4 U- I- t0 `! I N' M& p3 [* R& J
$ ifconfig -a
" p# J+ z* c$ l0 H: j实时网络连接状态和流量情况* R! K$ h( E- h' P" s; V2 Y; D# |
9 Y- O" m& l- I- j' \( I2 [- k$ sudo iptstate -C$ s$ e6 L) v( j/ V
ARP解析列表缓存显示。如果192.168.1.1是网关IP,而后面的MAC地址与实际不符,那应该是被ARP欺骗了!* G( L* h+ N: Q) B/ o' L
6 a! G: t( J' `3 o7 C5 o @) q
$ arp -a
5 K3 \( U; r6 N6 k1 _3 C( g/ q0 x3 t/ G/ ~- j
? (192.168.1.1) at 00:23:9e:xx:xx:xx [ether] on eth0 V. X L6 L) k0 x6 ]0 g
防火墙规则情况
( [% K+ v" A$ I r
7 V1 x6 C6 `4 C$ a$ sudo iptables --list$ P# a" C8 V0 i! _0 [) A0 V
9 L, O" c# e, s w
: k, v. ?% h1 R5 p% \) V$ c _% z0 S% }1 [
% M _8 Y, k+ \. [
数据安全
7 ^+ A z8 w: O2 f! p. {1 O8 W# E# Q4 t1 w
如果有人入侵了你的系统,修改了系统启动脚本,还替换了一些关键程序来掩盖他的行踪,这该然后办?关键是你还不确定入侵是否发生过。 DEB包校验完整性校验/ @0 `0 n# t; y. Q# q
( o0 i6 g. H5 `0 N* |; n) q. O
Ubuntu系统默认不支持系统已安装包的完整性校验(个人结论),网上查到debsums这个包支持。
. e% d8 E$ p1 n: S. `; W. X+ x2 }; x( U* z Z5 J8 s# k
$ sudo apt-get install debsums
. i/ G X4 w8 j. b) `7 {$ debsums sysv-rc #校验包sysv-rc
0 c5 ~3 k( {# n' p% `$ debsums #校验系统中所有包% W! N% b- ?3 z- B# i* {
0 v) K3 O$ j0 Z% w9 [) ?( e! ~0 ~. Y( R* L1 c
8 K( Y3 z& Y4 S; E( K( G
( t4 y$ H; S( ]/ `" ~
4 X( y' z/ `9 O$ r/ `! T3 u
* ^# G* K7 Y' u& Y, n( y) w4 F& C系统日志安全% A8 g3 P# i/ t' q7 {
0 t% }& ?5 d" x8 V4 m通过分析日志记录是查找系统安全隐患的重要手段,Linux系统下日志默认集中保存在目录/var/log下,下面主要列举几个主要的日志文件。6 a& y( m6 m4 W0 _1 e
; @# g1 \+ _ u, e0 w9 `用户帐号认证日志,内容包括帐号登陆记录、权限转换(su/sudo)、修改口令等操作。5 a' J9 n- V; c8 M
6 L+ R$ D4 l. M: L. l0 v
$ sudo vim /var/log/secure
4 H2 g) p$ t D* a4 b3 O* d% l$ y+ U
. h* @) C. {& e3 q- a; j$ sudo vim /var/log/auth.log #Ubuntu系统适用
! N& e6 q9 R: b系统启动日志(即显示一行行OK的那个画面的内容)3 a) \: z2 ]3 b% Y6 Y+ c
. P# n) J7 V" S7 |# S b
$ sudo vim /var/log/boot.log
& n# m" H4 b5 v0 y内核启动初始化日志- R) ?2 g- O! S6 h, H" I6 w
, u1 I6 F) q- m5 y& D) Y$ sudo vim /var/log/dmesg
' X5 h9 ~" L$ K6 W系统服务和核心组件日志(如networkmanager/gnome-session等)
9 B/ B6 l# T \/ E P! ~3 I3 c8 P& K4 i3 Q
$ sudo vim /var/log/messages2 l% n Z) W) y6 M5 y _
" v" B6 }# s# X. v. ]' v$ sudo vim /var/log/syslog #Ubuntu系统适用
3 s/ ?2 g8 |: G+ wXorg图形系统日志
. ^4 M! E* G& Z: X S% q3 D* W o; W, F' u& C
$ sudo vim /var/log/Xorg.0.log3 H/ d C. I" o
在线软件包操作日志,内容包括install/remove/update等记录。" c$ a' D- L/ `. J
' K% l) l2 y* r. S w) j* ^
$ sudo vim /var/log/yum.log #Fedora/Redhat系统适用2 `6 |1 A4 M0 A$ Y- {
6 b! i% f$ V2 C& o& P! O: t% H! b
$ sudo vim /var/log/apt.log #Ubuntu系统适用
% r; M' `: t+ Q. c' ]
+ U% p3 J1 S1 W2 b# o2 s c
b! M' s5 W4 a! Q* w |
|