linux安全配置规范

news/2024/7/7 22:36:07

一、    概述

1.1 适用范围

本配置规范适用于凝思操作系统,主要涉及LINUX操作系统安全配置方面的基本要求,用于指导LINUX操作系统安全加固工作,落实信息安全等级保护等保三级系统操作系统安全配置,为主机安全配置核查提供依据。

1.2 实施策略 

序号

配置类别

配置项名称

实施策略

1

身份鉴别

口令复杂度策略

合规

2

身份鉴别

登录失败账户锁定策略

合规

3

身份鉴别

口令最长生存期策略

合规

4

身份鉴别

SSH 登录配置

合规

5

访问控制

多余账户锁定策略

合规

6

访问控制

共享账号检查

合规

7

访问控制

系统关键目录权限控制

合规

8

访问控制

用户缺省权限控制

合规

9

访问控制

禁止Control-Alt-Delete键盘关闭命令

10

安全审计

是否开启日志审计

11

安全审计

安全日志完备性要求

合规

12

安全审计

统一远程日志服务器配置

合规

13

安全审计

日志文件权限控制

不合规 rwrwx-r

15

资源控制

字符操作界面账户定时退出

合规

16

资源控制

root 账户远程登录账户限制

不合规

17

入侵防范

关闭不必要的服务

合规

二、    基本安全配置

本规范主要依据等级保护三级主机安全配置要求相关规范,明确SUSE LINUX操作系统安全配置的基本要求,分为身份鉴别、访问控制、安全审计、资源控制和入侵防范5个方面。

安全配置项详细描述配置要求及依据,结合LINUX操作系统配置文件,明确实现安全配置项涉及的系统配置参数和配置方法,并明确对应配置项的手工检查所对应的检查项。

2.1 身份鉴别

2.1.1 口令复杂度策略

安全配置编号

操作系统—LINUX—配置-1

安全配置名称

操作系统口令复杂度策略

配置要求内容

口令长度至少8位,并包括数字、小写字母、大写字母和特殊符号4类中至少2类。

配置要求依据

1、《信息系统等级保护基本要求》

主机安全---身份鉴别

b) 应对登录操作系统和数据库系统的用户进行身份标识和鉴别;

c) 操作系统和数据库系统管理用户身份标识应具有不易被冒用的特点,系统的静态口令应在8位以上并由字母、数字、符号等混合组成并每三个月更换口令。

涉及的系统配置项

涉及系统文件:/etc/pam.d/passwd

涉及参数:

Minlen //密码最小长度要求;

Lcredit //小写字符数量

Ocredit //特殊字符数量

安全配置方法

以root账户登录系统

修改/etc/pam.d/passwd文件:

#vi /etc/pam.d/passwd

确保下面行未被注释,如没有,请添加:

password required /lib64/security/pam_cracklib.so retry=5 minlen=8 difok=1 | credit=1 ucredit =1 dcredit =1 ocredit=1 reject_username

检查方法

以root账户登录系统

查看/etc/pam.d/passwd文件中是否存在口令复杂度策略配置

# cat /etc/pam.d/passwd //检查口令策略文件

//minlen=8 最小长度为8位

//lcredit=2 口令中最少应包含的字母字符数量为2个

//ocredit=1 口令中最少应包含的非字母数字字符数量为1个

2.1.2 登录失败账户锁定策略

安全配置编号

操作系统—LINUX—配置-2

安全配置名称

多次登录失败锁定策略

配置要求内容

系统应配置当用户连续认证失败次数超过6次(不含6次),锁定该用户使用的账号,root 用户不适用该项配置。

配置要求依据

《信息系统等级保护基本要求》

主机安全---身份鉴别

d)  应启用登录失败处理功能,可采取结束会话、限制登录间隔、限制非法登录次数和自动退出等措施

涉及的系统配置项

涉及系统文件:/etc/pam.d/sshd   /etc/pam.d/login  /etc/pam.d/kde

涉及参数:

audit deny //允许的账户登录重试次数

安全配置方法

修改/etc/pam.d/sshd   /etc/pam.d/login  /etc/pam.d/kde,增加一行

auth required /lib64/security/pam_tally.so per_user unlock_time=300 onerr=succeed audit deny=5

检查方法

以root账户登录SUSE Linux系统

#cat /etc/pam.d/login

查看是否有锁定配置;

备注

2.1.3 口令最长生存期策略

安全配置编号

操作系统—LINUX—配置-3

安全配置名称

口令最长生存期策略

配置要求内容

要求操作系统的账户口令的最长生存期不长于 90 天。

配置要求依据

