所选语种没有对应资源,请选择:

本站点使用Cookies,继续浏览表示您同意我们使用Cookies。Cookies和隐私政策>

提示

尊敬的用户,您的IE浏览器版本过低,为获取更好的浏览体验,请升级您的IE浏览器。

升级

FusionCloud 6.3.0 安全管理指南 09

评分并提供意见反馈 :
华为采用机器翻译与人工审校相结合的方式将此文档翻译成不同语言,希望能帮助您更容易理解此文档的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 华为对于翻译的准确性不承担任何责任,并建议您参考英文文档(已提供链接)。
安全加固(Euler)

安全加固(Euler)

加固前必读

如果eBackup服务器是Euler操作系统,请参考本文进行安全加固。

如果eBackup服务器是SUSE操作系统,请参考安全加固(SUSE)

  • 查询SUSE操作系统的方式:
    1. 使用PuTTY,以hcp帐户登录eBackup服务器。

      hcp帐户默认密码为“PXU9@ctuNov17!”

    2. 执行以下命令。

      cat /etc/SuSE-release

      若回显类似以下信息则是SUSE操作系统:

  • 查询Euler操作系统的方式:
    1. 使用PuTTY,以hcp帐户登录eBackup服务器。

      hcp帐户默认密码为“PXU9@ctuNov17!”

    2. 执行以下命令。

      cat /etc/euleros-release

      若回显类似以下信息则是Euler操作系统:

加固概述

加固目的

为提供更加安全和稳定的运行环境,需要完善系统安全策略,减少安全漏洞,提高系统抗攻击能力。

加固影响

加固过程会自动重启gaussdb服务,加固完成后,也需要重启操作系统,会暂时中断业务,确保加固时没有正在运行的任务。

加固组件
  • eBackup备份服务器的操作系统
  • GaussDB数据库
加固注意事项

加固脚本以及手动加固操作只能在eBackup服务器上执行。

请在已经安装了eBackup软件的操作系统上执行安全加固,否则将导致无法安装配置eBackup。

加固流程

安全加固具体操作由安全加固脚本完成,脚本中的加固流程如图12-1所示。
图12-1 加固流程

加固前准备

在进行安全加固前,需要收集必要的信息以及获取所需的加固软件和工具。

获取所需的加固软件和工具
准备软件安装包

eBackup软件安装包参考表12-1。在获取到软件安装包后,需要对安装包的完整性进行检查,确保安装包中相关文件完整。

说明:

在网站http://support.huawei.com上获取软件,需要提前申请相应的获取权限。

表12-1 软件安装包列表

安装包文件

说明

安装包路径

OceanStor BCManager V200R001C30xxx_eBackup_Software_Euler.tar.gz

eBackup软件安装包

说明:

下载软件时,请获取.asc签名文件,并使用华为技术支持网站提供的数字签名公钥和验证工具,进行软件完整性校验。

  1. 请直接单击软件包下载按钮旁边的图片下载,下载与软件包同名的.asc数字签名文件。方式如下:
    • 企业用户:
    • 运营用户:
  2. 数字签名公钥、验证工具及使用方法请从如下地址获取:
准备其他软件

在加固前需要准备相关环境及工具,以便在加固时使用。需要准备的终端环境及工具参考表12-2

表12-2 需要准备的终端环境与工具

终端环境与工具

说明

Windows终端

运行Windows操作系统的终端,用于安装跨平台远程访问工具、跨平台文件传输工具,以执行加固操作。

跨平台远程访问工具

跨平台远程访问工具,例如PuTTY等,用于登录eBackup备份服务器。

信息收集

介绍在加固前需要检查的信息,以便指导加固操作人员做加固前准备。

需要获取及确认的信息如表12-3所示。

表12-3 信息收集表

编号

收集项

收集方法

默认值

备注

1

所有eBackup服务器的管理IP地址

从局点LLD获取。

-

-

2

所有eBackup服务器的hcp用户密码和root用户密码

联系现场运维工程师从相关记录文档中获取。

root帐户的默认密码是“Cloud12#$”

hcp帐户的默认密码是“PXU9@ctuNov17!”

-

安全加固操作

