CentOS7安全基线

本文命令均基于CentOS7测试,其他版本也大同小异。

1.账号管理与认证授权1.1账号1.1.1用户口令设置

安全项讲解:用户的口令如果长时间不更换容易泄密、被暴力破解

安全基线项目名称:设置用户口令策略

合规要求:密码设置符合策略,不存在空口令账号

操作步骤:

检查是否存在空口令账号

设置密码复杂度策略,口令长度不小于8,至少包含1位数字、大写字母、特殊字符、小写字母复制配置文件cp/etc//system-auth/etc//增加新配置以满足安全性需要echo'passwordrequisitepam__first_passretry=3minlen=8dcredit=-1ucredit=-1ocredit=-1lcredit=-1'/etc//system-auth

测试密码复杂度策略是否生效

设置检查密码重复使用次数,不允许使用前3次使用过的密码在原先的配置上加上remember=3sed-i's/^passwordrequisitepam__first_passlocal_users_onlyretry=3authtok_type=/passwordrequisitepam__first_passlocal_users_onlyretry=3remember=3authtok_type=/'/etc//system-auth

登录失败锁定账户

设置密码使用时间和告警提醒

检查是否存在除root外UID为0的用户awk-F:'($3==0){print$1}'/etc/passwd

检查UID为0的用户

1.1.3检查用户目录的缺省访问设置

安全项讲解:umask是一个非常重要的概念,它用于确定新创建文件和目录的默认权限。umask值表示要从每个文件或目录的默认权限中减去的权限。设置合适的umask值可以提高系统的安全性。022表示755-022,即属主rwx,属组rx,other也是rx

安全基线项目名称:设置用户默认umask

合规要求:umask的返回值应为“022”

操作步骤:

检查并设置umask

设置umask为022echo"umask022"/etc/profilesource/etc/profile

1.1.4为不同用户分配不同账号

安全项讲解:不同用户使用同一账号容易造成账号混淆,权限不明确,存在用户越权使用的可能。应当根据不同类型用途设置不同的账号,提高系统安全。

安全基线项目名称:为不同的用户分配不同账号

合规要求:除root外应该有普通用户存在

操作步骤

为用户创建账号

修改/etc/sudoers,让user01有sudo权限,可以sudo-i切换root账号echo'user01ALL=(ALL)ALL'/etc/sudoers
1.1.6配置普通用户允许ssh远程登录,禁止root用户远程登录

安全项讲解:root用户拥有系统最高权限,权限远高于Windows系统中的administrator用户。一旦root用户信息被泄露,对于服务器来说将是极为致命的威胁。所以禁止root用户通过ssh的方式进行远程登录,这样可以极大的提高服务器的安全性,即使是root用户密码泄露出去也能够保障服务器的安全。

安全基线项目名称:禁止root用户ssh远程登录,允许普通用户ssh登录。这步需要配合1.1.5的普通用户提权

合规要求:PermitRootLogin为no

操作步骤:

修改ssh配置文件禁止root用户登录

查看sshd配置文件,应该显示'PermitRootLoginno'catsshd_config|grepPermitRootLogin

禁止root用户ssh登录

允许普通用户ssh远程登录

设置密码使用时间和告警提醒cat/etc/|grep'PASS_MAX_DAYS\|PASS_MIN_DAYS\|PASS_WARN_AGE'PASS_MAX_DAYS90口令更改最小间隔天数应大于等于7PASS_WARN_AGE7查找.netrc与.rhosts文件find/-/-

查找.netrc与.rhosts文件

1.2.2重要目录、文件权限设置

安全项讲解:重要目录、文件的权限在不影响业务的情况下应该给予最小权限即可。

安全基线项目名称:重要目录和文件的权限设置

合规要求:若权限设置过低则系统用户无法进入文件目录或操作文件,不符合。

操作步骤:

设置账号相关文件的权限

可选,文件锁,不让编辑chattr+i/etc/passwdchattr+i/etc/shadowchattr+i/etc/groupchattr+i/etc/gshadow

设置日志相关文件的权限

系统日志chmod+a/var/log/messages邮件系统日志chmod600/var/log/securecron(定制任务日志)日志核心启动日志chmod664/var/log/wtmp查找当前系统上的所有设置了SUID或SGID位的文件find/\(-userroot-perm-4000-o-userroot-perm-20000\)-print2/dev/null
2.日志审计2.1日志2.1.1检查审计日志是否保存180天

安全项讲解:审计日志需要保存6个月以上

安全基线项目名称:检查审计日志是否保存180天

合规要求:检查审计日志是否保存180天

操作步骤:

修改日志保存时间

添加审计规则vim/etc/audit//​-w/etc//-pwa-kscope-w/etc/sudoers-pwa-kscope-w/etc/security/opasswd-pwa-kidentity-w/etc/shadow-pwa-kidentity-w/etc/gshadow-pwa-kidentity-w/etc/passwd-pwa-kidentity-w/etc/group-pwa-kidentity-aalways,exit-Farch=b32-Sunlink-Sunlinkat-Srename-Srenameat-Fauid=1000-Fauid!=4294967295-kdelete-aalways,exit-Farch=b64-Sunlink-Sunlinkat-Srename-Srenameat-Fauid=1000-Fauid!=4294967295-kdelete

重启audit服务并查看配置内容

查看配置内容auditctl-l修改/etc/security/*softcore0*hardcore0​#查看/etc/security/|grep'\*softcore'cat/etc/security/|grep'\*hardcore'

版权声明:本站所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请举报,一经查实,本站将立刻删除。

相关推荐