2024年3月5日发(作者:)

Suse11合规整改参考

1 SUSE主机bash漏洞检查项

加固建议:

升级Bash程序的版本到最新版本,卸载老的版本

补充说明:

各系统提供商的详细漏洞建议(参考)

/security/cve/

2-6602-检查是否删除或锁定无关账号

判断条件:

lp uucp nobody games rpm smmsp nfsnobody这些帐户不存在或者它们的密码字段为!!

命令:

egrep -w "lp|nobody|uucp|games|rpm|smmsp|nfsnobody" /etc/shadow |awk -F: '($2!~"!")

{print $1":"$2}'

echo "result="`egrep -w "lp|nobody|uucp|games|rpm|smmsp|nfsnobody" /etc/shadow |awk -F:

'($2!~"!") {print $1":"$2}'|wc -l`

方法:

有4个无用帐号未锁定

整改:

vi /etc/shadow

把这些无用帐号锁定

在帐号冒号“:”后加“!!*LK*”

整改后合规

3-6614-检查是否记录帐户操作日志

判断条件:

/var/adm目录下存在pacct文件

命令:

ls -l /var/adm|grep pacct

echo "result="`ls -l /var/adm|grep pacct|wc -l`

方法:1

touch /usr/sbin/accton #穿件文件 accton 文件位置 /usr/sbin/accton

chmod 755 /usr/sbin/accton #修改文件权限 以便后面可以修改其位置

/usr/sbin/accton /var/adm/pact #修改文件位置

方法2:

如不存在acct请安装

4-6603-检查是否限制root远程登录

判断条件:

/etc/ssh/sshd_config文件中PermitRootLogin值为no,并且/etc/security/user下值为pts

方法:

1修改/etc/ssh/sshd_config文件中PermitRootLogin值为no

2 重启ssh服务 service sshd restart

5-6604-检查是否按角色进行帐号管理

判断条件:

/etc/passwd文件中,GID大于系统设定的GID_MIN并且小于GID_MAX,帐号名中不存在oracle、sybase、postgres、daemon、nobody、noaccess的角色数量大于等于1

命令:

#boco##%6604#%

#!/bin/bash

UP_GIDMIN=`(grep -v ^# /etc/ |grep "^GID_MIN"|awk '($1="GID_MIN") {print $2}')`

UP_GIDMAX=`(grep -v ^# /etc/ |grep "^GID_MAX"|awk '($1="GID_MAX") {print $2}')`

egrep -v "oracle|sybase|postgres|daemon|nobody|noaccess" /etc/passwd|awk -F:

'($4>='$UP_GIDMIN' && $4<='$UP_GIDMAX') {print $1":"$3":"$4}'

echo $UP_GIDMIN $UP_GIDMAX

echo "result="`egrep -v "oracle|sybase|postgres|daemon|nobody|noaccess" /etc/passwd|awk

-F: '($4>='$UP_GIDMIN' && $4<='$UP_GIDMAX') {print $1":"$3":"$4}'|wc -l`

unset UP_GIDMIN UP_GIDMAX

#boco##%6604#%

方法:

再新增一个普通用户

useradd boco # 新增普通用户,为了防止使用敏感帐号root登录

passwd boco #设置密码

删除用户

userdel boco

groupadd –g GID groupname

6-6605-检查口令策略设置是否符合复杂度要求

判断标准:

/etc/pam.d/passwd文件中password required pam_配置minlen大于等于8,

lcredit=-1、ucredit=-1、dcredit=-1、ocredit=-1配置必须存在两类;

SUSE9:

#vi /etc/pam.d/passwd,增加如下内容

password required pam_ minlen=8 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1

合规平台:suse10

SUSE10

两个文件同时存在

SUSE10检查/etc/pam.d/common-password和/etc/pam.d/passwd文件中password required

pam_配置minlen大于等于8, lcredit=-1、ucredit=-1、dcredit=-1、

ocredit=-1配置必须存在两类

有的实际修改:suse10

(1)/etc/pam.d/common-password

(2)/etc/pam.d/system-auth

suse11:

#vi /etc/pam.d/common-password,增加如下内容

password required pam_ minlen=8 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1

7-6608-检查口令重复次数限制

判断标准:

/etc/pam.d/passwd文件中存在remember值大于等于5

SUSE9:

#vi /etc/pam.d/passwd,增加如下内容

password required pam_ remember=5

SUSE10、11:

#vi /etc/pam.d/common-password,增加如下内容

password required pam_ nullok #如存在则不加入

password required pam_ remember=5 #紧挨着上一行加入本行内容

