SUSE Linux 主机安全加固

更新时间:2024-06-19 09:34:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

SUSE Linux 主机安全加固 适用9.0和10.0版本

目录

1 文档使用说明 ........................................................................................................... 4

1.1 适用范围 .............................................................................................................................. 4 2 实施前准备 ............................................................................................................... 4

2.2 系统检查 .............................................................................................................................. 5 2.3 业务检查 .............................................................................................................................. 5 2.4 备份 ...................................................................................................................................... 5 3 加固实施 ................................................................................................................... 7

3.1 帐号 ...................................................................................................................................... 8 3.1.1 SEC-SUSE-ACCT-01-设置专用维护帐号 .................................................................. 8 3.1.2 SEC-SUSE-ACCT-02-锁定/删除无用帐号 ................................................................. 9 3.1.3 SEC-SUSE-ACCT-03-用户帐号分组 ........................................................................ 11

3.2 口令 .................................................................................................................................... 12 3.2.1 SEC-SUSE-PWD-01-配置用户口令复杂度 ............................................................. 12 3.2.2 SEC-SUSE-PWD-02-配置用户口令期限 ................................................................. 13 3.2.3 SEC-SUSE-PWD-03-配置用户口令重复使用次数 ................................................. 15 3.2.4 SEC-SUSE-PWD-04-配置用户认证失败锁定策略 ................................................. 15

3.3 服务 .................................................................................................................................... 18 3.3.1 SEC-SUSE-SVC-01-查看开放系统服务端口 .......................................................... 18 3.3.2 SEC-SUSE-SVC-02-禁用无用 inetd/xinetd服务 ..................................................... 19 3.3.3 SEC-SUSE-SVC-03-配置 NTP时间同步 ................................................................. 20 3.3.4 SEC-SUSE-SVC-04-停用 NFS服务 ......................................................................... 21 3.3.5 SEC-SUSE-SVC-05-禁用无关启动服务 .................................................................. 23 3.3.6 SEC-SUSE-SVC-06-修改 SNMP默认团体名 .......................................................... 25

3.4 访问控制 ............................................................................................................................ 26 3.4.1 SEC-SUSE-AUTH-01-限制关键文件和目录访问权限 ........................................... 26 3.4.2 SEC-SUSE-AUTH-02-设置用户文件默认访问权限 ............................................... 28 3.4.3 SEC-SUSE-AUTH-03-设置 EEPROM密码 ............................................................. 29 3.4.4 SEC-SUSE-AUTH-04-使用 SSH代替 TELNET远程登陆 ..................................... 29 3.4.5 SEC-SUSE-AUTH-05-限制 ROOT远程登录 .......................................................... 30 3.4.6 SEC-SUSE-AUTH-06-限制用户 FTP登录 .............................................................. 32 3.4.7 SEC-SUSE-AUTH-07-限制 FTP用户登录后能访问的目录 .................................. 33 3.4.8 SEC-SUSE-AUTH-08-设置终端超时退出时间 ....................................................... 34 3.4.9 SEC-SUSE-AUTH-09-设置图形界面超时退出时间 ............................................... 35 3.4.10 SEC-SUSE-AUTH-10-限制允许登录到设备的 IP地址范围 ................................ 36 3.4.11 SEC-SUSE-AUTH-11-设置 FTP用户登录后对文件、目录的存取权限 ............. 37 3.4.12 SEC-SUSE-AUTH-12-取消所有文件“系统文件”属性 ..................................... 39 3.4.13 SEC-SUSE-AUTH-13-禁止 ctrl+alt+del ................................................................. 40

3.5 日志审计 ............................................................................................................................ 40 3.5.1 SEC-SUSE-LOG-01-记录用户登录信息 .................................................................. 40 3.5.2 SEC-SUSE-LOG-02-开启系统记帐功能 .................................................................. 41 3.5.3 SEC-SUSE-LOG-03-记录系统安全事件 .................................................................. 43 3.5.4 SEC-SUSE-LOG-04-日志集中存放 .......................................................................... 44

3.5.5 SEC-SUSE-LOG-05-记录用户 SU命令操作 ........................................................... 46 3.5.6 SEC-SUSE-LOG-06-系统服务日志 .......................................................................... 46

3.6 登陆显示 ............................................................................................................................ 48 3.6.1 SEC-SUSE-BANNER-01-设置登录成功后警告 Banner ......................................... 48 3.6.2 SEC-SUSE-BANNER-02-设置 ssh警告 Banner ...................................................... 48 3.6.3 SEC-SUSE-BANNER-03-更改 telnet警告 Banner .................................................. 49 3.6.4 SEC-SUSE-BANNER-04-更改 ftp警告 Banner ....................................................... 50

3.7 IP协议 ................................................................................................................................. 52 3.7.1 SEC-SUSE-IP-01-禁止 ICMP重定向 ....................................................................... 52 3.7.2 SEC-SUSE-IP-02-关闭网络数据包转发 ................................................................... 53

3.8 内核参数 ............................................................................................................................ 54 3.8.1 SEC-SUSE-KERNEL-01-防止堆栈缓冲溢出 .......................................................... 54

3.9 补丁/软件 ........................................................................................................................... 54 3.9.1 SEC-SUSE-SW-01-安装 OS补丁 ............................................................................. 54 4 实施后验证 ............................................................................................................. 55

4.1 系统检查 ............................................................................................................................ 55 4.2 启动双机和业务 ................................................................................................................. 56 4.3 业务检查 ............................................................................................................................ 56 5 风险回退 ................................................................................................................. 56

5.1 故障信息收集: ................................................................................................................. 57 5.2 系统恢复: ......................................................................................................................... 59

1 文档使用说明

1.1 适用范围

1.适用 OS版本: SLES 9,SLES 10

SLES:SUSE Linux Enterprise Edition

2.适用人员:

一线维护工程师和安全专业服务工程师。要求使用人员熟悉 Unix命令、系统管理和维护,熟悉安全加固流程。

2 实施前准备

2.1准备工作

1.预计操作时间: 30分钟,可提前完成

2.操作人员: 华为办事处业务维护工程师、华为专业安全服务工程师或交付合作方 3.操作影响:无影响

1 ) 现网设备加固需要提前提交现网施工申请,一般要求凌晨 0:00后才能开始实施。 2 ) 加固前一定要对机器作健康检查,确认无软硬件故障、重启正常、双机切换正常和业务运行正常后,才能对主机进行加固操作。否则建议修复后再加固。

3 ) 双机加固应该严格按照如下顺序执行:双机切换-》备机重启-》备机检查-》备机加固-》备机重启-》加固后检查-》备机启动业务-》双机切换-》业务测试-》加固当前备机。

2.2 系统检查

步骤 1 执行 # dmesg查看系统硬件配置。步骤 2 执行 #more /var/log/messages检查是否有错误日志。步骤 3检查系统性能情况。 # top # vmstat 5 10 # sar 5 10 并把相关结果记录下来

2.3 业务检查

根据业务加固策略要求,检查业务运行状态,详细请参考对应产品的主机安全加固项目交付指导书。

2.4 备份(需要具体步骤及相应执行命令)

步骤 1对操作系统进行全备份可以使用 YAST工具中的系统备份功能实现。 # yast System -> System Backup

根据提示进行系统备份步骤 2对数据库进行备份 根据业务备份要求备份数据库。

