linux安全规范

1、账户安全

1.1 锁定系统中多余的自建账号

实施目的:

  清理与系统管理和应用没有关系的账号

实施步骤:

  执行命令

  #cat /etc/passwd

  #cat /etc/shadow

  查看账户、口令文件,与系统管理员确认不必要的账号。对于一些保留的系统伪账户。如:bin、sys、adm、uucp、lp、nuucp、hpdb、www、daemon等可根据需要锁定登陆。

  安全加固方法:

  使用命令passwd -l <用户名>锁定不必要的账号。

  使用命令passwd -u <用户名>解锁需要恢复的账号。

 

1.2 设置系统口令策略

实施目的:

  防止弱口令的使用

实施步骤:

  使用命令#cat /etc/login.defs|grep PASS 查看密码策略设置

加固方法:

  #vi /etc/login.defs 修改配置文件

  PASS_MAX_DAYS   90  #新建用户的密码最长使用天数

  PASS_MIN_DAYS    0    #新建用户的密码最短使用天数

  PASS_WARN_AGE    7    #新建用户的密码到期提前提醒天数

  PASS_MIN_LEN    9    最小密码长度

 

1.3 禁用root之外的超级用户

实施目的:

  控制超级管理员账号

实施步骤:

  #cat /etc/passwd  查看口令文件,口令文件格式如下:

  login_name:passwd:user_ID:group_ID:comment:home_dir:command

  login_name:用户名

  password:加密后的用户密码

  user_ID:用户ID,(1~6000) 若用户ID=0,则该用户拥有超级用户的权限。查看此处是否有多个ID=0

  group_ID:用户组ID

  comment:用户全名或其他注释信息

  home_dir:用户根目录

  command:用户登录后的执行命令

加固方法:

  使用命令passwd -l <用户名> 锁定不必要的超级账户。

 

1.4 限制能够su 为root的用户

实施目的:

  限制权限提升

实施步骤:

  #cat /etc/pam.d/su,查看是否有auth requried /lib/security/pam_wheel.so 这样的配置条目

加固方法:

  #vi /etc/pam.d/su 在头部添加:

  auth requried /lib/security/pam_wheel.so group=wheel

  这样,只有wheel组的用户可以su到root

  #usermod -G wheel test

 

1.5 检查shadow中空口令账号

实施目的:

  禁止空口令账号存在

实施步骤:

  #awk -F: '($2 == "") {print $1}' /etc/shadow

  对空口令账号进行锁定,或要求增加密码

 

2、最小化服务

2.1 停止或禁用与承载业务无关的服务

实施目的:

  停止或禁用与承载业务无关的服务

实施步骤:

  #who -r或runlevel  查看当前init 级别

  #chkconfig --list     查看所有服务的状态

  #chkconfig --level <服务名> on|off|reset 设置服务在各个init级别下开机是否启动

 

3、网络访问控制

3.1 使用SSH进行管理

实施目的:

  使用加密的管理方式

实施步骤:

  #ps -aef|grep sshd  查看有无ssh服务

  如没有,使用命令开启服务

  service sshd start

 

3.2 禁止root用户远程登陆

实施目的:

  禁止root用户登录服务器

实施步骤:

  #cat /etc/ssh/sshd_config  查看PermitRootLogin 是否为no

  修改方法:

  #vi /etc/ssh/sshd_config

  PermitRootLogin no

 

3.3 屏蔽登录banner信息

实施目的:

  禁止banner信息,防止相关信息泄露

实施步骤:

  #cat /etc/ssh/sshd_config  查看文件中是否存在banner字段,或banner字段为NONE

  #cat /etc/motd  查看文件内容,该处内容作为banner信息显示给登录用户

  修改方法:

  #vi /etc/ssh/sshd_config

  banner NONE

  #vi /etc/motd

  删除全部内容或更新成自己想要添加内容

 

3.4 防止使用CRTL+ALT+DEL重启系统

实施目的:

  防止误使用CRTL+ALT+DEL重启系统

实施方法:

  #cat /etc/inittab|grep ctrlaltdel  查看输入行是否被注释

修改方法:

  #vi /etc/inittab

  在行开头添加注释符号“#”

  #ca::ctrlaltdel:/sbin/shutdown -t3 -r now

 

4、用户鉴别

4.1 设置账户锁定登录失败次数、锁定次数、锁定时间

实施目的:

  防止暴力破解

实施步骤:

  #cat /etc/pam.d/system-auth  查看有无auth requried pam_tally.so 条目的设置

操作步骤:

  #vi /etc/pam.d/system-auth

  auth requried pam_tally.so onerr=fail deny=6 unlock_time=300  设置为密码连续错误6次锁定,锁定时间为300秒

  解锁用户 faillog -u <用户名> -r

 

4.2 修改账户TMOUT值,设置自动注销时间

实施目的:

  设置账号的空闲超时时间

实施步骤:

  #cat /etc/profile  查看有无TMOUT的设置

修改方法:

  #vi /etc/profile

  增加

  TMOUT=600  无操作600秒后自动退出

 

4.3 Grub/Lilo密码设置

实施目的:

  设置Grub/Lilo的密码

实施步骤:

  #cat /etc/grub.conf|grep password  查看grub是否设置密码

  #cat /etc/lilo.conf|grep password   查看lilo是否设置密码

修改方法:

  为grub或lilo设置密码

  注意:此密码切勿遗忘

 

4.4 限制FTP登录

实施目的:

  限制账号使用FTP

实施步骤:

  #cat /etc/ftpusers  确认是否包含用户名,这些用户名不允许登录FTP服务。

修改方法:

  #vi /etc/ftpusers  添加行,每行包含一个用户名,添加的用户将禁止登录FTP服务。

 

4.5 设置Bash保留历史命令的条数

实施目的:

  设置Bash的历史命令条数,避免相关信息泄露

实施方法:

  #cat /etc/profile|grep HISTSIZE=

  #cat /etc/profile|grep HISTFILESIZE=  查看保留历史命令的条数

  #cp -p /etc/profile /etc/profile.bak

修改方法:

  #vi /etc/profile

  修改HISTSIZE=5和HISTFILESIZE=5 即保留最新执行的*条命令

posted @ 2019-02-28 11:33  虫儿飞_mustartk  阅读(513)  评论(0)    收藏  举报