8-6609-检查口令锁定策略

判断标准:

common-auth文件中存在deny的值小于等于6;

Suse11

vi /etc/pam.d/common-auth

添加:

auth required pam_ onerr=fail deny=6 unlock_time=300

vi /etc/pam.d/common-account

添加:

account required pam_ reset

9-6606-检查口令生存周期要求

判断标准:

/etc/文件中PASS_MAX_DAYS值不大于90

命令:

cat /etc/ |sed '/^#/d'|sed '/^$/d'

方法:

#vi /etc/,修改设置如下

PASS_MAX_DAYS 90 设置密码过期日期

PASS_MIN_DAYS 0 设置密码最少更改日期

PASS_MIN_LEN 8 设置密码最小长度

10-6610-检查帐号文件权限设置

判断标准:

/etc/passwd权限为644,/etc/shadow权限为400,/etc/group权限为644

使用如下命令设置:

chmod 644 /etc/passwd

chmod 400 /etc/shadow

chmod 644 /etc/group

11-6611-检查用户缺省UMASK

判断标准:

/etc/profile文件中umask值大于等于027

命令:

cat /etc/profile|grep -i umask|egrep -i "^umask"

方法:

#vi /etc/profile

设置umask值大于等于027

12-6616-检查是否配置远程日志保存

判断标准:

/etc/syslog-ng/,/etc/,/etc/中存在类似@ IP或者udp IP或者destination

方法:/etc/syslog-ng/

13-6625-检查是否非活动时断线

1、判定条件

用户登录后,配置时间内无任何操作,没有自动断开连接,则低于安全要求

判断标准:

#cat /etc/ssh/sshd_config

ClientAliveCountMax的值等于0,并且ClientAliveInterval 的值小于等于300

命令:

cat /etc/ssh/sshd_config|grep -v "^#"|grep -v '^$'

方法:

#vi /etc/ssh/sshd_config

设置ClientAliveCountMax 的值改为0

设置ClientAliveInterval 的值改为300(5分钟即断线)

3、重启sshd服务:

#service sshd restart

方法:

#service sshd restart

14-6626-检查是否禁止icmp重定向

判断标准:

/etc/文件配置了_redirects等于0

命令:

cat /etc/ | grep -v '^#'| grep -v '^$'

echo "accept_redirects="`(sysctl -n _redirects)`

echo "accept_source_route"=`(sysctl -n _source_route)`

方法:

vi /etc/添加

_redirects = 0

重启网卡

service network restart

有过重启服务也不生效,只能重启服务器reboot

问题:检查是否记录su日志

整改了这个文件后还是不合规:

/etc/syslog-ng/

原因:日志文件没有启用,在/etc/sysconfig/syslog 的SYSLOG_DAEMON的值是空的,把值配置成syslog-ng后即可

Suse10密码复杂度

Suse10修改的文件,版本不通修改的文件也不通。

顺序:

(1)/etc/pam.d/system-auth

(2)/etc/pam.d/common-password

(3)/etc/pam.d/passwd

目前的情况是:有第一个文件的修改第一个文件/etc/pam.d/system-auth;

没有第一个文件的修改第二个文件/etc/pam.d/common-password

GZGY-PS-MMSG2-SV01:~ # lsb_release -a

LSB Version:

core-2.0-noarch:core-3.0-noarch:core-2.0-x86_64:core-3.0-x86_64:desktop-3.1-amd64:desktop-3.1-noarch:graphics-2.0-amd64:graphics-2.0-noarch:graphics-3.1-amd64:graphics-3.1-noarch

Distributor ID: SUSE LINUX

Description: SUSE Linux Enterprise Server 10 (x86_64)

Release: 10

Codename: n/a

GZGY-PS-MMSG2-SV01:~ #

合规的结果为true

Suse10

GZGY-PS-WAP2-GW01:~ # lsb_release -a

LSB Version:

core-2.0-noarch:core-3.0-noarch:core-2.0-ia32:core-3.0-ia32:desktop-3.1-ia32:desktop-3.1-noarch:graphics-2.0-ia32:graphics-2.0-noarch:graphics-3.1-ia32:graphics-3.1-noarch

Distributor ID: SUSE LINUX

Description: SUSE Linux Enterprise Server 10 (i586)

Release: 10

Codename: n/a

GZGY-PS-WAP2-GW01:~ #

///////////////////////////////////////////////////////////

整改:

/etc/pam.d/system-auth

password requisite pam_ dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1

minclass=2 minlen=8

suse10-用户

