主机安全 - Linux操作系统基线检查指导书1.0版

合集下载

Linux系统安全配置基线要点

Linux系统安全配置基线要点

Linux系统安全配置基线
目录
第1章概述 (1)
1.1目的 (1)
1.2适用范围 (1)
1.3适用版本 (1)
第2章安装前准备工作 (1)
2.1需准备的光盘 (1)
第3章操作系统的基本安装 (1)
3.1基本安装 (1)
第4章账号管理、认证授权 (2)
4.1账号 (2)
4.1.1用户口令设置 (2)
4.1.2检查是否存在除root之外UID为0的用户 (3)
4.1.3检查多余账户 (3)
4.1.4分配账户 (3)
4.1.5账号锁定 (4)
4.1.6检查账户权限 (5)
4.2认证 (5)
4.2.1远程连接的安全性配置 (5)
4.2.2限制ssh连接的IP配置 (5)
4.2.3用户的umask安全配置 (6)
4.2.4查找未授权的SUID/SGID文件 (7)
4.2.5检查任何人都有写权限的目录 (7)
4.2.6查找任何人都有写权限的文件 (8)
4.2.7检查没有属主的文件 (8)
4.2.8检查异常隐含文件 (9)
第5章日志审计 (10)
5.1日志 (10)
5.1.1syslog登录事件记录 (10)
5.2审计 (10)
5.2.1Syslog.conf的配置审核 (10)
5.2.2日志增强 (11)
5.2.3syslog系统事件审计 (11)
第6章其他配置操作 (12)
6.1系统状态 (12)
6.1.1系统超时注销 (12)
6.2L INUX服务 (12)
6.2.1禁用不必要服务 (12)
第7章持续改进 (13)。

linux操作系统安全评估作业指导书-V1.0

linux操作系统安全评估作业指导书-V1.0

1.5
检查主机系统上是否存在可疑账户、 克隆账户、多余的账户、过期的账 户,共享账户;
1.6
检查所分配的账号权限配置是否符合 安全基准要求;
1.7
检查linux主机的管理方式; 当远程方式登录主机设备,是否取必 要措施,防止鉴别信息在网络传输过 程中被窃听; 检查主机系统是否修改了远程桌面默 认端口; 检查主机系统上开启的默认共享或文 件共享;
a.建议重要或外网的主机系统安装主机级别的入侵检测软件(NIDS); b.建议每周对主机入侵检测软件告警日志进行分析; a.建议重要或外网的主机系统部署操作系统和应用系统日志远程备份措 施,防止日志受到清除; b.建议远程备份的日志记录保存6个月以上; a.主机系统应部署补丁统一管理分发措施,如yum源或第三方工具; b.软件补丁更新措施,软件升级或修改配置等; a.操作系统应遵循最小安装的原则,仅安装需要的组件和应用程序;
1、查看系统审计文件more /etc/audit/auditd.conf或auditd -l log_file = /var/log/audit/audit.log #日志存放路径 log_format = RAW #日志记录格式 priority_boost = 3 #设置auditd的优先启动级,0的话是正常顺序启动 flush = INCREMENTAL #表示多少条记录一组写到磁盘 freq = 20 #审计守护进程在写到日志文件中之前从,内核中接收的记录数 num_logs = 4 #指定log的数目 dispatcher = /sbin/audispd #当启动这个守护进程时,由审计守护进程自动 启动程序 disp_qos = lossy #控制调度程序与审计守护进程之间的通信类型 max_log_file = 5 #最大日志个数 max_log_file_action = ROTATE #当达到max_log_file的日志文件大小时采取的 1、以root身份登陆进入linux 2、查看linux密码文件内容 #cat/etc/shadow 记录没有被禁用的系统默认用户名 采用查看方式,在root权限下,使用命令more、cat或vi查看/etc/passwd和 /etc/shadow文件中各用户名状态,查看是否存在以下可能无用的帐户: adm、lp、sync、shutdown、halt、news、uucp、operator、games、ftp、 postfix usermod -L <user> 锁定用户; a.在root权限下,使用命令more、cat或vi查看/etc/passwd和/etc/shadow文件中 各用户名状态,查看是否存在以下可能无用的帐户: adm、lp、sync、shutdown、halt、news、uucp、operator、games、ftp、 postfix等 b.根据检查到的账户列表,访谈主机管理员是否有多余、过期和共享的账户; usermod -L <user> 锁定用户; userdel <user> 删除用户;

主机安全 - Linux操作系统基线检查指导书1.0版

主机安全 - Linux操作系统基线检查指导书1.0版
2)若有第三方审计工具或系统,则查看其审计日志是否包括必要的审计要素;
3)检查审计日志记录、分析、生成报表情况。
能定期生成审计报表并包含必要审计要素。
e)应保护审计进程,避免受到未预期的中断;
检查:
检查对审计进程监控和保护的措施。
对审计进程已采取相关保护措施。
f)应保护审计记录,避免受到未预期的删除、修改或覆盖等。
#pwdck -n ALL
返回结果应为空;
方法二:在root权限下,使用命令
#cat /etc/passwd
#cat /etc/shadow
查看文件中各用户名状态,记录密码一栏为空的用户名。
1)操作系统使用口令鉴别机制对用户进行身份标识和鉴别;
2)登录时提示输入用户名和口令;以错误口令或空口令登录时提示登录失败,验证了登录控制功能的有效性;
系统开启了安全审计功能或部署了第三方安全审计设备。
b)审计内容应包括重要用户行为、系统资源的异常使用和重要系统命令的使用等系统内重要的安全相关事件;
手工检查:
在root权限下,查看系统日志服务
#ps -ef | grep syslog,
和审计服务
#ps -ef | grep auditd,
是否有效合理的配置了安全审计内容
审计功能已开启,包括:用户的添加和删除、审计功能的启动和关闭、审计策略的调整、权限变更、系统资源的异常使用、重要的系统操作(如用户登录、退出)等设置。
c)审计记录应包括事件的日期、时间、类型、主体标识、客体标识和结果等;
手工检查:
1)使用more命令查看审计记录文件
#cat /etc/audit/auditd.conf
手工检查:
采用抓包工具,判断远程管理数据包是否是明文。

等级保护2.0 三级-Linux 测评指导书V1.0

等级保护2.0 三级-Linux 测评指导书V1.0

知识星球:网络安全等级保护交流
文件中的 SELINUX 参数的设定
1.1.3 安全审计
测评项: a) 应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全 事件进行审计; 测评方法: 1)以 root 身份登录进入 Linux, 查看服务进程 2)若运行了安全审计服务,则查看安全审计的守护进程是否正常 # ps -ef|grep auditd 3)若未开启系统安全审计功能,则确认是否部署了第三方安全审计工具 4)以 root 身份登录进入 Linux 查看安全事件配置: #gerep“@priv-ops" /etc/audit/filter.conf .... more/etc/audit/audit.rules ..... 测评项: b) 审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他 与审计相关的信息; 测评方法: 1)以有相应权限的身份登录进入 Linux,使用命令"ausearch-ts today ”,其 中,-ts 指定时间后的 log,或命令"tail -20 /var/log/audit/audit.log“查 看审计日志 测评项: c) 应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等; 测评方法: 1)访谈审计记录的存储、备份和保护的措施,是否将操作系统日志定时发送 到日志服务器上等,并使用 sylog 方式或 smp 方式将日志发送到日志服务器。 2)如果部署了日志服务器,登录日志服务器查看操作系统的日志是否在收集的
知识星球:网络安全等级保护交流
范围内 测评项: d) 应对审计进程进行保护,防止未经授权的中断。 测评方法: 1)访谈对审计进程监控和保护的措施 2)测试使用非安全审计员中断审计进程,查看审计进程的访问权限是否设置合 理。 3)查看是否有第三方系统对被测操作系统的审计进程进行监控和保护

linux系统安全基线

linux系统安全基线

linux系统安全基线Linux系统安全基线是指在构建和维护Linux操作系统时,按照一系列预定义的安全措施和规范来实施的一种最佳实践。

