基线合规整改指南

一、操作系统通用Linux

1 检查是否配置登陆超时时间设置

编辑vi /etc/profile文件,配置TMOUT将值设置为低于300.

export TMOUT=300

2 检查是否禁止root用户登录FTP

设置如下将对应配置文件中,设置root,禁止登录的用户列表中添加root用户

  1. 编辑vi /etc/ftpaccess,将root前的#去掉
  2. 编辑vi /etc/vsftpd/ftpusers,将root前的#去掉
  3. 编辑vi /etc/ftpusers,将root前的#去掉
  4. 编辑vi /etc/vsftpd.ftpusers,将root前的#去掉
  5. 编辑v i /etc/pam.d/vsftpd,将root前的#去掉
  6. 编辑vi /etc/pam.d/ftp,将root前的#去掉

3 检查是否使用SSH协议进行远程维护

开启ssh,关闭telnet

1.关闭telnet服务[仅供参考,不通的系统会有差别]

a)vi /etc/xinetd.d/telnet,将disable=no改成disable=yes;

b)chkconfig telnet off;如果需要设置telnet服务不为开机自启动,使用命令chkconfig -del telnet或者chkconfig --del telnet

2.使用命令server xinetd restart或者/etc/init.d/xinetd restart使更改生效。

4 检查是否配置日志文件安全权限

  1. 对日志文件进行赋权:chmod 640 /var/log/messages,权限要小于等于640
  2. 对日志文件进行赋权:chmod 640 /var/log/secure,权限要小于等于640
  3. 对日志文件进行赋权:chmod 640 /var/log/maillog,权限要小于等于640
  4. 对日志文件进行赋权:chmod 640 /var/log/cron,权限要小于等于640
  5. 对日志文件进行赋权:chmod 640 /var/log/spooler,权限要小于等于640
  6. 对日志文件进行赋权:chmod 640 /var/log/boot.log,权限要小于等于640

5 检查是否启用Syslog日志审计

系统可能是syslog或rsyslog,配置存在其中一个即可。

  1. vi /etc/syslog.conf,修改或配置authpriv.* /var/log/secure
  2. vi /etc/rsyslog.conf,修改或配置authpriv.* /var/log/secure

6 检查是否启用远程日志功能

系统可能是syslog或rsyslog,配置存在其中一个即可。

  1. 配置文件添加:vi /etc/syslog.conf,加上*.* @10.254.90.58 //10.254.90.58IP请根据现网情况自行配置,注意空白处为tab键
  2. 配置文件添加:vi /etc/rsyslog.conf,加上*.* @10.254.90.58 //10.254.90.58IP请根据现网情况自行配置,注意空白处为tab键

7 检查是否记录cron行为日志

系统可能是syslog或rsyslog,配置存在其中一个即可。

  1. vi /etc/syslog.conf,修改或配置cron.*     /var/log/cron
  2. vi /etc/rsyslog.conf,修改或配置cron.*     /var/log/cron

8 检查是否配置文件与目录缺省权限控制

配置的值可以为:027|037|077|127|137|177|327|337|377|777|067|167|367|767

  1. vi /etc/login.defs,修改或配置umask 027
  2. vi /etc/profile,修改或配置umask 027

9 检测是否限制 root 用户远程登录

修改配置:vi /etc/ssh/sshd_config,修改或配置PermitRootLogin no

10 检查是否限制用户su到root

  1. 添加配置:vi /etc/pam.d/su,修改或配置auth sufficient pam_rootok.so
  2. 添加配置:vi /etc/pam.d/su,修改或配置auth required pam_wheel.so group=wheel

cnetos7.8及以上修改以下位置:

(添加配置:vi /etc/pam.d/su,修改或配置auth sufficient pam_rootok.so

添加配置:vi /etc/pam.d/su,修改或配置auth required pam_wheel.so use_uid)

  1. 限制完成后,将需要su到root用户的添加到wheel组中,才允许su到root用户:

usermod -g wheel username用户名。

