京东6.18大促主会场领京享红包更优惠

 找回密码
 立即注册

QQ登录

只需一步,快速开始

Linux基线检查与安全加固方式

2024-11-4 02:49| 发布者: 4d5a8576d| 查看: 158| 评论: 0

摘要: 目录安全加固Linux安全加固账户管理服务管理权限管理日志管理总结安全加固 Linux安全加固 账户管理 一、口令锁定计谋 检查利用步骤 查看配置文件: [code]more /etc/pam.d/password-auth[/code] 查看是否存在如下内容
目录

安全加固

Linux安全加固

账户管理

一、口令锁定计谋

检查利用步骤

查看配置文件:

[code]more /etc/pam.d/password-auth[/code]

查看是否存在如下内容:

[code]auth required pam_tally2.so deny=5 onerr=fail unlock time=300 even_deny_root=5 root unlock_time=600[/code]

(连续认证5次会锁定账户,锁定300秒,root的话,5次失败,锁定600秒)

基线符合性判定依据

用户连续认证失败次数设置为5次即合规,否则不合规。

安全加固方案

参考配置利用

1.实行备份

[code]cp -p /etc/pam.d/password-auth /etc/pam.d/password-auth_bak[/code]

2.修改计谋设置,编辑文件

[code]vim /etc/pam.d/password-auth[/code]

增长以下内容

[code]auth required pam_tally2.so deny=5 onerr=fail unlock time=300 even_deny_root=5 root unlock_time=600[/code]

注意:unlock_time和root_unlock_time单位为秒。

验证成功:

备注

PAM通过提供一些动态链接库和一套同一的AP1,将体系提供的服务 和该服务的认证方式分开,使得体系管理员可以机动地根据必要给差别的服务配置差别的认证方式而无需更改服务步伐,同时也便于向体系中添加新的认证本领。

root下可查看因为验证登录失败的账户

[code]pam_tally2 -u[/code]

如果必要解锁的话,必要以root输入

[code]pam_tally2 -u baiyun -r[/code]
二、口令生存期

检查利用步骤

查看文件:

[code]more /etc/login.defs[/code]

检查如下参数值是否满意要求

  • PASS_MAX_DAYS用户的暗码最长使用天数不大于90
  • PASS_WARN_AGE #用户的暗码到期提条件醒天数为7

基线符合性判定依据

  • PASS_MAX_DAYS不大于90
  • PASS_WARN_AGE等于7即合规,否则不合规

安全加固方案

参考配置利用

1.实行备份:

[code]cp -p /etc/login.defs /etc/login.desfs_bak[/code]

2.修改计谋设置,编辑/etc/login.defs在文件中加入如下内容(存在的话修改,不存在则添加):

[code]PASS_MAX_DAYS 90 PASS_WARN_AGE 7[/code] [code]chage -M 90 -W 7 baiyun[/code]

//修改已有效户的口令生存期和过期告警天数

未加固前

加固后

三、口令复杂度

检查利用步骤

实行下令:

[code]grep -E '^minlen|^minclass' /etc/security/pwquality.conf[/code]

查看是否有返回结果。

基线符合性判定依据

有返回结果且返回结果等于或者大于minlen = 8,minclass =3 即合规,

否则不合规。

安全加固方案

1.实行备份:

[code]cp -p /etc/security/pwquality.conf /etc/security/pwquality.conf_bak[/code]

2.实行下令:

[code]authconfig --passminlen=8 --passminclass=3 --update[/code]

#至少包含数字、小写字母、大写字母、特殊字符中的三项,且暗码长度>=8

3、实行下令

[code]chage -d 0 username[/code]

#逼迫指定的用户下次登录修改暗码

四、检查暗码重用是否受限定

检查利用步骤

查看文件:

[code]cat /etc/pam.d/system-auth[/code]

找到

password sufficient pam_unix.so 这行,检查未尾是否有 remember参数

基线符合性判定依据

有remember参数且参数的值大于等于5即合规,否则不合规。

安全加固方案

参考配置利用

1.实行备份:

[code]cp -p /etc/pam.d/system-auth[/code]

2.实行下令:

[code]vi /etc/pam.d/system-auth[/code]