它主要是为了减少系统遭受恶意攻击的概率,保护系统的机密性、完整性和可用性。

本文将详细阐述Linux系统安全基线涉及的各个方面,并一步一步回答有关问题。

第一步:建立访问控制机制首先,我们需要建立合理的访问控制机制来限制用户的权限。

这可以通过为每个用户分配适当的权限级别和角色来实现。

例如,管理员账户应该具有最高的权限,而普通用户账户只能执行有限的操作。

此外,应该禁用不必要的账户,并定期审计所有账户和权限。

问题1:为什么建立访问控制机制是Linux系统安全基线的重要组成部分?答:建立访问控制机制可以限制用户的权限,避免未经授权的访问和滥用系统权限,从而提高系统的安全性。

问题2:如何建立访问控制机制?答:建立访问控制机制可以通过分配适当的权限级别和角色给每个用户来实现,同时禁用不必要的账户,并定期审计账户和权限。

第二步:加强系统密码策略系统密码是保护用户账户和系统数据的重要屏障,因此需要加强密码策略。

这包括要求用户使用强密码、定期更新密码、限制密码尝试次数等。

此外,为了避免密码泄露和未经授权的访问,应该启用多因素身份验证。

问题3:为什么加强系统密码策略是Linux系统安全基线的重要组成部分?答:加强系统密码策略可以提高账户和系统数据的安全性,避免密码泄露和未经授权的访问。

问题4:如何加强系统密码策略?答:加强系统密码策略可以通过要求用户使用强密码、定期更新密码、启用密码复杂性检查、限制密码尝试次数等方式来实现。

第三步:更新和修补系统Linux系统安全基线要求及时更新和修补系统以纠正已知的漏洞和安全问题。

这涉及到定期更新操作系统和软件包,并及时应用安全补丁。

此外,应该禁用不必要的服务和端口,以减少攻击面。

问题5:为什么更新和修补系统是Linux系统安全基线的重要组成部分?答:更新和修补系统可以修复已知的漏洞和安全问题,减少系统受攻击的风险。

linux加固手册v1.0(正式版)

linux加固手册v1.0(正式版)

linux加固手册v1.0(正式版)L I N U X操作系统安全加固手册版本号:1.0.0目录1概述 (1)1.1适用范围 (1)1.2外部引用说明 (1)1.3术语和定义 (1)1.4符号和缩略语 (1)2LINUX主机安全加固 (1)2.1身份鉴别 (1)2.1.1为空口令用户设置密码 (1)2.1.2缺省密码长度限制 (2)2.1.3缺省密码生存周期限制 (2)2.1.4口令过期提醒 (2)2.1.5限制超级管理员远程登录 (3)2.1.6使用 ssh 加密传输 (3)2.2访问控制 (3)2.2.1为不同的管理员分配不同的账号 (3)2.2.2去除不需要的帐号、修改默认帐号的 shell 变量 (4) 2.2.3对系统账号进行登录限制 (4)2.2.4除 root 之外 UID 为 0 的用户 (4)2.2.5设置关键目录的权限 (5)2.2.6修改 umask 值 (5)2.2.7设置目录权限 (6)2.2.8设置关键文件的属性 (6)2.2.9对 root 为 ls、rm 设置别名 (7)2.2.10使用 PAM 禁止任何人 su 为 root (7)2.3安全审计 (8)2.3.1启用日志记录功能 (8)2.3.2记录系统安全事件 (8)2.3.3启用记录 cron 行为日志功能 (8)2.3.4增加 ftpd 审计功能 (8)2.4剩余信息保护 (9)2.5入侵防范 (9)2.5.1设置访问控制列表 (9)2.5.2更改主机解析地址的顺序 (10)2.5.3打开 syncookie (10)2.5.4不响应 ICMP 请求 (10)2.5.5防 syn 攻击优化 (11)2.5.6补丁装载 (11)2.5.7关闭无效服务 (11)2.5.8关闭无效服务和进程自动启 (12)2.5.9禁止/etc/rc.d/init.d 下某些脚本的执行 (13)2.5.10加固 snmp 服务 (13)2.5.11修改 ssh 端口 (14)2.6恶意代码防范 (14)2.7资源控制 (14)2.7.1隐藏系统提示信息 (14)2.7.2设置登录超时时间 (15)2.7.3资源限制 (15)3推荐安装工具...................................................................................................................... 错误!未定义书签。

主机安全基线检查windows系统操作手册

主机安全基线检查windows系统操作手册
检测方法
1、判定条件 启用Windows防火墙。 “例外”中允许接入网络的程序均为业务所需。
2、检测操作
进入“控制面板->网络连接->本地连接”,在高级选项的设置中, 查看是否启用Windows防火墙。
查看是否在“例外”中配置允许业务所需的程序接入网络。 查看是否在“例外->编辑->更改范围”编辑允许接入的网络地址范 围。
操作指南
1、参考配置操作
安装最新的Service Pack补丁集,目前Windows XP的Service Pack为SP2。
Windows2000的Service Pack为SP4,Windows2003的Servoce Pack为SP1
检测方法
1、判定条件
显示XP系统已安装SP2,Win2000系统已安装SP4。
下,增加REG_DWORD类型的AutoShareServer键,值为0。
检测方法
1、判定条件HKLM\System\CurrentControlSet\
增加了REG_DWORD类型的
AutoShareServer键,值为0。
2、检测操作
进入“开始->运行->Regedit”,进入注册表编辑器,更改注册表 键值:在HKLM\System\CurrentControlSet\
检测方法
1、判定条件 系统管理员出示业务所需端口列表。 根据列表只开放系统与业务所需端口。
2、检测操作 进入“控制面板->网络连接->本地连接” ,进入“Internet协议 (TCP/IP)属性->高级TCP/IP设置”,在“选项”的属性中启用网 络连接上的TCP/IP筛选,查看是否只开放业务所需要的TCP,UDP
2、检测操作
进入“控制面板->管理工具->本地安全策略” ,在“帐户策略->密码 策略”:

Linux服务器巡检指导手册

Linux服务器巡检指导手册

服务器巡检指导设备硬件配置信息 机型号 CPU 内存 硬盘 系统信息 操作系统 IP 主机名(一)服务器硬件检查检查项 检查操作观察机柜以及机器上的 防尘网上的灰尘观察并用手感觉进风和出风是否正常噪音是否过大, 有无异 常声音液晶面板、电源指示 灯、硬盘报警灯等显示情况正常绿色闪烁 是否在防尘上阻塞导 致气流不畅。

主机和磁盘柜的所有 风扇运转正常。

系统电源指示灯检 观察液晶面板、电源指示 查 灯、硬盘报警灯等显示 服务器硬盘工作状 硬盘指示灯指示是否 态 正常,普通绿色为正常机柜或者机器上的 防尘网 参考标准 巡检情况子细听系统运转声音系统风扇运转检查 系统运装噪音检查检查网线是否连接正常检查网线与交换机之间的连线是否正常,以及双机心跳网线连接是否正常交换机连接主机的所有端口指示灯为长亮,双机系统的公网与交换机之间的连接应为交叉连接。

服务器插上网线后,若有数据传输,则网卡指服务器网卡工作状态服务器散热检测服务器电源连接检查服务器外壳整体检查服务器机房温度服务器机房湿度示灯呈现规律性闪烁;若闪烁不正常或者指示灯指示颜色不正常,则说明系统数据传输将不正常挨近服务器检查是否有热风吹出电源连接线是否有松动、接触不良等情况服务器整体是否有挪移或者伤害痕迹机房的温度是否异常变动,温度数值多少机房的湿度是否异常变动,湿度计数值多少参考值温度:20℃-26℃参考值温度:45%-60%服务器机房静电防护服务器标签检查防静电地板是否损坏,防静电设备是否正常标签是否松动、脱落,字体是否含糊不清网卡指示灯正常闪烁(二)操作系统检查(二)性能检查检查操作检查各进程资源CPU 占用率#top -c检查各进程资源内存占用率#top –c检查各进程资源内存交换区使 用率察看系统最占资源的 进程察看具体某个进程占 用资源的具体情况参考标准CPU 使用率小于80%内存使用率小于80% 内存交换区使用率小 于80%进出占用资源检查#top –c 进程名巡检情况检查项#top –c参考标准 巡检情况能够正常登陆到系统系统UP 时间应该为上次 重启到目前的时间检查操作执行命令uname -a利用root 身份、 口令登陆#uptime检查项操作系统版本检查系统账户检查系统运行状态16 :35 :22 当前时间up 17 day 5:45 系统运行时间,格式为时:分4 user 当前登录用户数load average: 0. 15, 系统负载,即任务队列的平均长度。