在安装4.1节获取到的软件后,可按以下步骤完成加固:

  1. 使用PuTTY,以hcp帐户,通过管理IP地址,登录需要进行加固的eBackup服务器。

    hcp帐户默认密码为“PXU9@ctuNov17!”

  2. 执行su - root ,输入root密码,切换到root用户。

    root帐户默认密码为“Cloud12#$”

  3. 执行TMOUT=0命令,防止系统超时退出。
  4. 获取安全加固软件包StandardSuseHardening.tar。

    说明:
    • 如果eBackup服务器由DMK或者FusionCloudDeploy进行安装配置,则在以下路径获取:

    “/opt/workspace/ OceanStor BCManager V200R001C30xxx_eBackup_Software_Euler/OceanStor BCManager V200R001C30xxx_eBackup_Software_base”

    • 如果eBackup服务器由手动安装,则可在eBackup安装脚本ebackup_utilities.sh所在路径的如下相对路径中获取:

    “OceanStor BCManager V200R001C30xxx_eBackup_Software_Euler/OceanStor BCManager V200R001C30xxx_eBackup_Software_base”

  1. 在安装包所在路径执行tar -xvf StandardSuseHardening.tar命令解压压缩包。
  2. 执行cd StandardSuseHardening命令进入StandardSuseHardening目录。
  3. 执行chmod +x *命令设置加固脚本具有可执行权限。
  4. 执行sh StandardSuseHardening.sh命令,开始进行安全加固。

    回显如下信息:

    ===============================================================   
    WARNING:   
    1.Security hardening script can only be performed on the backup server.   
    2.Run security reinforcement operation will restart hcp service, you make sure   
    there are no running tasks at this time.   
    ===============================================================   
    Do you sure to run it?(yes/no)

  5. 输入“yes”,按“Enter”。

    加固完成后,回显信息如下:

    You need to reboot the OS to make all of hardening items take effect, do you want to reboot now?(yes/no)
    说明:

    执行安全加固过程中,可能会提示“Skip harden:xxxxxx”等信息,该项不影响系统的加固,可以忽略。

  6. 输入“yes”,按“Enter”,立即重启OS生效安全加固项目;如果需要继续手动执行其他安全加固项,请选择输入“no”,按“Enter”,完成后手动重启OS生效安全加固项目。
  7. 登录到其他eBackup服务器,按照步骤 1~步骤 10完成加固操作。

    说明:

    执行安全加固命令StandardSuseHardening.sh后,会将修改的文件备份到加固命令同一级的backupConfs目录下,可用于回退操作。在清理环境前如果需要保留回退文件,可以将backupConfs目录拷贝到其它目录。

    安全加固操作中的数据库加固项和操作系统操作项的说明和回退方法请参见附录

附录

本章仅对加固项进行说明。eBackup备份软件使用的Gauss数据库,随eBackup软件一同安装。对于安装时默认已经进行了数据库加固的加固项,请不要随意修改安全设置,避免引起安全问题。

开启数据库日志记录配置
加固目的

审计客户端何时连接到数据库信息。

加固项说明

修改/opt/huawei-data-protection/ebackup/db/data目录下的postgresql.conf文件,配置数据库日志记录:

log_directory = 'pg_log'

log_connections = on

log_disconnections = on

log_duration = on

log_line_prefix = '%t %u %d %h'

回退方案

将postgresql.conf文件还原到加固前的状态。

cd StandardSuseHardening

cp -f backupConfs/opt/huawei-data-protection/ebackup/db/data/postgresql.conf /opt/huawei-data-protection/ebackup/db/data/

说明:

加固过程中会把对所修改的文件,文件权限变化等信息进行保存。路径为加固脚本“StandardSuseHardening.sh”的同级目录下的“backupConfs”,在进行加固回退时,可在改路径下寻找相应信息。

回退成功的判断依据
  1. 使用PuTTY,以hcp帐户,通过管理IP地址,登录需要进行加固的eBackup服务器。

    hcp帐户默认密码为“PXU9@ctuNov17!”

  2. 执行su - root ,输入root密码,切换到root用户

    root帐户默认密码为“Cloud12#$”

  3. 执行TMOUT=0命令,防止系统超时退出。
  4. 执行以下命令,导入环境变量:

    export LD_LIBRARY_PATH=/opt/huawei-data-protection/ebackup/db/lib

  5. 执行命令,输入数据库用户的密码(缺省为“Huawei@CLOUD8!”),登录数据库,其中“6432”为数据库端口号:

    cd /opt/huawei-data-protection/ebackup/db/bin

    ./gsql -d admindb -U eBkDbAdmin -p 6432

  6. 使用如下语句检查,若为如下回显,则回退成功:
    ADMINDB=# show log_connections;
    log_connections 
    -----------------
    on  
    (1 row)