11 检查是否配置用户最小授权

  1. chmod 644 /etc/passwd 设置文件权限低于等于644
  2. chmod 644 /etc/group设置文件权限低于等于644
  3. chmod 600 /etc/shadow设置文件权限低于等于600

12 检查是否关闭不必要的服务和端口

  1. 通过chkconfig --list daytime查看对应的服务是否开启,通过chkconfig daytime off 关闭。

同理关闭如下服务:

  1. daytime-udp
  2. time
  3. time-udp
  4. echo
  5. echo-udp
  6. discard,
  7. discard-udp
  8. chargen
  9. chargen-udp,
  10. ntalk
  11. ident
  12. printer
  13. bootps
  14. tftp
  15. kshell
  16. klogin
  17. lpd
  18. nfs
  19. nfs.lock
  20. sendmail
  21. ypbind

13 检查是否删除或锁定无关账号

配置listen,gdm,webservd,nobody,nobody4,noaccess账号的状态,通过命令如下:

  1. chsh listen -s /sbin/nologin
  2. chsh gdm -s /sbin/nologin
  3. chsh webservd -s /sbin/nologin
  4. chsh nobody -s /sbin/nologin
  5. chsh nobody4 -s /sbin/nologin
  6. userdel noaccess

14 检查用户 FTP 访问安全是否配置

如果有开启vsftpd则需要配置如下两个文件,内容添加root

  1. vi /etc/vsftpd.chroot_list配置root
  2. vi /etc/vsftpd/chroot_list配置root

15 检测是否删除潜在危险文件

  1. 全局搜索是否存在:.rhosts文件,如果存在则删除掉。
  2. 全局搜索是否存在:.netrc文件,如果存在则删除掉。
  3. 全局搜索是否存在:.hosts.equiv文件,如果存在则删除掉。

16 检查密码过期时间

编辑:vi /etc/login.defs设置PASS_MAX_DAYS=90(等号要记得写),时间要小于等于90

17 检查密码创建要求是否配置

  1. vi /etc/pam.d/common-password ,修改或配置password requisite pam_cracklib.so retry=3 minlen=8 minclass=3

匹配正则如下:

^password\\s+requisite\\s+pam_cracklib\\.so\\s+.*retry=\\d\\s+.*((minlen=([8-9]|[1-9]\\d)+\\s+.*minclass=[3-4])|(minclass=[3-4]\\s+.*minlen=([8-9]|[1-9]\\d+)))

  1. vi /etc/pam.d/system-auth,password requisite  pam_cracklib.so try_first_pass retry=3 minlen=8 minclass=3

匹配正则如下:

^(\\s*|\\t*)password\\s+requisite\\s+pam_cracklib\\.so\\s+.*retry=\\d\\s+.*((minlen=([8-9]|[1-9]\\d)+\\s+.*minclass=[3-4])|(minclass=[3-4]\\s+.*minlen=([8-9]|[1-9]\\d+)))

  1. vi /etc/login.defs,修改或配置PASS_MIN_LEN=8,设置为大于等于8
  2. vi /etc/pam.d/system-auth,启动pam_passwdqc.so模块

18 检查是否禁止匿名FTP

  1. vi /etc/vsftpd.conf,配置修改anonymous_enable=NO
  2. vi /etc/vsftpd/vsftd.conf,配置修改anonymous_enable=NO

19 检查系统是否安装最新补丁

该检查项不用修改

  1. uname –a

二、操作系统AIX

1 检查是否配置用户最小授权

配置如下文件的权限,权限需要低于等于644

  1. 确认/etc/passwd文件权限,可用chmod 644 /etc/passwd更改权限
  2. 确认/etc/passwd文件权限,可用chmod 644 /etc/group更改权限
  3. 确认/etc/security文件权限,可用chmod 644 /etc/security更改权限
  4. 确认/etc/passwd所属用户及用户组,可用chown root /etc/passwd更改用户
  5. 确认/etc/group所属用户及用户组,可用chown root /etc/group更改用户
  6. 确认/etc/security所属用户及用户组,可用chown root /etc/security更改用户