LINUX_操作系统安全测评指导书三级v1.0

LINUX_操作系统安全测评指导书三级v1.0

- -
操作系统平安测评指导书
LINUX
- -优质-
. .
1概述
1.1 适用围
本测评指导书适用于信息系统等级为三级的主机Linux操作系统测评。

1.2说明
本测评指导书基于?信息系统平安等级保护根本要求?的根底上进展设计。

本测评指导书是主机平安对于Linux操作系统身份鉴别、访问控制、平安审计、剩余信息保护、备份与恢复平安配置要求,对Linux操作系统主机的平安配置审计作起到指导性作用。

1.4 保障条件
1)需要相关技术人员〔系统管理员〕的积极配合
2)需要测评主机的管理员和口令
3)提前备份系统及配置文件
. -可修编.
- -。

linux各版本基线检查脚本(centos6、centos7、ubuntu系列)

linux各版本基线检查脚本(centos6、centos7、ubuntu系列)

linux各版本基线检查脚本(centos6、centos7、ubuntu系列)以下是centos7基线检查脚本:1 #!/bin/bash2 #version v1.0 by pensar3 #操作系统linux 配置规范--centos74cat <<EOF5 ***************************************************************6 linux安全配置检查脚本:71. 输出结果在/tmp/check/⽬录下查看82.检查范围及检查项(共计4⼤类,33项)9 *⽇志审计配置*:10 [1]检查Cron任务授权11 [2]检查是否对syslog登录事件记录12 [3]检查是否对rsyslog.conf配置审核13 [4]检查系统⽇志读写权限14 [5]检查是否对远程⽇志服务器配置15 *系统⽂件管理*:16 [1]检查是否对登录超时时间配置17 [2]检查系统磁盘状态18 [3]检查是否禁⽌匿名FTP访问19 [4]检查是否修改FTP banner 信息20 [5]检查是否关闭不必要的服务21 [6]检查系统core dump状态22 [7]检查系统补丁23 *⽤户账号配置*:24 [1]检查是否存在⽆⽤账号25 [2]检查不同⽤户是否共享账号26 [3]检查是否删除或锁定⽆⽤账号27 [4]检查是否存在⽆⽤⽤户组28 [5]检查是否指定⽤户组成员使⽤su命令29 [6]检查密码长度及复杂度策略30 [7]检查是否对⽤户远程登录进⾏限制31 [8]检查是否配置加密协议32 [9]检查是否配置密码的⽣存期33 [10]检查⽤户缺省访问权限34 [11]检查passwd group⽂件安全权限35 [12]检查是否存在除root之外UID为0的⽤户36 [13]检查是否配置环境变量37 [14]检查是否对远程连接的安全性进⾏配置38 [15]检查是否对⽤户的umask进⾏配置39 [16]检查是否对重要⽬录和⽂件的权限进⾏设置40 [17]检查是否存在未授权的suid/sgid⽂件41 [18]检查是否存在异常隐含⽂件42 *⽹络通信配置*:43 [1]检查是否对基本⽹络服务进⾏配置44 [2]检查是否开启NFS服务45 [3]检查常规⽹络服务是否运⾏正常46 ***************************************************************47 EOF48mkdir /tmp/check49 str1=`/sbin/ifconfig -a | grep inet | grep -v 127.0.0.1 | grep -v inet6 | awk'{print $2}' | tr -d "addr:" | head -n 1`50 str=`date +%Y%m%d%H%M`_"$str1"5152echo"----**⽇志审计配置**----" >> /tmp/check/${str}_out.txt53echo"[1] 检查Cron任务授权" >> /tmp/check/${str}_out.txt54if [ -e /etc/cron.deny ] && [ -e /etc/at.deny ];then55 CRON_DENY=`ls -l /etc/cron.deny | awk'{print $1}'`56 AT_DENY=`ls -l /etc/at.deny | awk'{print $1}'`57echo"/etc/cron.deny⽂件授权情况为:${CRON_DENY:1:9}" >> /tmp/check/${str}_out.txt58echo"/etc/at.deny⽂件授权情况为:${AT_DENY:1:9}" >> /tmp/check/${str}_out.txt59echo"{'Check_point':'检查Cron任务授权','Check_result':{'/etc/cron.deny⽂件授权情况为':'${CRON_DENY:1:9}','/etc/at.deny⽂件授权情况为':'${AT_DENY:1:9}'}}" >> /tmp/check/${str}_dict.txt 60 CRON=`cat /etc/rsyslog.conf | grep"cron.\*"`61echo"/etc/rsyslog.conf的配置情况为:${CRON}" >> /tmp/check/${str}_out.txt62else63echo"未找到/etc/cron.deny和/etc/at.deny配置⽂件" >> /tmp/check/${str}_out.txt64fi6566echo"----------------------------" >> /tmp/check/${str}_out.txt67echo"[2]检查是否对syslog登录事件记录" >> /tmp/check/${str}_out.txt68if [ -e /etc/syslog.conf ];then69 Clog=`cat /etc/syslog.conf | grep /var/log/secure | grep -E "authpriv\.\*"`70echo"/etc/syslog.conf的配置为:${Clog}" >> /tmp/check/${str}_out.txt71else72echo"未找到/etc/syslog.conf配置⽂件" >> /tmp/check/${str}_out.txt73fi7475echo"----------------------------" >> /tmp/check/${str}_out.txt76echo"[3]检查是否对rsyslog.conf配置审核" >> /tmp/check/${str}_out.txt77if [ -e /etc/rsyslog.conf ];then78 LOG=`cat /etc/rsyslog.conf | grep @loghost`79echo"rsyslog.conf⽂件的配置为${LOG}" >> /tmp/check/${str}_out.txt80else81echo"未找到/etc/rsyslog.conf配置⽂件" >> /tmp/check/${str}_out.txt82fi8384echo"----------------------------" >> /tmp/check/${str}_out.txt85echo"[4]检查系统⽇志读写权限" >> /tmp/check/${str}_out.txt86if [ -e /var/log/messages ];then87 MESSAGES=`ls -l /var/log/messages | awk'{print $1}'`90echo"未找到/var/log/messages的⽂件" >> /tmp/check/${str}_out.txt91fi92if [ -e /var/log/secure ];then93 SECURE=`ls -l /var/log/secure | awk'{print $1}'`94echo"/var/log/secure 的⽂件权限为:${SECURE:1:9}" >> /tmp/check/${str}_out.txt95else96echo"未找到/var/log/secure的⽂件" >> /tmp/check/${str}_out.txt97fi9899if [ -e /var/log/maillog ];then100 MAILLOG=`ls -l /var/log/maillog | awk'{print $1}'`101echo"/var/log/maillog 的⽂件权限为:${MAILLOG:1:9}" >> /tmp/check/${str}_out.txt102else103echo"未找到/var/log/maillog的⽂件" >> /tmp/check/${str}_out.txt104fi105106if [ -e /var/log/cron ];then107 CRON=`ls -l /var/log/cron | awk'{print $1}'`108echo"/var/log/cron 的⽂件权限为:${CRON:1:9}" >> /tmp/check/${str}_out.txt109else110echo"未找到/var/log/cron的⽂件" >> /tmp/check/${str}_out.txt111fi112if [ -e /var/log/spooler ];then113 SPOOLER=`ls -l /var/log/spooler | awk'{print $1}'`114echo"/var/log/spooler 的⽂件权限为:${SPOOLER:1:9}" >> /tmp/check/${str}_out.txt115else116echo"未找到/var/log/spooler的⽂件" >> /tmp/check/${str}_out.txt117fi118119if [ -e /var/log/boot/log ];then120 LOG=`ls -l /var/log/boot/log | awk'{print $1}'`121echo"/var/log/boot/log 的⽂件权限为:${LOG:1:9}" >> /tmp/check/${str}_out.txt122else123echo"未找到/var/log/boot/log的⽂件" >> /tmp/check/${str}_out.txt124fi125126echo"----------------------------" >> /tmp/check/${str}_out.txt127echo"[5]检查是否对远程⽇志服务器配置" >> /tmp/check/${str}_out.txt128if [ -e /etc/rsyslog.conf ];then129 RSYS=`cat /etc/rsyslog.conf | grep"@${str1}" | grep $'\t' | grep \.\*`130echo"远程⽇志服务器配置情况为:${RSYS}" >> /tmp/check/${str}_out.txt131else132echo"未找到/etc/rsyslog.conf配置⽂件" >> /tmp/check/${str}_out.txt133fi134echo"----------------------------" >> /tmp/check/${str}_out.txt135echo""136echo"----**系统⽂件管理**----" >> /tmp/check/${str}_out.txt137echo"[1]检查是否对登录超时时间配置" >> /tmp/check/${str}_out.txt138if [ -e /etc/profile ] && [ -e /etc/bashrc ]; then139 TMOUT=`cat /etc/profile | grep HISTTIMEFORMAT | grep TMOUT`140if [ -n ${TMOUT} ]; then141echo"/etc/profile的超时时间设置情况为:${TMOUT}" >> /tmp/check/${str}_out.txt142 FORMAT=`cat /etc/bashrc | grep export | grep HISTTIMEFORMAT`143if [ -n ${FORMAT} ];then144echo"/etc/bashrc的设置为${FORMAT}" >> /tmp/check/${str}_out.txt145else146echo"/etc/bashrc不存在对应配置" >> /tmp/check/${str}_out.txt147fi148else149echo"/etc/profile⽂件不存在对应配置" >> /tmp/check/${str}_out.txt150fi151else152echo"不存在/etc/profile⽂件以及/etc/bashrc⽂件" >> /tmp/check/${str}_out.txt153fi154155156echo"----------------------------" >> /tmp/check/${str}_out.txt157echo"[2]检查系统磁盘状态" >> /tmp/check/${str}_out.txt158 DF=`df -h | awk'NR!=1{print $5}' | awk -F[\%] '{print $1}'`159for i in $DF160do161if [ $i -ge 80 ];then162 flag=1163else164 flag=0165fi166done167if [ $flag = 1 ];then168echo"系统磁盘使⽤率⼤于80%" >> /tmp/check/${str}_out.txt169else [ $flag = 0 ]170echo"系统磁盘状态⼩于80%" >> /tmp/check/${str}_out.txt171fi172173echo"----------------------------" >> /tmp/check/${str}_out.txt174echo"[3]检查是否禁⽌匿名FTP访问" >> /tmp/check/${str}_out.txt175if [ -e /etc/vsftpd.conf ];then176cat /etc/vsftpd.conf | grep"anonymous_enable=NO"177if [ $? -eq 0 ]; then178echo"/etc/vsftpd.conf⽂件有设置:anonymous_enable=NO" >> /tmp/check/${str}_out.txt179else180echo"不符合规范,需编辑/etc/vsftpd.conf⽂件,设置:anonymous_enable=NO" >> /tmp/check/${str}_out.txt 181fi182else183echo"未找到/etc/vsftpd.conf⽂件" >> /tmp/check/${str}_out.txt186echo"----------------------------" >> /tmp/check/${str}_out.txt187echo"[4]检查是否修改FTP banner 信息" >> /tmp/check/${str}_out.txt188if [ -e /etc/vsftpd.d/vsftpd.conf ];then189 BANNER=`cat /etc/vsftpd.d/vsftpd.conf | grep ftpd_banner | grep -F[=] awk'{print $1}'` 190if [ -n ${BANNER} ];then191echo"banner信息为${BANNER}" >> /tmp/check/${str}_out.txt192else193echo"未设置banner信息" >> /tmp/check/${str}_out.txt194fi195else196echo"未找到/etc/vsftpd.d/vsftpd.conf⽂件" >> /tmp/check/${str}_out.txt197fi198199if [ -e /etc/ftpaccess ];then200cat /etc/ftpaccess | grep"banner /path/to/ftpbanner"201if [ -e -eq 0 ];then202echo"/etc/ftpaccess⽂件中已经设置banner路径" >> /tmp/check/${str}_out.txt203else204echo"/etc/ftpaccess⽂件中未设置banner路径" >> /tmp/check/${str}_out.txt205fi206else207echo"不存在/etc/ftpaccess⽂件" >> /tmp/check/${str}_out.txt208fi209210echo"----------------------------" >> /tmp/check/${str}_out.txt211echo"[5]检查是否关闭不必要的服务" >> /tmp/check/${str}_out.txt212 SERVICE=`ps -ef`213echo"系统服务情况为${SERVICE}" >> /tmp/check/${str}_out.txt214 SER_LIST=`systemctl list-units -all --type=service`215echo"服务有${SER_LIST}" >> /tmp/check/${str}_out.txt216if [ -e /etc/xinetd.conf ];then217echo"在/etc/xinetd.conf⽂件中禁⽌不必要的基本⽹络服务" >> /tmp/check/${str}_out.txt 218else219echo"未找到/etc/xinetd.conf⽂件" >> /tmp/check/${str}_out.txt220fi221222223echo"----------------------------" >> /tmp/check/${str}_out.txt224echo"[6]检查系统core dump状态" >> /tmp/check/${str}_out.txt225if [ -e /etc/security/limits.conf ];then226cat /etc/security/limits.conf | grep \* | grep soft | grep core | grep0227if [ $? -eq 0 ];then228cat /etc/security/limits.conf | grep \* | grep hard | grep core | grep0229if [ $? -eq 0 ];then230echo"/etc/security/limits.conf符合安全配置" >> /tmp/check/${str}_out.txt231else232echo"/etc/security/limits.conf未安装规范进⾏设置" >> /tmp/check/${str}_out.txt 233fi234else235echo"/etc/security/limits.conf未安装规范进⾏设置" >> /tmp/check/${str}_out.txt 236fi237else238echo"未找到/etc/security/limits.conf配置⽂件" >> /tmp/check/${str}_out.txt239fi240241echo"----------------------------" >> /tmp/check/${str}_out.txt242echo"[7]检查系统补丁" >> /tmp/check/${str}_out.txt243 OS=`uname -a`244echo"系统版本情况为${OS}" >> /tmp/check/${str}_out.txt245246247248echo"----**⽤户账号配置**----" >> /tmp/check/${str}_out.txt249echo"[1]检查是否存在⽆⽤账号" >> /tmp/check/${str}_out.txt250passwd=`ls -l /etc/passwd | awk'{print $1}'`251if [ "${passwd:1:9}" = "rw-r--r--" ]; then252echo"/etc/passwd⽂件权限为644,符合规范" >> /tmp/check/${str}_out.txt253else254echo"/etc/passwd⽂件权限为${passwd:1:9},不符合规范" >> /tmp/check/${str}_out.txt 255fi256 PASSWD_U=`cat /etc/passwd | awk -F[:] '{print $1}'`257echo"查看是否存在⽆⽤账号:${PASSWD_U}" >> /tmp/check/${str}_out.txt258259260echo"----------------------------" >> /tmp/check/${str}_out.txt261echo"[2]检查不同⽤户是否共享账号" >> /tmp/check/${str}_out.txt262 PASS=`cat /etc/passwd | awk -F[:] '{print $1}'`263echo"cat /etc/passwd结果为${PASS}" >> /tmp/check/${str}_out.txt264 #查看所有账号,与管理员确认是否有共享账号265266echo"----------------------------" >> /tmp/check/${str}_out.txt267echo"[3]检查是否删除或锁定⽆⽤账号" >> /tmp/check/${str}_out.txt268 NOlogin=`cat /etc/passwd | grep nologin | awk -F[:] '{print $1}'`269echo"shell域中为nologin的账户有${NOlogin}" >> /tmp/check/${str}_out.txt270271272echo"----------------------------" >> /tmp/check/${str}_out.txt273echo"[4]检查是否存在⽆⽤⽤户组" >> /tmp/check/${str}_out.txt274 GROUP=`ls -l /etc/group | awk'{print $1}'`275echo"/etc/group⽂件权限为${GROUP}" >> /tmp/check/${str}_out.txt276 GROUP_U=`cat /etc/group | awk -F[:] '{print $1}'`277echo"/etc/group⽤户组有${GROUP}" >> /tmp/check/${str}_out.txt278279281echo"[5]检查是否指定⽤户组成员使⽤su命令" >> /tmp/check/${str}_out.txt282if [ -e /etc/pam.d/su ];then283 SUFFI=`cat /etc/pam.d/su | grep auth | grep sufficient | grep pam_rootok.so`284 REQUIRED=`cat /etc/pam.d/su | grep auth | grep required | grep group=`285echo"是否指定⽤户组成员情况为${SUFFI}\n${REQUIRED}" >> /tmp/check/${str}_out.txt286else287echo"未找到/etc/pam.d/su配置⽂件" >> /tmp/check/${str}_out.txt288fi289290291292echo"----------------------------" >> /tmp/check/${str}_out.txt293echo"[6]检查密码长度及复杂度策略" >> /tmp/check/${str}_out.txt294if [ -e /etc/pam.d/system-auth ];then295 passComplexity=`cat /etc/pam.d/system-auth | grep"pam_pwquality.so"`296 passucredit=`cat /etc/pam.d/system-auth | grep"pam_pwquality.so" | grep -e ucredit | awk'{print $4}'` 297 passlcredit=`cat /etc/pam.d/system-auth | grep"pam_pwquality.so" | grep -e lcredit | awk'{print $5}'` 298 passdcredit=`cat /etc/pam.d/system-auth | grep"pam_pwquality.so" | grep -e dcredit | awk'{print $6}'` 299 passocredit=`cat /etc/pam.d/system-auth | grep"pam_pwquality.so" | grep -e ocredit | awk'{print $7}'` 300echo"密码复杂度策略为:${passComplexity}" >> /tmp/check/${str}_out.txt301echo"密码复杂度策略中设置的⼤写字母个数为:${passucredit}" >> /tmp/check/${str}_out.txt302echo"密码复杂度策略中设置的⼩写字母个数为:${passlcredit}" >> /tmp/check/${str}_out.txt303echo"密码复杂度策略中设置的数字个数为:${passdcredit}" >> /tmp/check/${str}_out.txt304echo"密码复杂度策略中设置的特殊字符个数为:${passocredit}" >> /tmp/check/${str}_out.txt305else306 ehco "不存在/etc/pam.d/system-auth⽂件" >> /tmp/check/${str}_out.txt307fi308309echo"----------------------------" >> /tmp/check/${str}_out.txt310echo"[7]检查是否对⽤户远程登录进⾏限制" >> /tmp/check/${str}_out.txt311cat /etc/securetty | grep"#" | grep tty312if [ $? -eq 0 ];then313echo"注释掉所有tty设备" >> /tmp/check/${str}_out.txt314else315echo"未注释掉所有tty设备" >> /tmp/check/${str}_out.txt316fi317318 RootLogin=`cat /etc/ssh/sshd_config | grep PermitRootLogin | awk'{print $2}'`319if [ "${RootLogin}" == "yes" ];then320echo"/etc/ssh/sshd_config中PermitRootLogin配置为yes" >> /tmp/check/${str}_out.txt321else [ "${RootLogin}" == "no" ]322echo"/etc/ssh/sshd_config中PermitRootLogin配置为no" >> /tmp/check/${str}_out.txt323fi324325326327echo"----------------------------" >> /tmp/check/${str}_out.txt328echo"[8]检查是否配置加密协议" >> /tmp/check/${str}_out.txt329 SSH=`ps -elf | grep ssh`330echo"ssh服务状态为${SSH}" >> /tmp/check/${str}_out.txt331if [ -e /etc/ssh/sshd_config ];then332cat /etc/ssh/sshd_config | grep"Host*" | grep"Protocol 2"333if [ $? -eq 0 ];then334echo"/etc/ssh/sshd_config⽂件符合安全配置" >> /tmp/check/${str}_out.txt335else336echo"/etc/ssh/sshd_config⽂件中未找到相应配置" >> /tmp/check/${str}_out.txt337fi338else339echo"未找到/etc/ssh/sshd_config⽂件" >> /tmp/check/${str}_out.txt340fi341342343echo"----------------------------" >> /tmp/check/${str}_out.txt344echo"[9]检查是否配置密码的⽣存期" >> /tmp/check/${str}_out.txt345if [ -e /etc/login.defs ];then346 passmax=`cat /etc/login.defs | grep PASS_MAX_DAYS | grep -v ^# | awk'{print $2}'`347 passmin=`cat /etc/login.defs | grep PASS_MIN_DAYS | grep -v ^# | awk'{print $2}'`348 passlen=`cat /etc/login.defs | grep PASS_MIN_LEN | grep -v ^# | awk'{print $2}'`349 passage=`cat /etc/login.defs | grep PASS_WARN_AGE | grep -v ^# | awk'{print $2}'`350echo"⼝令⽣存周期天数为: ${passmax}" >> /tmp/check/${str}_out.txt351echo"⼝令更改最⼩时间间隔为天数为:${passmin}" >> /tmp/check/${str}_out.txt352echo"⼝令最⼩长度天数为:${passlen}" >> /tmp/check/${str}_out.txt353echo"⼝令过期告警时间天数为:${passage}" >> /tmp/check/${str}_out.txt354else355echo"未找到/etc/login.defs配置⽂件" >> /tmp/check/${str}_out.txt356fi357358echo"----------------------------" >> /tmp/check/${str}_out.txt359echo"[10]检查⽤户缺省访问权限" >> /tmp/check/${str}_out.txt360 fileumask=`cat /etc/login.defs | grep -i umask | awk'{print $2}'`361if [ -n $fileumask ]; then362echo"/etc/login.defs⽂件的umask的值为:${fileumask}" >> /tmp/check/${str}_out.txt363else364echo"/etc/login.defs⽂件未配置umask值" >> /tmp/check/${str}_out.txt365fi366367368echo"----------------------------" >> /tmp/check/${str}_out.txt369echo"[11]检查passwd group⽂件安全权限" >> /tmp/check/${str}_out.txt370371grep ^+: /etc/passwd /etc/shadow /etc/group372if [ $? -eq 0 ];then373echo"低于安全要求" >> /tmp/check/${str}_out.txt374else375echo"符合安全要求" >> /tmp/check/${str}_out.txt377passwd=`ls -l /etc/passwd | awk'{print $1}'`378echo"/etc/passwd⽂件权限为${passwd:1:9}" >> /tmp/check/${str}_out.txt379 ETC_group=`ls -l /etc/group | awk'{print $1}'`380echo"/etc/group⽂件权限为${passwd:1:9}" >> /tmp/check/${str}_out.txt381382 igroup=`lsattr /etc/group | grep i`383if [ "$igroup" = "i" ]; then384echo"/etc/group⽂件存在i属性⽂件" >> /tmp/check/${str}_out.txt385else386echo"/etc/group⽂件不存在i⽂件属性" >> /tmp/check/${str}_out.txt387fi388 ipasswd=`lsattr /etc/passwd | grep i`389if [ "$igshadow" = "i" ]; then390echo"/etc/passwd存在i属性⽂件" >> /tmp/check/${str}_out.txt391else392echo"/etc/passwd不存在i⽂件属性" >> /tmp/check/${str}_out.txt393fi394395396echo"----------------------------" >> /tmp/check/${str}_out.txt397echo"[12]检查是否存在除root之外UID为0的⽤户" >> /tmp/check/${str}_out.txt398 uids=`awk -F[:] 'NR!=1{print $3}' /etc/passwd` #NR!=1意思的除了第⼀⾏不显⽰。