SSH加固
加固目的

SSH为用户提供远程登录的服务,由于是开源组件,使用了OpenSSL,从而安全风险较高。对SSH服务做安全加固,可以有效的抵御攻击。

加固过程说明
  1. /etc/ssh/sshd_config文件保存l了sshd服务的配置项,下面的命令设置/etc/ssh/sshd_config文件不受非特权用户的未授权更改:

    chown root:root /etc/ssh/sshd_config  
    chmod 600 /etc/ssh/sshd_config

  2. /etc/ssh/sshd_config文件中参数的加固项:

    1. 使用更加安全的openssh v2协议:
      Protocol 2
    2. 关闭不必要的功能,禁止X11、TCP端口和代理转发:
      X11Forwarding no 
       AllowTcpForwarding no 
      AllowAgentForwarding no
    3. 禁止使用用户环境变量,防止用户通过自定义脚本绕过鉴权:
      PermitUserEnvironment no
    4. 禁止使用DNS查询,缩短用户登录时间:
      UseDNS no
    5. 禁止TCP保持连接:
      TCPKeepAlive no
    6. 禁止“root”用户直接登录,减少密码泄漏风险:
      PermitRootLogin no
    7. 使用推荐密码算法和散列算法,减少被攻击的风险:
      MACs hmac-sha2-512,hmac-sha2-256
      当openssh版本低于6.5时: 
      Ciphers aes256-ctr,aes192-ctr,aes128-ctr 
      当openssh版本等于或高于6.5时: 
      Ciphers aes256-ctr,aes192-ctr,aes128-ctr,chacha20-poly1305@openssh.com
    8. 禁止ssh服务端和ssh客户端的端口转发功能:
      /etc/ssh/sshd_config GatewayPorts no 
      /etc/ssh/ssh_config GatewayPorts no
    9. 禁止在每一次交互式登录时打印 /etc/motd 文件的内容:
      PrintMotd no
    10. 设置banner信息,用于在用户连接ssh时,显示相关警告信息:
      Banner /etc/issue.net
    11. 设置ssh日志等级:
      LogLevel VERBOSE
    12. 配置使用sftp功能,并设置日志级别,以记录用户登录信息:
      Subsystem  sftp  /usr/lib64/ssh/sftp-server -f LOCAL5 -l INFO
    13. 参数IgnoreRhosts指定在RhostsRSAAuthentication或HostbasedAuthentication中不使用.rhosts 和.shosts文件:
      IgnoreRhosts yes
    14. 尽管禁用/etc/pam.conf支持,.rhosts文件也会失效,禁用SSH的.rhosts文件提供了额外保护:
      HostbasedAuthentication no
    15. 不允许远程shell登录到无密码的帐户可以减少未授权登录的可能性:
      PermitEmptyPasswords no
    16. 设置空闲ssh连接超时断开:
      ClientAliveInterval 300  
      ClientAliveCountMax 0
    17. 设置认证失败重试次数,防止暴力破解:
      MaxAuthTries 2
    18. 不使用Kerberos认证方式:
      KerberosOrLocalPasswd no
    19. 由RFC-4252变为RFC-4256定义的登录认证机制:
      PasswordAuthentication no 
      ChallengeResponseAuthentication yes
    20. 仅允许特定组和用户登录(为了不影响安全加固执行前已存在的帐户的正常登录,加固脚本会把现有可登录用户都加入AllowUsers):
      AllowUsers 当前系统现有用户可登录用户 hcp 
      AllowGroups 当前系统现有用户可登录用户所在组 hcp

回退方案
  1. 参考回退方案,将加固步骤中备份的backupConfs目录下的/etc/ssh/sshd_config和/etc/ssh/ssh_config文件恢复到相应位置下。
  2. 重启ssh服务,以使修改生效:
    service sshd restart
回退成功的判断依据
  1. 打开/etc/ssh/sshd_config和/etc/ssh/ssh_config文件,查看加固步骤中的参数是否被修改。
  2. 使用以下命令,查看文件的权限,是否与加固步骤中的一致。

    ll <file_name>

网络加固
加固目的

针对网络的配置信息做加固,可以有效防止网络攻击。