《信息系统等级保护基本要求》
主机安全---身份鉴别

c) 操作系统和数据库系统管理用户身份标识应具有不易被冒用的特点,系统的静态口令应在7位以上并由字母、数字、符号等混合组成并每三个月更换口令;

涉及的系统配置项

涉及系统文件:/etc/login.defs

涉及参数:

PASS_MAX_DAYS //密码最长使用期限

PASS_MIN_DAYS //密码最短使用期限

PASS_WARN_AGE //系统在密码过期指定天数前发出修改密码的警告信息给用户

安全配置方法

对未创建的用户进行设置:

查看 /etc/login.defs,修改PASS_MAX_DAYS值为小于等于90

#vi /etc/login.defs

PASS_MAX_DAYS 90 //密码最长使用期限为90天

PASS_MIN_DAYS 0 //密码最短使用期限为0天

PASS_WARN_AGE 10 //密码到期10天前提醒

对已创建的用户进行设置:

chage –M  90 用户名

检查方法

查看/etc/login.defs 文件中”PASS_MAX_DAYS”值小于等于90为符合;

查看用户口令过期时间的命令:chage –l 用户名

备注

2.1.4 SSH 登录配置

安全配置编号

操作系统—LINUX—配置-4

安全配置名称

SSH 登录配置

配置要求内容

系统应配置使用SSH 等加密协议进行远程登录维护,并安全配置SSHD的设置。不使用 TELENT 进行远程登录维护。

配置要求依据

《信息系统等级保护基本要求》
主机安全---身份鉴别 e)主机系统应对与之相连的服务器或终端设备进行身份标识和鉴别 当对服务器进行远程管理时,应采取加密措施,防止鉴别信息在网络 传输过程中被窃听。

涉及的系统配置项

安全配置方法

检查方法

netstat –ano | grep

备注

2.2 访问控制

2.2.1 多余账户锁定策略

安全配置编号

操作系统—LINUX—配置-5

安全配置名称

多余账户锁定策略

配置要求内容

应锁定与设备运行、维护等工作无关的账号。

配置要求依据

《信息系统等级保护基本要求》

主机安全---访问控制

e)应及时删除多余的、过期的账户,避免共享账户的存在。

涉及的系统配置项

涉及系统文件:/etc/password

涉及参数:无

安全配置方法

以root账户登录SUSE Linux系统

锁定用户方法一:

修改/etc/password文件,将需要锁定的用户的shell域后添加nologin;

#vi /etc/passwd

test:x:1000:100:SUSE-LINUX:/home/test:/bin/bash/nologin

锁定用户方法二:

在超级权限的账户下使用”passwd”命令

#passwd –l username //锁定账户;

#passwd –d username//解锁用户;

解锁用户后需重新设置密码,且/etc/passwd文件内容不会发生变化。该操作比较麻烦,不推荐使用。

一般情况下,需要锁定的用户:rocky/news/games

检查方法

以root账户登录系统

# cat /etc/password

查看多余账户的shell域为nologin/flase为符合;

备注

2.2.2 共享账号检查

安全配置编号

操作系统--LINUX--配置-6

安全配置名称

共享账号检查

配置要求内容

系统需按照实际用户分配账号;
应按照不同的用户分配不同的账号,避免不同用户间共享账号,避免用户账号和服务器间通信使用的账号共享。

配置要求依据

《信息系统等级保护基本要求》
主机安全---访问控制
e)应及时删除多余的、过期的账户,避免共享账户的存在。

涉及的系统配置项

安全配置方法

以root账户登录系统

如需建立用户,参考如下:

#useradd username //创建账号

#passwd username //设置密码

使用该命令为不同的用户分配不同的账号,设置不同的口令及权限信息等。

检查方法

以root账户登录系统

#cat /etc/passwd

输出所有用户信息后,与管理员确认是否有共享账号情况存在。

备注

2.2.3 系统关键目录权限控制

安全配置编号

操作系统—LINUX—配置-7

安全配置名称

关键目录权限控制

配置要求内容

根据安全需要,配置某些关键目录其所需的最小权限;

重点设置password、shadow、group、service、login.defs、xinetd.conf、security、ssh_config文件权限。

当前主流版本的linux系统在默认情况下即对重要文件做了必要的权限设置,在日常管理和操作过程中应避免修改此类文件权限,除此以外,应定期对权限进行检查及复核,确保权限设置正确。

配置要求依据

《信息系统等级保护基本要求》
主机安全---访问控制
应启用访问控制功能,依据安全策略控制用户对资源的访问。

涉及的系统配置项