检查FTP配置-限制用户FTP登录

适用于Suse9、10、11

1、执行备份:

cp -p /etc/ftpusers /etc/ftpusers_20150811

2、修改文件/etc/ftpusers限制某些系统账户不准ftp登录:

vi /etc/ftpusers

在文件中增加以下用户,则该用户均不允许通过ftp登录:

root

daemon

bin

sys

adm

lp

uucp

nuucp

listen

noaccess

nobody4

补充说明:贵州这边的检查,是扫描/etc/ftpusers文件,有6个账号就通过

限制FTP登录的用户包括:root daemon bin sys adm lp uucp nuucp listen nobody noaccess

nobody4

检查是否记录帐户操作日志

1、启动服务:

/etc/init.d/acct start

2、日志目录:

默认为:/var/log/account/pacct,需先创建pacct文件,再使用/usr/sbin/accton file_path命令修改acct记录的位置,操作如下:

#touch /var/adm/pacct

#/usr/sbin/accton /var/adm/pacct

#/etc/init.d/acct restart

补充说明:

如不存在acct请安装。

检查用户缺省UMASK

1、执行备份:

cp -p /etc/profile /etc/profile_20150811

2、修改文件/etc/profile

vi /etc/profile

设置umask值大于等于027

检查口令重复次数限制 检查口令策略设置是否符合复杂度要求

1、执行备份:

cp -p /etc/pam.d/common-password /etc/pam.d/common-password_20150811

2、修改文件

vi /etc/pam.d/common-password

password required pam_ nullok #如存在则不加入

password required pam_ remember=5

password required pam_ minlen=8 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1

部分suse10:

1、执行备份:

#cp -p /etc/pam.d/common-password /etc/pam.d/common-password_bak

2、修改文件

#vi /etc/pam.d/system-auth,【WAP2的suse10设备】增加如下内容

password required pam_ minlen=8 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1

检查口令锁定策略

1、执行备份:

cp -p /etc/pam.d/common-auth /etc/pam.d/common-auth_20150811

2、修改文件

vi /etc/pam.d/common-auth

增加如下内容

auth required pam_ onerr=fail deny=6 unlock_time=300 #6次登陆失败,锁定账号5分钟

3、修改文件 #

vi /etc/pam.d/common-account

account required pam_ reset

检查是否使用ssh替代telnet服务

适用于Suse9、10、11

A、启动SSH

#/etc/init.d/sshd start来启动SSH

B、关闭网络服务端口telnet并且ssh开启服务

补充说明:

查看SSH、telnet服务状态:

# ps –elf|grep ssh

# ps –elf|grep telnet

SSH服务状态查看结果为:online

telnet服务状态查看结果为:disabled

检查帐号文件权限设置

chmod 644 /etc/passwd

chmod 400 /etc/shadow

chmod 644 /etc/group

检查是否配置日志选项

cp -p /etc/ /etc/_20150811

vi /etc/

filter f_cron { facility(cron); };

destination cron { file("/var/log/cronlog"); };

log { source(src); filter(f_cron); destination(cron); };

检查是否配置日志选项

1、执行备份:

#cp -p /etc/syslog-ng/ /etc/syslog-ng/_20150811

2、修改配置文件

#vi /etc/syslog-ng/

配置如下语句:

filter f_cron { facility(cron); };

destination cron { file("/var/log/cronlog"); };

log { source(src); filter(f_cron); destination(cron); };

3、修改日志文件权限

touch /var/log/cronlog

chmod 644 /var/log/cronlog

4、重新启动syslog服务

#service cron restart

部分suse10:

1、执行备份:

#cp -p /etc/ /etc/_bak

2、修改配置文件

#vi /etc/ 【彩铃suse10设备】

配置如下语句:

filter f_cron { facility(cron); };

destination cron { file("/var/log/cronlog"); };

log { source(src); filter(f_cron); destination(cron); };

检查是否非活动时断线

1、执行备份:

#cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_20150811

2、修改配置文件

#vi /etc/ssh/sshd_config

设置ClientAliveCountMax 的值改为0

设置ClientAliveInterval 的值改为300(5分钟即断线)

3、重启sshd服务:

#service sshd restart

检查是否禁止icmp重定向

1、备份文件:

#cp -p /etc/ /etc/_bak

2、执行:

#vi /etc/,加上_redirects=0

用户以下命令修改_redirects的值为0,修改内存

sysctl -w _redirects=0

步骤 1 查看哪些用户被锁定:

pam_tally

步骤 2 为用户解锁:

pam_tally --user oracle --reset=0