编辑该文件,找到password sufficient pam_unix.so这行在末了添加remember参数他的值为5,原来的内容不消更改,只在末了加remember=5即可,他表现克制使用最近用过的5个暗码(已使用过的暗码会被生存在 /etc/security/opasswd下面)

未加固前

加固后

五、检查是否存在除root之外UID为0的用户

检查利用步骤

实行下令:

[code]awk -F: '($3 == 0){ print $1}' /etc/passwd[/code]

查看返回值。

基线符合性性判定依据

返回值包罗“root”以外的条目,则低于安全要求

安全加固方案

参考配置利用

1、实行备份:

[code]cp -p /etc/passwd cp -p /etc/shadow[/code]

2、实行下令:

[code]userdel -r username[/code]

删除返回值中root除外的其他用户。

或者使用下令:

[code]usermod -u uid username [/code]

为他们分配新的UID

六、克制存在空暗码的帐户

检查利用步骤

实行以下下令查看体系中是否存在空口令账号#

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

基线符合性性判定依据

实行下令后没有返回值即合规,否则不合规

安全加固方案

参考配置利用

1、为帐户设置满意暗码复杂度的暗码

[code]#passwd username[/code]

服务管理

一、克制SSH空暗码用户登录

检查利用步骤

实行下令:

[code]more /etc/ssh/sshd_config [/code]

查看 PermitEmptyPasswords 配置情况

基线符合性性判定依据

PermitEmptyPasswords 的值设置为no即合规,否则不合规

安全加固方案

参考配置利用

1、实行备份:

[code]cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_bak[/code]

2、实行下令:

[code]vi /etc/ssh/sshd_config[/code]

找到 PermitEmptyPasswords 将其设置为no后生存并退出

3、实行下令:

[code]systemctl restrat sshd[/code]

重启服务使配置收效

未配置前

这个固然是no,但是被注释掉了,不收效

加固后

二、SSH多次登录失败后锁定用户

检查利用步骤

实行下令:

[code]more /etc/pam.d/sshd[/code]

查看是否存在

[code] auth required pam_tally2.sodeny=5 unlock_time=300 [/code]

内容基线符合性性判定依据

存在该行且 deny小于等于5,unlock_time大于等于300,否则不合规

安全加固方案

参考配置利用

1、实行备份:

[code]cp -p /etc/pam.d/sshd /etc/pam.d/sshd bak[/code]

2、实行下令:

[code]vi /etc/pam.d/sshd [/code]

在文件开头添加一行,内容为

[code] auth requiredpam_tally2.so deny=5 unlock time=300[/code]

如要对root用户也进行限定,在刚添加的内容后继续添加:

[code]even deny_root=5 root_unlock time=1200[/code]

重启收效

[code]systemctl restart sshd[/code]

未加固

加固后

三、限定root用户长途登录

检查利用步骤

实行下令:

[code]more /etc/ssh/sshd_config [/code]

查看PermitRootLogin 参数的值

基线符合性性判定依据

PermitRootLogin参数值为no且该行没有被注释即合规,否则不合规

安全加固方案

参考配置利用

1、实行备份:

[code]cp -p /etc/ssh/sshd_config /etc/ssh[/code]

2、实行下令:

[code]vi /etc/ssh/sshd_config [/code]

找到 PermitRootLogin 将其后方的 yes改为 no 并删除前方的 # 取消该行的注释

3、释实行下令:

[code]systemctl restart sshd[/code]

重启服务使其收效

未加固前

加固后

四、检查ssh使用的端口

检查利用步骤

实行下令:

[code]more /etc/ssn/sshd_config[/code]

查看Port 参数的值

基线符合性性判定依据

Port参数值不是默认值 (22) 且该行没有被注即合规,否则不合规

安全加固方案

参考配置利用

1、实行下令:

[code]vi /etc/ssh/sshd_config [/code]

找到 Port 将其后方的 22 改为其他端标语,然后删除前方的 # 取消该行的注释 (端标语最好挑10000-65535之间的端标语,10000以下容易被体系或一些特殊软件占用)

2、实行下令:

[code]semanage port -a -t ssh_port_t -p tcp 22233[/code]

修改后的端标语,将修改后的端口添加到SELinux开放给ssh使用的端口