涉及系统文件:/etc/passwd,/etc/shadow,/etc/group,/etc/services,/etc/login.def,/etc/xinetd.conf,/etc/security,/etc/ssh/ssh_config

涉及参数:无

安全配置方法

以root账户登录系统

通过chmod命令对目录的权限进行实际设置。

 /etc/passwd 所有用户都可读,root用户可写 –rw-r—r—

配置命令:chmod 644 /etc/passwd

 /etc/shadow 只有root可读写 –rw-------

配置命令:chmod 600 /etc/shadow;

 /etc/group 必须所有用户都可读,root用户可写 –rw-r—r—

配置命令:chmod 644 /etc/group;

 /etc/services必须所有用户都可读,root用户可写 –rw-r—r—

配置命令:chmod 644 /etc/service;

 /etc/login.defs必须所有用户都可读,root用户可写 –rw-r—r—

配置命令:chmod 644 /etc/login.defs;

 /etc/xinetd.conf只有root可读写–rw-------

配置命令:chmod 600 /etc/xinetd.conf;

 /etc/security只有root可读写 –rw-------

配置命令:chmod 600 /etc/security;

 /etc/ssh/ssh_config只有root可读写 –rw-------

配置命令:chmod 600 /ssh/ssh_config;

检查方法

以root账户登录SUSE Linux系统

查看关键目录的用户对应权限参考命令

# 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权限

备注

在UNIX类系统中777是最高权限,4是读,2是写,1是执行,加起来等于7,三个7分别代表系统用户,本组用户和其他用户的权限。

2.2.4 用户缺省权限控制

安全配置编号

操作系统—LINUX—配置-8

安全配置名称

用户缺省权限控制

配置要求内容

控制用户缺省访问权限,当在创建新文件或目录时应屏蔽掉新文件或目录不应有的访问允许权限,防止同属于该组的其它用户及别的组的用户修改该用户的文件或更高限制。全局默认设置umask值应为027或更小权限。

配置要求依据

《信息系统等级保护基本要求》
主机安全---访问控制
b)应根据管理用户的角色(如:系统管理员、安全管理员、安全审计员等)分配权限,实现管理用户的权限分离,仅授予管理用户所需的最小权限。

涉及的系统配置项

涉及系统文件:.profile

涉及参数:

Umask //用户创建文件的默认权限

安全配置方法

以root账户登录系统

单独针对用户设置

可修改用户home目录下的.profile脚本文件,在文件末尾增加一条行:umask 027

全局默认设置:

修改/etc目录下的 profile脚本文件,在文件末尾增加一条行:umask 027

检查方法

以root账户登录系统

查看全局默认umask值

# cat /etc/profile | grep umask

查看特定用户umask值

# cat $home/.profile | grep umask

备注

umask系统默认设置一般为022,新创建的文件默认权限755(777-022=755);导致其他用户有执行权利。

在UNIX类系统中777是最高权限,4是读,2是写,1是执行,加起来等于7,三个7分别代表系统用户,本组用户和其他用户的权限。

2.2.5 禁止Control-Alt-Delete键盘关闭命令

安全配置编号

操作系统—LINUX—配置-9

安全配置名称

禁止Control-Alt-Delete键盘关闭命令

配置要求内容

禁止Control-Alt-Delete键盘关闭命令,使得在控制台直接按ctl-alt-del不能重新启动计算机。

配置要求依据

建议禁用此类危险操作,规避恶意操作或误操作带来的风险

涉及的系统配置项

涉及系统文件:/etc/inittab

涉及参数:无

安全配置方法

以root账户登录SUSE Linux系统

在“/etc/inittab” 文件中注释掉下面这行(使用#):ca::ctrlaltdel:/sbin/shutdown -t3 -r now 改为:#ca::ctrlaltdel:/sbin/shutdown -t3 -r now

输入如下命令使改动生效:# /sbin/init q

检查方法

以root账户登录SUSE Linux系统

#cat /etc/inittab 确认如下行是否被注释:

#ca::ctrlaltdel:/sbin/shutdown -t3 -r now

备注

2.3 安全审计

2.3.1 是否开启日志审计

安全配置编号

操作系统—LINUX—配置-10

安全配置名称

是否开启日志审计

配置要求内容

系统应配置完备日志记录,记录对与系统相关的安全事件。

配置要求依据

主机安全---安全审计

涉及的系统配置项

涉及系统文件:/etc/init.d/auditd

安全配置方法

手动开启审计功能:

/etc/init.d/auditd start

检查方法

以root账户登录系统,检查审计功能是否开启

ps –ef |grep auditd

 备注

2.3.1 安全日志完备性要求

安全配置编号

操作系统—LINUX—配置-10

安全配置名称

安全日志完备性要求

配置要求内容

系统应配置完备日志记录,记录对与系统相关的安全事件。

配置要求依据

主机安全---安全审计

b) 审计内容应包括重要用户行为、系统资源的异常使用和重要系统命令的使用、账号的分配、创建与变更、审计策略的调整、审计系统功能的关闭与启动等系统内重要的安全相关事件。

