Linux基线检查与安全加固

这篇具有很好参考价值的文章主要介绍了Linux基线检查与安全加固。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

安全加固

Linux安全加固

账户管理

一、口令锁定策略
检查操作步骤

查看配置文件:

more /etc/pam.d/password-auth

查看是否存在如下内容:

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

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

基线符合性判定依据

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

安全加固方案

参考配置操作

1.执行备份

cp -p /etc/pam.d/password-auth /etc/pam.d/password-auth_bak

2.修改策略设置,编辑文件

vim /etc/pam.d/password-auth

增加以下内容

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

注意:unlock_time和root_unlock_time单位为秒。
基线加固,linux,安全,服务器
验证成功:
基线加固,linux,安全,服务器

备注
	PAM通过提供一些动态链接库和一套统一的AP1,将系统提供的服务 和该服务的认证方式分开,使得系统管理员可以灵活地根据需要给不同的服务配置不同的认证方式而无需更改服务程序,同时也便于向系统中添加新的认证手段。

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

pam_tally2 -u

基线加固,linux,安全,服务器
如果需要解锁的话,需要以root输入

pam_tally2 -u baiyun -r
二、口令生存期
检查操作步骤

查看文件:

more /etc/login.defs

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

PASS_MAX_DAYS用户的密码最长使用天数不大于90

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

基线符合性判定依据

PASS_MAX_DAYS不大于90

PASS_WARN_AGE等于7即合规,否则不合规

安全加固方案

参考配置操作

1.执行备份:

cp -p /etc/login.defs /etc/login.desfs_bak

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

PASS_MAX_DAYS 90

PASS_WARN_AGE 7
chage -M 90 -W 7 baiyun

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

未加固前
基线加固,linux,安全,服务器

加固后
基线加固,linux,安全,服务器

三、口令复杂度
检查操作步骤

执行命令:

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

查看是否有返回结果。

基线符合性判定依据

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

安全加固方案

1.执行备份:

cp -p /etc/security/pwquality.conf /etc/security/pwquality.conf_bak

2.执行命令:

authconfig --passminlen=8 --passminclass=3 --update

#至少包含数字、小写字母、大写字母、特殊字符中的三项,且密码长度>=8
3、执行命令

chage -d 0 username

#强制指定的用户下次登录修改密码
基线加固,linux,安全,服务器

四、检查密码重用是否受限制
检查操作步骤

查看文件:

cat /etc/pam.d/system-auth

找到

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

基线符合性判定依据

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

安全加固方案

参考配置操作

1.执行备份:

cp -p /etc/pam.d/system-auth

2.执行命令:

vi /etc/pam.d/system-auth

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

未加固前

基线加固,linux,安全,服务器

加固后
基线加固,linux,安全,服务器

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

执行命令:

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

查看返回值。

基线符合性性判定依据

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

安全加固方案

参考配置操作

1、执行备份:

cp -p /etc/passwd cp -p /etc/shadow

2、执行命令:

userdel -r username

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

或者使用命令:

usermod -u uid username 

为他们分配新的UID

六、禁止存在空密码的帐户
检查操作步骤

执行以下命令查看系统中是否存在空口令账号#

awk -F: '( $2 ==""){ print $1} /etc/shadow
基线符合性性判定依据

执行命令后没有返回值即合规,否则不合规

安全加固方案

参考配置操作
1、为帐户设置满足密码复杂度的密码

#passwd username

服务管理

一、禁止SSH空密码用户登录
检查操作步骤

执行命令:

more /etc/ssh/sshd_config 

查看 PermitEmptyPasswords 配置情况

基线符合性性判定依据

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

安全加固方案

参考配置操作

1、执行备份:

cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_bak

2、执行命令:

vi /etc/ssh/sshd_config

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

3、执行命令:

systemctl restrat sshd

重启服务使配置生效

未配置前

这个虽然是no,但是被注释掉了,不生效