2 检查是否设置防止堆栈缓冲溢出

  1. 在/etc/security/limits文件中,修改或配置 core = 0
  2. 在/etc/security/limits文件中,修改或配置 core_hard = 0
  3. 在/etc/security/limits文件中,修改或配置 ulimit –c 0

3 检查是否配置日志记录用户登录

  1. 在/etc/syslog.conf文件中,修改或配置 auth.info /var/adm/authlog
  2. 在/etc/rsyslog.conf文件中,修改或配置 *.info;auth.none /var/adm/syslog
  3. 检查/var/adm/authlog文件是否存在
  4. 检查/var/adm/syslog文件是否存在

4 检查是否禁止系统用户登录 FTP

  1. 在/etc/ftpusers文件中修改或配置root
  2. 在/etc/ftpusers文件中修改或配置daemon
  3. 在/etc/ftpusers文件中修改或配置bin
  4. 在/etc/ftpusers文件中修改或配置sys
  5. 在/etc/ftpusers文件中修改或配置adm
  6. 在/etc/ftpusers文件中修改或配置lp
  7. 在/etc/ftpusers文件中修改或配置uucp
  8. 在/etc/ftpusers文件中修改或配置nuucp
  9. 在/etc/ftpusers文件中修改或配置listen
  10. 在/etc/ftpusers文件中修改或配置nobody
  11. 在/etc/ftpusers文件中修改或配置noaccess
  12. 在/etc/ftpusers文件中修改或配置nobody4

5 检查是否设置口令生存周期

  1. 在/etc/security/user文件中修改或配置maxage=13

6 检查是否设置登陆超时时间

在/etc/security/.profile文件中修改或配置,小于等于600

TMOUT 600

TIMEOUT 600

配置文件中只能有一项增加或修改TMOUT或者TIMEOUT即可,不能TMOUT和TIMEOUT同时存在

7 检查是否删除或锁定无关账号

配置仅供参考:

  1. chsh listen -s /sbin/nologin
  2. chsh gdm -s /sbin/nologin
  3. chsh webservd -s /sbin/nologin
  4. chsh nobody -s /sbin/nologin
  5. chsh nobody4 -s /sbin/nologin
  6. userdel noaccess

8 检查是否配置日志文件权限

配置文件权限要小于等于600

  1. ls -l /var/adm/authlog查看权限,可用chmod 600 /var/adm/authlog更改权限
  2. 配置文件权限要小于等于640
  3. ls -l /var/adm/syslog查看权限,可用chmod 640 /var/adm/syslog更改权限

9 检查是否记录 cron

  1. /var/spool/cron/cron.allow配置对应的用户信息
  2. /var/spool/cron/cron.deny配置对应的用户信息
  3. /var/spool/cron/at.allow配置对应的用户信息
  4. /var/spool/cron/at.deny配置对应的用户信息

10 检查是否设置口令重复次数

在/etc/security/user文件中,修改或配置histsiz=5

11 检查是否设置连续失败认证次数

在/etc/security/user文件中,修改或配置 loginretries=6

12 检查是否配置口令复杂度

  1. 在/etc/security/user文件中,修改或配置minlen=8
  2. 在/etc/security/user文件中,修改或配置minalpha=1
  3. 在/etc/security/user文件中,修改或配置 mindiff=1
  4. 在/etc/security/user文件中,修改或配置 minother=1
  5. 在/etc/security/user文件中,修改或配置 pwdwarntime=5

13 检查是否限制 root 用户远程登录

在/etc/ssh/sshd_config文件中,修改或配置 PermitRootLogin no

14 检查是否修改系统Banner

在/etc/security/login.cfg文件中,修改或配置herald

15 检查是否设置文件与目录缺省权限

  1. 在/etc/login.defs文件中,修改或配置 umask=027
  2. 在/etc/security/user文件中,修改或配置 umas=077

16 检查是否使用 SSH 协议进行远程维护