linux基线检查

linux基线检查

: 设置不可改变 chattr +i /etc/service 。

: 注释掉 ”decode,games,ingres,system,t oor,uucp,manager,dumper,operator 。

”以下文件是危(wei )险文件,需要删除:/etc/hosts.equiv/etc/shosts.equiv $HOME/.rhosts $HOME/.shosts检查 PATH 环境变量的目录中是否存在除白名单以外的带有S 标志位的文件。

白名单: /sbin/mount.nfs/sbin/pam_timestamp_check/sbin/netreport /sbin/unix_chkpwd /bin/mount /bin/ping6 /bin/su /bin/cgexec /bin/cgclassify/bin/ping /bin/umount/etc/fstab /etc/passwd /etc/shadow /etc/group /etc/services /etc/aliases /etc/securetty644(rw-r — r--) 644(rw-r — r--) 600(rw-------) 600(rw-r--r--) 600(rw-------) 755(rwxr-xr-x) 400(r--------)root root root root root root root/usr/sbin/userhelper/usr/sbin/fping/usr/sbin/usernetctl/usr/sbin/lockdev/usr/sbin/postdrop/usr/sbin/fping6/usr/sbin/postqueue/usr/bin/crontab/usr/bin/chfn/usr/bin/write/usr/bin/newgrp/usr/bin/chage/usr/bin/at/usr/bin/pkexec/usr/bin/wall/usr/bin/ssh-agent/usr/bin/gpasswd/usr/bin/sudo/usr/bin/chsh/usr/bin/staprun/usr/bin/passwd检查用户home 目录是否存在setuid 或者setgid 文件。

