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

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

提示

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

升级

FusionCloud 6.3.0 安全管理指南 09

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

安全加固(SUSE)

加固前必读

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

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

  • 查询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-2所示。

图12-2 非私有云场景加固流程
私有云场景

私有云场景安全加固的流程如图12-3所示。

图12-3 私有云场景安全加固流程

加固前准备

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

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

表12-5 软件安装包文件列表

安装包文件

说明

安装包路径

OceanStor BCManager V200R001C30xxx_eBackup_Software_SuSE.tar.gz

eBackup软件安装包

说明:

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

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

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

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

终端环境与工具

说明

Windows终端

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

跨平台远程访问工具

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

跨平台文件传输工具

跨平台文件传输工具,例如WinSCP等,用于向eBackup备份服务器上传文件。

信息收集

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

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

表12-7 信息收集表

编号

收集项

收集方法

默认值

备注

1

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

从局点LLD获取。

-

-

2

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

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

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

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

-

安全加固操作步骤

私有云场景

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

  1. 以“root”帐户登录eBackup服务器。
  2. 执行TMOUT=0命令,防止系统超时退出。
  3. 执行如下命令重启rpcbind和nfs服务:

    service rpcbind restart

    service nfs restart

  4. 执行如下命令开启rpcbind和nfs服务:

    chkconfig rpcbind on

    chkconfig nfs on

  5. 安装eBackup软件,按照非私有云场景进行加固。
非私有云场景

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

  1. 本地解压OceanStor BCManager V200R001C30xxx_eBackup_Software_SuSE.tar.gz后,在解压目录继续解压OceanStor BCManager V200R001C30xxx_eBackup_Software_base.tar.gz,获取到安全加固软件包StandardSuseHardening.tar。
  2. 以“hcp”帐户登录eBackup服务器。
  3. 执行su - root ,输入root密码,切换到root用户
  4. 执行TMOUT=0命令,防止系统超时退出。
  5. 使用文件传输工具(例如:winscp)将StandardSuseHardening.tar上传到备份服务器的/home/hcp目录中。
  6. 执行cd /home/hcp命令进入压缩包所在目录。
  7. 执行tar -xvf StandardSuseHardening.tar命令解压压缩包。
  8. 执行cd StandardSuseHardening命令进入StandardSuseHardening目录。
  9. 执行chmod +x *命令设置加固脚本具有可执行权限。
  10. 执行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)

  11. 输入“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”等信息,该项不影响系统的加固,可以忽略。

  12. 输入“yes”,按“Enter”,立即重启OS生效安全加固项目;如果需要继续手动执行其他安全加固项,请选择输入“no”,按“Enter”,完成后手动重启OS生效安全加固项目。
  13. 执行以下命令清理环境:

    rm -rf  /home/hcp/StandardSuseHardening 
    rm -rf  /home/hcp/StandardSuseHardening.tar

  14. 登录到其他eBackup服务器,按照步骤 2~步骤 13完成加固操作。

    说明:

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

(可选)手动执行其他安全加固项

本章加固项是可选项,用户可以根据实际需要手动对以下项目进行加固。

配置SSH公钥认证登录方式
加固目的

提供SSH公钥认证登录方式的操作方法。