基线加固,linux,安全,服务器
加固后

基线加固,linux,安全,服务器

二、SSH多次登录失败后锁定用户
检查操作步骤

执行命令:

more /etc/pam.d/sshd

查看是否存在

 auth required pam_tally2.sodeny=5 unlock_time=300 
内容基线符合性性判定依据

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

安全加固方案

参考配置操作

1、执行备份:

cp -p /etc/pam.d/sshd /etc/pam.d/sshd bak

2、执行命令:

vi /etc/pam.d/sshd 

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

 auth requiredpam_tally2.so deny=5 unlock time=300

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

even deny_root=5 root_unlock time=1200

重启生效

systemctl restart sshd

未加固
基线加固,linux,安全,服务器
加固后

基线加固,linux,安全,服务器

三、限制root用户远程登录
检查操作步骤

执行命令:

more /etc/ssh/sshd_config 

查看PermitRootLogin 参数的值

基线符合性性判定依据

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

安全加固方案

参考配置操作

1、执行备份:

cp -p /etc/ssh/sshd_config /etc/ssh

2、执行命令:

vi /etc/ssh/sshd_config 

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

3、释执行命令:

systemctl restart sshd

重启服务使其生效

未加固前

基线加固,linux,安全,服务器

加固后

基线加固,linux,安全,服务器

四、检查ssh使用的端口
检查操作步骤

执行命令:

more /etc/ssn/sshd_config

查看Port 参数的值

基线符合性性判定依据

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

安全加固方案

参考配置操作

1、执行命令:

vi /etc/ssh/sshd_config 

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

2、执行命令:

semanage port -a -t ssh_port_t -p tcp 22233

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

3、执行命令:

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

防火墙放行刚修改的 ssh 端口号

4、执行命令:

systemctl restart sshd;systemctl restart firewalld

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

未加固
基线加固,linux,安全,服务器

加固后

基线加固,linux,安全,服务器

五、设置登录超时自动注销
检查操作步骤

执行命令:

more /etc/profile 

查看是否有export TMOUT=180

基线符合性性判定依据

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

安全加固方案

参考配置操作

1、执行备份 :

cp - p /etc/profile /etc/profile_bak

2、执行命令:

vi /etc/profile

在该文件末尾添加

export TMOUT=180

或者将原来的值修改为180

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

权限管理

一、检查默认umask值

补充:

umask 027是一种文件权限掩码,它用于控制新创建的文件和目录的默认权限。umask 027指定了在创建文件和目录时,文件权限将减去2个位的可写权限和一个位的可执行权限。也就是说,如果创建一个新文件,权限将是所有者权限为rw-r-----(所有者可读可写,组可读,其他用户没有任何权限),如果创建一个新目录,权限将是所有者权限为rwxr-x---(所有者可读可写可执行,组可读可执行,其他用户没有任何权限)。
检查操作步骤

执行命令:

more /etc/profile 

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

基线符合性性判定依据

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

安全加固方案

参考配置操作

1、执行备份:

cp -p /etc/profile /etc/profile_bak

2、执行命令:

vi /etc/profile

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

umask 027

3、执行以下命令让配置生效:

source /etc/profile
二、检查重要目录和文件的权限
检查操作步骤

执行命令:

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

查看文件权限

基线符合性性判定依据

/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、执行命令:

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

查看文件权限

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

chmod 644 /etc/passwd
三、设置限制可以su为root的用户
检查操作步骤

执行命令:

more /etc/pam.d/su

找到

 auth required pam_wheel.souse_uid 

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

基线符合性性判定依据
auth required pam_wheel.so use_uid 

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

安全加固方案

参考配置操作

执行备份:

1、

cp - p /etc/pam.d/su /etc/pam.d/su_bak

2、执行命令:

vi /etc/pam.d/su

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

3、将需要su为root的用户使用命令:

usermod -G wheel username

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