Linux操作系统安全系统配置要求规范V1.0

Linux操作系统安全系统配置要求规范V1.0

L i n u x操作系统安全配置规范版本号:1.0.0目录1概述 (1)1.1适用范围 (1)1.2外部引用说明 (1)1.3术语和定义 (1)1.4符号和缩略语 (1)2LINUX设备安全配置要求 (1)2.1账号管理、认证授权 (2)2.1.1账号 (2)2.1.2口令 (4)2.1.3授权 (10)2.2日志配置要求 (11)2.3IP协议安全配置要求 (13)2.3.1IP协议安全 (13)2.4设备其他安全配置要求 (14)2.4.1检查SSH安全配置 (14)2.4.2检查是否启用信任主机方式,配置文件是否配置妥当 (15)2.4.3检查是否关闭不必要服务 (15)2.4.4检查是否设置登录超时 (16)2.4.5补丁管理 (17)1概述1.1适用范围本规范适用于LINUX操作系统的设备。

本规范明确了LINUX操作系统配置的基本安全要求,在未特别说明的情况下,适用于Redhat与Suse操作系统版本。

1.2外部引用说明1.3术语和定义1.4符号和缩略语(对于规范出现的英文缩略语或符号在这里统一说明。

)2LINUX设备安全配置要求本规范所指的设备为采用LINUX操作系统的设备。

