1、帐号安全 1.1 锁定系统中的自建帐号/ l. X. ] L- Y* T7 b% {! H" c' {1 l
查看帐号:$ a8 W8 c; i- }. |$ Z' ]% Z
#cat /etc/passwd
4 k: T9 ]4 z& Y- S7 q #cat /etc/shadow* t" ^! O6 N) }, v0 }4 I
查看账户、口令文件,与系统管理员确认不必要的账号。对于一些保留的系统伪帐户如:bin, sys,adm,uucp,lp, nuucp,hpdb, www, daemon等可根据需要锁定登陆。! ]' J' W- Z0 E
在修改之前先备份一下,省的出问题:# }; a3 H9 p3 r0 y
备份方法:
* K& w0 o5 i/ X7 u K2 A! Z D+ y #cp -p /etc/passwd /etc/passwd_bak ~+ t' j# V6 g3 g& s" {
#cp -p /etc/shadow /etc/shadow_bak- Z: j9 k* z/ |
加固方法:
4 d8 {& ]2 u6 H# ]$ Y 使用命令passwd -l <用户名>锁定不必要的账号。
3 I4 o: W/ ?9 V' i+ \ 使用命令passwd -u <用户名>解锁需要恢复的账号。2 o% J1 h$ J* U, x5 E; V
风险:需要与管理员确认此项操作不会影响到业务系统的登录" e+ H) d: ?5 Z* Y# U1 O: y
1.2设置系统口令策略" s O X. e) B1 P
查看密码策略设置:cat /etc/login.defs|grep PASS4 x5 `' V8 @: z) `
修改之前先备份一下: cp -p /etc/login.defs /etc/login.defs_bak/ g* J) g9 H! v5 @. e$ v
修改配置文件:vi /etc/login.defs
8 v+ d, y2 O) ]4 Y/ K" S# L 文件内参数解释:
) y1 J8 a( ]0 g* ~$ Z; Z7 r PASS_MAX_DAYS 90 #新建用户的密码最长使用天数
! }+ ]! e; g1 b+ R4 b+ _9 P t j. h4 W PASS_MIN_DAYS 0 #新建用户的密码最短使用天数1 P# \. Z. k S( U% b$ f
PASS_WARN_AGE 7 #新建用户的密码到期提前提醒天数; Q7 B9 L7 g u& e( A
PASS_MIN_LEN 0 #最小密码长度0
# Q, v! r+ y8 ~9 Q) v* x, H PASS_MAX_LEN 9 #最大密码长度9
; _) y; \" z! _' ]2 }0 d 1.3禁用root之外的超级用户
1 G) W0 ^1 }3 P 查看口令文件:cat /etc/passwd
5 \+ Z' v. w% s& t8 O& _* z. ^' B 属性解释:- e7 k1 ~' p, [ b5 m( w3 k% U
login_name:用户名# s5 d' j: p; e
password:
: s2 e$ ]# |* W2 `$ X' \加密. s% n2 V+ a4 x; h/ c( r
后的用户密码! G. }, Q! C( l4 e5 N& D7 k% M# c
user_ID:用户ID,(1 ~ 6000) 若用户ID=0,则该用户拥有超级用户的权限。查看此处是否有多个ID=0。
! j9 H' f5 b' j2 D5 x2 {* f. t9 [ group_ID:用户组ID( ?9 j1 b5 Z Z
comment:用户全名或其它注释信息
! g$ o+ ^' B. w' a/ G home_dir:用户根目录' r* F3 }7 \2 O: \4 U& l$ f; r$ {. Q
command:用户登录后的执行命令9 g- Z! O% y# `. |2 j" b" z3 ~% L
加固方法与1.1的加固方法一样!8 S! q* t' q; W8 k5 D/ u
1.4 限制能够su为root的用户
2 y3 W( V' A1 T0 A 修改 /etc/pam.d/su 文件 先备份:cp -p /etc/pam.d/su /etc/pam.d/su_bak# ]* Y9 v. @2 J; A" \5 S# z- p% D: w
在头部添加:auth required /lib/security/pam_wheel.so group=wheel #只有wheel组的可以su
1 \! L' ?) A: q. y5 ]# P 将test用户加入wheel组:usermod -G wheel test5 e7 |0 i1 L6 [3 I
排错方法:当
+ ^& X3 R) _% ^系统, I6 s0 Q, X; [" c1 c; w$ |2 K
验证出现问题时,首先应当检查/var/log/messages或者/var/log/secure中的输出信息,根据这些信息判断用户账号的有效性。如果是因为PAM验证故障,而引起root也无法登录,只能使用single user或者rescue模式进行排错。
! V( }% \) u4 @) p 2、最小化服务, t" }0 f- m. Z3 Z% ]
2.1 停止或禁用与承载业务无关的服务& ~* ~, t* w0 X- z
查看当前init级别 who -r 或者 runlevel& _7 c5 L; C' h) k: c4 A+ G% J
查看所有服务的状态 chkconfig –list7 ~+ |! q7 N3 T
设置服务在个init级别下开机是否启动 chkconfig –level <服务名> on|off|reset2 z' U3 b( R* n! J% t3 ^# j7 T
注意:要安装chkconfig,radhat上面自带的有!
; v2 A' z3 g7 W5 e0 Z 3、数据访问控制
2 r, s$ ~6 N! ] 修改umask的值 改变新建文件的安全属性
8 f8 w/ h6 Q7 p" k. [ 备份:cp -p /etc/profile /etc/profile_bak
4 ]% B4 f- q! [0 C1 z8 s' { 修改umask=027& s8 R; H6 G" o" ^
作用:通过设置umask值,可以为新创建的文件和目录设置缺省权限
) y6 l9 b2 \/ r) d7 R5 _ 风险:会修改新建文件的默认权限,如果该服务器是WEB应用,则此项谨慎修改。( o, q# [- I* p9 U; }& z
具体解释:请百度。。。。* q" Y I9 A9 {
4、网络访问控制- n, A/ @, V: y7 U: s, H9 K. d' h
4.1 使用SSH进行管理
: n, A. g% a. f W5 I, W# y7 y9 I9 g 查看服务是否开启: ps -aef|grep sshd
^8 e- U$ D, K2 O: n L 开启服务:service sshd start
" M6 @9 h7 i6 w5 I$ I, |: O3 z 关闭服务:service sshd stop
' Q9 ?! H$ R3 K/ h 重启服务:service sshd restart. c" n, b9 f; a
4.2设置访问控制策略限制能够管理本机的IP地址
# K( m! z m1 n3 d% L 先备份文件:cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_bak
P/ ^; I! `! c+ W! P 修改文件:+ d5 x K4 ~- p5 @- W& D
添加:AllowUsers *@10.138.*.* #仅允许10.138.0.0/16网段所有用户通过ssh访问2 O1 p+ X+ j1 C$ W+ A$ p
保存后,重启ssh。
, R, i, [4 `7 L' N8 a 4.3 禁止root用户远程使用ssh$ ]% N7 h! ~# |8 Q, H; `
修改文件/etc/ssh/sshd_config 将PermitRootLogin修改为yes0 T" A7 ? N6 X' X* c' r+ V& I/ P
记得修改之前要备份
( ]9 X; p+ B+ y 4.4 限定信任主机
0 h3 _8 G0 v. ` [ 修改/etc/hosts.allow,添加一下代码:
6 _, @0 A: [6 n9 E% z sshd:192.168.0.100:allow //允许IP 192.168.0.100 登录 q6 Y! b0 v. G f
sshd:192.168.10.:allow //允许IP 192.168.10. 网段登录
/ @0 E2 J6 D) a! r 修改/etc/hosts.deny,添加一下代码2 x3 p" M( a: m' j" D" w4 B. r( B0 e4 m
sshd:all:deny //禁止其他的所有IP登录, G" z' M( P9 z1 Z. k& m, W( b
4.5防止误使用Ctrl+Alt+Del重启系统( U( s0 m( d9 s# j( C
修改/etc/init/control-alt-delete.conf 文件,将最后一行:; y5 {. Z" J6 Z; e7 V/ X
exec /sbin/shutdown -r now “Control-Alt-Delete pressed” 注释掉就可以了
* L9 L' B! c, G 5、用户鉴别
2 N# u1 P- b3 k7 C1 X9 K9 |) Y* q/ G 5.1设置帐户锁定登录失败锁定次数、锁定时间
! m* E/ `4 S- @. |( n2 `* b3 s0 z/ F" H 修改文件/etc/pam.d/system-auth 添加一行:' @0 ]1 [8 p! x+ d8 t
auth required pam_tally.so onerr=fail deny=6 unlock_time=300( o6 K& r/ C5 I0 d6 |
#设置为密码连续错误6次锁定,锁定时间300秒+ @% c: f& [5 b, x( x4 Z
用户锁定后,解锁:faillog -u <用户名> -r
8 v- a% B8 [( E0 y8 \9 G% e 风险:需要PAM包的支持;对pam文件的修改应仔细检查,一旦出现错误会导致无法登陆; 当系统验证出现问题时,首先应当检查/var/log/messages或者/var/log/secure中的输出信息,根据这些信息判断用户账号的有效性。
7 E2 p( Y$ T& x* \0 p* E 5.2 修改帐户TMOUT值,设置自动注销时间
: n5 J: p# v# u6 | J4 D' f! O 修改/etc/profile文件
! N0 {6 ]1 d: v7 ]! a 在”HISTFILESIZE=”后面加入下面这行,添加:TMOUT=600 #表示无操作600秒后自动退出& V% N' z0 j0 _0 Z# L
5.3设置Bash保留历史命令的条数
! t5 } c" z. z- H6 f" f 修改/etc/profile文件的HISTSIZE的值,自己设定
p: N) b% @5 J3 I7 [ 6、审计策略
( k) |& V" h" a- U6 Y 6.1 配置系统日志策略配置文件& M' \7 p$ _9 r$ B% s8 U( {9 o
查看syslog是否启动:ps -aef | grep syslog
; L& T+ h s. O8 \ 查看rsyslogd的配置,并确认日志文件是否存在:cat /etc/rsyslog.conf x, q9 U/ R% N) n/ n
6.2审计产生的数据分配合理的存储空间和存储时间5 D; W4 p$ O. d p" l
查看系统轮询配置:cat /etc/logrotate.conf* n$ ?# t' K6 N6 G. ^- l' k
一些属性:: c U! e% h0 |
rotate 4 日志文件保存个数为4,当第5个产生后,删除最早的日志% O; s3 I. t. A: G& E6 N
size 100k 每个日志的大小& T# X% y$ L* M6 W W! }5 t
: V! A' Z% Q% G# z& Y转自江苏三艾网络 | & ]4 s: F+ @/ w
|