gpasswd -d username wheel

日志管理

一、检查rsyslog服务启用状况以及对登录事件的记录

补充:

rsyslog是一个开源的系统日志服务,可用于Linux和Unix系统中收集、存储和处理系统日志。rsyslog可以通过网络协议和文件系统接收来自各种设备和应用程序的日志信息,并将其输出到文件、数据库、远程日志服务器等不同的目标。
检查操作步骤

执行命令:

more /etc/rsyslog.conf

查看authpriv的值

基线符合性性判定依据

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

安全加固方案

参考配置操作
1、执行备份:

cp - p /etc/rsyslog.conf /etc/rsyslog.conf_bak

2、执行命令:

systemctl enable rsyslog

添加开机自启动

3、执行命令:

systemctl start rsyslog

启动服务
4、执行命令:

vi/etc/rsyslog.conf

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

5、执行命令:

systemctl restart rsyslog
二、检查是否启用记录定时任务行为日志功能
检查操作步骤

执行命令:

more /etc/rsyslog.conf 

查看 cron 的值

基线符合性判定依据

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

安全加固方案

参考配置操作

1、执行备份:

cp -p /etc/rsyslog.conf /etc/rsyslog.conf_bak

2、执行命令 :

vi /etc/rsyslog.conf

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

3、执行命令:

systemctl restart rsyslog 

重启 rsyslog 使配置生效

合规
基线加固,linux,安全,服务器

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

补充:

SSH LogLevel设置为INFO是用来指定在SSH连接建立并进行时记录的信息级别的。INFO级别记录大量有关连接的详细信息,包括身份验证,所使用的密钥,认证的结果等。这些信息对诊断问题和了解连接的详细情况非常有用,但可能会产生大量的日志。因此,在平时使用SSH时,通常将LogLevel设置为更低的级别(如ERROR或WARNING),以避免生成过多的日志,并且只在需要排除连接问题时将其调整为更高的级别。
检查操作步骤

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

基线符合性性判定依据

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

安全加固方案

参考配置操作

1、进行备份

cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_bak(log)

2、执行命令:

vi /etc/ssh/sshd_config 

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

3、执行命令:

systemctl restart sshd

重启ssh服务使其生效

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

补充:

`isattr`是一个Linux系统中的命令,用于检查指定文件或目录中是否包含扩展属性(extended attributes)。扩展属性是在Linux文件系统上添加的一种元数据形式,可以包含文件或目录的其他信息,例如访问控制列表和文件所有者。
检查操作步骤

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

基线符合性性判定依据

为a即合规,否则不合规

安全加固方案

参考配置操作

执行命令:

lsattr var/log/messages

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

chattr +a /var/log/messages

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

未添加只可追加前
基线加固,linux,安全,服务器
设置只可追加后
基线加固,linux,安全,服务器文章来源地址https://www.toymoban.com/news/detail-776231.html

