目录
账号管理、认证授权 ELK-Solaris-01-01-01
设备其他安全要求 补丁管理 ELK-Solaris-04-01-01
本文档是Solaris 操作系统的对于Solaris操作系统设备账号认证、日志、协议、补丁升级、文件系统管理等方面的43项安全配置要求,对系统的安全配置审计、加固操作起到指导性作用。
账号管理、认证授权 ELK-Solaris-01-01-01
编号 | ELK-Solaris-01-01-01 |
名称 | 为不同的管理员分配不同的账号 |
实施目的 | 根据不同类型用途设置不同的帐户账号,提高系统安全。 |
问题影响 | 账号混淆,权限不明确,存在用户越权使用的可能。 |
系统当前状态 | cat /etc/passwd 记录当前用户列表 |
实施步骤 | 1、参考配置操作 为用户创建账号: #useradd username #创建账号 #passwd username #设置密码 修改权限: #chmod 750 directory #其中755为设置的权限,可根据实际情况设置相应的权限,directory是要更改权限的目录) 使用该命令为不同的用户分配不同的账号,设置不同的口令及权限信息等。 |
回退方案 | 删除新增加的帐户 |
判断依据 | 标记用户用途,定期建立用户列表,比较是否有非法用户 |
实施风险 | 高 |
重要等级 | ★★★ |
备注 |
|
ELK-Solaris-01-01-02
编号 | ELK-Solaris-01-01-02 |
名称 | 删除或锁定无效账号 |
实施目的 | 删除或锁定无效的账号,减少系统安全隐患。 |
问题影响 | 允许非法利用系统默认账号 |
系统当前状态 | cat /etc/passwd 记录当前用户列表, cat /etc/shadow 记录当前密码配置 |
实施步骤 | 1、参考配置操作 删除用户:#userdel username; 锁定用户: 1) 修改/etc/shadow文件,用户名后加*LK* 2) 将/etc/passwd文件中的shell域设置成/bin/false 3) #passwd -l username 只有具备超级用户权限的使用者方可使用,#passwd -l username锁定用户,用#passwd –d username解锁后原有密码失效,登录需输入新密码,修改/etc/shadow能保留原有密码。 2、补充操作说明 需要锁定的用户: Listen Gdm Webservd Nobody nobody4 noaccess。 首先对不确定的用户锁定,待确认之后删除 |
回退方案 | passwd –d username解锁 或者重新建立用户 |
判断依据 | 如上述用户不需要,则锁定。 |
实施风险 | 高 |
重要等级 | ★★★ |
备注 |
|
ELK-Solaris-01-01-03
编号 | ELK-Solaris-01-01-03 |
名称 | 限制超级管理员远程登录 |
实施目的 | 限制具备超级管理员权限的用户远程登录。远程执行管理员权限操作,应先以普通权限用户远程登录后,再切换到超级管理员权限账。 |
问题影响 | 允许root远程非法登陆 |
系统当前状态 | cat /etc/default/login并记录当前配置 cat /etc/ssh/sshd_config并记录当前配置 cat /usr/local/etc 并记录当前配置 |
实施步骤 | 1、参考配置操作 编辑/etc/default/login,加上: CONSOLE=/dev/console # If CONSOLE is set, root can only login on that device. 此项只能限制root用户远程使用telnet登录。用ssh登录,修改此项不会看到效果的 2、补充操作说明 如果限制root从远程ssh登录,修改/etc/ssh/sshd_config文件,将PermitRootLogin yes改为PermitRootLogin no,重启sshd服务。 Solaris 8上没有该路径 /usr/local/etc下有该文件 Solaris 9上有该路径/文件 |
回退方案 | 还原配置文件 /etc/default/login /etc/ssh/sshd_config /usr/local/etc |
判断依据 | /etc/default/login 中 CONSOLE=/dev/console 不被注释 /etc/ssh/sshd_config 中 PermitRootLogin no |
实施风险 | 高 |
重要等级 | ★★★ |
备注 |
|
ELK-Solaris-01-01-04
编号 | ELK-Solaris-01-01-04 |
名称 | 对系统账号进行登录限制 |
实施目的 | 对系统账号进行登录限制,确保系统账号仅被守护进程和服务使用。 |
问题影响 | 可能利用系统进程默认账号登陆,账号越权使用 |
系统当前状态 | cat /etc/shadow查看各账号状态。 |
实施步骤 | 1、参考配置操作 禁止账号交互式登录: 修改/etc/shadow文件,用户名后密码列为NP; 删除账号:#userdel username; 2、补充操作说明 禁止交互登录的系统账号,比如daemon,bin,sys、adm、lp、uucp、nuucp、smmsp等等 |
回退方案 | 还原/etc/shadow文件配置 |
判断依据 | /etc/shadow中上述账号,如果无特殊情况,密码列为NP |
实施风险 | 高 |
重要等级 | ★ |
备注 |
|
ELK-Solaris-01-01-05
编号 | ELK-Solaris-01-01-05 |
名称 | 为空口令用户设置密码 |
实施目的 | 禁止空口令用户,存在空口令是很危险的,用户不用口令认证就能进入系统。 |
问题影响 | 用户被非法利用 |
系统当前状态 | cat /etc/passwd awk –F: ‘($2 == “”){print $1}’ /etc/passwd |
实施步骤 | 用root用户登陆Soaris系统,执行passwd命令,给用户增加口令。 例如:passwd test test。 |
回退方案 | Root身份设置用户口令,取消口令 如做了口令策略则失败 |
判断依据 | 登陆系统判断 Cat /etc/passwd |
实施风险 | 高 |
重要等级 | ★ |
备注 |
|
ELK-Solaris-01-02-01
编号 | ELK-Solaris-01-02-01 |
名称 | 缺省密码长度限制 |
实施目的 | 防止系统弱口令的存在,减少安全隐患。对于采用静态口令认证技术的设备,口令长度至少6位。 |
问题影响 | 增加密码被暴力破解的成功率 |
系统当前状态 | 运行 cat /etc/default/passwd 查看状态,并记录。 |
实施步骤 | 1、参考配置操作 vi /etc/default/passwd ,修改设置如下 PASSLENGTH = 6 #设定最小用户密码长度为6位 当用root帐户给用户设定口令的时候不受任何限制,只要不超长。 2、补充操作说明 NIS系统无法生效,非NIS系统或NIS+系统能够生效。 |
回退方案 | vi /etc/default/passwd ,修改设置到系统加固前状态。 |
判断依据 | PASSLENGTH 值为6或更高 |
实施风险 | 低 |
重要等级 | ★★★ |
备注 |
|
ELK-Solaris-01-02-02
编号 | ELK-Solaris-01-02-02 |
名称 | 缺省密码复杂度限制 |
实施目的 | 防止系统弱口令的存在,减少安全隐患。对于采用静态口令认证技术的设备,包括数字、小写字母、大写字母和特殊符号4类中至少2类。 |
问题影响 | 增加密码被暴力破解的成功率 |
系统当前状态 | 运行 cat /etc/default/passwd 查看状态,并记录。 |
实施步骤 | 1、参考配置操作 vi /etc/default/passwd ,修改设置如下 MINALPHA=2;MINNONALPHA=1 #表示至少包括两个字母和一个非字母;具体设置可以参看补充说明。 当用root帐户给用户设定口令的时候不受任何限制,只要不超长。 2、补充操作说明 Solaris10默认如下各行都被注释掉,并且数值设置和解释如下: MINDIFF=3 # Minimum differences required between an old and a new password. MINALPHA=2 # Minimum number of alpha character required. MINNONALPHA=1 # Minimum number of non-alpha (including numeric and special) required. MINUPPER=0 # Minimum number of upper case letters required. MINLOWER=0 # Minimum number of lower case letters required. MAXREPEATS=0 # Maximum number of allowable consecutive repeating characters. MINSPECIAL=0 # Minimum number of special (non-alpha and non-digit) characters required. MINDIGIT=0 # Minimum number of digits required. WHITESPACE=YES Solaris8默认没有这部分的数值设置需要手工添加 NIS系统无法生效,非NIS系统或NIS+系统能够生效。 |
回退方案 | vi /etc/default/passwd ,修改设置到系统加固前状态。 |
判断依据 | MINALPHA=2 或更高 MINNONALPHA=1 或更高 solaris9 需要添加 solaris10 默认为注释 |
实施风险 | 低 |
重要等级 | ★★★ |
备注 |
|
ELK-Solaris-01-02-03
编号 | ELK-Solaris-01-02-03 |
名称 | 缺省密码生存周期限制 |
实施目的 | 对于采用静态口令认证技术的设备,帐户口令的生存期不长于90天,减少口令安全隐患。 |
问题影响 | 密码被非法利用,并且难以管理 |
系统当前状态 | 运行 cat /etc/default/passwd 查看状态,并记录。 |
实施步骤 | 1、参考配置操作 vi /etc/default/passwd文件: MAXWEEKS=13密码的最大生存周期为13周;(Solaris 8&10) PWMAX= 90 #密码的最大生存周期;(Solaris 其它版本) 2、补充操作说明 对于Solaris 8以前的版本,PWMIN对应MINWEEKS,PWMAX对应MAXWEEKS等,需根据/etc/default/passwd文件说明确定。 NIS系统无法生效,非NIS系统或NIS+系统能够生效。 |
回退方案 | vi /etc/default/passwd ,修改设置到系统加固前状态。 |
判断依据 | MAXWEEKS=13 |
实施风险 | 低 |
重要等级 | ★★★ |
备注 |
|
ELK-Solaris-01-02-04
编号 | ELK-Solaris-01-02-04 |
名称 | 密码重复使用限制 |
实施目的 | 对于采用静态口令认证技术的设备,应配置设备,使用户不能重复使用最近5次(含5次)内已使用的口令。 |
问题影响 | 密码破解的几率增加 |
系统当前状态 | 运行 cat /etc/default/passwd 查看状态,并记录。 |
实施步骤 | 1、参考配置操作 vi /etc/default/passwd ,修改设置如下 HISTORY=5 2、补充操作说明 #HISTORY sets the number of prior password changes to keep and # check for a user when changing passwords. Setting the HISTORY # value to zero (0), or removing/commenting out the flag will # cause all users' prior password history to be discarded at the # next password change by any user. No password history will # be checked if the flag is not present or has zero value. # The maximum value of HISTORY is 26. NIS系统无法生效,非NIS系统或NIS+系统能够生效。 |
回退方案 | vi /etc/default/passwd ,修改设置到系统加固前状态。 |
判断依据 | HISTORY=5 |
实施风险 | 低 |
重要等级 | ★ |
备注 |
|
ELK-Solaris-01-02-05
编号 | ELK-Solaris-01-02-05 |
名称 | 密码重试限制 |
实施目的 | 对于采用静态口令认证技术的设备,应配置当用户连续认证失败次数超过6次(不含6次),锁定该用户使用的账号。 |
问题影响 | 允许暴力破解密码 |
系统当前状态 | 运行 cat /etc/default/login cat /etc/user_attr cat /etc/security/policy.conf 查看状态,并记录。 |
实施步骤 | 1、参考配置操作 指定当本地用户登陆失败次数等于或者大于允许的重试次数则账号被锁定: vi /etc/user_attr vi /etc/security/policy.conf 设置LOCK_AFTER_RETRIES=YES 设置重试的次数: vi /etc/default/login 在文件中将RETRIES行前的#去掉,并将其值修改为RETRIES=7。 保存文件退出。 2、补充操作说明 默认值为: LOCK_AFTER_RETRIES=NO lock_after-retries=no RETRIES= 5,即等于或大于5次时被锁定。 root账号也在锁定的限制范围内,一旦root被锁定,就需要光盘引导,因此该配置要慎用。 NIS系统无法生效,非NIS系统或NIS+系统能够生效。 |
回退方案 | vi /etc/user_attr vi /etc/security/policy.conf vi /etc/default/login ,修改设置到系统加固前状态。 |
判断依据 | /etc/default/login 中RETRIES=7 /etc/security/policy.conf 中LOCK_AFTER_RETRIES=YES |
实施风险 | 中 |
重要等级 | ★ |
备注 |
|
ELK-Solaris-01-03-01
编号 | ELK-Solaris-01-03-01 |
名称 | 设置关键目录的权限 |
实施目的 | 在设备权限配置能力内,根据用户的业务需要,配置其所需的最小权限。 |
问题影响 | 非法访问文件 |
系统当前状态 | 运行ls –al /etc/* 记录关键目录的权限 ls –al /var/* |
实施步骤 | 1、参考配置操作 通过chmod命令对目录的权限进行实际设置。 2、补充操作说明 使用如下命令设置: chmod 644 /etc/passwd chmod 600 /etc/shadow chmod 644 /etc/group chmod 600 /etc/inetd.conf chmod 600 /etc/inet/inetd.conf chmod 644 /var/adm/wtm chmod 644 /var/adm/utmp chmod 644 /var/adm/utmpx chmod 644 /etc/services chmod 644 /etc/inet/services chmod 600 /var/log/* 如果是有写权限,就需移去组及其它用户对/etc的写权限(特殊情况除外) 执行命令#chmod -R go-w /etc
|
回退方案 | 通过chmod命令还原目录权限到加固前状态。 |
判断依据 | chmod 644 /etc/passwd chmod 600 /etc/shadow chmod 644 /etc/group chmod 600 /etc/inetd.conf chmod 600 /etc/inet/inetd.conf chmod 644 /var/adm/wtm chmod 644 /var/adm/utmp chmod 644 /var/adm/utmpx chmod 644 /etc/services chmod 644 /etc/inet/services chmod 600 var/log/* |
实施风险 | 中 |
重要等级 | ★★★ |
备注 |
|
ELK-Solaris-01-03-02
编号 | ELK-Solaris-01-03-02 |
名称 | 修改umask值 |
实施目的 | 控制用户缺省访问权限,当在创建新文件或目录时,屏蔽掉新文件或目录不应有的访问允许权限。防止同属于该组的其它用户及别的组的用户修改该用户的文件或更高限制。 |
问题影响 | 非法访问目录 |
系统当前状态 | 运行 cat /etc/default/login 记录当前配置 Umask 查看umask的当前值 |
实施步骤 | 1、参考配置操作 设置默认权限: vi /etc/default/login在末尾增加umask 027 修改文件或目录的权限,操作举例如下: #chmod 444 dir ; #修改目录dir的权限为所有人都为只读。 根据实际情况设置权限; 2、补充操作说明 如果用户需要使用一个不同于默认全局系统设置的umask,可以在需要的时候通过命令行设置,或者在用户的shell启动文件中配置 3、补充说明 umask的默认设置一般为022,这给新创建的文件默认权限755(777-022=755),这会给文件所有者读、写权限,但只给组成员和其他用户读权限。 umask的计算: umask是使用八进制数据代码设置的,对于目录,该值等于八进制数据代码777减去需要的默认权限对应的八进制数据代码值;对于文件,该值等于八进制数据代码666减去需要的默认权限对应的八进制数据代码值。
|
回退方案 | 修改/etc/default/login文件到加固前状态。 |
判断依据 | umask 027 |
实施风险 | 高 |
重要等级 | ★ |
备注 |
|
ELK-Solaris-01-03-03
编号 | ELK-Solaris-01-03-03 |
名称 | FTP用户及服务安全 |
实施目的 | 控制FTP进程缺省访问权限,当通过FTP服务创建新文件或目录时应屏蔽掉新文件或目录不应有的访问允许权限。 |
问题影响 | 非法FTP登陆操作 非法访问目录 |
系统当前状态 | #cat /etc/passwd #cat /etc/ftpusers #Solaris 8 #cat /etc/ftpaccess #Solaris 8 #cat /etc/ftpd/ftpusers #Solaris 10 #cat /etc/ftpd/ftpaccess #Solaris 10 |
实施步骤 | 1、参考配置操作 a. 限制某些系统帐户不准ftp登录: 通过修改ftpusers文件,增加帐户 #vi /etc/ftpusers #Solaris 8 #vi /etc/ftpd/ftpusers #Solaris 10 b. 限制用户可使用FTP不能用Telnet,假如用户为ftpxll 创建一个/etc/shells文件, 添加一行 /bin/true; 修改/etc/passwd文件,ftpxll:x:119:1::/home/ftpxll:/bin/true 注:还需要把真实存在的shell目录加入/etc/shells文件,否则没有用户能够登录ftp c. 限制ftp用户登陆后在自己当前目录下活动 编辑ftpaccess,加入如下一行restricted-uid *(限制所有), restricted-uid username(特定用户) ftpaccess文件与ftpusers文件在同一目录 d. 设置ftp用户登录后对文件目录的存取权限,可编辑/etc/ftpd/ftpaccess。 chmod no guest,anonymous delete no guest,anonymous overwrite no guest,anonymous rename no guest,anonymous umask no anonymous
2、补充操作说明 查看# cat ftpusers 说明: 在这个列表里边的用户名是不允许ftp登陆的。 root daemon bin sys adm lp uucp nuucp listen nobody noaccess nobody4 |
回退方案 |
vi /etc/ftpusers; vi /etc/ftpd/ftpaccess; vi /etc/passwd ,修改设置到系统加固前状态。 |
判断依据 | 查看# cat /etc/ftpusers 无特殊需求,在这个列表里边的用户名是不允许ftp登陆的。 Root daemon bin sys adm lp uucp nuucp listen nobody noaccess nobody4 /etc/ftpd/ftpaccess设置相应的配置 |
实施风险 | 高 |
重要等级 | ★ |
备注 |
|
ELK-Solaris-01-03-04
编号 | ELK-Solaris-01-03-04 |
名称 | 设置目录权限 |
实施目的 | 设置目录权限,防止非法访问目录。 |
问题影响 | 非法访问目录 |
系统当前状态 | ls –l /etc/init.d/* | grep "^.....-.---" |
实施步骤 | 1、参考配置操作 查看重要文件和目录权限:ls –l 更改权限: 对于重要目录,建议执行如下类似操作: # chmod -R 750 /etc/init.d/* 这样只有root可以读、写和执行这个目录下的脚本。
|
回退方案 | 使用chmod 命令还原被修改权限的目录。 |
判断依据 | 判断 /etc/init.d/* 下的文件权限750以下 |
实施风险 | 高 |
重要等级 | ★ |
备注 |
|
ELK-Solaris-01-03-05
编号 | ELK-Solaris-01-03-05 |
名称 | 设置ftp目录权限 |
实施目的 | 限制ftp用户登陆后在自己当前目录下活动,防止非法访问目录。 |
问题影响 | 用户越权使用 |
系统当前状态 | cat /etc/ftpaccess 查看并记录当前的配置 |
实施步骤 | 1、参考配置操作 限制ftp用户登陆后在自己当前目录下活动 编辑ftpaccess,加入如下一行restricted-uid *(限制所有用户),restricted-uid username(特定用户) 2、补充操作说明 ftpaccess文件与ftpusers文件在同一目录,Solaris 8为/etc/, Solaris 10为/etc/ftpd/
|
回退方案 | 还原ftpaccess文件到加固前的状态。 |
判断依据 | 查看ftpaccess文件 |
实施风险 | 中 |
重要等级 | ★ |
备注 |
|
ELK-Solaris-01-03-06
编号 | ELK-Solaris-01-03-06 |
名称 | 禁止root登陆FTP |
实施目的 | 禁止root用户登陆FTP |
问题影响 | 被监听,信息泄露 |
系统当前状态 | cat /etc/ftpusers 查看并记录当前的配置 |
实施步骤 | 1、参考配置操作 ftp所有的传输内容都是没有经过加密的,所以绝对不能以超级用户身份使用FTP,建议在文件/etc/ftpusers中增加超级用户。 然后让inetd重新读配置文件。
|
回退方案 | 还原/etc/ftpusers文件到加固前的状态。 |
判断依据 | 查看/etc/ftpusers文件中是否存在root |
实施风险 | 中 |
重要等级 | ★ |
备注 |
|
ELK-Solaris-01-03-07
编号 | ELK-Solaris-01-03-07 |
名称 | 禁止匿名ftp |
实施目的 | 禁止匿名ftp |
问题影响 | 信息泄露 |
系统当前状态 | cat /etc/passwd 查看并记录当前的配置 |
实施步骤 | 1、参考配置操作 不要使用匿名ftp,只需在文件/etc/passwd中把ftp用户注释掉即可。
|
回退方案 | 还原/etc/passwd文件到加固前的状态。 |
判断依据 | 查看/etc/passwd文件中是否存在FTP |
实施风险 | 中 |
重要等级 | ★ |
备注 |
|
日志配置ELK-Solaris-02-01-01
编号 | ELK-Solaris-02-01-01 |
名称 | 启用日志记录功能 |
实施目的 | 设备应配置日志功能,对用户登录进行记录,记录内容包括用户登录使用的账号,登录是否成功,登录时间,以及远程登录时,用户使用的IP地址。 |
问题影响 | 无法对用户的登陆进行日志记录 |
系统当前状态 | 运行 cat /etc/default/login 查看状态,并记录。 |
实施步骤 | 1、参考配置操作 修改文件:vi /etc/default/login ,设置SYSLOG=YES。, Solaris10是wtmpx文件,Solaris8 是wtmp,wtmps,文件中记录着所有登录过主机的用户,时间,来源等内容,这两个文件不具可读性,可用last命令来看。 |
回退方案 | vi /etc/default/login ,修改设置到系统加固前状态。 |
判断依据 | SYSLOG=YES |
实施风险 | 低 |
重要等级 | ★★★ |
备注 |
|
ELK-Solaris-02-01-02
编号 | ELK-Solaris-02-01-02 |
名称 | 记录用户对设备的操作 |
实施目的 | 设备应配置日志功能,记录用户对设备的操作,包括但不限于以下内容:账号创建、删除和权限修改,口令修改,读取和修改设备配置,读取和修改业务用户的话费数据、身份数据、涉及通信隐私数据。需记录要包含用户账号,操作时间,操作内容以及操作结果。 |
问题影响 | 无法对用户的操作进行日志记录 |
系统当前状态 | ls –al /var/adm/pact lastcomm | head -20 |
实施步骤 | 1、参考配置操作 通过设置日志文件可以对每个用户的每一条命令进行纪录,这一功能默认是不开放的,为了打开它,需要执行/usr/lib/acct目录下的accton文件,格式如下/usr/lib/acct/accton /var/adm/pacct, 执行读取命令lastcomm [user name]。
|
回退方案 |
|
判断依据 | 存在/var/adm/pacct此文件 并且lastcomm 指令可以查看用户的操作记录 |
实施风险 | 高 |
重要等级 | ★ |
备注 |
|
ELK-Solaris-02-01-03
编号 | ELK-Solaris-02-01-03 |
名称 | 记录系统安全事件 |
实施目的 | 通过设置让系统记录安全事件,方便管理员分析 |
问题影响 | 无法记录系统的各种安全事件 |
系统当前状态 | cat /etc/syslog.conf tail -20 /var/adm/messages ls -al /var/adm/messages |
实施步骤 | 1、参考配置操作 修改配置文件vi /etc/syslog.conf, 配置如下类似语句: *.err;kern.debug;daemon.notice; /var/adm/messages 定义为需要保存的设备相关安全事件。
|
回退方案 | vi /etc/syslog.conf,修改设置到系统加固前状态。 |
判断依据 | 记录系统安全事件 |
实施风险 | 高 |
重要等级 | ★ |
备注 |
|
ELK-Solaris-02-01-04
编号 | ELK-Solaris-02-01-04 |
名称 | 配置远程日志功能 |
实施目的 | 设备配置远程日志功能,将需要重点关注的日志内容传输到日志服务器。 |
问题影响 | 日志被删除后无法恢复。 |
系统当前状态 | Cat /etc/syslog.conf |
实施步骤 | 1、参考配置操作 修改配置文件vi /etc/syslog.conf, 加上这一行: *.* @192.168.0.1 可以将"*.*"替换为你实际需要的日志信息。比如:kern.* / mail.* 等等。 重新启动syslog服务,依次执行下列命令: /etc/init.d/syslog stop /etc/init.d/syslog start 2、补充操作说明 注意: *.*和@之间为一个Tab 适用于Solaris 9 之前版本,Solaris 10测试未成功; |
回退方案 | vi /etc/syslog.conf ,修改设置到系统加固前状态。 |
判断依据 | [传送的安全事件][tab]@[IP或域名] 例如:*.* @192.168.0.8 或:kern.* @log.bakserver |
实施风险 | 低 |
重要等级 | ★ |
备注 |
|
ELK-Solaris-02-01-05
编号 | ELK-Solaris-02-01-05 |
名称 | 启用记录su日志功能 |
实施目的 | 记录系统中su操作的日志 |
问题影响 | 无法记录su指令的用户切换操作 |
系统当前状态 | 运行 cat /etc/default/su 查看SYSLOG状态,并记录。 tail -20 /var/adm/sulog ls -al /var/adm/sulog |
实施步骤 | 1、参考配置操作 修改文件:vi /etc/default/su 设置SYSLOG=YES. 使用以下方法使尝试登录失败记录有效: touch /var/log/loginlog; chmod 600 /var/log/loginlog; chgrp sys /var/log/loginlog 查看sulog日志,记载着普通用户尝试su成为其它用户的纪录, more /var/adm/sulog 2、补充操作说明 它的格式为: 发生时间 +/-(成功/失败) pts号 当前用户欲su成的用户 |
回退方案 | vi /etc/default/su ,修改设置到系统加固前状态。 |
判断依据 | SYSLOG=YES |
实施风险 | 低 |
重要等级 | ★ |
备注 |
|
ELK-Solaris-02-01-06
编号 | ELK-Solaris-02-01-06 |
名称 | 启用记录cron行为日志功能 |
实施目的 | 对所有的cron行为进行审计。 |
问题影响 | 无法记录 cron 服务(计划任务) |
系统当前状态 | 运行 cat /etc/default/cron 查看CRONLOG状态,并记录。 tail -20 /var/cron/log ls -al /var/cron/log |
实施步骤 | 1、参考配置操作 对所有的cron行为进行审计: 在 /etc/default/cron里设置"CRONLOG=yes" 来记录corn的动作。
|
回退方案 | vi /etc/default/cron ,修改CRONLOG设置到系统加固前状态。 |
判断依据 | CRONLOG=YES |
实施风险 | 低 |
重要等级 | ★ |
备注 |
|
ELK-Solaris-02-01-07
编号 | ELK-Solaris-02-01-07 |
名称 | 打开 ftpd的记录和调试 |
实施目的 | 打开ftpd的记录和调试 |
问题影响 | 无法记录FTP的记录和调试信息 |
系统当前状态 | cat /etc/inet/inetd.conf 查看并记录当前的配置 |
实施步骤 | 1、参考配置操作 将ftpd的记录和调试功能打开,在文件/etc/inet/inetd.conf中的ftpd一项应该是: 然后让inetd重新读配置文件。 |
回退方案 | 还原/etc/inet/inetd.conf文件到加固前的状态。 |
判断依据 | 查看/etc/inet/inetd.conf文件中是否存在ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd -dl |
实施风险 | 中 |
重要等级 | ★ |
备注 |
|
通信协议 ELK-Solaris-03-01-01
编号 | ELK-Solaris-03-01-01 |
名称 | 使用ssh加密传输 |
实施目的 | 提高远程管理安全性 |
问题影响 | 使用非加密通信,内容易被非法监听 |
系统当前状态 | 运行 # ps –elf|grep ssh 查看状态,并记录。 |
实施步骤 | 1、参考配置操作 Solaris 10以前的版本需另外安装,才能使用SSH。 Solaris 10启用SSH的命令:svcadm enable ssh Solaris 10禁用Telnet的命令:svcadm disable telnet Solaris 8 如果安装openssh 正常可以通过#/etc/init.d/sshd start来启动SSH; 通过#/etc/init.d/sshd stop来停止SSH 2、补充操作说明 查看SSH服务状态: # ps –elf|grep ssh Solaris 10还可以通过命令: # svcs -a |grep ssh 若为online,即为生效。
|
回退方案 | 卸载SSH、或者停止SSH服务 |
判断依据 | 有SSH进程 |
实施风险 | 高 |
重要等级 | ★ |
备注 |
|
ELK-Solaris-03-01-02
编号 | ELK-Solaris-03-01-02 |
名称 | 限制管理员登陆IP |
实施目的 | 对于通过IP协议进行远程维护的设备,设备应对允许登陆到该设备的IP地址范围进行设定。提高远程维护安全性。 |
问题影响 | 没有访问控制,系统可能被非法登陆或使用 |
系统当前状态 | 查看/etc/hosts.allow和/etc/hosts.deny 2个文件的配置状态,并记录。 |
实施步骤 | 1、参考配置操作 编辑/etc/hosts.allow和/etc/hosts.deny两个文件 vi /etc/hosts.allow 增加一行 <service>: 允许访问的IP;举例如下: all:192.168.4.44:allow #允许单个IP; ssh:192.168.1.:allow #允许192.168.1的整个网段 vi /etc/hosts.deny 增加一行 all:all 重启进程:#pkill -HUP inetd 2、补充操作说明 Solaris9 for x86下,更改/etc/inetd.conf文件后,重启inetd的命令是: Solaris 10 X86下,可以用如下命令重启inetd: svcadm enable svc:/network/inetd
|
回退方案 | 修改/etc/hosts.allow和/etc/hosts.deny 2个文件的配置到加固之前的状态。 |
判断依据 | 配置访问控制 也可在防火墙的ACL,或者交换的VLAN上设置。 |
实施风险 | 高 |
重要等级 | ★ |
备注 |
|
ELK-Solaris-03-01-03
编号 | ELK-Solaris-03-01-03 |
名称 | 防syn攻击优化 |
实施目的 | 提高未连接队列大小 |
问题影响 | SYN flood attack |
系统当前状态 | ndd -get /dev/tcp tcp_conn_req_max_q0 |
实施步骤 | 1、参考配置操作 #ndd -set /dev/tcp tcp_conn_req_max_q0 4096
|
回退方案 | #ndd -set /dev/tcp tcp_conn_req_max_q0 XXXX 修改到原来的值 |
判断依据 | ndd -get /dev/tcp tcp_conn_req_max_q0 值等于 4096 |
实施风险 | 高 |
重要等级 | ★ |
备注 |
|
ELK-Solaris-03-01-04
编号 | ELK-Solaris-03-01-04 |
名称 | 防syn攻击优化 |
实施目的 | 提高连接队列大小 |
问题影响 | 连接耗尽攻击 |
系统当前状态 | ndd -get /dev/tcp tcp_conn_req_max_q |
实施步骤 | 1、参考配置操作 #ndd -set /dev/tcp tcp_conn_req_max_q 1024 |
回退方案 | #ndd -set /dev/tcp tcp_conn_req_max_q XXXX 修改到原来的值 |
判断依据 | ndd -get /dev/tcp tcp_conn_req_max_q 值等于 1024 |
实施风险 | 高 |
重要等级 | ★ |
备注 |
|
路由协议安全ELK-Solaris-03-02-01
编号 | ELK-Solaris-03-02-01 |
名称 | 禁止ICMP重定向 |
实施目的 | 禁止系统发送ICMP重定向包,提高系统、网络的安全性 |
问题影响 | 主机可能会被非法改变路由 |
系统当前状态 | 查看/etc/rc2.d/S??inet的配置状态,并记录。 ndd -get /dev/ip ip_send_redirects |
实施步骤 | 1、参考配置操作 禁止系统发送ICMP重定向包: 在/etc/rc2.d/S??inet中做如下参数调整, ndd -set /dev/ip ip_send_redirects=0 # default is 1 设置in.routed运行在静态路由模式: 创建文件/usr/sbin/in.routed为以下内容: #! /bin/sh /usr/sbin/in.routed –q 改变文件属性: chmod 0755 /usr/sbin/in.routed
|
回退方案 | 修改/etc/rc2.d/S??inet的配置到加固之前的状态,删除新创建的/usr/sbin/in.routed文件 |
判断依据 | ip_send_redirects=0 |
实施风险 | 高 |
重要等级 | ★ |
备注 |
|
ELK-Solaris-03-02-02
编号 | ELK-Solaris-03-02-02 |
名称 | 关闭数据包转发功能 |
实施目的 | 关闭数据包转发功能,提高系统、网络的安全性 |
问题影响 | 可能被用来实施smurf攻击 |
系统当前状态 | 查看/etc/init.d/inetinit文件的配置状态,并记录。 ndd -get /dev/ip ip_forwarding ndd -get /dev/ip ip_strict_dst_multihoming ndd -get /dev/ip ip_forward_directed_broadcasts ndd -get /dev/ip ip_forward_src_routed |
实施步骤 |
vi /etc/init.d/inetinit IP Forwarding (IP转发) 2、补充操作说明 注意:启动过程中IP转发功能关闭前Solaris主机依旧可以在多块网卡之间进行IP转发,存在小小的潜在安全隐患。 对于Solaris 2.4(或者更低版本),在/etc/init.d/inetinit文件的最后增加一行 对于Solaris 2.5(或者更高版本),在/etc目录下创建一个叫notrouter的空文件, touch /etc/notrouter |
回退方案 | 修改/etc/init.d/inetinit的配置到加固之前的状态。 |
判断依据 | ndd -set /dev/ip ip_forwarding 0 ndd -set /dev/ip ip_strict_dst_multihoming 1 ndd -set /dev/ip ip_forward_directed_broadcasts 0 ndd -set /dev/ip ip_forward_src_routed 0 |
实施风险 | 高 |
重要等级 | ★ |
备注 |
|
设备其他安全要求 补丁管理 ELK-Solaris-04-01-01
编号 | ELK-Solaris-04-01-01 |
名称 | 删除不必要的软件包 |
实施目的 | 在系统安装时建议只安装基本的OS部份,其余的软件包则以必要为原则,非必需的包就不装。 |
问题影响 | 系统臃肿,增加潜在软件安全隐患 |
系统当前状态 | uname -a cat /etc/release pkginfo |
实施步骤 |
查询/etc/release文件,看版本发布日期。 执行下列命令,查看版本及大补丁号。 #uname –a 执行下列命令,查看各包的补丁号 #pkginfo
|
回退方案 | 重新安全软件包, |
判断依据 | 在系统安装时建议只安装基本的OS部份,其余的软件包则以必要为原则,非必需的包就不装。 |
实施风险 | 高 |
重要等级 | ★★ |
备注 |
|
ELK-Solaris-04-01-02
编号 | ELK-Solaris-04-01-02 |
名称 | 补丁装载 |
实施目的 | 应根据需要及时进行补丁装载。对服务器系统应先进行兼容性测试。 |
问题影响 | 系统存在严重的安全漏洞 |
系统当前状态 | showrev –p |
实施步骤 | 1、参考配置操作 Solaris提供了两个命令来管理补丁,Patchadd和patchrm。这两个命令是在Solaris 2.6版本开始提供的,在2.6以前的版本中,每个补丁包中都提供了一个 installpatch 程序和一个 backoutpatch 程序来完成补丁的安装和卸载。 注意: 由于在安装Patch时需要更新文件,故此Solaris官方推荐在安装补丁时进入单用户模式安装。 例如: # cd /var/tmp # patchadd 110668-04 4检查补丁 # patchadd -p或 #showrev -p 补丁的删除 如果因为某种情况你想卸载某一补丁,你可以使用Patchrm命令来完成。 例如: # patchrm 106793-01 补丁卸载说明: 这里需要说明一下,在如下三种情况下,补丁将不能卸载: 1、在安装patch时,用patchadd -d命令指定patchadd 不备份被更新的文件。这样安装的patch无法删除。 2、另一Patch需要此Patch,即存在dependence(关联性), 如一定要删掉该patch,先删掉另一patch。 3、要删的patch已被另一更新的patch废弃了。如安装110668-04补丁后,如果以前安装过110668-03,则110668-03将被110668-04废弃,110668-03将无法删除。 4、 Cluster补丁的安装 |
回退方案 | patchrm |
判断依据 | 查看 http://sunsolve.sun.com/比较补丁修复情况 |
实施风险 | 高 |
重要等级 | ★★ |
备注 |
|
服务进程和启动 ELK-Solaris-04-02-01
编号 | ELK-Solaris-04-02-01 |
名称 | 关闭无效服务 |
实施目的 | 关闭无效的服务,提高系统性能,增加系统安全性。 |
问题影响 | 不用的服务会带来很多安全隐患 |
系统当前状态 | cat /etc/inet/inetd.conf 查看并记录当前的配置 |
实施步骤 | 1、参考配置操作 查看所有开启的服务: #ps -eaf #svcs -a ‘Solaris 10 在inetd.conf中关闭不用的服务 首先复制/etc/inet/inetd.conf。 #cp /etc/inet/inetd.conf /etc/inet/inetd.conf.backup 然后用vi编辑器编辑inetd.conf文件,对于需要注释掉的服务在相应行开头标记"#"字符,重启inetd服务,即可。 对于Solaris 10,直接关闭某个服务,如telnet,可用如下命令: svcadm disable svc:/network/telnet 重新启用该服务,使用命令: svcadm enable svc:/network/telnet Solaris8修改/etc/inet/inetd.conf和/etc/inet/services文件,注释掉对应的服务以及TCP/IP端口 重启inetd进程 >kill -HUP <inetd> 2、补充操作说明 Time 提供时间校验,用以同步不同服务器的时间 Echo 回显字符串,用于测试 Discard 服务是一种非常有用的用于调试和检测的工具。 daytime chargen fs dtspc exec comsat talk finger uucp name xaudio netstat ufsd rexd systat sun-dr uuidgen krb5_prop 注意:改变了“inetd.conf”文件之后,需要重新启动inetd。 对必须提供的服务采用tcpwapper来保护
|
回退方案 | 还原/etc/inet/inetd.conf文件到加固前的状态。 |
判断依据 | 在/etc/inetd.conf文件中禁止下列不必要的基本网络服务。 time echo discard daytime chargen fs dtspc exec comsat talk finger uucp name xaudio netstat ufsd rexd systat sun-dr uuidgen krb5_prop 标记用户用途,定期建立用户列表,比较是否有非法用户 |
实施风险 | 高 |
重要等级 | ★ |
备注 |
|
ELK-Solaris-04-02-02
编号 | ELK-Solaris-04-02-02 |
名称 | 设置NTP服务 |
实施目的 | 如果网络中存在信任的NTP服务器,应该配置系统使用NTP服务保持时间同步 |
问题影响 | 时间不同步 |
系统当前状态 | 查看ntp 的配置文件:#cat /etc/inet/ntp.conf 查看xntpd进程:#ps –elf|grep ntp 检查 ntp 依赖:# svcs -l svc:/network/ntp:default (适用于Solaris 10) |
实施步骤 | 1、参考配置操作 ntp 的配置文件: /etc/inet/ntp.conf #vi /etc/inet/ntp.conf server IP地址(提供ntp服务的机器) #touch /var/ntp/ntp.drift (建drift文件及相关目录,这个文件是用于在ntp重起的时候快速的和服务器进行同步) SOLARIS8启动ntp进程 #/etc/init.d/xntpd start
Solaris 10: 检查 ntp 依赖:# svcs -l svc:/network/ntp:default 然后 # svcadm enable svc:/network/ntp # svcadm refresh svc:/network/ntp # svcadm restart svc:/network/ntp 2、补充操作说明 |
回退方案 | 还原/etc/inet/ntp.conf文件到加固前的状态。 Kill ntp服务 |
判断依据 | ps –elf|grep ntp 查看NTP服务已经打开 |
实施风险 | 高 |
重要等级 | ★ |
备注 |
|
ELK-Solaris-04-02-03
编号 | ELK-Solaris-04-02-03 |
名称 | 关闭无效服务的启动 |
实施目的 | 关闭无效的服务进程,提高系统性能,增加系统安全性。 |
问题影响 | 不用的服务会带来很多安全隐患 |
系统当前状态 | ps -elf ls -al /etc/init.d/ ls -al /etc/rc2.d/S* ls -al /etc/rc3.d/S* |
实施步骤 | 1、参考配置操作 检查/etc/rc2.d和/etc/rc3.d目录下的所有"S"打头的脚本文件,将那些启动不必要服务的脚本文件改名,确认新文件名不以"S"打头。 重启动确认这些变动生效,检查/var/adm/messages日志文件,用ps -elf检查是否还有无关进程启动。 2、补充操作说明 Sendmail lp rpc snmpdx keyserv nscd volmgt uucp dmi autoinstall |
回退方案 | 还原/etc/rc2.d和/etc/rc3.d下的脚本文件名到加固前的状态。 |
判断依据 | 停止不需要的服务的启动脚本 |
实施风险 | 高 |
重要等级 | ★ |
备注 |
|
ELK-Solaris-04-02-04
编号 | ELK-Solaris-04-02-04 |
名称 | Telnet banner信息 |
实施目的 | 如需要使用Telnet服务则修改banner 信息,增强隐蔽性 |
问题影响 | 信息泄露 |
系统当前状态 | Cat /etc/default/telnetd |
实施步骤 | 1、参考配置操作 如果系统存在/etc/default/telnetd文件,把telnetd文件里的BANNER=""字段设置为空或其它不明感的字符。 如果/etc/default/telnetd文件不存在,创建/etc/default/telnetd文件,在telnetd文件里写入BANNER=""。 |
回退方案 | 还原/etc/default/telnetd到加固前的状态。 |
判断依据 | BANNER= 内容不包括TELNET或版本的敏感信息 |
实施风险 | 低 |
重要等级 | ★★ |
备注 |
|
ELK-Solaris-04-02-05
编号 | ELK-Solaris-04-02-05 |
名称 | Telnet 通讯端口改变 |
实施目的 | 如需要使用Telnet服务则修改通讯端口,增强隐蔽性 |
问题影响 | 信息泄露,进行Telnet的各种尝试 |
系统当前状态 | Cat /etc/services |
实施步骤 | 1、参考配置操作 建议在/etc/services文件中修改telnet 的端口号,最好将该端口号改为五位数以上,以避免攻击者的扫描检测。示例如下: |
回退方案 | 还原/etc/services到加固前的状态。 |
判断依据 | telnet 23232 /tcp |
实施风险 | 低 |
重要等级 | ★★ |
备注 |
|
ELK-Solaris-04-02-06
编号 | ELK-Solaris-04-02-06 |
名称 | ftp banner信息 |
实施目的 | 如需要使用FTP服务则修改banner 信息,增强隐蔽性 |
问题影响 | 信息泄露 |
系统当前状态 | cat /etc/default/ftpd |
实施步骤 | 1、参考配置操作 如果系统存在/etc/default/ftpd文件,把ftpd文件里的BANNER=""字段设置为空或其它不明感的字符。 如果/etc/default/ftpd文件不存在, 创建/etc/default/ftpd文件,在ftpd文件里写入BANNER=""。 |
回退方案 | 还原/etc/default/ftpd到加固前的状态。 |
判断依据 | BANNER= 内容不包括FTP或版本的敏感信息 |
实施风险 | 低 |
重要等级 | ★★ |
备注 |
|
ELK-Solaris-04-02-07
编号 | ELK-Solaris-04-02-07 |
名称 | FTP 通讯端口改变 |
实施目的 | 如需要使用FTP服务则修改通讯端口,增强隐蔽性 |
问题影响 | 信息泄露,进行FTP的各种尝试 |
系统当前状态 | cat /etc/services |
实施步骤 | 1、参考配置操作 建议在/etc/services文件中修改FTP 的端口号,最好将该端口号改为五位数以上,以避免攻击者的扫描检测。示例如下: |
回退方案 | 还原/etc/services到加固前的状态。 |
判断依据 | ftp 不是默认端口号 |
实施风险 | 低 |
重要等级 | ★★ |
备注 |
|
Banner与屏幕保护 ELK-Solaris-04-03-01
编号 | ELK-Solaris-04-03-01 |
名称 | 设置登录超时时间 |
实施目的 | 对于具备字符交互界面的设备,应配置定时帐户自动登出。 |
问题影响 | 管理员忘记退出被非法利用 |
系统当前状态 | 查看/etc/profile文件的配置状态,并记录。 |
实施步骤 | 1、参考配置操作 可以在用户的.profile文件中"HISTFILESIZE="后面增加如下行: vi /etc/profile $ TMOUT=180;export TMOUT 2、补充操作说明 若修改了login文件,如下: vi /etc/default/login |
回退方案 | 修改/etc/profile的配置到加固之前的状态。 |
判断依据 | TMOUT=180 |
实施风险 | 中 |
重要等级 | ★ |
备注 |
|
ELK-Solaris-04-03-02
编号 | ELK-Solaris-04-03-02 |
名称 | 屏蔽系统banner信息泄漏 |
实施目的 | 操作系统默认会向登陆系统的用户反馈自己的系统信息,如系统的版本、型号等信息,这些信息被称作系统的banner信息,入侵者往往通过这些信息来判断系统存在的漏洞。 |
问题影响 | 信息泄露 |
系统当前状态 | cat /etc/motd |
实施步骤 | 1、参考配置操作 用root用户登陆SOLARIS系统,使用vi编辑器编辑 /etc/motd文件,在motd文件里的删除系统明感的信息 |
回退方案 | 修改/etc/motd到加固之前的状态。 |
判断依据 | 判断/etc/motd文件 |
实施风险 | 低 |
重要等级 | ★★ |
备注 |
|
内核调整 ELK-Solaris-04-04-01
编号 | ELK-Solaris-04-04-01 |
名称 | 调整内核设置 |
实施目的 | 防止堆栈缓冲溢出 |
问题影响 | 堆栈缓冲溢出 |
系统当前状态 | cat /etc/system查看并记录当前的配置 |
实施步骤 | 1、参考配置操作 对/etc/system文件做备份。 #cp /etc/system /etc/system.backup 用vi编辑器编辑system文件,在system文件的最后加如下2行内容。 set noexec_user_stack=1 set noexec_user_stack_log =1 保存文件,退出编辑器。 2、补充操作说明 |
回退方案 | 还原/etc/system.backup文件到/etc/system。 |
判断依据 | set noexec_user_stack=1 set noexec_user_stack_log=1 |
实施风险 | 高 |
重要等级 | ★ |
备注 |
|
ELK-Solaris-04-04-02
编号 | ELK-Solaris-04-04-02 |
名称 | 设置内核配置文件权限 |
实施目的 | 防止非法修改内核配置文件 |
问题影响 | 非法修改内核文件 |
系统当前状态 | ls -al /etc/system查看并记录当前的配置 |
实施步骤 | 1、参考配置操作 然后改变文件权限:#chmod 750 /etc/system |
回退方案 | 还原/etc/system文件到加固前的权限。 |
判断依据 | /etc/system 权限是 750或更小 |
实施风险 | 高 |
重要等级 | ★ |
备注 |
|