1、帐号安全 1.1 锁定系统中的自建帐号
; K; h2 f, ?6 V4 ^; r6 @& P4 E 查看帐号:
6 z5 o+ C# R4 K/ e! L- f #cat /etc/passwd) [* p0 q0 g& S6 e! P' L1 r
#cat /etc/shadow+ U+ b& K( v% W' U) J: s( K
查看账户、口令文件,与系统管理员确认不必要的账号。对于一些保留的系统伪帐户如:bin, sys,adm,uucp,lp, nuucp,hpdb, www, daemon等可根据需要锁定登陆。
# g2 B0 b- o; y4 ^ 在修改之前先备份一下,省的出问题: ~7 _7 h* A: L, n$ M
备份方法:; h1 w6 P5 K1 l8 S
#cp -p /etc/passwd /etc/passwd_bak0 c( c9 D* J" L7 [( `7 l
#cp -p /etc/shadow /etc/shadow_bak" x4 C5 F/ D; l; s; U
加固方法:5 V0 B& Q; a' g+ f/ i& l
使用命令passwd -l <用户名>锁定不必要的账号。0 c( n3 r( k( k$ W' C
使用命令passwd -u <用户名>解锁需要恢复的账号。% I7 N* }0 X7 V6 s8 U% m
风险:需要与管理员确认此项操作不会影响到业务系统的登录8 `, A6 k5 T: @. w3 _
1.2设置系统口令策略6 j7 f+ u2 Y/ ]6 }3 g
查看密码策略设置:cat /etc/login.defs|grep PASS
3 H# g) u. _9 `& Q# I 修改之前先备份一下: cp -p /etc/login.defs /etc/login.defs_bak
: L3 S# o. w. b3 Q* o+ z( [. L& V0 a 修改配置文件:vi /etc/login.defs1 l6 U( g: [* h" p
文件内参数解释: D# c$ h; E2 e4 o
PASS_MAX_DAYS 90 #新建用户的密码最长使用天数% I* o) g" t* j4 Y6 K0 ?0 C
PASS_MIN_DAYS 0 #新建用户的密码最短使用天数
7 ]+ n& @; R2 h PASS_WARN_AGE 7 #新建用户的密码到期提前提醒天数
* G# [: _4 p6 i% ~0 ?/ f: H PASS_MIN_LEN 0 #最小密码长度0
% j! u5 v( N) k5 D: G2 E PASS_MAX_LEN 9 #最大密码长度91 [ A+ G/ u5 V& e! s7 t# H- p
1.3禁用root之外的超级用户
1 R1 W/ e E2 ?* ^; v$ N 查看口令文件:cat /etc/passwd* @) J" M. J T) t. p3 J
属性解释:0 ?0 c3 J1 j! b$ q* x' ]0 L* ?- z" H
login_name:用户名
# h0 Y0 K8 j* M' i+ c password:2 D( P. W7 c* h) E& K9 E8 P
加密
, w6 Y8 V- ^) r. p9 s# l后的用户密码
5 t- @* _" V% t/ J6 w( q' f- j3 U. D user_ID:用户ID,(1 ~ 6000) 若用户ID=0,则该用户拥有超级用户的权限。查看此处是否有多个ID=0。
! W9 C$ ~6 f H) y group_ID:用户组ID
9 h; e! U( F4 n, j0 p comment:用户全名或其它注释信息/ U; p. e8 L4 M3 X# L6 P3 j
home_dir:用户根目录( ^! e9 o: x3 m- {3 N1 E# m0 v: p
command:用户登录后的执行命令
. V3 K+ X) g4 G! U* m1 Z7 _ 加固方法与1.1的加固方法一样!+ O8 Z. j1 r( i* t7 i! c
1.4 限制能够su为root的用户% `$ [+ A3 k' K- K, i' W
修改 /etc/pam.d/su 文件 先备份:cp -p /etc/pam.d/su /etc/pam.d/su_bak
9 v/ }+ t. y5 _5 G 在头部添加:auth required /lib/security/pam_wheel.so group=wheel #只有wheel组的可以su
; G3 n2 z! ~/ s5 u# M$ G+ i+ B 将test用户加入wheel组:usermod -G wheel test- n, v. l/ n' \
排错方法:当1 h5 D* ~0 |& u8 ~$ D2 [ j
系统# L+ B) w0 _3 H4 q q
验证出现问题时,首先应当检查/var/log/messages或者/var/log/secure中的输出信息,根据这些信息判断用户账号的有效性。如果是因为PAM验证故障,而引起root也无法登录,只能使用single user或者rescue模式进行排错。
/ m; o* L: R- W. _7 s 2、最小化服务3 U S* K- ?+ N6 T5 z% j: O( E
2.1 停止或禁用与承载业务无关的服务
: Q8 a4 Y D( H/ ^6 a) m 查看当前init级别 who -r 或者 runlevel+ d3 N/ _3 V7 h/ j/ T5 z7 ]% e
查看所有服务的状态 chkconfig –list$ @* C, b1 `/ c& [8 X1 ~
设置服务在个init级别下开机是否启动 chkconfig –level <服务名> on|off|reset
9 e$ X) A% q( ^; d+ | 注意:要安装chkconfig,radhat上面自带的有!8 y0 r @7 B7 Y
3、数据访问控制2 R; y0 B9 n" A* w, [& E% L
修改umask的值 改变新建文件的安全属性
- Q& Q& P# K% A" L) W$ i 备份:cp -p /etc/profile /etc/profile_bak
9 \! Y5 w* @# K8 \ 修改umask=027: T7 |" l+ u' r! @
作用:通过设置umask值,可以为新创建的文件和目录设置缺省权限
5 X, L! ^3 r& q( z6 _) Z 风险:会修改新建文件的默认权限,如果该服务器是WEB应用,则此项谨慎修改。
$ }; H/ m* D7 z/ O6 n, ?" t% i# r+ O 具体解释:请百度。。。。/ [4 F! N9 @, F: n' ~, c" P6 P
4、网络访问控制
8 i# V3 c3 I8 ]; J( I3 o 4.1 使用SSH进行管理3 ]! V3 f) \8 f- v
查看服务是否开启: ps -aef|grep sshd
/ d- S# E6 U. l c# Z* n 开启服务:service sshd start
8 L& R) `0 y# g3 H 关闭服务:service sshd stop9 y p# t ?; I6 `
重启服务:service sshd restart& S+ a; M' q I" f8 v) ] ^7 w- }4 ]
4.2设置访问控制策略限制能够管理本机的IP地址
; C, v* T9 R! N6 t" ]4 @# [ 先备份文件:cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_bak
, x0 \/ Q! b, ^' Z: B5 q+ ] 修改文件:9 n( E8 K, i& a& W- V- t
添加:AllowUsers *@10.138.*.* #仅允许10.138.0.0/16网段所有用户通过ssh访问
' W5 o4 n0 K+ Y. ~( c 保存后,重启ssh。
' E/ J3 Y1 @& U2 x: e. ^ 4.3 禁止root用户远程使用ssh
' w4 E3 ]$ A1 L# _0 e& S 修改文件/etc/ssh/sshd_config 将PermitRootLogin修改为yes
9 ~5 U/ s" k+ ^5 ^ 记得修改之前要备份; q, p! y! C s) r
4.4 限定信任主机) e4 j$ J9 A; ~# }5 L
修改/etc/hosts.allow,添加一下代码:
2 B: J, g) B5 r1 h2 ~ sshd:192.168.0.100:allow //允许IP 192.168.0.100 登录
* q4 w# t9 H7 S- ]& k1 r' ?5 w sshd:192.168.10.:allow //允许IP 192.168.10. 网段登录
" E$ C& E7 ~- l. ~/ J4 C 修改/etc/hosts.deny,添加一下代码9 ~+ Z: }5 b( m5 U+ l. Y
sshd:all:deny //禁止其他的所有IP登录
0 [3 l; `" Q& {6 f 4.5防止误使用Ctrl+Alt+Del重启系统: N$ d( ?9 Q3 }% w
修改/etc/init/control-alt-delete.conf 文件,将最后一行:
8 z' d: x9 ?: R exec /sbin/shutdown -r now “Control-Alt-Delete pressed” 注释掉就可以了
# Y0 w0 I, }) X# @6 u4 C 5、用户鉴别2 K& s' l- w* z5 ?* T+ Z
5.1设置帐户锁定登录失败锁定次数、锁定时间
! n$ {5 R9 w& T. n& T+ \0 R 修改文件/etc/pam.d/system-auth 添加一行:
- R- g6 x h/ B9 @8 t auth required pam_tally.so onerr=fail deny=6 unlock_time=300
: P* a. D) S! o* N; k9 z #设置为密码连续错误6次锁定,锁定时间300秒$ h6 R" [+ f' J) A/ V4 L& s
用户锁定后,解锁:faillog -u <用户名> -r. s2 b' y, z7 V" l5 b# F8 @
风险:需要PAM包的支持;对pam文件的修改应仔细检查,一旦出现错误会导致无法登陆; 当系统验证出现问题时,首先应当检查/var/log/messages或者/var/log/secure中的输出信息,根据这些信息判断用户账号的有效性。* K7 ?* S% Z! W7 p' ?7 u4 k
5.2 修改帐户TMOUT值,设置自动注销时间
5 H D) t0 e9 ~! ~( U; N q 修改/etc/profile文件
# M/ ]8 ]9 T& T' D3 E 在”HISTFILESIZE=”后面加入下面这行,添加:TMOUT=600 #表示无操作600秒后自动退出7 _" I' A' c. H$ n9 Y
5.3设置Bash保留历史命令的条数
$ j) {2 r. g( N E X0 Q9 @ 修改/etc/profile文件的HISTSIZE的值,自己设定7 @5 A" {, m u+ q! u
6、审计策略
& \+ Q. B5 U: ] 6.1 配置系统日志策略配置文件/ i' _2 a' E6 t% _" T
查看syslog是否启动:ps -aef | grep syslog
" q0 I6 e, y' s' V8 i 查看rsyslogd的配置,并确认日志文件是否存在:cat /etc/rsyslog.conf
5 ]9 u: @( |9 _# P! |- d6 a 6.2审计产生的数据分配合理的存储空间和存储时间9 @1 J: U. S" x! Y T5 Z
查看系统轮询配置:cat /etc/logrotate.conf
' L& U& c V' V: N2 _5 L0 z 一些属性:2 V# y, T( l% d; U7 y; m
rotate 4 日志文件保存个数为4,当第5个产生后,删除最早的日志
$ _( r) m2 Q4 k. h; |8 t size 100k 每个日志的大小
! I4 f* x/ E" q, @: w6 A8 G/ b4 g
; [, Z7 L, c9 q/ U转自江苏三艾网络 | 0 a7 d' e5 g8 S3 W- v9 i- g* r* I8 d
|