本规范提出的安全配置要求,在未特别说明的情况下,均适用于采用LINUX操作系统的设备。

本规范从运行LINUX操作系统设备的认证授权功能、安全日志功能、IP网络安全功能,其他自身安全配置功能四个方面提出安全配置要求。

2.1账号管理、认证授权2.1.1账号2.1.1.1检查是否删除或锁定无关账号2.1.1.2检查是否限制root远程登录2.1.2口令2.1.2.1检查口令策略设置是否符合复杂度要求2.1.2.2检查口令生存周期要求2.1.2.3检查口令重复次数限制2.1.2.4检查口令锁定策略2.1.2.5检查FTP是否禁止匿名登录2.1.2.6检查是否存在弱口令2.1.3授权2.1.3.1检查帐号文件权限设置2.2日志配置要求本部分对LINUX操作系统设备的日志功能提出要求,主要考察设备所具备的日志功能,确保发生安全事件后,设备日志能提供充足的信息进行安全事件定位。

linux系统安全配置基线

linux系统安全配置基线

linux系统安全配置基线Linux系统的安全配置基线是指为了保护系统免受各种威胁和攻击,所采取的一系列配置措施和安全策略。

一个良好的安全配置基线可以有效减少系统被攻击的风险,并保护系统的机密性、完整性和可用性。

以下是一些常见的Linux系统安全配置基线措施:1.更新和升级软件:定期更新和升级操作系统和软件包,以获取最新的安全补丁和修复漏洞。

2.禁用不必要的服务和端口:关闭不需要的网络服务和端口,只保留必要的服务,以减少系统暴露在外部的风险。

3.配置强密码策略:设置密码复杂性和长度要求,包括大写字母、小写字母、数字和特殊字符的组合,并定期要求密码更换。

4.设置账户锁定策略:在一定的登录尝试失败次数后,锁定用户账户,以防止恶意破解密码。

5.使用防火墙:配置和启用系统防火墙,限制进入和离开系统的网络连接,只允许必要的通信。

6.禁用root远程登录:禁止root账户通过SSH远程登录系统,使用普通用户登录后再通过su或sudo提升权限。

7.文件和目录权限设置:将敏感文件和目录设置为只有root用户或授权用户可读写,限制其他用户的访问权限。

8.定期备份数据:定期备份系统数据和配置,以防止数据丢失或系统故障时能够恢复系统。

9.启用日志记录:启用系统的日志记录功能,并定期检查和分析日志文件,及时发现异常行为和攻击行为。

10.安装和配置入侵检测系统(IDS):通过安装和配置IDS,可以实时监控系统的网络流量和行为,并发现潜在的入侵行为。

11.限制物理访问:对于物理服务器,限制只有授权人员可以访问服务器,并监控系统进出的人员和设备。

12.安全审计和漏洞扫描:定期进行安全审计和漏洞扫描,发现系统中的安全隐患和漏洞,并及时修复。

13.加密通信:通过使用SSL / TLS等加密协议,保障网络通信的机密性和完整性。

14.安装安全软件和工具:安装合适的安全软件和工具,如防病毒软件、入侵检测系统、防火墙等,增强系统的安全性。

linux系统安全配置基线

linux系统安全配置基线

linux系统安全配置基线Linux系统安全配置基线一、概述Linux系统是广泛应用于服务器和个人计算机的操作系统,为了保障系统的安全性,需要进行安全配置。

本文将介绍Linux系统安全配置的基线要求,包括密码策略、用户权限管理、网络安全、日志审计等方面。

二、密码策略1. 密码长度:设置密码最小长度为8个字符,建议包括大小写字母、数字和特殊字符,并定期更换密码。

2. 密码复杂度:要求密码包含大小写字母、数字和特殊字符,不允许使用常见的弱密码。

3. 密码锁定:设置密码锁定策略,限制密码输入错误次数,并设置锁定时间,以防止暴力破解。

三、用户权限管理1. 最小权限原则:给予用户最小权限,避免赋予过高的权限,以减少潜在的安全风险。

2. 禁用不必要的账户:禁用或删除不再使用的账户,避免被攻击者利用。

3. 定期审核权限:定期审查用户的权限,及时撤销不必要的权限。

四、网络安全1. 防火墙配置:配置防火墙规则,只开放必要的端口,限制对系统的非法访问。

2. 网络服务安全:关闭不必要的网络服务,只保留必要的服务,并对其进行定期更新和安全加固。

3. 网络连接监控:监控网络连接情况,及时发现异常连接,并采取相应的安全措施。

4. 网络流量分析:对网络流量进行分析,发现异常流量和攻击行为,采取相应的防御措施。

五、日志审计1. 启用日志功能:启用系统日志功能,记录关键事件和操作,以便后期审计和溯源。

2. 日志存储和保护:将日志存储在安全的地方,并设置合适的权限,防止被篡改或删除。

3. 日志监控和告警:监控日志内容,及时发现异常事件,并设置告警机制,及时采取应对措施。

六、软件更新和补丁管理1. 及时更新软件:定期更新操作系统和应用软件,及时修补已知漏洞,以提高系统的安全性。

2. 自动更新设置:配置自动更新策略,保证系统能够及时获取最新的安全补丁。