c) 审计记录应包括事件的日期、时间、类型、主体标识、客体标识和结果等

涉及的系统配置项

涉及系统文件:/etc/syslog.conf,/usr/lib/acct/accton

涉及参数:

LASTLOG_ENAB //登录日志

安全配置方法

以root账户登录SUSE Linux系统

修改配置文件,记录与设备相关的安全事件

#vi /etc/syslog.conf

配置如下类似语句:

*.err /var/log/errors

authpriv.info /var/log/authpriv_info

*.info /var/log/info

auth.none /var/log/auth_none

修改配置文件,记录用户登录信息

#vi /etc/login.defs

修改LASTLOG_ENAB的属性:

LASTLOG_ENAB yes

开启系统记账功能

通过设置日志文件可以对每个用户的每一条命令进行纪录,这一功能默认是不开放的,为了打开它,需要执行/usr/lib/acct目录下的accton文件,格式如下

#/usr/lib/acct/accton /var/adm/pact

开启acct服务:

#chkconfig acct on

执行读取命令

#lastcomm [user name]

检查方法

以root账户登录SUSE Linux系统

确认已配置设备安全日志

#cat /etc/syslog.conf

确认已配置记录用户登录信息

#cat /etc/login.defs | grep LASTLOG_ENAB

确认开启系统记账功能

#chkconfig --list | grep acct

备注

2.3.2 统一远程日志服务器配置

安全配置编号

操作系统—LINUX—配置-11

安全配置名称

统一远程日志服务器配置

配置要求内容

当前系统应配置远程日志功能,将需要重点关注的日志内容传输到日志服务器进行备份。

配置要求依据

主机安全---安全审计
f)应保护审计记录,避免受到未预期的删除、修改或覆盖等,保存时间不少于半年。

涉及的系统配置项

涉及系统文件:/etc/syslog.conf

安全配置方法

以root账户登录系统

修改配置文件

#vi /etc/syslog.conf

增加syslog服务器配置:

*.* @logserver

保存退出后重新启动syslog服务:

# services syslogd restart

检查方法

以root账户登录系统

查看syslog.conf中是否配置了远程日志服务器

#cat /etc/syslog.conf

*.* @ logserver

备注

可以将”*.*”替换为实际需要的日志信息。比如:*.err / *.info 等等;可以将此处192.168.0.1替换为实际的IP或域名。

2.3.3 日志文件权限控制

安全配置编号

操作系统-- LINUX --配置-12

安全配置名称

日志文件权限控制

配置要求内容

系统应合理配置日志文件权限,控制对日志文件读取、修改和删除等操作。

配置要求依据

主机安全---访问控制

应启用访问控制功能,依据安全策略控制用户对资源的访问。

涉及的系统配置项

涉及系统文件:/var/log

安全配置方法

以root权限账户登录系统

修改文件权限:

配置日志文件权限,如下命令:

chmod 600 /var/log/authpriv_info

chmod 644 /var/log/errors

chmod 644 /var/log/info

chmod 644 /var/log/auth_none

检查方法

以root权限账户登录系统

#ls –l /var/log

查看的目录下日志文件的权限,syslog messages的权限应为644,如下所示:

-rw-r—r-- 1 root root errors

-rw-r—r-- 1 root bin info

-rw-r—r-- 1 root bin auth_none

authpriv_info的权限应为600,如下所示:

-rw------- 1 root root authpriv_info

备注

2.4 资源控制

2.4.1 字符操作界面账户定时退出

安全配置编号

操作系统--LINUX--配置-14

安全配置名称

字符操作界面账户定时退出

配置要求内容

对于具备字符交互界面的系统,应配置定时帐户自动登出,超时时间为300秒。如不使用字符交互界面,该配置可忽略。

配置要求依据

主机安全---资源控制

b) 应根据安全策略设置登录终端的操作超时锁定。

涉及的系统配置项

涉及系统文件:/etc/profile,

涉及参数:TMOUT //超时时间

安全配置方法

对于bash用户:

在/etc/profile中增加export TMOUT=600

#vi /etc/profile

export TMOUT=600

针对tcsh用户:

在/etc/csh.cshrc中增加set –r autologout=10

