上次整理了基于等保三级的winserver的加固方案(Windows安全加固)
这次是基于等保三级的Linux方案
众所周知,Linux有很多版本,就目前我看到的,大部分用的是centos6.5到7
其次是Ubuntu16.5和14等
命令及部分文件都有差异,所以方案的具体实施会不同。
因此,这里列出的没那么细致,但包含基本的方向。
方案分为身份鉴别、访问控制、安全审计、资源控制和入侵防范5个方面。
有些依然需要根据业务需求来确定是否执行。
01身份鉴别《信息系统等级保护基本要求》
主机安全---身份鉴别
b)应对登录操作系统和数据库系统的用户进行身份标识和鉴别;
c)操作系统和数据库系统管理用户身份标识应具有不易被冒用的特点,系统的静态口令应在8位以上并由字母、数字、符号等混合组成并每三个月更换口令。
口令复杂度策略
口令长度至少8位,并包括数字、小写字母、大写字母和特殊符号4类中至少2类。
/etc/security/pam_pwcheck.conf
Minlen//密码最小长度要求;
Lcredit//小写字符数量
Ocredit//特殊字符数量
多次登录失败锁定策略
系统应配置当用户连续认证失败次数超过6次(不含6次),锁定该用户使用的账号,root用户不适用该项配置。
修改/etc/pam.d/sshd文件,添加如下两行:
authrequiredpam_tally.sono_magic_root#此行的位置需要在该文件的第一行。
accountrequiredpam_tally.sodeny=6no_magic_root
重启sshd服务:/etc/init.d/sshdrestart
不同版本可尝试:
设置连续登陆6次后帐号锁定:
修改/etc/pam.d/sshd文件,添加如下两行:
authrequiredpam_tally.sodeny=6
accountrequiredpam_tally.so
重启sshd服务:/etc/init.d/sshdrestart
解锁方法:以root用户登录,执行如下操作:
查看哪些用户被锁定:pam_tally
为用户解锁:pam_tally--userusername--reset=0
口令最长生存期策略
要求操作系统的账户口令的最长生存期不长于90天。
/etc/login.defs
PASS_MAX_DAYS90//密码最长使用期限为90天
PASS_MIN_DAYS10//密码最短使用期限为10天
PASS_WARN_AGE7//密码到期10天前提醒
修改Banner信息
修改回显信息/etc/issue和/etc/issue.net
#echo"Authorizedusersonly.Allactivitymaybemonitoredandreported"/etc/issue
#echo"Authorizedusersonly.Allactivitymaybemonitoredandreported"/etc/issue.net
02访问控制《信息系统等级保护基本要求》
主机安全---访问控制
e)应及时删除多余的、过期的账户,避免共享账户的存在。
多余账户锁定策略
应锁定与设备运行、维护等工作无关的账号。
/etc/password以root账户登录Linux系统
锁定用户方法一:
修改/etc/password文件,将需要锁定的用户的shell域后添加nologin;
test:x:::-LINUX:/home/test:/bin/bash/nologin
锁定用户方法二:
在超级权限的账户下使用”passwd”命令
#passwd–lusername//锁定账户;
#passwd–dusername//解锁用户;
解锁用户后需重新设置密码,且/etc/passwd文件内容不会发生变化。该操作比较麻烦,不推荐使用。
一般情况下,需要锁定的用户:lp,nuucp,hpdb,sync,adm
共享账号检查
系统需按照实际用户分配账号;
应按照不同的用户分配不同的账号,避免不同用户间共享账号,避免用户账号和服务器间通信使用的账号共享。
如需建立用户,参考如下:
useraddusername//创建账号
passwdusername//设置密码
《信息系统等级保护基本要求》
主机安全---访问控制
应启用访问控制功能,依据安全策略控制用户对资源的访问。
《信息系统等级保护基本要求》
主机安全---访问控制
b)应根据管理用户的角色(如:系统管理员、安全管理员、安全审计员等)分配权限,实现管理用户的权限分离,仅授予管理用户所需的最小权限。
关键目录权限控制
根据安全需要,配置某些关键目录其所需的最小权限;
重点设置password、shadow、group、service、login.defs、xinetd.conf、security、ssh_config文件权限。
其实很多版本都默认设置了一些。
ls–l/etc/passwd//查看passwd文件是否为权限
ls–l/etc/shadow//查看shadow文件是否为权限
ls–l/etc/group//查看group文件是否为权限
ls–l/etc/service//查看service文件是否为权限
ls–l/etc/login.defs//查看login.defs是否为权限
ls–l/etc/xinetd.conf//查看xinetd.conf文件是否为权限
ls–l/etc/security//查看security文件是否为权限
ls-l/ssh/ssh_config//查看ssh_config文件是否为权限
用户缺省权限控制
umask值应为或更小权限
/etc/profile
在文件末尾增加一条行:umask
需要说明下:
/etc/profile和/etc/bashrc都可以用于设置用户登录系统时自动执行某些操作,他们的区别是/etc/profile只在用户第一次登录时被执行,而/etc/bashrc则在用户每次登录加载BashShell时都会被执行。
因而,修改/etc/profile文件,将只对新创建的用户生效;修改/etc/bashrc文件,则对所有用户都生效。
禁止Control-Alt-Delete键盘关闭命令
禁止Control-Alt-Delete键盘关闭命令,使得在控制台直接按ctl-alt-del不能重新启动计算机。
如下文件也可能没有。
在“/etc/inittab”文件中注释掉下面这行(使用#):ca::ctrlaltdel:/sbin/shutdown-t3-rnow改为:#ca::ctrlaltdel:/sbin/shutdown-t3-rnow
日志文件权限
只能追加数据,不能删除日志文件
chattr+a/var/log/messages#如果不存在则忽略
历史命令设置
限制命令记录大小
/etc/profile,在文件中加入如下(存在则修改):
HISTSIZE=50
执行以下命令让配置生效
source/etc/profile
更改主机解析地址的顺序
防止ip欺骗
/etc/host.conf文件在空白处加入下面三行:
orderhosts,bind#第一项设置首先通过DNS解析IP地址,然后通过hosts文件解析。
multion#第二项设置检测是否"/etc/hosts"文件中的主机是否拥有多个IP地址(比如有多个以太口网卡)。
nospoofon#第三项设置说明要注意对本机未经许可的IP欺骗。
03安全审计主机安全---安全审计
b)审计内容应包括重要用户行为、系统资源的异常使用和重要系统命令的使用、账号的分配、创建与变更、审计策略的调整、审计系统功能的关闭与启动等系统内重要的安全相关事件。
c)审计记录应包括事件的日期、时间、类型、主体标识、客体标识和结果等
安全日志完备性要求
安全日志完备性要求(如果没有相关命令及文件,则不执行)
系统应配置完备日志记录,记录对与系统相关的安全事件。
/etc/syslog.conf
配置如下类似语句:
*.err/var/log/errors
authpriv.info/var/log/authpriv_info
*.info/var/log/info
auth.none/var/log/auth_none
/etc/login.defs
修改LASTLOG_ENAB的属性:
LASTLOG_ENAByes
/usr/lib/acct/accton/var/adm/pact
开启acct服务:chkconfigaccton
执行读取命令last中科白癜风新春喜相迎中科白癜风新春喜相迎