加固过程说明
  1. TCP/IP相关内核参数加固(以下步骤需要打开/etc/sysctl.conf文件,查找以下参数,如果文件原本有这个参数,则修改,如果没有,则直接增加参数信息):
    1. 禁止从其他网口回应ARP:

      net.ipv4.conf.all.arp_ignore = 1

      net.ipv4.conf.default.arp_ignore = 1

      net.ipv4.conf.default.arp_announce = 2

      net.ipv4.conf.lo.arp_announce = 2

      net.ipv4.conf.lo.arp_ignore = 1

      net.ipv4.conf.all.arp_announce =2

      net.ipv4.conf.ethX.arp_announce = 2(其中ethX为系统中实际的网口名称,可使用“ifconfig -a”命令查询获得,对每个网口都进行了设置。)

    2. 禁用IP转发功能:

      net.ipv4.ip_forward = 0

      net.ipv4.conf.all.forwarding = 0

      net.ipv4.conf.default.forwarding = 0

    3. 禁止系统响应广播请求,防止“广播风暴”攻击:

      net.ipv4.icmp_echo_ignore_broadcasts = 1

    4. 禁止转发源路由包和源IP路由,不接收源路由信息包可以防止内部网络被探测:

      net.ipv4.conf.default.arp_filter = 1

      net.ipv4.conf.all.accept_source_route = 0

      net.ipv4.conf.default.accept_source_route = 0

    5. 禁止接收和转发ICMP重定向消息避免恶意用户使用IP重定向来修改远程主机中的路由表,影响系统正常运行:

      net.ipv4.conf.default.accept_redirects = 0

      net.ipv4.conf.all.accept_redirects = 0

      net.ipv4.conf.default.send_redirects = 0

      net.ipv4.conf.all.send_redirects = 0

    6. 禁止从默认网关接受ICMP重定向消息,可以有效防止ARP实行跨网段欺骗:

      net.ipv4.conf.all.secure_redirects = 0

      net.ipv4.conf.default.secure_redirects = 0

    7. 防止IP欺骗:

      net.ipv4.conf.all.rp_filter = 1

      net.ipv4.conf.default.rp_filter = 1

      net.ipv4.conf.lo.rp_filter = 1

    8. 关闭tcp_timestamps支持,否则可能遭受拒绝服务攻击:

      net.ipv4.tcp_timestamps = 0

    9. 确保伪造ICMP包被丢弃,避免恶意ICMP包影响系统正常运行:

      net.ipv4.icmp_ignore_bogus_error_responses = 1

    10. 仅在必要时开启ARP代理,避免ARP报文攻击影响系统正常运行:

      net.ipv4.conf.all.proxy_arp = 0

      net.ipv4.conf.default.proxy_arp = 0

    11. 设置从客户端连接请求等候确认的连接数,减少系统遭受SYN Flooding攻击受到的影响:

      net.ipv4.tcp_max_syn_backlog = 4096

    12. 设置socket序列,降低系统遭受SYN Flooding攻击的几率:

      net.ipv4.tcp_syncookies = 1

    13. 设置TCP协议中等待超时时间,避免由于等待时间过长遭受拒绝服务攻击:

      net.ipv4.tcp_fin_timeout = 60

    14. 固化别名IP:

      net.ipv4.conf.all.promote_secondaries = 1

    15. 关闭路径MTU探测:

      net.ipv4.ip_no_pmtu_disc = 1

    16. 设置合适的TCP数据接收缓冲:

      net.core.rmem_max = 3072000

    17. 记录可疑的Socket报文,方便查看服务器是否收到伪造的报文:

      net.ipv4.conf.all.log_martians = 1

      net.ipv4.conf.default.log_martians = 1

    18. 内核异常时panic并打印调用者信息,并且设置panic后5秒重启系统:

      kernel.panic_on_oops = 1

      kernel.panic = 5

    19. 启用系统魔术键,系统异常时打印关键信息:

      kernel.sysrq = 1

    20. 启用地址随机化机制,减少栈溢出攻击的可能性:

      kernel.randomize_va_space = 2

    21. 禁止带有S位的程序进行内存转储,防止敏感信息泄漏:

      fs.suid_dumpable = 0

    22. 开启并记录欺骗,源路由和重定向包:

      net.ipv4.conf.all.log_martians=1

      net.ipv4.conf.default.log_martians=1

    23. 设置需要限定速率的ICMPv4包类型:

      net.ipv4.icmp_ratemask=344096

  2. /etc/host.conf文件中参数加固。
    1. 防止IP地址欺骗,减少网络攻击的风险:

      nospoof on

    2. 优先使用本地DNS,减少DNS攻击风险:

      order hosts, bind

  3. 删除危险的网络文件,防止恶意用户接入系统:
    rm -rf /root/.rhosts  
    rm -rf /root/.shosts  
    rm -rf /etc/hosts.equiv  
    rm -rf /etc/shosts.equiv  
    ln -s /dev/null /root/.shosts  
    ln -s /dev/null /etc/shosts.equiv