3、实行下令:

[code]firewall-cmd --zone=public --add-port=22233/tcp --permanent[/code]

防火墙放行刚修改的 ssh 端标语

4、实行下令:

[code]systemctl restart sshd;systemctl restart firewalld[/code]

重启ssh和防火墙,使配置收效

未加固

加固后

五、设置登录超时主动注销

检查利用步骤

实行下令:

[code]more /etc/profile [/code]

查看是否有export TMOUT=180

基线符合性性判定依据

存在export TMOUT且他的值小于等于180即合规,否则不合规

安全加固方案

参考配置利用

1、实行备份 :

[code]cp - p /etc/profile /etc/profile_bak[/code]

2、实行下令:

[code]vi /etc/profile[/code]

在该文件末了添加

[code]export TMOUT=180[/code]

或者将原来的值修改为180

注意=号前后不要有空格。

权限管理

一、检查默认umask值

补充:

umask 027是一种文件权限掩码,它用于控制新创建的文件和目录的默认权限。

umask 027指定了在创建文件和目录时,文件权限将减去2个位的可写权限和一个位的可实行权限。

也就是说,如果创建一个新文件,权限将是全部者权限为rw-r-----(全部者可读可写,组可读,其他用户没有任何权限),如果创建一个新目录,权限将是全部者权限为rwxr-x---(全部者可读可写可实行,组可读可实行,其他用户没有任何权限)。

检查利用步骤

实行下令:

[code]more /etc/profile [/code]

查看该文件末了是否设置umask值

基线符合性性判定依据

/etc/profile文件末了存在umask 027,则合规,否则为不合规。

安全加固方案

参考配置利用

1、实行备份:

[code]cp -p /etc/profile /etc/profile_bak[/code]

2、实行下令:

[code]vi /etc/profile[/code]

编辑文件,在该文件末了添加

[code]umask 027[/code]

3、实行以下下令让配置收效:

[code]source /etc/profile[/code]
二、检查重要目录和文件的权限

检查利用步骤

实行下令:

[code]ls -l /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/hosts.allow /etc/hosts.allow /etc/services /etc/ssh/sshd_config [/code]

查看文件权限

基线符合性性判定依据

  • /etc/passwd文件的权限<=644
  • /etc/shadow文件的权限<=600
  • /etc/group文件的权限<=644
  • /etc/gshadow文件的权限<=600
  • /etc/hosts.deny文件的权限<=644
  • /etc/hosts.allow文件的权限<=644
  • /etc/services文件的权限<=644
  • /etc/ssh/sshd_config文件的权限<=600

以上条件同时满意则合规,否则不合规

安全加固方案

参考配置提作

1、实行下令:

[code]ls -l /etc/passwd /etc/shadow /etc/group /etc/ashadow/etc/hosts.allow /etc/hostsallow /etc/services /etc/ssh/sshd_config[/code]

查看文件权限

2、对不符合要求的文件使用chmod下令修改权限,如

[code]chmod 644 /etc/passwd[/code]
三、设置限定可以su为root的用户

检查利用步骤

实行下令:

[code]more /etc/pam.d/su[/code]

找到

[code] auth required pam_wheel.souse_uid [/code]

查看该行是否存在且是否被注释

基线符合性性判定依据

[code]auth required pam_wheel.so use_uid [/code]

存在且未被注释即合规,否则不合规

安全加固方案

参考配置利用

实行备份:

1、

[code]cp - p /etc/pam.d/su /etc/pam.d/su_bak[/code]

2、实行下令:

[code]vi /etc/pam.d/su[/code]

找到 auth required pam_wheel.souse_uid 删除该行前面的 # 使其收效,如果该行不存在则在文件末了添加该行。

3、将必要su为root的用户使用下令:

[code]usermod -G wheel username[/code]

加入 wheel 组,该用户即可su为root用户。如果必要将某个用户移出wheel组,可使用下令:

[code]gpasswd -d username wheel[/code]

日志管理

一、检查rsyslog服务启用状态以及对登录变乱的记载

补充:

  • rsyslog是一个开源的体系日志服务,可用于Linux和Unix体系中收集、存储和处理体系日志。
  • rsyslog可以通过网络协媾和文件体系吸取来自各种装备和应用步伐的日志信息,并将其输出到文件、数据库、长途日志服务器等差别的目标。