加固步骤
  1. 使用PuTTYgen工具生成登录的公钥和私钥,选择Key的类型和位数(默认为SSH-2 RSA和2048),单击“Generate”生成公钥、私钥,生成过程中请在工具进度条下方随机移动鼠标以便产生随机性的公钥和私钥。

  2. 使用“hcp”帐户登录系统,然后请将“Public key for pasting into OpenSSH authorized_keys file”下方框中的公钥信息复制后保存到/home/hcp/.ssh/authorized_keys中,如果.ssh目录或者authorized_keys文件不存在则手动创建对应的目录和文件。

    mkdir /home/hcp/.ssh 
    vim /home/hcp/.ssh/authorized_keys
    说明:

    如果设置“root”公钥登录则对应目录为:/root/.ssh/authorized_keys。

    示例中为设置“hcp”帐户的公钥登录。

    复制公钥信息到/home/hcp/.ssh/authorized_keys。

    输入:wq!保存文件退出。

    执行如下命令,修改文件属性。

    chown -R hcp:hcp /home/hcp/.ssh 
    chmod 700 /home/hcp/.ssh 
    chmod 600 /home/hcp/.ssh/authorized_keys

  3. 建议输入私钥密码后根据SSH客户端登录方式保存私钥。

    说明:

    如采用PuTTY客户端则单击"Save private key"保存私钥文件。

  4. 完成上述操作后,执行 "su - root" 切换为“root”帐户,修改/etc/ssh/sshd_config文件禁用密码登录,开启公钥登录方式。

    #禁止密码认证:

    PasswordAuthentication no

    #允许使用纯 RSA 公钥认证:

    RSAAuthentication yes

    #采用公钥认证:

    PubkeyAuthentication yes

    #禁用质疑-应答(challenge-response)认证:

    ChallengeResponseAuthentication no

    #存放“hcp”用户可以用来登录的 RSA/DSA 公钥的目录:

    AuthorizedKeysFile /home/hcp/.ssh/authorized_keys
    说明:

    如果是“root”用户,路径为:/root/.ssh/authorized_keys。

  5. 执行命令service sshd restart重启sshd服务生效修改的配置。
  6. 如果有多台备份代理则重复步骤 2~步骤 5直到完成所有备份代理的设置。
回退方案

将修改过的配置文件恢复到修改前的状态,然后执行命令service sshd restart重启sshd服务。

回退成功的判断依据

通过密码能够成功登录系统。

附录

本章所介绍的加固项已在安全加固操作步骤中完成,本章仅对加固进行说明。

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

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. 使用推荐密码算法和散列算法,减少被攻击的风险:
      Ciphers aes256-ctr,aes192-ctr,aes128-ctr 
      MACs hmac-sha2-512,hmac-sha2-256,hmac-ripemd160,hmac-sha1
    8. 禁止远程主机连接本地的转发端口:
      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 hcp
      AllowGroups hcp

回退方案
  1. 将加固步骤中备份的/etc/ssh/sshd_config文件恢复到相应位置下:

    cd StandardSuseHardening

    cp -f backupConfs/etc/ssh/sshd_config /etc/ssh/sshd_config

    说明:

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

  2. 重启ssh服务,以使修改生效:
    service sshd restart
回退成功的判断依据
  1. 打开/etc/ssh/sshd_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.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

    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
回退方案

参考回退方案,将加固步骤中备份的/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. 设置系统用户的密码策略,防止用户使用过于简单的密码。修改/etc/pam.d/common-password文件,设置用户密码策略:
    password required pam_cracklib.so retry=3 minlen=14 dcredit=-1 ucredit=-1 ocredit=-1 lcredit=-1 enforce_for_root 
    password required pam_pwhistory.so  remember=15 use_authtok use_first_pass enforce_for_root crypt=sha256 
    password required pam_unix2.so    nullok use_authtok
  5. 删除无用的用户并设置保留用户的shell以减少用户帐户被利用的风险。使用命令:
    cat /etc/passwd

    可以查看到当前系统中有的帐户信息,如表12-8所示:

    表12-8 操作系统默认用户

    用户名

    ID

    默认SHELL

    是否可登录

    描述

    root

    0

    /bin/bash

    root

    bin

    1

    /bin/false

    bin

    man

    13

    /bin/false

    Manual pages viewer

    at

    25

    /bin/false

    Batch jobs daemon

    sshd

    71

    /bin/false

    SSH daemon

    ntp

    74

    /bin/false

    NTP daemon

    uuidd

    102

    /bin/false

    User for uuidd

    messagebus

    103

    /bin/false

    User for D-Bus

    polkituser

    104

    /bin/false

    PolicyKit

    haldaemon

    105

    /bin/false

    User for haldaemon

    nobody

    65534

    /sbin/nologin

    NFS系统使用

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

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

  7. 禁止非法终端登录,减少非授权用户登录系统的风险,去掉/etc/securetty中以下字母开头的配置项“vc”