回退方案

参考回退方案,将加固步骤中备份的backupConfs目录下的/etc/sysctl.conf、/etc/host.conf、/root/.rhosts、/root/.shosts、/etc/hosts.equiv、/etc/shosts.equiv文件,恢复到相应的位置下。

执行下面指令从/etc/sysctl.conf加载内核参数设置:

sysctl -p

回退成功的判断依据
  1. 打开/etc/sysctl.conf、/etc/host.conf文件,检查文件是否根据加固步骤做了修改。
  2. 使用ll命令查看/root/.shosts、/etc/hosts.equiv文件,检查文件是否已经链接到/dev/null。
用户鉴权
加固目的

修改操作系统的用户配置,防止恶意或不受信任的用户登入系统,减少系统受攻击的风险。

加固过程说明
  1. 删除和创建指定文件:

    rm /etc/cron.deny  
    rm /etc/at.deny  
    touch /etc/cron.allow  
    touch /etc/at.allow

  2. 设置文件权限:

    chmod 400 /etc/cron.allow  
    chown -R root:root /etc/cron.allow  
    chmod 400 /etc/at.allow  
    chown -R root:root /etc/at.allow  
    chmod og-rwx /etc/cron.d  
    chmod og-rwx /etc/crontab  
    chmod og-rwx /etc/cron.hourly  
    chmod og-rwx /etc/cron.daily  
    chmod og-rwx /etc/cron.weekly  
    chmod og-rwx /etc/cron.monthly  
    chown root:root /usr/bin/crontab  
    chown root:root /usr/bin/at

  3. 单用户模式要求输入密码,防止随意进入系统。修改/etc/inittab文件,增加修改以下配置:

    ~~:S:respawn:/sbin/sulogin

  4. 开启用户的投影密码。

    执行pwconv命令,将 /etc/passwd内的帐户与密码移动到/etc/shadow中,只允许系统管理者读取,同时把原密码置换为“x”字符,有效的强化了系统的安全性:

  5. 禁止非法终端登录,减少非授权用户登录系统的风险,去掉/etc/securetty中以下字母开头的配置项:

    vc

回退方案

参考回退方案,将加固步骤中备份的backupConfs目录下的用户鉴权加固相关的所有文件,恢复到相应的目录之下。

回退成功的判断依据
  1. 打开修改的文件,检查配置是否根据加固步骤中做了修改。
  2. 使用ll命令查看文件,检查文件权限是否根据加固步骤中做了修改。
日志审计
加固目的
  • 将操作系统的命令执行或者操作信息记入日志,以便在系统受到攻击时进行审计。
  • 对日志审计的配置做安全加固,防止恶意用户绕过日志记录。
加固过程说明
  1. 修改/etc/profile.local文件记录用户登录信息,并且将与历史记录相关的环境变量设置成只读:

    shopt -s cdspell

    shopt -s cmdhist

    shopt -s histappend

    export PROMPT_COMMAND='history -a'

    HISTFILESIZE=200000; export HISTFILESIZE

    HISTCONTROL=ignoredups; export HISTCONTROL

    HISTIGNORE="&:ls:[bf]g:ps:history:exit"; export HISTIGNORE

    HISTSIZE=10000;export HISTSIZE

    export TMOUT=60

    MYTTY="$(echo $tty|sed 's#/dev/##g')"

    WHOISTHIS="$(who | grep "$MYTTY"|sed 's/ \{2,\}/ /g')"

    if [ ! -z "$HISTFILE" ] && [ ! -z "$WHOISTHIS" ]; then

    echo "#$(date +%s)" >> $HISTFILE

    echo " #Login: $WHOISTHIS" >> $HISTFILE

    fi

  2. 修改/etc/login.defs文件记录登录鉴权失败时记录相应的信息:

    FAILLOG_ENAB yes

回退方案