检查利用步骤

实行下令:

[code]more /etc/rsyslog.conf[/code]

查看authpriv的值

基线符合性性判定依据

authpriv值为authpriv.* /var/log/secure即合规注:/var/log/secure为可变项,否则不合规

安全加固方案

参考配置利用

1、实行备份:

[code]cp - p /etc/rsyslog.conf /etc/rsyslog.conf_bak[/code]

2、实行下令:

[code]systemctl enable rsyslog[/code]

添加开机自启动

3、实行下令:

[code]systemctl start rsyslog[/code]

启动服务

4、实行下令:

[code]vi/etc/rsyslog.conf[/code]

查看authpriv值 将其设置为 authpriv.*/var/log/secure#将authpirv 的任何级别的信息记载到/var/log/secure 文件中

5、实行下令:

[code]systemctl restart rsyslog[/code]
二、检查是否启用记载定时任务举动日志功能

检查利用步骤

实行下令:

[code]more /etc/rsyslog.conf [/code]

查看 cron 的值

基线符合性判定依据

corn值为cron.* 即合规,否则不合规注: var/log/cron为可变项

安全加固方案

参考配置利用

1、实行备份:

[code]cp -p /etc/rsyslog.conf /etc/rsyslog.conf_bak[/code]

2、实行下令 :

[code]vi /etc/rsyslog.conf[/code]

查看 cron 的值,将其设置为cron.* /var/log/cron# 即将 cron 的任何级别的信息记载到 /ar/log/cron 文件中

3、实行下令:

[code]systemctl restart rsyslog [/code]

重启 rsyslog 使配置收效

合规

三、查看SSH LogLevel设置是否为INFO

补充:

SSH LogLevel设置为INFO是用来指定在SSH毗连创建并进行时记载的信息级别的。

INFO级别记载大量有关毗连的详细信息,包罗身份验证,所使用的密钥,认证的结果等。

这些信息对诊断问题和了解毗连的详细情况非常有效,但大概会产生大量的日志。

因此,在平时使用SSH时,通常将LogLevel设置为更低的级别(如ERROR或WARNING),以制止生成过多的日志,而且只在必要清除毗连问题时将其调整为更高的级别。

检查利用步骤

实行下令:more vi /etc/ssh/sshd_config 找到 LogLevel 查看设置的级别是否为INFO

基线符合性性判定依据

LogLevel 的级别是INFO 且该行未被注释即合规,否则不合规

安全加固方案

参考配置利用

1、进行备份

[code]cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_bak(log)[/code]

2、实行下令:

[code]vi /etc/ssh/sshd_config [/code]

找到 LogLevel 将其设置为 INFO,如果该行被注释,i还应删掉该行前方的 #

3、实行下令:

[code]systemctl restart sshd[/code]

重启ssh服务使其收效

四、是否将 /var/log/messages 文件设置为只可追加

补充:

`isattr`是一个Linux体系中的下令,用于检查指定文件或目录中是否包含扩展属性(extended attributes)。

扩展属性是在Linux文件体系上添加的一种元数据情势,可以包含文件或目录的其他信息,例如访问控制列表和文件全部者。

检查利用步骤

实行下令:Isattr /var/log/messages 查看该文件属性第六位是否为a

基线符合性性判定依据

为a即合规,否则不合规

安全加固方案

参考配置利用

实行下令:

[code]lsattr var/log/messages[/code]

查看该文件属性第六位是否为a不为a则实行下令:

[code]chattr +a /var/log/messages[/code]

将该文件的属性修改为只可追加

未添加只可追加前

设置只可追加后

总结

以上为个人经验,盼望能给各人一个参考,也盼望各人多多支持脚本之家。


来源:https://www.jb51.net/server/328808l2a.htm
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
关闭

站长推荐上一条 /6 下一条

QQ|手机版|小黑屋|梦想之都-俊月星空 ( 粤ICP备18056059号 )|网站地图

GMT+8, 2025-7-1 19:18 , Processed in 0.041721 second(s), 19 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2025 Discuz! Team.

返回顶部