步骤 3对实施过程需修改的安全配置文件进行备份加固过程中可能会修改如下文件: /etc/passwd /etc/shadow /etc/group /etc/security/pam_pwcheck.conf /etc/pam.d/passwd /etc/login.defs /etc/default/useradd /etc/pam.d/login /etc/pam.d/sshd /etc/ssh/sshd_config /etc/xinetd.d/* /etc/ntp.conf /etc/fstab /etc/exports (may no exist) /etc/snmpd.conf (SUSE 9) /etc/snmp/snmpd.conf (SUSE 10) /etc/profile

$home/.profile(或.bash_profile) #即用户家目录下的 .profile文件或者.bash_profile文件 /etc/securetty /etc/pam.d/su /etc/ftpusers /etc/vsftpd.conf /etc/pure-ftpd/pure-ftpd.conf /etc/hosts.allow /etc/hosts.deny /etc/inittab /etc/syslog.conf (SUSE 9)

/etc/syslog-ng/syslog-ng.conf (SUSE 10) /etc/motd /etc/sshbanner (may no exist) /etc/ssh/sshd_config /etc/issue /etc/issue.net /etc/sysctl.conf

备份相关系统文件: #cp –p系统文件备份文件 //其中参数-p表示拷贝文件权限。

3 加固实施

1.预计操作时间: 60分钟

2.操作人员: 华为专业安全服务工程师或交付合作方

3.操作影响:

部分策略实施可能会造成业务中断, 在双机系统中,实施时需先实施备机,确保备机没问题后,再实施主机。

4.其他约定:如果没有特殊说明,文中的操作均以 root用户完成。

3.1 帐号

3.1.1 SEC-SUSE-ACCT-01-设置专用维护帐号

安全要求:

应按照不同的用户分配不同的账号,避免不同用户间共享账号,避免用户账号和设备间通信使用的账号共享。 通用策略:

需要按维护人员角色新增维护帐号,利用工号等唯一标志做识别,需询问客户意见。通常华为业务系统上需新增两个华为方维护帐号: maintain和 admin_hw。 风险说明: 无

操作方法:步骤 1创建帐号

# useradd [-d homedir] [-G group,...] [-g gid] [-m] [-p password] [-u uid] [-s shell] account

参数说明: d表示帐号主目录 G表示帐号所属组的列表 g表示帐号主所属组 ID m表示帐号组目录不存在时是否创建 p表示密码 u表示帐号 ID s表示 Shell类型 步骤 2设置密码: # passwd account 修改权限:

# chmod 755 homedir

其中 755为设置的权限,可根据实际情况设置相应的权限, homedir是要更改权限的目录 步骤 3修改帐号

# usermod [-d homedir] [-G group,...] [-g gid] [-m] [-p password] [-u uid] [-s shell] [-L] [-U] account 参数说明: d表示帐号主目录 G表示帐号所属组的列表 g表示帐号主所属组 ID m表示帐号组目录改变时是否移动原目录中文件 p表示密码 u表示帐号 ID s表示 Shell类型 L表示锁定帐号 U表示解除锁定帐号 步骤 4删除帐号

# userdel [-r[-f]] account

参数说明: r表示是否删除帐号主目录 f表示当帐号主目录存在其他帐号所有文件时是否强制删除 操作验证:

1. 验证方法: # more /etc/passwd

2. 预期结果:不同用户使用各自不同帐号。

3.1.2 SEC-SUSE-ACCT-02-锁定/删除无用帐号

安全要求:

锁定/删除与设备运行、维护等工作无关的账号。被锁定的账号无法使用交互式登陆。

通用策略:

根据业务加固策略确定系统账号、业务账号的锁定/删除操作,根据客户意见确定维护账号的锁定/删除操作。 建议锁定的系统账号:bin daemon ftp nobody nobody4 lp games named at irc mysql ldap postfix postgres wwwrun mail pop snort squid mail man news uucp

在实际加固过程中,对于系统帐号,建议只锁定,不删除。 风险说明:

1 可能有第三方系统使用了被锁定的帐号,造成第三方系统不可用,请在实施方案制定时,收集第三方系统对账号加固的要求。

2 锁定的用户不能直接登录系统,需经管理员帐号解锁后方可登录。

操作方法:步骤 1锁定用户:

# passwd -l username步骤 2更改帐号默认登陆 SHELL: #usermod –s /bin/false username 步骤 3删除用户: # userdel [-r[-f]] account

参数说明: r表示是否删除帐号主目录 f表示当帐号主目录存在其他帐号所有文件时是否强制删除

步骤 4解除对帐号的锁定: # passwd -u username

操作验证:

1. 验证方法:使用已经锁定的帐号尝试登陆

2. 预期结果:已经锁定的帐号无法登陆,系统提示:

Login incorrect

3.1.3 SEC-SUSE-ACCT-03-用户帐号分组

要求内容:

根据系统要求及用户的业务需求,建立多帐户组,将用户账号分配到相应的帐户组。 通用策略:

1 主要区分数据库用户组、业务维护帐号组、业务运行帐号和业务维护帐号。 2 实施时根据业务加固策略判断是否需要创建用户组,并且帐号修改为对应组。

风险说明:

1 尽量避免一个帐号属于多个组,避免额外授权造成安全隐患。 2 更改业务安装运行帐号组可能造成业务不可用。请参考产品加固策略制定实施方案,确定哪些帐号需要进行例外设置。

操作方法:步骤 1创建帐户组:

#groupadd –g GID groupname #创建一个组,并为其设置 GID号,若不设 GID,系统会自动为该组分配一个 GID号; #usermod –g groupname username #改变用户的组 id为 groupname #groupmod –A username groupname #将用户 username分配到 groupname

组中。查询被分配到的组的 GID:#id username可以根据实际需求使用如上命令进行设置。

步骤 2可以使用 -g 选项设定新组的 GID。0 到 499 之间的值留给 root、bin、 mail 这样的系统账号,因此昀好指定该值大于 499。如果新组名或者 GID 已经存在,则返回错误信息。

当用户希望以其他用户组成员身份出现时,需要使用 newgrp命令进行更改,如#newgrp sys 即把当前用户以 sys组身份运行; 操作验证:

1 验证方法:查看组文件:#cat /etc/group 2 预期结果:

可以查看到用户账号分配到相应的帐户组中;或都通过命令检查账号是否属于应有的组: #id username

3.2 口令

3.2.1 SEC-SUSE-PWD-01-配置用户口令复杂度

安全要求:

对于采用静态口令认证技术的设备,口令长度至少 6位,并包括数字、小写字母、大写字母和特殊符号 4类中至少 2类。 通用策略:

该操作立即生效,对所有修改密码的命令有效。可根据现场需求设置密码复杂度,一般设置为昀短长度 6个字符,至少包含两个字母,一个特殊字符。 风险说明:

对于存在密码关联的用户,修改密码时须注意同步修改业务相关配置文件,否则会造成业务不可用。 操作方法:

设置密码规则:至少各有一个字符来自这些字符集 a-z、A-Z、标点符号、 0-9步骤 1 修改 /etc/security/pam_pwcheck.conf 文件: #vi /etc/security/pam_pwcheck.conf

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

password: nullok use_cracklib步骤 2 修改 /etc/pam.d/passwd文件: #vi /etc/pam.d/passwd

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

操作验证: 1. 验证方法: 创建一个普通账号,为用户配置与用户名相同的口令、只包含字符或数字的简单口令以及长度短于 6位的口令,查看系统是否对口令强度要求进行提示;输入带有特殊符号的复杂口令、普通复杂口令,查看系统是否可以成功设置。

root使用 passwd命令修改其它用户的密码时不受密码复杂度的限制。 2. 预期结果:

不符合密码强度的时候,系统对口令强度要求进行提示; 符合密码强度的时候,可以成功设置

3.2.2 SEC-SUSE-PWD-02-配置用户口令期限

安全要求:

对于采用静态口令认证技术的设备,帐户口令的生存期不长于 90天。 通用策略:

一般对维护帐号和系统帐号启用口令过期策略,实施时根据业务加固策略决定业务帐号和数据库帐号是否能够配置口令期限。 风险说明:

1 如果口令在过期前不及时修改,密码会失效锁定,帐号不能使用,可能造成业务中断。请参考产品加固策略制定实施方案,确定哪些帐号需要进行例外设置。 2 如果存在关联密码的情况,在修改密码时没同步修改业务相关配置文件,会导致业务不可用。

3 openssh版本不能正确提示密码即将到期,可能错过更改密码的时机,导致用户被锁定。 4 设置密码昀大有效期限为 90天

操作方法:

修改/etc/login.defs,添加或修改如下内容: #vi /etc/login.defs PASS_MAX_DAYS 90

对系统已经存在帐号进行设置: # passwd –x 90 account

2.设置在密码过期之前 7天内发出报警信息。修改/etc/login.defs,添加或修改如下内容: #vi /etc/login.defs PASS_WARN_AGE 7

对系统已经存在帐号进行设置: # passwd –w 7 account

3.设置密码过期 7天未修改则锁定帐号:编辑文件/etc/default/useradd #vi /etc/default/useradd 添加或修改行: INACTIVE=7

对系统已经存在帐号进行设置: # passwd –i 7 account

4.查看帐号密码策略: #passwd -aS 操作验证: 1. 验证方法:使用密码过期的帐户尝试登录系统;使用密码即将到期的账号尝试登陆系统;使用密码过期 7天以上的账号尝试登陆系统。

2. 预期结果:登录不成功;系统提示修改密码;系统不再提示修改密码,直接拒绝登陆。

3.2.3 SEC-SUSE-PWD-03-配置用户口令重复使用次数

安全要求:

对于采用静态口令认证技术的设备,应配置设备,使用户不能重复使用昀近 5次(含 5次)内已使用的口令。 通用策略:

实施时根据业务加固策略决定是否允许设置此项。 风险说明: 无

操作方法:

禁止使用昀近 5次使用的密码修改/etc/pam.d/passwd,添加如下内容 #vi /etc/pam.d/passwd password required pam_unix.so remember=5 use_authtok md5 shadow 操作验证:

1. 验证方法:使用用户帐号修改自己的密码,设置新密码与昀近几次的旧密码相同; 2. 预期结果:如果设置的新密码与昀近 5次的旧密码相同,系统不接受该新密码。

root使用 passwd命令修改其它用户的密码时不受密码复杂度的限制。

3.2.4 SEC-SUSE-PWD-04-配置用户认证失败锁定策略

安全要求:

对于采用静态口令认证技术的设备,应配置当用户连续认证失败次数超过 6次(不含 6次),锁定该用户使用的账号。 通用策略:

实施时根据现场需求决定业务帐号和数据库帐号是否不允许设置认证失败次数。

Pam模块根据系统版本不同,可能配置的方法也不一样,需要参考实际情况来进行配置,以下两种配置方法可以解决绝大多数系统的配置问题。需要注意的是:某些 SUSE 9系统中,使用 telnet错误登录一次,FAILLOG里计数器会计两次数,设置次数时需要根据实际情况进行设置。 风险说明:

1 如果业务帐号被锁定,帐号不能使用,可能造成业务中断。请参考产品加固策略制定实施方案,确定哪些帐号需要进行例外设置。

2 帐号可能被恶意重试导致被锁定。需要询问客户决定是否实施。

操作方法: 1. 终端登录:

步骤 1设置登录时连续认证失败 6次后断开会话:修改/etc/login.defs文件,进行如下设置: #vi /etc/login.defs LOGIN_RETRIES 6

步骤 2设置连续登陆 6次后帐号锁定: SUSE 9:修改/etc/pam.d/login文件,添加如下两行: #vi /etc/pam.d/login

auth required pam_tally.so no_magic_root account required pam_tally.so deny=6 no_magic_root

SUSE 10:修改/etc/pam.d/login文件,添加如下两行: #vi /etc/pam.d/login auth required pam_tally.so deny=6 account required pam_tally.so

以任一普通账号通过错误的口令进行系统登录 6次以上; 2.预期结果:帐户被锁定,需要联系系统管理员解锁

3.3 服务

3.3.1 SEC-SUSE-SVC-01-查看开放系统服务端口安全要求:

设备应支持列出对外开放的 IP服务端口和设备内部进程的对应表。 通用策略:

此项是对操作系统本身的要求,SUSE系统均满足此项要求。 风险说明: 无

操作方法:步骤 1查看已使用服务列表: # chkconfig --list

步骤 2查看开放的端口列表: # netstat -an

步骤 3服务端口和进程对应表: # more /etc/services 操作验证:

1.验证方法:步骤 1 # chkconfig - - list步骤 2 # netstat -an 步骤 3 # more /etc/services 2.预期结果:

步骤 1能够列出开放的服务列表步骤 2能够列出开放的端口列表步骤 3可以看到详细的服务端口和进程对应表

3.3.2 SEC-SUSE-SVC-02-禁用无用 inetd/xinetd服务

安全要求:

列出所需要服务的列表(包括所需的系统服务),不在此列表的服务需关闭。 通用策略:

仅关闭产品确认的可以关闭的服务。

建议关闭的服务(需要根据各产品线加固策略决定是否关闭): chargen、chargen-udp、cups-lpd、cvs、daytime、daytime-udp、echo、echo-udp、 fam、netstat、rsync、servers、services、systat、time、time-udp请根据需要开启相应的服务 风险说明:

1. 第三方系统可能需要使用这里禁用的服务。

2. Unix/Linux上的很多软件对系统服务具有依赖性,服务之间也具有依赖性。关闭服务可能造成软件或者服务不能正常运行。

3. 禁用服务可能影响以后的业务升级和新业务的上线。

操作方法:步骤 1 关闭 inetd服务 # chkconfig服务名 off

步骤 2 关闭 xinetd服务修改其配置文件,在其属性中修改 Disable 为 yes,如没有,请添加 #vi /etc/xinetd.d/服务名

disable = yes 步骤 3 重启 inetd服务 # /etc/init.d/xinetd restart 操作验证:

1. 验证方法: # chkconfig -l

2. 预期结果:仅有允许的服务处于开启状态

3.3.3 SEC-SUSE-SVC-03-配置 NTP时间同步

安全要求:

如果网络中存在信任的 NTP服务器,应该配置系统使用 NTP服务保持时间同步。 通用策略:

实施时根据业务加固策略确定是否需要接入 ntp服务器 风险说明:

1. 需要有正确的时间同步服务器支撑,否则会导致日后审计困难(尤其是双机);

2. 业务软件的功能逻辑可能与时间强相关,时间同步可能引起逻辑紊乱;

3. Oracle等数据库对时间的要求也比较严格,如果主机时间往回跳, Oracle可能无法启动,逻辑备份也会失效。

操作方法:

如果产品本身有 ntp时间同步要求的,请按照产品发布的 ntp时间同步方案实施。

步骤 1 修改 ntp的配置文件: # vi /etc/ntp.conf server IP地址(提供 ntp服务的机器) 步骤 2打开服务 SUSE 9: #chkconfig xntpd on SUSE 10: # chkconfig ntp on 步骤 3启动服务

SUSE 9 # /etc/rc.d/xntpd start SUSE 10 # /etc/rc.d/ntp start 步骤 4停止服务

SUSE 9 # /etc/rc.d/xntpd stop SUSE 10 # /etc/rc.d/ntp stop

操作验证:

1. 验证方法:查看 ntp 的配置文件: # more /etc/ntp.conf查看 ntp进程: SUSE 9: #ps –elf | grep xntpd SUSE 10: # ps –elf | grep ntp查看当前时间:# date 2. 预期结果:与 NTP服务器保持时间同步。

3.3.4 SEC-SUSE-SVC-04-停用 NFS服务

安全要求: NFS服务:如果没有必要,需要停止 NFS服务;如果需要 NFS服务,需要限制能够访问 NFS服务的 IP范围。 通用策略:

实施时根据业务加固策略确定是否能够禁用 NFS服务。如果确实需要开启 NFS服务,需要限制能访问本机 NFS服务的客户端 IP。

Suse 10 中没有 nfslock服务 风险说明:

如果限制 IP错误,NFS客户端将无法访问共享目录。需要事先确定能使用本机 NFS服务的客户端及其读写权限。 操作方法:

1.需要停止 NFS服务:步骤 2 关闭 NFS服务: #chkconfig nfs off #chkconfig nfsserver off #chkconfig nfsboot off #chkconfig nfslock off #/etc/init.d/nfs stop #/etc/init.d/nfsserver stop #/etc/init.d/nfsboot stop #/etc/init.d/nfslock stop

步骤 3 配置 /etc/fstab文件: #vi /etc/fstab /etc/fstab的格式如下: fs_spec fs_file fs_type fs_options fs_dump fs_pass

上述格式为该文件中的六个字段的名称,如 fs_type即表示文件系统类型。注释掉里面 fs_spec字段或 fs_type字段中含有 NFS字样的行。步骤 4 删除 NFS目录文件: #rm /etc/exports

2.需要开启 NFS服务:

步骤 1如果需要 NFS服务,需要限制能够访问 NFS服务的 IP范围:编辑/etc/exports文件: #vi /etc/exports

添加如下行: /dir/work 192.168.1.12(ro,root_squash)其中/dir/work为欲分享的目录; 192.168.1.12为登录此目录的主机 IP(也可以是主机名),这里可以是一个 IP段; ro表示是只读模式; root_squash表示禁止 root写入该目录。步骤 2配置完成后执行#exportfs –a命令使改动立刻生效。

步骤 3通过限制允许访问 NFS服务端的主机 IP来限制对 NFS的访问,具体请参照 3.4.10节“SEC-SUSE-AUTH-10-限制允许登录到设备的 IP地址”。 操作验证:

1.验证方法:步骤 1 查看 nfs服务是否关闭 #chkconfig nfs

#chkconfig nfsserver #chkconfig nfsboot #chkconfig nfslock(suse 10下不用检查此服务)

步骤 2 若 nfs服务状态为开启,则查看 /etc/exports文件,通过不在文件允许范围的主机访问该服务端共享的目录

2.预期结果:步骤 1 nfs服务为关闭状态;步骤 2 若 nfs服务为开启状态,通过不在 /etc/exports文件允许范围的主机访问该 服务端共享的目录失败。

3.3.5 SEC-SUSE-SVC-05-禁用无关启动服务

安全要求:

列出系统启动时自动加载的进程和服务列表,不在此列表的需关闭。 通用策略:

仅关闭产品确认的允许关闭的服务。

在 SUSE Linux系统中以下系统服务必须启动: auditd、cron、haldaemon、kbd、network、portmap、random、resmgr、 running-kernel、syslog 建议关闭以下服务(需根据各产品线实际加固策略实施,某些服务如 vsftp、pure-ftp等等关闭可能会影响业务):

Makefile、SuSEfirewall2_init、SuSEfirewall2_setup、aaeventd、acpid、 alsasound、apache2、atd、autofs、autoyast、boot.apparmor、boot.evms、 boot.multipath、boot.sched、boot.scsidev、chargen、chargen-udp、cups、 cups-lpd、cupsrenice、daytime、daytime-udp、drbd、earlykbd、echo、echo-udp、 esound、evms、fam、gpm、gssd、heartbeat、idmapd、ipmi、ipvsadm、iscsitarget、 joystick、ksysguardd、ldap、ldirectord、lm_sensors、mdadmd、microcode、 multipathd、netstat、nfsserver、novell-zmd、nscd、ntp、o2cb、ocfs2、open-iscsi、 openct、oracle、owcimomd、pcscd、postfix、powerd、powersaved、pure-ftpd、 rexec、rlogin、rpasswdd、rpmconfigcheck、rsh、rsync、rsyncd、sapinit、 saslauthd、servers、services、skeleton.compat、slurpd、smartd、smbfs、smpppd、 snmpd、splash、splash_early、suseRegister、svcgssd、systat、time、time-udp、 vsftpd、xend、xendomains、xfs、ypbind 风险说明:

1. 第三方系统可能需要使用这里禁用的服务。

2. Unix/Linux上的很多软件对系统服务具有依赖性,服务之间也具有依赖性。关闭服务可能造成软件或者服务不能正常运行。

3. 禁用服务可能影响以后的业务升级和新业务的上线。

操作方法:

步骤 1服务关闭方法: # chkconfig服务名 off

步骤 2停止系统启动服务:

将/etc/rcn.d下的不需要启动的服务改名成不以 S打头(其中 n=0~6)。 操作验证: 1 验证方法: 2 预期结果:

# chkconfig -l

仅有允许的服务处于开启状态

3.3.6 SEC-SUSE-SVC-06-修改 SNMP默认团体名 安全要求:

如果没有必要,需要停止 SNMP服务;如果确实需要使用 NFS服务,需要修改 SNMP

Community。 通用策略:

网管软件可能使用 snmp协议获取网元信息,I2000网管的 UOA组件实现了 snmp代理功能,不使用系统自带的 snmpd服务,这种情况只需要停止系统 snmpd服务即可,关闭方法参照 3.3.5节“SEC-SUSE-SVC-05-禁用无关启动服务”。在实施时需要先了解现网是否使用了 SUSE系统自带的 snmpd服务。

修改默认团体名后,请务必同步修改 snmp客户端上的对应信息,否则 snmp客户端将无法连接 snmpd服务。 风险说明:

修改默认团体名后,请务必同步修改 snmp客户端如 I2000上的对应信息,否则 snmp客户端将无法连接 snmpd服务。 操作方法: SUSE 9:

步骤 1 修改 snmp配置文件: #vi /etc/snmpd.conf找到以 rocommunity或 rwcommunity开头的行,如: rocommunity public 127.0.0.1其中的第二个字段(public)即为团体名,用新的团体名称替换该字段: rocommunity community_name 127.0.0.1 步骤 2 重启 snmp服务: #rcsnmpd restart SUSE 10:

步骤 1 修改 snmp配置文件: #vi /etc/snmp/snmpd.conf找到以 rocommunity或 rwcommunity开头的行,如: rocommunity public 127.0.0.1其中的第二个字段(public)即为团体名,用新的团体名称替换该字段: rocommunity community_name 127.0.0.1 步骤 2 重启 snmp服务: #rcsnmpd restart 操作验证:

1.验证方法:步骤 1 查看 snmpd服务状态: #chkconfig snmpd

步骤 2 若 snmpd服务状态为开启状态,则检查其团体名称是否修改: snmp客户端不修改对应团体名,重新连接 snmpd服务; snmp客户端修改对应的团体名,重新连接 snmpd服务。

2.预期结果:步骤 1 Snmpd服务状态为 off 步骤 2 若 Snmpd服务状态为 on:

snmp客户端不修改对应团体名,重新连接 snmpd服务,无法查询系统信

息; snmp客户端修改对应的团体名,重新连接 snmpd服务,能够正常查询系统信息。

3.4 访问控制

3.4.1 SEC-SUSE-AUTH-01-限制关键文件和目录访问权限

安全要求:

在设备权限配置能力内,根据用户的业务需要,配置其所需的昀小权限。 涉及账号、账号组、口令、服务等的重要文件和目录的权限设置不能被任意人员删除,修改。 通用策略:

实施时根据业务加固策略决定对业务业务系统的哪些重要文件和目录需要加强权限。 风险说明:

1. 对 Oracle文件权限加固后,可能出现 NBU备份软件不能正常备份等现象。 2、如果业务系统目录内存在非业务用户的文件,业务用户将无法使用。 操作方法:

/etc/passwd 必须所有用户都可读,root用户可写 –rw-r—r— /etc/group必须所有用户都可读, root用户可写 –rw-r—r— /etc/shadow 只有 root可读 –r-------?使用如下命令设置:

# chmod 644 /etc/passwd # chmod 644 /etc/group # chmod 400 /etc/shadow如果是有写权限,就需移去组及其它用户对/etc的写权限(特殊情况除外) 执行命令:

# chmod -R go-w /etc

操作验证:

1. 验证方法: # ls -la /etc/passwd # ls -la /etc/group # ls -la /etc/shadow # ls -la /etc 2. 预期结果:文件和目录属性符合预期设置

3.4.2 SEC-SUSE-AUTH-02-设置用户文件默认访问权限

安全要求:

控制用户缺省访问权限,当在创建新文件或目录时应屏蔽掉新文件或目录不应有的访问允许权限。防止同属于该组的其它用户及别的组的用户修改该用户的文件或更高限制。 通用策略:

默认 UMASK值建议设置为 027,需要根据产品安全策略设置相应 UMASK值。 风险说明:

有些产品用会使用一个帐号创建话单文件,另一个用户通过 ftp取话单,如果设置 umask值为 027,取话单会失败。这种情况下建议设置 umask值为 022。

操作方法:步骤 1设置全局默认权限:在/etc/profile末尾增加 umask 027 #vi /etc/profile umask 027

步骤 2设置单个用户默认权限:

如果用户需要使用一个不同于默认全局系统设置的 umask,可以编辑其家目录下的.profile文件或.bash_profile文件: #vi $home/.profile (或.bash_profile)在里面修改或者添加 UMASK 022 #具体值可以根据实际需要进行设置 操作验证:

1. 验证方法:尝试新建目录或文件

2. 预期结果:用户新建目录或文件属性符合预期设置

3.4.3 SEC-SUSE-AUTH-03-设置 EEPROM密码

安全要求:

设置 eeprom安全密码,硬件启动要求输入密码才能启动。 通用策略:

SUSE系统不涉及操作系统 EEPROM密码,一般通过设置硬件启动密码来满足此安全需求

目前 SUSE系统所在的硬件环境以 ATAE单板、IBM PC服务器及 HP PC服务器居多,其中 ATAE单板不能设置硬件启动密码。 风险说明:

忘记 eeprom密码将无法开机。 操作方法:

计算机开启时,按照提示进入 BIOS界面,参照主板说明进行 BIOS密码设置,注意设置密码应尽量复杂。 操作验证:

1.验证方法:

重启主机

2.预期结果:

启动硬件时需要输入密码

3.4.4 SEC-SUSE-AUTH-04-使用 SSH代替 TELNET远程登陆

安全要求:

对于使用 IP协议进行远程维护的设备,设备应配置使用 SSH等加密协议。 通用策略:

如果系统已经安装 ssh,启动 ssh服务即可。如果没有安装 ssh软件,请联系总部技术支持先安装 ssh,再启动服务。 风险说明: 无

操作方法:

步骤 1 打开 ssh服务: #chkconfig sshd on启动 ssh 服务: #/etc/init.d/sshd start

步骤 2 查看 SSH服务状态: # /etc/init.d/sshd status若为 running,即为生效。 操作验证:

1. 验证方法:查看 SSH服务状态: # /etc/init.d/sshd status 2. 预期结果:显示 SSH正在运行

3.4.5 SEC-SUSE-AUTH-05-限制 ROOT远程登录

安全要求:

1 console台的设备,限制 root用户只能从 console台本地登录。 2 远程执行管理员权限操作,应先以普通权限用户远程登录后,再切换到超级管理员权限账号后执行相应操作。

通用策略:

现场实施时根据业务需要选择可以切换到管理员权限的用户,集中划入 wheel组 风险说明:

1. 如果业务直接以 root身份运行,限制 root远程登录可能对业务正常使用造成影响。 2. 需要以 root直接登录进行操作的工具(如巡检工具)会失效。 3. 要求转变维护习惯。需要询问客户后确定是否实施。

4. 如果主机上没有维护帐号或者该帐号没有添加到 wheel组,限制 root远程登录后将无法远程登录主机,须到控制台上操作。 操作方法:

限制管理员帐号 Telnet登录:步骤 1 修改 /etc/pam.d/login文件 # vi /etc/pam.d/login 添加以下内容,如果已经存在请确保未被注释

auth required pam_securetty.so 步骤 2 修改 /etc/securetty文件 #vi /etc/securetty 注释掉以下内容: pts/1 pts/2 ......... ptsn

步骤 3限制管理员帐号 SSH登录:修改/etc/ssh/sshd_config文件 #vi /etc/ssh/sshd_config 将

PermitRootLogin yes 改为

PermitRootLogin no重启 sshd服务: # rcsshd restart

步骤 4限制可以通过 su切换到 root的用户: #vi /etc/pam.d/su 在文件的头部加入下面三行:

auth sufficient pam_rootok.so auth required pam_wheel.so auth required pam_unix.so把可以执行 su的账号放入 wheel组 # usermod –G 10 username 操作验证:

1. 验证方法: Root用户使用 telnet、SSH登录;普通用户使用 telnet、SSH登录;普通用户登录后使用 su切换到 root用户(需要输入管理员口令)。

2. 预期结果: root无法登录普通用户无法登录 Wheel组里的用户可以成功切换到 root用户(需要输入管理员口令)

3.4.6 SEC-SUSE-AUTH-06-限制用户 FTP登录

安全要求:

控制 FTP进程缺省访问权限,当通过 FTP服务创建新文件或目录时应屏蔽掉新文件或目录不应有的访问允许权限。

通用策略:

以下用户名不允许 ftp登陆: root daemon bin sys adm lp uucp nuucp listen nobody noaccess nobody4

根据实际情况添加修改不能登录的用户帐号。 风险说明:

有些局点直接使用 root用户 ftp登录取话单,禁用 root ftp登录后,可能无法正常取话单。 操作方法:

通过修改 ftpusers文件,增加不能登录的用户 # vi /etc/ftpusers 操作验证:

1. 验证方法:使用列表中的帐号登录 ftp 2. 预期结果:列表中的帐号无法登录 ftp

3.4.7 SEC-SUSE-AUTH-07-限制FTP用户登录后能访问的目录

安全要求:

应该从应用层面进行必要的安全访问控制,比如 FTP服务器应该限制 ftp可以使用的目录范围。 通用策略:

全局生效,对所有用户有效。加固后 ftp仅能在家目录下活动。 风险说明:

用户 ftp登录后,通常并不只需要在自己的家目录下活动,限制后业务可能无法正常运行,如不能正常取话单文件。 操作方法:

步骤 1 vsftp修改/etc/vsftpd.conf # vi /etc/vsftpd.conf 确保以下行未被注释掉,如果没有该行,请添加: chroot_local_user=YES 重启网络服务 # rcxinetd restart

步骤 2 pure-ftp修改/etc/pure-ftpd/pure-ftpd.conf # vi /etc/pure-ftpd/pure-ftpd.conf 确保以下行未被注释掉(并且值为以下值),如果没有该行,请添加:

由于安装时 pure-ftp可能落在 xinetd服务里,pure-ftpd服务由 xinetd服务拉起,重启 ftp服务时可能会出现失败现象,这时可以修改 /etc/xinetd.d/pure-ftpd文件中的 disable值为 yes,然后再重启服务。 操作验证:

1. 验证方法:登录 ftp后尝试切换到上级目录

2. 预期结果:用户登陆后只能在自己当前目录以及子目录下活动。

3.4.8 SEC-SUSE-AUTH-08-设置终端超时退出时间

要求内容:

对于具备字符交互界面的设备,应配置定时帐户自动登出。 通用策略:

可根据实际要求设置超时退出时间,一般情况下设置为 180秒 风险说明:

设置 shell会话超时退出时间后,用户在本次会话中没有用 nohup启动的用户进程可能会随会话自动退出。 操作方法:

编辑文件/etc/profile #vi /etc/profile 增加如下行:

TMOUT=180 export TMOUT

改变这项设置后,重新登录才能有效。 操作验证:

1. 验证方法:用 root帐户登录后,在设定时间内不进行任何操作,检查帐户是否登出。 2. 预期结果:若在设定时间内没有操作动作,能够自动退出,即为符合;

3.4.9 SEC-SUSE-AUTH-09-设置图形界面超时退出时间

要求内容:

对于具备图形界面(含 WEB界面)的设备,应配置定时自动屏幕锁定。 通用策略:

如无必要,建议不要使用 GUI。 风险说明: 无

操作方法:

方案一:禁用 GUI服务设置: #/etc/init.d/xdm stop #chkconfig xdm off 方案二:自动屏幕锁定设置: 步骤 1 KDE

在屏幕保护中设置,Console对所有用户生效, Terminate对除 root外其他用户生效。 在桌面空白处单击鼠标右键,选择“configure desktop?”—>“Screen saver”,在右栏设置自动锁屏时间并选中“ Require password to stop screen saver”。 步骤 2 GNOME

在屏幕保护中设置,Console、Terminate均对除 root外其他用户生效。 在桌面菜单单击“Applications”—>“Desktop Preferences”—>“Advanced” —>“Screensaver”,在弹出的对话框中选中 “Lock Screen After ? minutes”并设置好自动锁屏时间。 操作验证:

1. 验证方法:以普通用户登录图形界面,不做任何操作

2. 预期结果:如果 GUI被禁用,则无法进入图形界面;如果 GUI启用,在设定的时间内不做任何操作,会进入屏保状态,重新

登入时需要输入口令。

3.4.10 SEC-SUSE-AUTH-10-限制允许登录到设备的 IP地址范围

安全要求:

对于通过 IP协议进行远程维护的设备,设备应支持控制访问该设备特定服务的 IP地址范围。 通用策略:

使用 tcpd程序可以控制以下服务的 IP地址范围: telnet, ssh, ftp, exec, rsh, rlogin, tftp, finger, talk, comsat

需研发给出网元访问关系。 风险说明:

1. 容易造成网络连通性问题,建议通过硬件防火墙来统一控制。 2. 维护比较麻烦,需询问客户后确定是否实施。

操作方法:

编辑文件/etc/hosts.allow,设置允许访问的范围 # vi /etc/hosts.allow

增加一行 :允许访问的 IP举例如下: all:192.168.4.44 : ALLOW #允许单个 IP; sshd:192.168.1. : ALLOW #允许 192.168.1的整个网段 in.telnetd : ALL : ALLOW #允许所有编辑文件/etc/hosts.deny,设置拒绝访问的范围 # vi /etc/hosts.deny 增加一行 ALL : ALL 操作验证:

1. 验证方法:查看/etc/hosts.allow和/etc/hosts.deny两个文件使用受限制的 IP访问 2. 预期结果:受限制的 IP无法访问上述服务

3.4.11 SEC-SUSE-AUTH-11-设置 FTP用户登录后对文件、目录的存取权限

安全要求:

设置 ftp用户登录后对文件目录的存取权限 通用策略:

全局生效,对所有用户有效。

如果以下不设置,默认情况下 vsftp上传之后文件的权限是 600,目录权限是 700。 风险说明: 无

由于安装时 pure-ftp可能落在 xinetd服务里,pure-ftpd服务由 xinetd服务拉起,重启 ftp服务时可能会出现失败现象,这时可以修改 /etc/xinetd.d/pure-ftpd文件中的 disable值为 yes,然后再重启服务。

文件创建或者上传时的权限默认去除了可执行权限。即如果上面的 UMASK值设置为 022,实际创建或者上传的文件权限为 644。 操作验证:

1. 验证方法:登录 FTP后上传文件

2. 预期结果:用户行为受到控制,文件权限符合预期设置。

3.4.12 SEC-SUSE-AUTH-12-取消所有文件“系统文件”属性安全要求:

去掉所有文件“系统文件”属性,防止用户滥用及提升权限的可能性 通用策略:

如无特殊需求,建议取消文件的 SUID、SGID属性。

改变文件的 SUID、SGID属性前,先备份该文件(带权限): # cp -p /dir/filename /dir/filename.bak 风险说明:

某些文件的执行需要使用属主或属组权限,如果去除,可能会造成对执行结果有影响甚至影响业务,需与客户沟通确认后执行。 操作方法:

找出系统中所有含有“ s”属性的文件,把不必要的“ s”属性去掉,或者把不用的直接删除。

# find / -type f \\( -perm -04000 -o -perm -02000 \\) -exec ls -lg {} \\; # chmod a-s filename 操作验证: 1. 验证方法:再次使用以下命令查找含有“s”属性的文件 # find / -type f \\( -perm -04000 -o -perm -02000 \\) -exec ls -lg {} \\;

2. 预期结果:无法再次找到含有“s”属性的文件

3.4.13 SEC-SUSE-AUTH-13-禁止 ctrl+alt+del

安全要求:

禁止 ctrl+alt+del,防止非法重新启动服务器。 通用策略: 无

风险说明: 无

操作方法: # vi /etc/inittab 将以下行

ca::ctrlaltdel:/sbin/shutdown -r -t 4 now 修改为:

ca::ctrlaltdel:/bin/true 操作验证:

1. 验证方法:按键盘 ctrl+alt+del 2. 预期结果:服务器没有任何反应

3.5 日志审计

3.5.1 SEC-SUSE-LOG-01-记录用户登录信息

安全要求:

设备应配置日志功能,对用户登录进行记录,记录内容包括用户登录使用的账号,登录是否成功、登录时间、以及远程登录时、用户使用的 IP地址 通用策略: 无

风险说明: 无

操作方法:

编辑/etc/login.defs: #vi /etc/login.defs 修改 LASTLOG_ENAB的属性: LASTLOG_ENAB yes 操作验证:

1. 验证方法:使用 last命令察看登陆日志

2. 预期结果: # last root :0/10.164.10 10.164.104.73 Fri Feb 20 14:29 - 16:53 (02:24) root 10.164.104.7 10.164.104.73 Fri Feb 20 14:29 - 16:53 (02:23) root pts/3 Fri Feb 20 14:21 -14:28

(00:06) rokay pts/3 10.164.104.73 Fri Feb 20 14:16 - 14:19 (00:03)

3.5.2 SEC-SUSE-LOG-02-开启系统记帐功能

安全要求:

设备应配置日志功能,记录用户对设备的操作,包括但不限于以下内容:账号创建、删除和权限修改,口令修改,读取和修改设备配置,读取和修改业务用户的话费数据、身份数据、涉及通信隐私数据。需记录要包含用户账号,操作时间,操作内容以及操作结果

通用策略:

系统记帐可能存在影响性能问题,建议根据现场情况,征求局方意见后再实施此操作。 风险说明:

1 用户操作比较频繁,或者系统持续执行 shell脚本时,记帐功能会产生大量日志。要注意监控磁盘可用空间,及时备份清理记帐日志文件。 2 对维护有要求,需询问客户后确定是否实施。

操作方法:

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

#/usr/lib/acct/accton /var/adm/pact步骤 2 开启 acct服务: #chkconfig acct on步骤 3执行读取命令#lastcomm [user name] 注:

如果系统提示“lastcomm: command not found”,请安装 acct软件包,可以使用 YAST安装,系统盘已经包含此软件包。如果系统提示找不到/usr/lib/acct/accton文件,可以执行如下命令:

#/usr/sbin/accton /var/adm/pacct如果系统提示找不到/var/adm/pacct文件,可以自行创建该文件,然后执行上述命令。 操作验证:

1. 验证方法: # lastcomm [user name]

2. 预期结果:能够显示出包含配置内容中所要求的全部内容

3.5.3 SEC-SUSE-LOG-03-记录系统安全事件

安全要求:

设备应配置日志功能,记录对与设备相关的安全事件 通用策略:

Linux使用的 syslog守护进程主要有两种, syslog和 syslog-ng,SLES9默认使用 syslog服务,SLES10默认使用 syslog-ng服务。 风险说明:

1 增加安全日志后,日志将会大大增加。要注意监控磁盘可用空间,及时备份清理安全日志文件。

2 对维护有要求,需询问客户后确定是否实施

操作方法:步骤 1 syslog #vi /etc/syslog.conf 添加以下行:

*.err /var/log/errors authpriv.info /var/log/authpriv_info *.info /var/log/info auth.none /var/log/auth_none重启 syslog服务: # rcsyslog restart 步骤 2 syslog-ng # vi /etc/syslog-ng/syslog-ng.conf 添加以下行:

destination d_errors { file(\}; filter f_errors { level(err); }; log { source(s_sys); filter(f_errors); destination(d_errors); };

destination d_authpriv { file(\

filter f_authpriv { level(info) and facility(authpriv); }; log { source(src); filter(f_authpriv); destination(d_authpriv); };

destination d_auth { file(\log { source(src); filter(f_auth); destination(d_auth); };

destination d_info { file(\}; filter f_info { level(info); }; log { source(src); filter(f_info); destination(d_info); }; 重启 syslog-ng服务 # rcsyslog restart

其中 log { source(s_sys); filter(f_errors); destination(d_errors); };中“s_sys”视其源不同可能会为“src”,配置时需注意。 操作验证:

1.验证方法:查看/var/log/errors,/var/log/messages #more /var/log/errors #more /var/log/authpriv_info

#more /var/log/info #more /var/log/auth_none

2.预期结果:记录有需要的设备相关的安全事件

3.5.4 SEC-SUSE-LOG-04-日志集中存放

安全要求:

配置远程日志功能,将需要重点关注的日志内容传输到日志服务器。 通用策略:

此项需要配备有远程日志服务器支持

查看 logserver中的日志

2.预期结果: logserver上已经包含本地服务器日志。 3.5.5 SEC-SUSE-LOG-05-记录用户 SU命令操作 安全要求:

设备应配置日志功能,记录用户使用 SU命令的情况,记录不良的尝试记录 通用策略:

此项是对设备本身的要求,SUSE系统均满足此项要求,不需要配置。 风险说明: 无

操作方法:

查看 sulog日志,记载着普通用户尝试 su成为其它用户的纪录, 操作验证:

1. : 查看/var/log/messages # more /var/log/messages 2. 预期结果:记录有所有的 SU操作

3.5.6 SEC-SUSE-LOG-06-系统服务日志

安全要求:

系统上运行的应用/服务也应该配置相应日志选项,比如 cron 通用策略:

Linux使用的 syslog守护进程主要有两种, syslog和 syslog-ng,SLES9默认使用 syslog服务,SLES10默认使用 syslog-ng服务。

其中 log { source(s_sys); filter(f_errors); destination(d_errors); };中“s_sys”视其源不同可能会为“src”,配置时需注意。

另外,实施此项需要开启 cron服务。 操作验证:

1. 验证方法查看日志存放文件,如 cron的日志:#more /var/log/cron 2. 预期结果:日志中能够列出相应的应用/服务的详细日志信息

3.6 登陆显示

入侵者通常通过操作系统,服务及应用程序版本来攻击,漏洞列表和攻击程序也是按此来分类,隐藏系统回显版本,加大入侵的难度。

SEC-SUSE-BANNER-01-设置登录成功后警告 Banner

安全要求:

用户通过网络或者本地成功登录系统后,显示一些警告信息。 通用策略: 无

风险说明: 无

操作方法:

修改文件/etc/motd的内容,如没有该文件,则创建它。

#echo \可根据实际需要修改该文件的内容。 操作验证:

1. 验证方法:使用 telnet或者 SSH登录该服务器 2. 预期结果:登录成功后显示文件/etc/motd中的内容

3.6.2 SEC-SUSE-BANNER-02-设置 ssh警告 Banner

安全要求:

ssh登录时显示警告信息,在登录成功前不泄漏服务器信息。 通用策略: 无

风险说明: 无

操作方法:

步骤 1执行如下命令创建 ssh banner信息文件: #touch /etc/sshbanner

#chown bin:bin /etc/sshbanner #chmod 644 /etc/sshbanner

# echo \ reported \ >/etc/sshbanner

可根据实际需要修改该文件的内容。

步骤 2 修改 /etc/ssh/sshd_config文件,添加如下行: Banner /etc/sshbanner 步骤 3 重启 sshd服务: #rcsshd restart 操作验证:

1. 验证方法:使用 ssh命令登录服务器,输入一个用户名; #ssh localhost 在用户名提示后输入 1 个用户名

2. 预期结果:可以看到警告信息。

3.6.3 SEC-SUSE-BANNER-03-更改 telnet警告 Banner

安全要求:

telnet登录时显示警告信息,在登录成功前不泄漏服务器信息。 通用策略: 无

风险说明: 无

操作方法:

步骤 1 修改 Telnet回显信息

修改文件/etc/issue和/etc/issue.net中的内容:

#echo \

reported \\

可根据实际需要修改该文件的内容。

步骤 2重启服务: # /etc/init.d/xinetd restart 操作验证:

1. 验证方法: # telnet localhost 2. 预期结果:可以看到警告信息。

3.6.4 SEC-SUSE-BANNER-04-更改 ftp警告 Banner

安全要求:

ftp登录时需要显示警告信息,隐藏操作系统和 ftp服务器相关信息。 通用策略: 无

风险说明; 无

操作方法:

1.修改 Pure-FTP回显信息 Pure-ftp回显信息分为两种: 自带回显信息:

Pure-ftp自带回显信息没法通过更改配置来更改,只能在安装的时候选择 without banner选项去掉自带 BANNER信息。自定义回显信息: Pure-ftp还有自定义回显信息,配置方法如下:

步骤 1 修改 pure-ftp配置文件: #vi /etc/pure-ftpd/pure-ftpd.conf 找到以下行,确保该行未被注释。 FortunesFile /usr/share/fortune/zippy

步骤 2 编辑 /usr/share/fortune/zippy文件(如没有 fortune文件夹或者 zippy文件,则新建该文件夹或该文件): #vi /usr/share/fortune/zippy 将自定义 BANNER写入其中。 步骤 3重启服务:

# /etc/init.d/xinetd restart

2.修改 vsftp回显信息 # vi /etc/vsftpd.conf ftpd_banner=” Authorized users only. All activity may be monitored and reported.”

可根据实际需要修改该文件内容。 重启服务:

# /etc/init.d/xinetd restart 操作验证:

1. 验证方法: # ftp localhost 2. 预期结果:可以看到警告信息

3.7 IP协议

3.7.1 SEC-SUSE-IP-01-禁止 ICMP重定向安全要求:

主机系统应该禁止 ICMP重定向,采用静态路由。 通用策略:

根据业务需求情况确定是否禁止 ICMP重定向 风险说明: 无

操作方法:

禁止系统发送 ICMP重定向包: # vi /etc/sysctl.conf 只接受有可靠来源的重定向。

net.ipv4.conf.default.secure_redirects=1 net.ipv4.conf.all.secure_redirects=1 如果这个服务器不做路由器,那么可以关闭该功能 net.ipv4.conf.default.send_redirects=0 net.ipv4.conf.all.send_redirects=0 net.ipv4.conf.default.accept_redirects = 0 net.ipv4.conf.all.accept_redirects = 0 执行以下命令使设置生效: # sysctl -p 操作验证:

1. 验证方法:使用 sysctl -a查看配置: #sysctl -a 2. 预期结果:相关设置符合预期

3.7.2 SEC-SUSE-IP-02-关闭网络数据包转发安全要求:

对于不做路由功能的系统,应该关闭数据包转发功能。 通用策略: 无

风险说明: 无

操作方法:

关闭数据包转发功能:

# vi /etc/sysctl.conf 关闭 IP转发: net.ipv4.ip_forward = 0 关闭转发源路由包:

net.ipv4.conf.all.accept_source_route = 0 net.ipv4.conf.default.accept_source_route = 0 执行以下命令使设置生效: # sysctl -p 操作验证:

1. 验证方法:使用 sysctl -a查看配置: #sysctl -a 2. 预期结果:相关设置符合预期

3.8 内核参数

3.8.1 SEC-SUSE-KERNEL-01-防止堆栈缓冲溢出安全要求:

防止堆栈缓冲区溢出 通用策略:

SUSE linux 无此项设置。 风险说明: 无

操作方法: 无

操作验证:

1. 验证方法:无 2. 预期结果:无

3.9 补丁/软件

3.9.1 SEC-SUSE-SW-01-安装 OS补丁安全要求:

应根据需要及时进行补丁装载。对服务器系统应先进行兼容性测试。 通用策略:

业务加固策略中的相关项:根据业务对补丁进行兼容性测试。 风险说明:

安装未经过产品进行兼容性测试的补丁,对业务正常运行造成的影响难以预料。 操作方法:

可以使用 Online Update或 Patch CD Update等方式升级系统补丁。 操作验证:

1. 验证方法: # uname -a

2. 预期结果:系统安装必要的补丁。

4 实施后验证

预计操作时间: 30分钟操作人员: 操作影响:无影响

4.1 系统检查

步骤 1检查是否有硬件故障

# dmesg

步骤 2检查是否有报错 # more /var/log/messages

步骤 3检查系统性能情况,与实施前性前进行对比 # top

# vmstat 5 10 # sar 5 10 并把相关结果记录下来

4.2 启动双机和业务

启动双机业务和监控脚本,进行双机切换。具体操作请参考对应产品的主机加固项目交付指导书。

4.3 业务检查

在做加固之后,做一次巡检检查系统状态是否都正常,具体请参考《彩铃主机加固项目交付指导书》。

5 风险回退

1.预计操作时间: 30分钟 2.操作人员:

3.操作影响:可能会造成业务中断。

1. 加固操作对业务功能或性能造成影响,且无法及时定位解决时需要回退; 2. 在回退前昀后收集故障信息,以便定位解决;

3. 在备份文件恢复失败等紧急情况时用磁带进行操作系统恢复。

5.1 故障信息收集:

步骤 1创建故障信息收集文件夹: #mkdir /tmp/hardendiag/config #mkdir /tmp/hardendiag/log #touch /tmp/hardendiag/ports #touch /tmp/hardendiag/services

步骤 2收集屏幕上的报错信息及涉及到的相关配置文件;

1. 拷屏或者截图;

2. #cp –p相关配置文件 /tmp/hardendiag/config

步骤 3收集加固后的修改过的配置文件;加固过程中修改了如下配置文件: /etc/passwd /etc/shadow /etc/group

/etc/security/pam_pwcheck.conf /etc/pam.d/passwd /etc/login.defs

/etc/default/useradd /etc/pam.d/login /etc/pam.d/sshd /etc/ssh/sshd_config /etc/xinetd.d/* /etc/ntp.conf

/etc/fstab /etc/exports (may no exist) /etc/snmpd.conf (SUSE 9)

/etc/snmp/snmpd.conf (SUSE 10) /etc/profile

$home/.profile(或.bash_profile) /etc/securetty /etc/pam.d/su /etc/ftpusers /etc/vsftpd.conf

/etc/pure-ftpd/pure-ftpd.conf /etc/hosts.allow /etc/hosts.deny /etc/inittab

/etc/syslog.conf (SUSE 9)

/etc/syslog-ng/syslog-ng.conf (SUSE 10) /etc/motd

/etc/sshbanner (may no exist) /etc/ssh/sshd_config /etc/issue /etc/issue.net /etc/sysctl.conf

#cp –p加固后的配置文件 /tmp/hardendiag/config

步骤 4收集日志信息;

#cp –p /var/log/errors /tmp/hardendiag/log #cp –p /var/log/messages /tmp/hardendiag/log

#cp –p /var/log/cron /tmp/hardendiag/log #cp –p /var/log/wtmp /tmp/hardendiag/log #cp –p /var/adm/pacct /tmp/hardendiag/log

步骤 5收集系统当前进程及开放端口信息; #netstat –an > /tmp/hardendiag/ports #ps –elf > /tmp/hardendiag/services

步骤 6打包取回以备分析定位。 # tar -cvf /tmp/hardendiag.tar /tmp/hardendiag

# rm -r /tmp/hardendiag

将/tmp/hardendiag.tar文件使用 ftp取回以备分析定位。

5.2 系统恢复:

步骤 1对实施前备份的配置文件进行恢复:加固过程中修改了如下配置文件: /etc/passwd /etc/shadow /etc/group

/etc/security/pam_pwcheck.conf /etc/pam.d/passwd /etc/login.defs

/etc/default/useradd /etc/pam.d/login /etc/pam.d/sshd /etc/ssh/sshd_config /etc/xinetd.d/* /etc/ntp.conf

/etc/fstab /etc/exports (may no exist) /etc/snmpd.conf (SUSE 9)

/etc/snmp/snmpd.conf (SUSE 10) /etc/profile

$home/.profile(或.bash_profile) /etc/securetty /etc/pam.d/su /etc/ftpusers /etc/vsftpd.conf

/etc/pure-ftpd/pure-ftpd.conf

从备份目录恢复相关文件

步骤 1 # cp –p备份文件 系统文件 步骤 2 重新启动相关服务

步骤 3 # /etc/init.d/xinetd restart当备份文件恢复失败等紧急情况时用磁带进行操作系统恢复

步骤 4 恢复后进行业务验证,业务验证方法同上

本文来源:https://www.bwwdw.com/article/3ve3.html

Top