参考回退方案,将加固步骤中备份的backupConfs目录下的/etc/profile.local、/etc/login.defs文件,恢复到相应的目录下。

回退成功的判断依据

打开/etc/profile.local、/etc/login.defs文件,检查文件内容是否有加固信息。

文件系统
加固目的

配置文件系统的挂载选项,可以防止系统挂载特殊设备、包含可执行二进制文件等,提高操作系统安全性。

加固过程说明

禁止普通用户挂载可移动设备,设置可移动设备挂载属性。修改/etc/fstab文件,增加修改以下配置:

/dev/cdrom /media/ udf,iso9660 noexec,noauto,nouser,nodev,nosuid 1 2

回退方案

参考回退方案,将加固步骤中备份的backupConfs目录下的/etc/fstab文件,恢复到相应的目录下。

回退成功的判断依据

打开/etc/fstab文件,检查是否有加固步骤中加入的信息。

文件权限
加固目的

设置敏感文件的权限,减少普通用户获取其他用户的敏感信息,以及防止恶意用户修改敏感文件。

加固过程说明
  1. 设置敏感文件的文件权限,减少普通用户获取其他用户的敏感信息。

    chmod 440 /etc/sysctl.conf

    chmod 751 /etc/ssh

    chmod 644 /etc/passwd

    chmod 600 /etc/shadow

    chmod 1777 /tmp

    chmod 644 /etc/fstab

    chmod 600 /etc/pam.d/common-password

    chmod 640 /etc/login.defs

    chmod 640 /etc/syslog-ng/syslog-ng.conf

    chmod 640 /etc/logrotate.d/*

    chmod 644 /etc/logrotate.d/iscsiuiolog

    chmod 600 /etc/pam.d/*

    chmod 644 /etc/pam.d/su

    chmod 644 /etc/pam.d/su-l

    chmod 644 /etc/security/pam_pwcheck.conf

    chmod 600 /etc/security/opasswd

    chmod 644 /etc/hosts.allow

    chmod 644 /etc/hosts.deny

    chmod 600 -R /etc/ssl/certs/

    chmod og-rwx /boot/grub/menu.lst

    chmod 750 /var/run/dbus

    chmod 750 /var/run/PolicyKit

    chmod 700 /var/log/miniOS/

    chmod 600 /var/log/miniOS/usrRpm.log

    chmod 600 /var/log/miniOS/setup.log

    chmod 600 /var/log/miniOS/sysconfig.log

    chmod 600 /var/log/YaST2/mkinitrd.log

    chmod 600 /var/log/secure.log

    chmod -s -R /usr/lib/PolicyKit/*

    chmod -s /usr/lib64/pt_chown

    chmod -s /usr/bin/opiepasswd

    chmod -s /usr/bin/opiesu

    chmod -s /sbin/unix2_chkpwd

    chmod -s /lib/libachk.so

    chmod -s /lib64/libachk.so

    chmod -s /lib64/dbus-1/dbus-daemon-launch-helper

    chown root:root /etc/passwd

    chown root:root /etc/shadow

    chown root:root /var/log/news

    chown root:root /etc/fstab

    chown root:root /etc/ssh/*key

    chown root:root /etc/ssh/*key.pub

    chown root:root /var/lib/wwwrun

    chown root:messagebus /var/run/dbus

    chown polkituser:polkituser /var/run/PolicyKit

  2. 设置系统默认umask值为077,减少文件被篡改的风险。打开/etc/profile文件,查找umask参数项,如果没有则增加,如果有则修改为以下信息:

    umask 077

  3. 执行source /etc/profile命令使修改生效。
回退方案

参考回退方案,将加固步骤中备份的backupConfs目录下的文件权限加固相关的文件恢复到相应的目录下。

回退成功的判断依据
  1. 使用ll命令检查步骤 2中涉及到的文件,查看文件权限是否根据加固步骤做了修改,或者检查文件是否根据加固步骤进行了删除。
  2. 打开/etc/profile文件,查看umask参数是否根据加固步骤进行了修改。
服务配置
加固目的

根据系统的需要,关闭和开启相应系统服务,可以有效的减少被攻击的可能性。

加固过程说明

根据表12-4关闭和开启相应系统服务。

表12-4 操作系统服务状态

服务名称

是否开启

作用

acpid

处理与电源相关的事件

auditd

系统审计功能

boot.apparmor

强制访问控制系统

boot.cleanup

清理没有用途的文件

boot.clock

读取硬件时钟设置系统时间

boot.compliance

检查profile文件是否与机器兼容

boot.debugfs

加载debugfs

boot.device-mapper

激活设备映射模块

boot.efivars

加载efivar文件系统

boot.fstab

检查fstab文件是否正确

boot.fuse

加载fuser模块

boot.ipconfig

根据sysctl文件设置IP参数

boot.kbox

记录系统panic信息

boot.kdump

系统panic时记录相应信息

boot.klog

打印内核日志信息

boot.ldconfig

配置动态连接库

boot.loadmodules

加载需要按序加载的内核模块

boot.localfs

检查并挂载本地磁盘

boot.localnet

设置主机名和域名

boot.lvm

提供逻辑卷组服务

boot.lvm_monitor

监控逻辑卷组服务

boot.md

提供软raid服务

boot.proc

设置procfs的值

boot.quota

检查并开启quota

boot.recoverfstab

恢复fstab文件

boot.rootfsck

检查并加载根文件系统

boot.swap

开启fstab文件中配置的swap分区

boot.sysctl

读取sysctl配置项

boot.udev

管理内核设备事件

boot.udev_retry

加载完本地文件系统后,重新配置失败的设备

cron

系统定时任务

dbus

提供进程通信服务

haldaemon

管理系统的硬件信息

haveged

随机数产生服务

ipmi

硬件管理服务

kbd

键盘服务

lvm_wait_merge_snapshot

等待lvm_merge服务启动完成

network

网络服务

nscd

dns缓存服务

ntp

时间同步服务

purge-kernels

清理无用的软件包

random

随机数产生器

rpcbind

rpc服务

rpmconfigcheck

rpm配置检查

skeleton.compat

系统服务的模板文件

sshd

ssh服务

statmon

记录系统的性能信息

syslog

系统日志记录服务

aaeventd

apparmor事件通知服务

arpd

收集arp信息减少arp广播

arpwatch

防止arp攻击

atd

at服务

autoyast

自动配置服务

boot.cgroup

挂载/sys/fs/cgroup

boot.crypto

开启加密文件系统

boot.crypto-early

开启early crypto文件系统

boot.dmraid

开启dmradi

boot.multipath

设置多路径设备映射目标

boot.sysstat

将系统启动信息写入syslog

earlysyslog

系统日志服务

ipmievd

监听BMC发送的事件并发送消息到syslog

irq_balancer

irq负载均衡

ivman

磁盘挂载事件处理

kexec

kexec服务

mdadmd

监控软RAID服务

microcode.ctl

更新CPU的microcode

multipathd

多路径服务

network-remotefs

远程文件系统服务

nfs

nfs文件服务

postfix

邮件服务

powerd

UPS监控服务

raw

加载裸设备模块

rpasswdd

远程密码更新服务

rsyncd

rsync同步服务

setserial

初始化串口

回退方案

参考回退方案,在backupConfs/service_status.txt文件中查看加固前的服务状态信息,使用chkconfig命令对各服务进行打开和关闭的操作,恢复到原来的状态。

回退成功的判断依据

执行如下命令:

chkconfig --list -A

查看当前系统中所有服务的打开或者关闭的状态。

删除ipv6服务
加固目的

当前操作系统加固方案,都是针对ipv4做的。对于ipv6没有特别针对性的进行加固,所以会有潜在的风险。鉴于当前eBackup备份服务不适用ipv6协议,所以在服务器上删除ipv6服务。

加固过程说明
  1. 删除/etc/hosts中关于ipv6信息的行。
  2. 在/etc/modprobe.d/目录下创建一个叫做ipv6off.conf的文件,输入以下信息:

    alias net-pf-10 off options ipv6 disable=1

  3. 执行以下命令,修改文件的权限:

    chmod 600 /etc/modprobe.d/ipv6off.conf

  4. /boot/grub2/grub.cfg中加入ipv6.disable=1
  5. 在/etc/sysctl.conf中加入net.ipv6.conf.default.disable_ipv6 = 1和net.ipv6.conf.all.disable_ipv6 = 1
回退方案
  1. 参考回退方案,将加固步骤中备份的backupConfs目录下的/etc/hosts、/etc/sysconfig/network/config、/boot/grub2/grub.cfg文件还原到相应的目录下。
  2. 在/etc/modprobe.d/目录下删除ipv6off.conf文件。
  3. 重启机器后,即可生效。
回退成功的判断依据
  1. 使用命令ifconfig,可以查看是否有ipv6的地址,比如,加固前有ipv6地址:

    加固后就没有:

  2. 使用命令lsmod | grep ipv6,查看是否加载了ipv6模块。
  3. 观察/boot/grub2/grub.cfg是否含有ipv6.disable=1
设置警示消息
加固目的

警告消息通知尝试登录到系统的用户在系统中的法律地位。

加固过程说明
  1. 执行如下命令,设置相关文件的权限:

    touch /etc/motd

    chown root:root /etc/motd

    chmod 644 /etc/motd

    chown root:root /etc/issue

    chmod 644 /etc/issue

    chown root:root /etc/issue.net

    chmod 644 /etc/issue.net

  2. 设置警示消息:

    echo "Authorized users only. All activity may be monitored and reported." > /etc/issue

    echo "Authorized users only. All activity may be monitored and reported." > /etc/issue.net

  3. 从文件/etc/motd, /etc/issue和/etc/issue.net中删除包含\m、\r、\s或\v的所有行。
回退方案

参考回退方案,将加固步骤中备份的backupConfs目录下的/etc/motd、/etc/issue、/etc/issue.net文件,恢复到相应位置。

回退成功的判断依据

查看文件/etc/motd、/etc/issue、/etc/issue.net的内容,是否和加固前一致。

端口监听项加固
加固目的

禁止rpcbind服务监听端口。

加固过程说明
  1. 执行systemctl stop rpcbind.socket命令停止rpcbind服务。
  2. 执行systemctl disable rpcbind.socket命令把rpcbind服务从启动列表删除。
回退方案

执行如下指令:

systemctl enable rpcbind.socket

systemctl start rpcbind.socket

回退成功的判断依据

rpcbind服务状态正常。

Iptables加固
加固目的

防火墙禁止指定消息类型的ICMP数据包

加固过程说明

iptables -I INPUT -p icmp -m icmp --icmp-type redirect -j DROP

iptables -I INPUT -p icmp -m icmp --icmp-type timestamp-reply -j DROP

iptables -I INPUT -p icmp -m icmp --icmp-type address-mask-reply -j DROP

iptables -I INPUT -p icmp -m icmp --icmp-type 16 -j DROP

iptables -I OUTPUT -p icmp -m icmp --icmp-type redirect -j DROP

iptables -I OUTPUT -p icmp -m icmp --icmp-type timestamp-reply -j DROP

iptables -I OUTPUT -p icmp -m icmp --icmp-type address-mask-reply -j DROP

iptables -I OUTPUT -p icmp -m icmp --icmp-type 16 -j DROP

回退方案

参考回退方案,使用加固步骤中备份的backupConfs目录下的iptables_save备份文件,通过iptables-restore指令恢复

回退成功的判断依据

查看防火墙配置,加固项已回退

其他加固
加固目的

由于易用性,或者防止非受信任用户误操作、敏感信息泄露等,本节介绍操作系统做的一些其他的加固项。

加固过程说明
  1. 易用性增强:

    1. 允许插入自研内核模块。修改/etc/modprobe.d/unsupported-modules:

      allow_unsupported_modules 1

    2. 将console加入securetty,允许“root”用户登录终端。打开/etc/securetty文件,加入以下一行:

      console

    3. 设置系统默认编码,使系统可以显示中文。打开/etc/sysconfig/language文件,添加或修改以下配置项:

      RC_LANG="en_US.UTF-8"

    4. 设置硬件时钟使用utc时间。打开/etc/sysconfig/clock文件,添加或修改以下配置项:

      HWCLOCK="-u"

  2. 禁止产生core文件。修改/etc/security/limits.conf文件,添加以下两行内容:

    * soft core 0

    * hard core 0

  3. 将表示登录用户名和登录终端的环境变量设为只读。打开/etc/profile.local文件,添加以下两行内容:

    readonly SSH_CLIENT

    readonly LOGNAME

回退方案

参考回退方案,将加固步骤中备份的backupConfs目录下的文件,恢复到相应的目录下。

回退成功的判断依据

打开加固步骤中涉及到的文件,检查文件是否根据加固步骤进行了修改。

翻译
下载文档
更新时间:2019-01-25

文档编号:EDOC1100015665

浏览量:29495

下载量:793

平均得分:
本文档适用于这些产品
相关文档
相关版本
Share
上一页 下一页