检查方法

cat /etc/profile| grep TMOUT

cat /etc/csh.cshrc

备注

仅适用于使用字符界面操作的系统。

2.4.2 root 账户远程登录限制

安全配置编号

操作系统—LINUX—配置-15

安全配置名称

root账户远程登录账户限制

配置要求内容

限制具备超级管理员权限的用户远程登录。

远程执行管理员权限操作,应先以普通权限用户远程登录后,再切换到超级管理员权限账号后执行相应操作;既要限制远程telent登录;又要限制ssh登录。

配置要求依据

主机安全---资源控制
a) 应通过设定终端接入方式、网络地址范围条件限制登录;

涉及的系统配置项

安全配置方法

以root账户登录系统

禁止root远程登录:

# vi /etc/ssh/sshd_config

PermitRootLogin no

重启使之生效, /etc/init.d/sshd restart

检查方法

cat /etc/ssh/sshd_config | grep PermitRootLogin

备注

2.5 入侵防范

2.5.1 关闭不必要的服务

安全配置编号

操作系统—LINUX—配置-17

安全配置名称

关闭不必要的网络和系统服务

配置要求内容

根据每台机器的不同角色,关闭不需要的系统服务。如无特殊需要,应关闭lpd,telnet,routed,sendmail,

bluetooth,identd,xfs,rlogin,rwho,rsh,rexec服务。

配置要求依据

主机安全---入侵防范
c) 操作系统应遵循最小安装的原则,仅安装需要的组件和应用程序,并通过设置升级服务器、系统软件预防性维护服务等方式保持系统补丁及时得到更新。

涉及的系统配置项

安全配置方法

检查方法

netstat -ano


http://lihuaxi.xjx100.cn/news/2084483.html

相关文章

记一次因为共享缓存导致流水号重复的问题排查过程

背景: 在开发日终应用或者跑批应用的时候,进行每天凌晨跑批或者全天跑批多次进行表数据清理的时候,每次清理都会登记操作明细到日志表,流水号是根据Oracle号段模式获取1000个流水号段放内存里,不够用再从数据库重新获取…

03hive数仓安装与基础使用

hive Hive概述 Hive是基于Hadoop的一个数据仓库工具。可以将结构化的数据文件映射为一张表,并提供完整的sql查询功能,本质上还是一个文件底层是将sql语句转换为MapReduce任务进行运行本质上是一种大数据离线分析工具学习成本相当低,不用开发…

QT UI设计

在QT中添加VTK 在main函数中初始化 //VTK的初始化语句 #ifndef INITIAL_OPENGL #define INITIAL_OPENGL #include <vtkAutoInit.h> VTK_MODULE_INIT(vtkRenderingOpenGL); VTK_MODULE_INIT(vtkInteractionStyle); VTK_MODULE_INIT(vtkRenderingVolumeOpenGL); VTK_MODU…

Linux:kubernetes(k8s)prestop事件的使用(10)

他的作用是在结束pod容器之后进行的操作 apiVersion: v1 # api文档版本 kind: Pod # 资源对象类型 metadata: # pod相关的元数据&#xff0c;用于描述pod的数据name: nginx-po # pod名称labels: # pod的标签type: app #这个是随便写的 自定义的标签version: 1.0.0 #这个…

【Python数据结构与判断2/7】数据和判断小结

目录 序言 print() 变量 赋值 四种数据类型 字符串 格式化输出 四则运算 取整与取模 比较运算 逻辑运算 判断 if语句 if-else语句 if-elif-else语句 Tips 空值、0、非0非空值 实战案例 输入密码 短信模板 总结 序言 今天将对前面学过的内容进行一个复习小结…

AI之Tool:机器学习/深度学习常用工具(python/Anaconda等)的简介、安装、使用方法之详细攻略

AI之Tool&#xff1a;机器学习/深度学习常用工具(python/Anaconda等)的简介、安装、使用方法之详细攻略 目录 机器学习/深度学习常用工具的简介 1、面向个人—环境配置&#xff1a;操作系统编译环境编程语言 2、面向企业和个人—企业级机器学习云服务 机器学习/深度学习常用…

深入理解React中的useReducer:管理复杂状态逻辑的利器

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

[2023年]-hadoop面试真题(二)

[2023年]-hadoop面试真题(一) &#xff08;北京&#xff09; Maptask的个数由什么决定?&#xff08;北京&#xff09; 如何判定一个job的map和reduce的数量 ?&#xff08;北京&#xff09; MR中Shuffle过程 ?&#xff08;北京&#xff09; MR中处理数据流程 ?&#xff08;…