关闭telnet服务,开启sshd

仅供参考:

.首先应保证inetd守护进程是开启的,可输入#lssrc –s inetd查看

[root@HAN04UX] /home/root #lssrc -s inetd

Subsystem Group PID Status

inetd tcpip 184490 active

active 表示inetd进程已开启

2.启动telnet服务: #startsrc -t telnet

[root@HAN04UX] /home/root #startsrc -t telnet

0513-124 The telnet subserver has been started.

3.停止telnet服务: #stopsrc -t telnet

[root@HAN04UX] /home/root #stopsrc -t telnet

0513-127 The telnet subserver was stopped successfully.

4.查看Telnet服务状态,#lssrc -t telnet

[root@HAN04UX] /home/root #lssrc -t telnet

Service Command Description Status

telnet /usr/sbin/telnetd telnetd -a active

5.查看/etc/inetd.conf文件的以下字段是否被注释掉,如果被注释掉,说明开机时不自动打开Telnet服务

[root@HAN04UX] /home/root #more /etc/inetd.conf

## @(#)62 1.17.1.14 src/tcpip/etc/inetd.conf, tcpinet, tcpip610 11/2/99 09:16:20

## IBM_PROLOG_BEGIN_TAG

......

ftp stream tcp6 nowait root /usr/sbin/ftpd ftpd

telnet stream tcp6 nowait root /usr/sbin/telnetd telnetd -a

shell stream tcp6 nowait root /usr/sbin/rshd rshd

......

命令说明:

startsrc 是开启进程,stopsrc 是停止进程 

lssrc   是获取子系统的状态 

-s     是指定子系统

-t      是指定类型

三、操作系统HPUX

1 检查是否使用 SSH 协议进行远程维护

启动sshd,关闭telnet

1.关闭telnet服务[仅供参考,不通的系统会有差别]

a)vi /etc/xinetd.d/telnet,将disable=no改成disable=yes;

b)chkconfig telnet off;如果需要设置telnet服务不为开机自启动,使用命令chkconfig -del telnet或者chkconfig --del telnet

2.使用命令server xinetd restart或者/etc/init.d/xinetd restart使更改生效。

2 检查是否配置密码过期时间

vi /etc/default/security文件,修改或配置 PASS_MAXDAYS=90 值必须小于等于90

3 检查是否配置密码强度

  1. vi /etc/default/security文件,配置MIN_PASSWORD_LENGTH=8,大于等于8
  2. vi /etc/default/security文件,配置或修改

PASSWORD_MIN_UPPER_CASE_CHARS=1,大于等于1

  1. vi /etc/default/security文件,配置或修改PASSWORD_MIN_DIGIT_CHARS=1,大于等于1
  2. vi /etc/default/security文件,配置或修改

PASSWORD_MIN_LOWER_CASE_CHARS=1,大于等于1

  1. vi /etc/default/security文件,配置或修改 ALLOW_NULL_PASSWORD=0

4 检查是否配置日志文件安全权限

配置/var/log/messages 、 /var/log/secure 、 /var/log/maillog 、/var/log/cron、 /var/log/spooler、/var/log/boot.log文件权限,权限低于等于775

  1. chmod 775 /var/log/messages
  2. chmod 775 /var/log/secure
  3. chmod 775 /var/log/maillog
  4. chmod 775 /var/log/cron
  5. chmod 775 /var/log/spooler
  6. chmod 775 /var/log/boot.log

5 检查是否配置文件与目录缺省权限控制

可配置的值为:(027|037|077|127|137|177|327|337|377|777|067|167|367|767)

vi /etc/default/login,修改或配置umask 027。

6 检查用户 FTP 访问安全是否配置

