原创: kid 合天智汇
上次整理了 基于等保三级的win server 2012的加固方案(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文件,添加如下两行:
auth requiredpam_tally.so no_magic_root #此行的位置需要在该文件的第一行。
account requiredpam_tally.so deny=6 no_magic_root
重启sshd服务:/etc/init.d/sshdrestart
不同版本可尝试:
设置连续登陆6次后帐号锁定:
修改/etc/pam.d/sshd文件,添加如下两行:
auth requiredpam_tally.so deny=6
account requiredpam_tally.so
重启sshd服务:/etc/init.d/sshdrestart
解锁方法:以root用户登录,执行如下操作:
查看哪些用户被锁定:pam_tally
为用户解锁:pam_tally--user username --reset=0
口令最长生存期策略
要求操作系统的账户口令的最长生存期不长于90 天。
/etc/login.defs
PASS_MAX_DAYS 90//密码最长使用期限为90天
PASS_MIN_DAYS 10//密码最短使用期限为10天
PASS_WARN_AGE 7//密码到期10天前提醒
修改Banner信息
修改回显信息/etc/issue和/etc/issue.net
#echo "Authorized users only. All activity may be monitored and reported "> /etc/issue
#echo "Authorized users only. All activity may be monitored and reported "> /etc/issue.net
02访问控制
《信息系统等级保护基本要求》
主机安全---访问控制
e)应及时删除多余的、过期的账户,避免共享账户的存在。
多余账户锁定策略
应锁定与设备运行、维护等工作无关的账号。
/etc/password以root账户登录Linux系统
锁定用户方法一:
修改/etc/password文件,将需要锁定的用户的shell域后添加nologin;
test:x:1000:100:-LINUX:/home/test:/bin/bash/nologin
锁定用户方法二:
在超级权限的账户下使用”passwd”命令
#passwd –lusername //锁定账户;
#passwd –dusername//解锁用户;
解锁用户后需重新设置密码,且/etc/passwd文件内容不会发生变化。该操作比较麻烦,不推荐使用。
一般情况下,需要锁定的用户:lp,nuucp,hpdb,sync,adm
共享账号检查
系统需按照实际用户分配账号;
应按照不同的用户分配不同的账号,避免不同用户间共享账号,避免用户账号和服务器间通信使用的账号共享。
如需建立用户,参考如下:
useradd username//创建账号
passwd username//设置密码
《信息系统等级保护基本要求》
主机安全---访问控制
应启用访问控制功能,依据安全策略控制用户对资源的访问。
《信息系统等级保护基本要求》
主机安全---访问控制
b)应根据管理用户的角色(如:系统管理员、安全管理员、安全审计员等)分配权限,实现管理用户的权限分离,仅授予管理用户所需的最小权限。
关键目录权限控制
根据安全需要,配置某些关键目录其所需的最小权限;
重点设置password、shadow、group、service、login.defs、xinetd.conf、security、ssh_config文件权限。
其实很多版本都默认设置了一些。
ls –l /etc/passwd//查看passwd文件是否为644权限
ls –l /etc/shadow//查看shadow文件是否为600权限
ls –l /etc/group//查看group文件是否为644权限
ls –l /etc/service//查看service文件是否为644权限
ls –l/etc/login.defs //查看login.defs是否为644权限
ls –l/etc/xinetd.conf //查看xinetd.conf文件是否为600权限
ls –l/etc/security //查看security文件是否为600权限
ls -l/ssh/ssh_config //查看ssh_config文件是否为600权限
用户缺省权限控制
umask值应为027或更小权限
/etc/profile
在文件末尾增加一条行:umask027
需要说明下:
/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 -r now 改为:#ca::ctrlaltdel:/sbin/shutdown -t3 -r now
日志文件权限
只能追加数据,不能删除日志文件
chattr +a/var/log/messages #如果不存在则忽略
历史命令设置
限制命令记录大小
/etc/profile,在文件中加入如下(存在则修改):
HISTSIZE=50
执行以下命令让配置生效
source /etc/profile
更改主机解析地址的顺序
防止ip欺骗
/etc/host.conf文件在空白处加入下面三行:
order hosts,bind#第一项设置首先通过DNS解析IP地址,然后通过hosts文件解析。
multi on#第二项设置检测是否"/etc/hosts"文件中的主机是否拥有多个IP地址(比如有多个以太口网卡)。
nospoof on#第三项设置说明要注意对本机未经许可的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_ENAB yes
/usr/lib/acct/accton/var/adm/pact
开启acct服务:chkconfigacct on
执行读取命令lastcomm[user name]
主机安全---安全审计
f)应保护审计记录,避免受到未预期的删除、修改或覆盖等,保存时间不少于半年。
统一远程日志服务器配置
当前系统应配置远程日志功能,将需要重点关注的日志内容传输到日志服务器进行备份。
/etc/syslog.conf,
增加syslog服务器配置:*.*@logserver
保存退出后重新启动syslog服务:servicessyslogd restart
日志文件权限控制
系统应合理配置日志文件权限,控制对日志文件读取、修改和删除等操作。
chmod 600/var/log/authpriv_info
chmod 644 //var/log/errors
chmod 644/var/log/info
chmod 644/var/log/auth_none
配置NTP服务器,保证时间同步。
04资源控制
主机安全---资源控制
b)应根据安全策略设置登录终端的操作超时锁定。
字符操作界面账户定时退出
对于具备字符交互界面的系统,应配置定时帐户自动登出,超时时间为300秒。如不使用字符交互界面,该配置可忽略。
/etc/profile中增加exportTMOUT=300
/etc/profile
export TMOUT=300
主机安全---资源控制
a)应通过设定终端接入方式、网络地址范围条件限制登录;
root账户远程登录账户限制(一般不做)
/etc/ssh/sshd_config
PermitRootLogin no
重启sshd服务:servicesshd restart
主机安全---资源控制
d)应限制单个用户对系统资源的最大或最小使用限度;
防止堆栈溢出
/etc/security/limit.conf增加如下一行
* hard core 0
保存文件后退出,重启系统生效
05入侵防范
主机安全---入侵防范
c)操作系统应遵循最小安装的原则,仅安装需要的组件和应用程序,并通过设置升级服务器、系统软件预防性维护服务等方式保持系统补丁及时得到更新。
关闭不必要的网络和系统服务
根据每台机器的不同角色,关闭不需要的系统服务。如无特殊需要,应关闭lpd,telnet,routed,sendmail,
bluetooth,identd,xfs,rlogin,rwho,rsh,rexec服务。
相关操作学习:
Linux服务器通用安全加固指南:学习如何对我们的服务器进行安全加固,点击http://www.hetianlab.com/expc.do?ec=ECID172.19.104.182015070311360700001开始操作!
本文为合天原创,未经允许,严禁装载。