到了这里,关于Linux基线检查与安全加固的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 等保2.0 测评 linux服务器加固 基本安全配置手册

    禁止所有默认的被操作系统本身启动的且不需要的帐号,当你第一次装上系统时就应该做此检查,Linux提供了各种帐号,你可能不需要,如果你不需要这个帐号,就移走它,你有的帐号越多,就越容易受到攻击。 #为删除你系统上的用户,用下面的命令: [root@c1gstudio]# userdel

    2024年03月14日
    浏览(63)
  • Linux【安全 01】云服务器主机安全加固(修改SSHD端口、禁用登陆失败的IP地址、使用密钥登录)

    修改SSHD的默认端口,它可以抵御一些简单的密码暴力破解脚本。 查看登录失败的IP地址 通过下面的命令将这些登陆失败的IP加入服务器访问限制名单【失败次数最多的10个IP】 使用SSH密钥,并禁用密码登录,以MobaXterm为例进行说明。 以下命令在本机上执行(Windows) 使用Mob

    2024年02月05日
    浏览(64)
  • 基线扫描tomcat安全加固-检查是否支持HTTPS等加密协议

    背景:基线扫描时,docker镜像中的tomcat在检查是否支持HTTPS等加密协议这一项上未通过。 思路:先通过JDK自带的keytool工具生成证书,再从tomcat的server.xml配置文件中增加配置。 我不确定不同版本的JDK生成的证书是否可以通用,所以我使用镜像自带的jdk生成证书, 因为我使用的

    2024年01月23日
    浏览(51)
  • CentOS Linux 7&8安全基线检查

    检查项 类别 描述 加固建议 等级 密码复杂度检查 身份鉴别 检查密码长度和密码是否使用多种字符类型 编辑/etc/security/pwquality.conf,把minlen(密码最小长度)设置为8-32位,把minclass(至少包含小写字母、大写字母、数字、特殊字符等4类字符中等3类或4类)设置为3或4。如: minlen=1

    2024年02月12日
    浏览(38)
  • 【Linux运维】shell脚本检查服务器内存和CPU利用率

    在管理服务器时候写了一个 shell脚本,在服务上实现每天凌晨3点查系统的指定文件夹下的容量大小,如果超过10G就要删除3天前的内容,还要时刻查询内存和cpu利用率,如果超过80%就要提示用户出现过载 将以上代码保存为一个.sh文件,然后通过crontab在每天凌晨3点运行即可:

    2024年02月09日
    浏览(67)
  • 安全加固服务器

    根据以下的内容来加固一台Linux服务器的安全。 首先是限制连续密码错误的登录次数,由于RHEL8之后都不再使用pam_tally.so和pam_tally2.so,而是pam_faillock.so 首先进入/usr/lib64/security/中查看有什么模块,确认有pam_faillock.so 因为只限制ssh登录次数(一般本地登录不会有问题,故此只做

    2024年02月14日
    浏览(47)
  • 服务器的安全包括哪些方面-服务器安全该如何去加固处理-

    服务器安全包括如下几个方面: 系统安全:包括操作系统的安全性、系统的漏洞和补丁管理、用户管理、文件权限和访问控制等。 网络安全:包括网络拓扑结构、网络设备的安全性、网络协议的安全性、防火墙和入侵检测等。 数据安全:包括数据备份和恢复、数据加密、数

    2024年04月17日
    浏览(59)
  • ubuntu 服务器安全加固的20条方案_ubuntu 安全加固

    4. 非 wheel 组用户禁用 su | 身份鉴别 普通用户禁用 su,仅特殊的用户组 wheel 下用户才可以使用 su 切换到 root 用户 加固建议 在 /etc/login.defs 中将 SU_WHEEL_ONLY 注释放开,并添加参数 yes : 修改默认配置文件 /etc/pam.d/su ,去掉如下这行注释,并在尾部添加 use_uid : 添加 wheel 组用户

    2024年04月16日
    浏览(50)
  • 附件1.服务器操作系统安全加固要求及配置建议【下】

    链接如下 附件1.服务器操作系统安全加固要求及配置建议【上】 我们没有公告资源,下面了解即可 系统管理员可以使用文件系统中的 DAC(Discretionary Access Control,自主访问控制)对公共资源进行保护。DAC 提供了基于用户标识符(UID)和权限位的控制,使得管理员可以对文件

    2024年02月11日
    浏览(45)
  • Linux服务器安全设置

    参考文章: https://www.cnblogs.com/dadonggg/p/7977099.html https://linux.cn/article-2518-1.html https://www.136.la/nginx/show-83625.html 密码的复杂度越高,毋庸置疑,安全性肯定相对就越高。 编辑 /etc/pam.d/system-auth 文件,找到同时具有“password”和“pam_cracklib.so”字段并且附加有 “ucredit=-1 lcredit=-2

    2024年02月07日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包