七、文件和目录权限控制1. 文件权限设置:合理设置文件和目录的权限,避免敏感文件被非授权用户访问。

操作系统安全基线检查表

操作系统安全基线检查表

操作系统安全基线检查表文档编号:OS-SEC-001版本:1.0日期:2022年10月操作系统安全基线检查表1. 引言操作系统安全基线是指操作系统在默认配置下的最低安全要求。

为了确保操作系统的安全性,本文档提供了一个操作系统安全基线检查表,用于定期检查操作系统是否满足安全要求。

2. 操作系统安全基线检查表2.1 用户账户安全2.1.1 用户账户管理2.1.1.1 添加用户账户时,是否遵循命名规范?2.1.1.2 是否定期审查并注销不再使用的用户账户?2.1.1.3 是否限制用户账户的登录尝试次数?2.1.2 密码策略2.1.2.1 是否要求用户设置复杂密码?2.1.2.2 是否限制用户修改密码的频率?2.1.2.3 是否定期更改不安全的密码?2.2 系统日志安全2.2.1 是否开启系统日志功能?2.2.2 是否定期审查系统日志,并记录审查结果?2.2.3 是否配置日志轮转,限制日志文件大小?2.2.4 是否使用安全的日志存储位置,防止未授权访问?2.3 系统补丁安全2.3.1 是否定期检查并安装最新的系统补丁?2.3.2 是否使用合法和可信的渠道获取系统补丁?2.3.3 是否测试并验证系统补丁的可靠性?2.4 防病毒软件安全2.4.1 是否安装并定期更新最新的防病毒软件?2.4.2 是否定期进行全盘扫描并记录扫描结果?2.4.3 是否及时处理检测到的恶意文件和病毒?2.5 网络安全2.5.1 是否配置防火墙来限制网络访问?2.5.2 是否开启网络入侵检测系统(NIDS)?2.5.3 是否配置合适的网络安全策略?2.6 文件系统安全2.6.1 是否限制用户对系统关键文件和目录的访问权限?2.6.2 是否定期检查系统文件和目录的完整性?2.6.3 是否实施文件加密保护机制?2.7 远程访问安全2.7.1 是否禁用或限制危险的远程访问服务?2.7.2 是否使用安全通信协议进行远程访问?2.7.3 是否定期检查远程访问日志,并记录审查结果?2.8 访问控制安全2.8.1 是否实施访问控制策略,限制用户对敏感数据的访问?2.8.2 是否限制系统管理员的权限,并记录其操作?2.8.3 是否定期审查访问权限,并及时删除不必要的权限?3. 附件本文档不涉及附件。

Linux安全配置基线规范

Linux安全配置基线规范

SuSELinux安全配置基线规范V1.12019年3月18日目录修订记录2第1章概述31.1目的3.1.2适用范围3.第1页共15页1.3实施3.1.4例外条款4.1.5评审与修订4.第2章帐户、权限、日志42.1帐户4.2.1.1禁止多人共享账号4.2.1.2禁用存在空密码帐户52.1.3禁止存在除root外UID为0的账号52.1.4口令复杂度6.2.1.5口令生存周期6.2.2权限7.2.2.1文件与目录缺省权限控制72.2.2帐号文件权限设置7.2.2.3设置关键文件属性8.2.3日志8.2.3.1记录帐户登录日志8第3章系统服务安全93.1远程访问服务9.3.1.1限制root用户SSH远程登录93.1.2用SSH协议进行远程维护103.2协议设置113.2.1修改SNMP的默认Community113.2.2禁止Root用户登录FTP113.2.3禁止匿名FTP133.2.4Root用户环境变量的安全性143.3安全漏洞检查153.3.1OPENSSL心脏滴血漏洞检查153.3.2Bash安全漏洞检查15修订记录第1章概述1.1目的本文档针对安装运行SuSELinux系列操作系统的主机所应当遵循的通用基本安全配置要求提供了参考建议,旨在指导系统管理人员或安全检查人员进行SuSELinux系列操作系统过程中进行安全配置合规性自查、检查、加固提供标准依据与操作指导。

1.2适用范围本配置标准的使用者包括:服务器系统管理员、应用管理员、网络安全管理员。

本配置标准适用的范围包括:SuSELinux服务器系统1.3实施本标准自发布之日起生效本标准的解释权和修改权属于,在本标准的执行过程中若有任何意见或建议,请发送邮件至1.4例外条款欲申请本标准的例外条款,申请人必须准备书面申请文件,说明业务需求和原因,送交进行审批备案。

1.5评审与修订本文档由定期进行审查,根据审视结果修订标准,并颁发执行。

第2章帐户、权限、日志2.1帐户2.1.1禁止多人共享账号2.1.2禁用存在空密码帐户2.1.3禁止存在除root外UID为0的账号2.1.4口令复杂度2.1.5口令生存周期2.2权限2.2.1文件与目录缺省权限控制2.2.2帐号文件权限设置2.2.3设置关键文件属性2.3日志2.3.1记录帐户登录日志第3章系统服务安全3.1远程访问服务3・1・1限制root用户SSH远程登录3.1.2用SSH协议进行远程维护3.2协议设置3.2.1修改SNMP的默认Community3・2・2禁止Root用户登录FTP检测操作步骤检测方法1、如果是vsftp服务器,查看如下配置文件/etc/pam.d/vsftpd、/etc/vsftpd/vsftpd.conf(/etc/vsftpd.conf)。

通用linux系统安全加固V1.0

通用linux系统安全加固V1.0