回退方案

参考回退方案,对上述加固步骤中修改了内容或权限的文件进行恢复。

回退成功的判断依据
  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

回退方案

参考回退方案,将加固步骤中备份的/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

回退方案

参考回退方案,将加固步骤备份的/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 使修改生效。
回退方案

参考回退方案,对上述加固步骤中修改了内容或权限的文件进行恢复。

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

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

加固过程说明

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

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

服务名称

是否开启

作用

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命令查看当前系统中所有服务的打开或者关闭的状态。

对SSH访问增加防暴力破解机制
加固目的

远程SSH连接,输入多次错误的密码之后,锁定用户。

加固过程说明

编辑/etc/pam.d/sshd,增加如下两行内容,设置ssh登录多少次失败后锁定时间:

auth required pam_tally2.so deny=10 unlock_time=300 no_magic_root

account required pam_tally2.so

其中,unlock_time=300表示解除锁定的时间,单位为秒,这里表示5分钟。

回退方案

编辑/etc/pam.d/sshd,删除最后的两行:

auth required pam_tally2.so deny=10 unlock_time=300 no_magic_root

account required pam_tally2.so

回退成功的判断依据

使用vi打开/etc/pam.d/sshd,查看加固过程中增加的下面两行内容是否已被删除:

auth required pam_tally2.so deny=10 unlock_time=300 no_magic_root

account required pam_tally2.so

删除ipv6服务
加固目的

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

加固过程说明
  1. 删除/etc/hosts中关于ipv6信息的行。
  2. 在/etc/sysconfig/network/config文件最后加入一行:

    NETWORKING_IPV6=no

  3. 在/etc/modprobe.d/目录下创建一个叫做ipv6off.conf的文件,输入以下信息:

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

    并且执行以下命令,修改文件的权限:

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

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

    加固后就没有了:

  2. 使用命令lsmod | grep ipv6,查看是否加载了ipv6模块。
设置警示消息
加固目的

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

加固过程说明
  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的所有行。
回退方案

参考回退方案,将保存的/etc/motd、/etc/issue、/etc/issue.net文件,恢复到相应位置。

回退成功的判断依据

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

其他加固
加固目的

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

加固过程说明
  1. 易用性增强:
    1. 禁止响应windows键,防止跳转到其他终端。修改/etc/sysconfig/keyboard文件,删除winkeys关键字。
    2. 允许插入自研内核模块。修改/etc/modprobe.d/unsupported-modules:

      allow_unsupported_modules 1

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

      console

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

      RC_LANG="en_US.UTF-8"

    5. 设置硬件时钟使用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

回退方案

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

回退成功的判断依据

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

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

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

加固过程说明

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

logging_collector = on

log_directory = 'pg_log'

log_connections = on

log_disconnections = on

log_duration = on

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

回退方案

参考回退方案,将加固过程备份的文件backupConfs/opt/huawei-data-protection/ebackup/db/data/postgresql.conf恢复原路径。

回退成功的判断依据
  1. 以“hcp”帐户登录备份服务器。
  2. 执行su root命令,输入“root”帐户密码,切换至“root”帐户。
  3. 执行TMOUT=0命令,防止系统超时退出。
  4. 执行以下命令:
    cd /opt/huawei-data-protection/ebackup/db/bin 
    export LD_LIBRARY_PATH=/opt/huawei-data-protection/ebackup/db/lib
  5. 执行./gsql -d admindb -U eBkDbAdmin -p 6432命令,输入数据库用户的密码(缺省为Huawei@CLOUD8!),登录数据库,其中“6432”为数据库端口号。
  6. 使用如下语句检查:
    ADMINDB=# show log_connections; 
    log_connections 
    ----------------- 
    on 
    (1 row)
翻译
下载文档
更新时间:2019-01-25

文档编号:EDOC1100015665

浏览量:28420

下载量:788

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