1、帐号安全 1.1 锁定系统中的自建帐号
4 J @8 @# x2 B# E2 { 查看帐号:
% ^$ v6 p# D. x& {$ s) \/ w) A9 e #cat /etc/passwd
& X+ P( }7 S5 |" W #cat /etc/shadow& d2 P" A% A# s" ] x
查看账户、口令文件,与系统管理员确认不必要的账号。对于一些保留的系统伪帐户如:bin, sys,adm,uucp,lp, nuucp,hpdb, www, daemon等可根据需要锁定登陆。; P1 N* l: F4 n- K
在修改之前先备份一下,省的出问题:
7 ^" h; d: r7 w1 q" a 备份方法:8 U+ m; r+ P. J+ v
#cp -p /etc/passwd /etc/passwd_bak
8 \( z5 n% I# ~7 E #cp -p /etc/shadow /etc/shadow_bak
7 M6 {0 }5 |" C* w9 j/ H" D; g 加固方法:. ?) l2 I0 E) ~
使用命令passwd -l <用户名>锁定不必要的账号。
2 v( ~4 I4 L7 S/ e2 { F 使用命令passwd -u <用户名>解锁需要恢复的账号。2 \6 J/ P o. N$ w% s4 X# C
风险:需要与管理员确认此项操作不会影响到业务系统的登录8 ]3 S, L2 |4 t+ Q- v
1.2设置系统口令策略
" R) b# G: p# N/ B. ~0 x% s 查看密码策略设置:cat /etc/login.defs|grep PASS
+ }( |. \- }# t 修改之前先备份一下: cp -p /etc/login.defs /etc/login.defs_bak! Q( V* t0 O8 T3 W" [3 t! O
修改配置文件:vi /etc/login.defs6 S4 L: z& }( y' J/ H
文件内参数解释:' L# x! g$ Z% i
PASS_MAX_DAYS 90 #新建用户的密码最长使用天数* Y) K" r* T/ Q& j7 x" |
PASS_MIN_DAYS 0 #新建用户的密码最短使用天数
5 U$ Y- W) b$ N( ^+ A. z! \ PASS_WARN_AGE 7 #新建用户的密码到期提前提醒天数
6 k: [$ P4 s4 u( u/ @) B PASS_MIN_LEN 0 #最小密码长度0- B" }5 I" U( w) r4 W
PASS_MAX_LEN 9 #最大密码长度9
b, V% C# _' h$ M/ b' H 1.3禁用root之外的超级用户
. K4 l; U2 L4 Y2 V6 P2 O 查看口令文件:cat /etc/passwd3 B5 j" W* M7 j
属性解释:
6 Y0 I+ D$ x5 Z3 C4 w login_name:用户名
$ _# G1 D2 t3 E6 j. d' m: J password:
# [) B8 d R, P! V5 w加密4 j0 b& X6 f* \6 t) J
后的用户密码
1 ^) G+ P" \( | user_ID:用户ID,(1 ~ 6000) 若用户ID=0,则该用户拥有超级用户的权限。查看此处是否有多个ID=0。3 l) ?9 j2 |2 r m
group_ID:用户组ID
& L; @( A+ G9 i$ u: v comment:用户全名或其它注释信息* ` t! U" m: a
home_dir:用户根目录0 G$ w. Z7 O N- w( q6 b/ y
command:用户登录后的执行命令
" A# M8 l- Y' L5 t: g; }3 C 加固方法与1.1的加固方法一样!) W, t2 {5 U4 U7 Z/ F( x* ^1 J, F
1.4 限制能够su为root的用户" }! V- d- Z% p x. [
修改 /etc/pam.d/su 文件 先备份:cp -p /etc/pam.d/su /etc/pam.d/su_bak
1 V# I& e3 v+ d+ A2 J 在头部添加:auth required /lib/security/pam_wheel.so group=wheel #只有wheel组的可以su) J3 s! N0 ^4 r9 N+ U6 V: T4 s; C; ~
将test用户加入wheel组:usermod -G wheel test; f/ _$ Q& A3 h' v
排错方法:当
, a& ]. K J4 G系统" e3 L2 L u, `
验证出现问题时,首先应当检查/var/log/messages或者/var/log/secure中的输出信息,根据这些信息判断用户账号的有效性。如果是因为PAM验证故障,而引起root也无法登录,只能使用single user或者rescue模式进行排错。
u c) B! Q8 e; I F 2、最小化服务
1 M) A6 U" z c6 ]; H/ N8 \* p 2.1 停止或禁用与承载业务无关的服务
3 i7 g4 K! o8 d q& q* W. |, q; o 查看当前init级别 who -r 或者 runlevel& B4 C* g6 a3 t* Q! h
查看所有服务的状态 chkconfig –list
; L$ X+ z. s9 M 设置服务在个init级别下开机是否启动 chkconfig –level <服务名> on|off|reset& ?. @ _$ j& P7 u0 N) K3 P# ^
注意:要安装chkconfig,radhat上面自带的有!5 X. ~' g. T: r0 W% H$ L5 g O
3、数据访问控制2 |9 W+ p! W5 \; A n0 p
修改umask的值 改变新建文件的安全属性. H! s, ?2 v# O( {2 z
备份:cp -p /etc/profile /etc/profile_bak
3 k8 b9 i* r; b0 ^5 D7 A7 R' u( o 修改umask=027
/ Y3 \/ B4 M" l# ?, D" f 作用:通过设置umask值,可以为新创建的文件和目录设置缺省权限2 S6 l# q7 k& Y% w
风险:会修改新建文件的默认权限,如果该服务器是WEB应用,则此项谨慎修改。
7 P' Q( h# l" c/ t 具体解释:请百度。。。。- k- w, W; S& P( {
4、网络访问控制
, t( H ^" c) Y" ^2 \/ E 4.1 使用SSH进行管理
9 @) \3 H @6 u( ], k v 查看服务是否开启: ps -aef|grep sshd
3 Q' M! q3 [! d& K$ a! ?* A 开启服务:service sshd start
0 Y- d9 A) e4 m: x+ i: k. @& @' D 关闭服务:service sshd stop+ G% [, {: [' J9 ?# f' D# w* m8 q
重启服务:service sshd restart
! ]$ Y& e1 I2 T- m" r( h 4.2设置访问控制策略限制能够管理本机的IP地址. S4 x. o$ l# ~& }6 \' M g
先备份文件:cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_bak
- W# K; h' j2 [2 x) ?( p 修改文件:
2 Q* U1 w3 L5 ^- O' W1 g# I3 y 添加:AllowUsers *@10.138.*.* #仅允许10.138.0.0/16网段所有用户通过ssh访问4 |, E, F: D# ?) i
保存后,重启ssh。
o1 c) ?' V0 |% a% c 4.3 禁止root用户远程使用ssh4 l' K6 b7 a! y, p$ k
修改文件/etc/ssh/sshd_config 将PermitRootLogin修改为yes
3 h+ X# d* z6 A8 [" X; i 记得修改之前要备份& T7 r0 `/ ^, v6 h8 J$ c7 L. _5 a
4.4 限定信任主机
# G( l* J5 E9 Q) E3 P 修改/etc/hosts.allow,添加一下代码:
6 h$ E1 B% } _) H4 u/ L sshd:192.168.0.100:allow //允许IP 192.168.0.100 登录9 ^& {$ C0 d; S3 ^% h
sshd:192.168.10.:allow //允许IP 192.168.10. 网段登录 o; j+ q! ^; J! y) X
修改/etc/hosts.deny,添加一下代码
/ [/ o: V8 e' D sshd:all:deny //禁止其他的所有IP登录 L8 s2 u, t0 L6 \3 g
4.5防止误使用Ctrl+Alt+Del重启系统
6 v# _: C/ @& }& a 修改/etc/init/control-alt-delete.conf 文件,将最后一行:* C+ n: S0 t s# P8 f
exec /sbin/shutdown -r now “Control-Alt-Delete pressed” 注释掉就可以了
) T: l, i6 e8 h9 t/ |/ n: x 5、用户鉴别
( G$ q4 S9 F% Z+ n/ p$ r 5.1设置帐户锁定登录失败锁定次数、锁定时间
, V- a2 r- c5 q$ l8 ]1 U& m 修改文件/etc/pam.d/system-auth 添加一行:
! k7 X4 g' Z8 G' x0 o& t auth required pam_tally.so onerr=fail deny=6 unlock_time=300$ E. W" y5 U2 E8 b6 [1 J7 F
#设置为密码连续错误6次锁定,锁定时间300秒
% B ^' I+ [- i7 v2 N 用户锁定后,解锁:faillog -u <用户名> -r
7 {4 V; |* O/ y; n 风险:需要PAM包的支持;对pam文件的修改应仔细检查,一旦出现错误会导致无法登陆; 当系统验证出现问题时,首先应当检查/var/log/messages或者/var/log/secure中的输出信息,根据这些信息判断用户账号的有效性。0 p7 O; D, Y* p
5.2 修改帐户TMOUT值,设置自动注销时间: v( {4 w/ X: N+ X: `* V' s
修改/etc/profile文件
1 N+ a) F3 @/ `. B" d 在”HISTFILESIZE=”后面加入下面这行,添加:TMOUT=600 #表示无操作600秒后自动退出
) A* |6 l6 k5 d- t1 [$ R 5.3设置Bash保留历史命令的条数
- z$ Z) N5 G3 j& Q2 M% U: U( G 修改/etc/profile文件的HISTSIZE的值,自己设定
4 f; u( t0 Q y9 x6 x# ] 6、审计策略
0 b" d$ Q0 O: [$ c! K% X9 D5 c 6.1 配置系统日志策略配置文件
. C/ L5 @9 }! h2 D. z O N/ x 查看syslog是否启动:ps -aef | grep syslog
$ E0 N' ]( {9 U 查看rsyslogd的配置,并确认日志文件是否存在:cat /etc/rsyslog.conf- Y) ^) A4 k/ S- p8 f
6.2审计产生的数据分配合理的存储空间和存储时间
0 v7 E( F3 p' s A: U 查看系统轮询配置:cat /etc/logrotate.conf2 E0 j) J$ r, r9 Y8 R
一些属性:
4 U) i1 j0 G, E9 @7 k rotate 4 日志文件保存个数为4,当第5个产生后,删除最早的日志
" o- d% O9 M( Q7 h5 A size 100k 每个日志的大小" i$ Q# s4 f4 W" u/ h
" b' ?: h9 H1 n9 T& U
转自江苏三艾网络 | ) l& l2 p& [& i6 j$ r. o- }
|