通用linux系统安全加固V1.0通用linux主机操作系统安全加固操作规范2013年4月目录1文档使用说明 (4)1.1适用范围 (4)1.2适用人员 (4)2帐户安全配置要求 (4)2.1创建/etc/shadow影子口令文件 (4)2.2建立多帐户组,将用户账号分配到相应的帐户组 (5)2.3删除或锁定可能无用的帐户 (5)2.4删除可能无用的用户组 (6)2.5检查是否存在空密码的帐户 (6)2.6设置口令策略满足复杂度要求 (7)2.7设置帐户口令生存周期 (8)2.8设定密码历史,不能重复使用最近5次(含5次)内已使用的口令 (8)2.9限制root用户远程登录 (9)2.10检查passwd、group文件权限设置 (10)2.11删除帐户目录下的.netrc/.rhosts/.shosts文件 (11)2.12系统umask设置 (11)3访问、认证安全配置要求 (12)3.1远程登录取消telnet采用ssh (12)3.2限制系统帐户FTP登录 (12)3.3配置允许访问inetd服务的IP范围或主机名 (13)3.4禁止除root外帐户使用at/cron (13)3.5设定连续认证失败次数超过6次(不含6次)锁定该账号 (14)4文件系统安全配置要求 (15)4.1重要目录和文件的权限设置 (15)4.2检查没有所有者的文件或目录 (15)5网络服务安全配置要求 (16)5.1禁止NIS/NIS+服务以守护方式运行 (16)5.2禁用打印服务以守护方式运行 (17)5.3禁用SENDMAIL服务以守护方式运行 (17)5.4禁用不必要的标准启动服务 (18)5.5禁用不必要的inetd服务 (22)6IP协议安全配置要求 (22)6.1关闭IP转发 (22)6.2关闭转发源路由包 (23)6.3增大最大半连接数防范SYN攻击 (24)6.4关闭ICMP重定向 (25)6.5关闭响应echo广播 (26)6.6关闭响应地址掩码和时间戳广播防止探测 (27)7日志安全配置要求 (28)7.1非日志服务器禁止接收syslog (28)7.2启用inetd日志记录 (29)7.3配置SYSLOG (29)7.4记录FTP会话与命令 (30)7.5设置远程日志服务器 (31)7.6检查系统日志文件权限 (31)8其他安全配置要求 (32)8.1禁用图形界面登录 (32)8.2字符交互界面帐户超时自动退出 (33)8.3图形界面设置默认自动锁屏时间为10分钟 (33)1文档使用说明1.1适用范围本文档是Linux操作系统的对于Linux系统的设备账号认证、日志、协议、补丁升级、文件系统管理等方面的安全配置要求。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
手工检查:
1)在root权限下,使用命令
#cat /etc/pam.d/system-auth
查看该配置文件的内容,记录system-auth配置文件中的登录失败处理、限制非法登录次数和自动退出结束会话的配置项。
2)测试:
根据使用的登录失败处理方式,采用如下测试方法进行测试:
a)以超过系统规定的非法登陆次数登录操作系统,观察反应;
#cat /etc/audit/audit.rules
中是否准确记录日期和时间、类型、主体标识、客体标识、事件的结果等
审计记录包括事件的日期、时间、类型、主体标识、客体标识和结果等内容。
d)应能够根据记录数据进行分析,并生成审计报表;
手工检查:
1)检查audit日志文件,需要根据syslog.conf的定义查看对应的日志文件,确认是否记录了必要的审计要素;
2)若有第三方审计工具或系统,则查看其审计日志是否包括必要的审计要素;
3)检查审计日志记录、分析、生成报表情况。
能定期生成审计报表并包含必要审计要素。
e)应保护审计进程,避免受到未预期的中断;
检查:
检查对审计进程监控和保护的措施。
对审计进程已采取相关保护措施。
f)应保护审计记录,避免受到未预期的删除、修改或覆盖等。
检查:
要有哪些角色、每个角色的权限是否相互制约、每个系统用户是否被赋予相应的角色。
系统管理员、安全管理员、安全审计员由不同的人员和用户担当。至少应该有系统管理员和安全管理员,安全审计员在有第三方审计工具时可以不要求。
c)应实现操作系统和数据库系统特权用户的权限分离;
检查:
结合系统管理员的组成情况,判断是否实现了该项要求。
审计功能已开启,包括:用户的添加和删除、审计功能的启动和关闭、审计策略的调整、权限变更、系统资源的异常使用、重要的系统操作(如用户登录、退出)等设置。
c)审计记录应包括事件的日期、时间、类型、主体标识、客体标识和结果等;
手工检查:
1)使用more命令查看审计记录文件
#cat /etc/audit/auditd.conf
操作系统除具有管理员账户外,至少还有专门的审计管理员账户,且他们的权限互斥。
d)应严格限制默认帐户的访问权限,重命名系统默认帐户,修改这些帐户的默认口令;
手工检查:
在root权限下,使用命令
#cat /etc/passwd
查看默认账户是否已更 名,并且是否已禁用来宾账户。
默认账户已更名,来宾账户已禁用。
系统开启了安全审计功能或部署了第三方安全审计设备。
b)审计内容应包括重要用户行为、系统资源的异常使用和重要系统命令的使用等系统内重要的安全相关事件;
手工检查:
在root权限下,查看系统日志服务
#ps -ef | grep syslog,
和审计服务
#ps -ef | grep auditd,
是否有效合理的配置了安全审计内容
b)当登录系统连接超时时,观察系统反应。
1)操作系统已启用登陆失败处理、结束会话、限制非法登录次数等措施;
2)当超过系统规定的非法登陆次数或时间登录操作系统时,系统锁定或自动断开连接。
d)当对服务器进行远程管理时,应采取必要措施,防止鉴别信息在网络传输过程中被窃听;
检查:
询问系统管理员,是否采用了技术手段保证远程管理数据进行加密传输。
检查:
检查系统管理员询问操作系统的重要文件及目录是否根据实际环境设置了访问控制策略。
手工检查:
执行命令#ls -l查询系统内重要文件是否合理设置了访问控制策略。
操作系统的重要文件及目录已根据实际环境设置了访问控制策略。
b)应根据管理用户的角色分配权限,实现管理用户的权限分离,仅授予管理用户所需的最小权限;
编号:
基线检查指导书
基础网络安全-Linux操作系统
V1.0
启明信息安全中心
序号
类别
检查项
检查方法
预期结果
符合情况
1
身份鉴别
a)应对登录操作系统和数据库系统的用户进行身份标识和鉴别;
检查:
1)检查操作系统管理员,询问操作系统的身份标识和鉴别机制采用何种措施实现;
2)登录操作系统,查看是否提示输入用户口令,然后以正确口令登录系统,再以错误口令或空口令重新登录,观察是否成功。
3)操作系统不存在密码为空的用户。
b)操作系统和数据库系统管理用户身份标识应具有不易被冒用的特点,口令应有复杂度要求并定期更换;
手工检查:
1)在root权限下,使用命令
#cat /etc/login.defs
查看密码策略配置文件,检查是否合理正确配置密码策略;
2)如果启用了口令复杂度函数,分别以不符合复杂度要求和不符合最小长度要求的口令创建用户,查看是否成功。
检查:
检查对审计记录监控和保护的措施。例如:通过专用日志服务器或存储设备对审计记录进行备份,并避免对审计记录的修改、删除或覆盖。
通过专用日志服务器或存储设备对审计记录进行备份,并避免对审计记录的修改、删除或覆盖。
2)应测试主要服务器操作系统,删除一个用户标识,然后再添加一个新用户,其用户标识和所删除的用户标识一样(如用户名/UID),查看是否不能成功;
检查:
询问管理员系统中每个账户,查看是否存在多人共用一个账户的情况。
1)添加测试账户不会成功;
2)系统不存在多人共用一个账户的情况;
3)确保用户名具有唯一性。
f)应采用两种或两种以上组合的鉴别技术对管理用户进行身份鉴别。
检查:
检查系统管理员,询问系统除用户名口令外有无其他身份鉴别方式,如生物鉴别、令牌、动态口令等,并手工检查。
用户的认证方式选择两种或两种以上组合的鉴别技术,只用一种技术无法认证成功。
2
访问控制
a)应启用访问控制功能,依据安全策略控制用户对资源的访问;
对重要信息资源已设置敏感标记。
g)应依据安全策略严格控制用户对有敏感标记重要信息资源的操作。
检查:
如:如何划分敏感标记分类,如何设定访问权限等。
通过敏感标记设定用户对重要信息资源的访问。
3
安全审计
a)审计范围应覆盖到服务器和重要客户端上的每个操作系统用户和数据库用户;
ቤተ መጻሕፍቲ ባይዱ手工检查:
1)查看系统是否开启安全审计功能,或部署了第三方安全审计设备。
手工检查:
采用抓包工具,判断远程管理数据包是否是明文。
1)操作系统使用SSH协议进行远程连接;
2)操作系统没有采用明文的传输协议进行远程管理;
3)采用第三方管理工具保证远程管理的信息保密。
e)应为操作系统和数据库系统的不同用户分配不同的用户名,确保用户名具有唯一性。
手工检查:1)应测试主要服务器操作系统,添加一个新用户,其用户标识为系统原用户的标识(如用户名或UID),查看是否不会成功;
检查:
检查系统管理员,询问用户口令是否满足复杂性要求。
1)启用了系统口令复杂度策略,系统用户密码长度不小于8位,由数字、大小写字母和特殊符号组成,并规定了口令更换的周期;
2)以不符合复杂度要求和不符合长度要求的口令创建用户时均提示失败。
c)应启用登录失败处理功能,可采取结束会话、限制非法登录次数和自动退出等措施;
e)应及时删除多余的、过期的帐户,避免共享帐户的存在。
手工检查:
查看是否有多余的、过期的账户,避免共享账户的存在。
不存在多余、过期和共享账户。
f)应对重要信息资源设置敏感标记;
手工检查:
1)查看操作系统功能手册或相关文档,确认操作系统是否具备能对信息资源设置敏感标记功能;
2)询问系统管理员是否对重要信息资源设置敏感标记。
手工检查:
方法一:在root权限下,使用命令
#pwdck -n ALL
返回结果应为空;
方法二:在root权限下,使用命令
#cat /etc/passwd
#cat /etc/shadow
查看文件中各用户名状态,记录密码一栏为空的用户名。
1)操作系统使用口令鉴别机制对用户进行身份标识和鉴别;
2)登录时提示输入用户名和口令;以错误口令或空口令登录时提示登录失败,验证了登录控制功能的有效性;
相关文档
最新文档