如果没安装vsftp则无需配置,会默认为合规

  1. vi /etc/vsftd.conf文件, 在结尾新起一行,将root添加进去
  2. vi /etc/vsftd.conf文件, 在结尾新起一行,将daemon添加进去
  3. vi /etc/vsftd.conf文件, 在结尾新起一行,将bin添加进去
  4. vi /etc/vsftd.conf文件, 在结尾新起一行,将sys添加进去
  5. vi /etc/vsftd.conf文件, 在结尾新起一行,将adm添加进去
  6. vi /etc/vsftd.conf文件, 在结尾新起一行,将lp添加进去
  7. vi /etc/vsftd.conf文件, 在结尾新起一行,将uucp添加进去
  8. vi /etc/vsftd.conf文件, 在结尾新起一行,将nuucp添加进去
  9. vi /etc/vsftd.conf文件, 在结尾新起一行,将listen添加进去
  10. vi /etc/vsftd.conf文件, 在结尾新起一行,将nobody添加进去
  11. vi /etc/vsftd.conf文件, 在结尾新起一行,将hpdb添加进去
  12. vi /etc/vsftd.conf文件, 在结尾新起一行,将useradm添加进去

7 检查是否禁止 root 用户登录 FTP

如果没安装ftp则无需配置,会默认为合规

  1. vi /etc/ftpaccess,将root前的#去掉
  2. vi /etc/vsftpd/ftpusers,将root前的#去掉
  3. vi /etc/ftpusers,将root前的#去掉
  4. vi /etc/vsftpd.ftpusers,将root前的#去掉

8 检测是否删除潜在危险文件

  1. 全盘所搜.rhosts文件,存在则删除它
  2. 全盘所搜. netrc文件,存在则删除它
  3. 全盘所搜.hosts.equiv文件,存在则删除它

9 检测是否限制 root 用户远程登录

vi /etc/ssh/sshd_config 文件,配置或修改PermitRootLogin no

10 检查是否记录 cron 行为日志

syslog和rsyslog只要配置其中一个即可

  1. vi /etc/syslog.conf文件,去掉cron.* /var/log/cron前面的#注释,或新增cron.* /var/log/cron
  2. vi /etc/rsyslog.conf文件,去掉cron.* /var/log/cron前面的#注释,或新增cron.* /var/log/cron

11 检查用户连续认证失败次数不得超过6次

vi /etc/default/security文件,配置或修改AUTH_MAXTRIES=6,值小于等于6

12 检查是否启用远程日志功能

vi /etc/syslog.conf配置 *.* @10.254.90.58  //注意空白处为tab键,IP为日志服务端的IP地址

13 检查是否禁止匿名 FTP

如果没安装vsftp则无需配置,会默认为合规

  1. vi /etc/vsftd.conf文件,配置或修改anonymous_enable=NO
  2. vi /etc/vsftpd/vsftd.conf文件,配置或修改anonymous_enable=NO

14 检查是否配置口令历史安全要求

vi /etc/default/passwd文件,配置或修改HISTORY=5,大于等于5

15 检查是否启用 Syslog 日志审计

vi /etc/syslog.conf文件, 将 authpriv.* /var/log/secure 前面的#注释去掉,或者新增该配置项

四、操作系统Solaris

1 检查是否配置SSH 登录

启用ssh,关闭telnet服务

2 检查是否配置登录失败账户锁定

vi /etc/security/policy.conf,配置或修改 LOCK_AFTER_RETRIES=YES

vi /etc/default/login,配置或修改 RETRIES=6,小于等于6

3 检查是否配置口令复杂度

vi /etc/default/passwd, 配置或修改 PASSLENGTH=8,大于等于8

vi /etc/default/passwd, 配置或修改 MINALPHA=4

vi /etc/default/passwd, 配置或修改 MINSPECIAL=1

vi /etc/default/passwd, 配置或修改 MINDIGIT=1

4 检查是否配置日志文件权限控制

chmod 644 /var/log/messages

chmod 644 /var/adm/utmpx

chmod 644 /var/adm/wmtpx

chmod 600 /var/adm/sulog

设置权限要小于等于644

5 检查是否配置口令最长生存期

vi /etc/default/passwd文件,配置或修改 PWMAX=90 #密码的最大生存周期,小于等于90

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值