博客摘录「 华为云平台-FusionSphere OpenStack 8.2.1 系统加固」2025年7月15日

编号    加固项    "风险
等级"    加固原理/Rationale    审计方法/Audit    期望结果/Expect Results    加固方法/Remediation
1 OpenSSH加固配置                        
1.1 OpenSSH加固配置                        
1.1.1    SSH使用的版本    H    "Open SSH V2版本在安全性能、方便性上有所提高,默认使用V2版本。
如果用户根据实际需要采用V1版本,可登录主机将数值修改为“1”。
"    查看/etc/ssh/sshd_config文件    Protocol被设置为“2”    将Protocol设置为2
1.1.2    SSH密码算法    H    "基于SSH加密传输的安全性需求,请使用以下加密算法:AES128,AES256,AES192,允许同时配置多个算法,以逗号隔开。
"    查看/etc/ssh/sshd_config文件    Ciphers被设置为“aes128-ctr,aes192-ctr,aes256-ctr”(x86系统下)或“aes128-ctr,aes192-ctr,aes256-ctr,chacha20-poly1305@openssh.com,aes128-gcm@openssh.com,aes256-gcm@openssh.com”(arm系统下)    将Ciphers配置项设置为“aes128-ctr,aes192-ctr,aes256-ctr”(x86系统下)或“aes128-ctr,aes192-ctr,aes256-ctr,chacha20-poly1305@openssh.com,aes128-gcm@openssh.com,aes256-gcm@openssh.com”(arm系统下)
1.1.3    SSH认证方式    H    允许公钥认证。    查看/etc/ssh/sshd_config文件    PubkeyAuthentication被设置为“yes”    将PubkeyAuthentication设置为“yes”
1.1.4    SSH认证方式    H    允许使用RSA算法进行安全验证。    查看/etc/ssh/sshd_config文件    RSAAuthentication被设置为“yes”(仅X86系统)    将RSAAuthentication设置为“yes”(仅X86系统)
1.1.5    SSH认证方式    H    认证时不需要使用“rhosts”和“shosts”文件。    查看/etc/ssh/sshd_config文件    IgnoreRhosts被设置为“yes”    将IgnoreRhosts设置为“yes”
1.1.6    SSH认证方式    H    不允许用rhosts或“/etc/hosts.equiv”加上RSA进行安全验证。    查看/etc/ssh/sshd_config文件    RhostsRSAAuthentication被设置为“no”(仅X86系统)    将RhostsRSAAuthentication设置为“no”(仅X86系统)
1.1.7    SSH认证方式    H    需要通过密码认证(需要手动在键盘输入密码认证)    查看/etc/ssh/sshd_config文件    PasswordAuthentication被设置为“yes”    将PasswordAuthentication设置为“yes”
1.1.8    SSH访问所有权    H    设置SSH在接收登录请求之前不检查用户目录和rhosts文件的权限和所有权    查看/etc/ssh/sshd_config文件    StrictModes被设置为“yes”    将StrictModes设置为“yes”
1.1.9    SSH登录前显示提示信息    H    设置SSH登录前显示提示信息。默认的提示信息为“Authorized users only. All activity may be monitored and reported.”。    查看/etc/ssh/sshd_config文件    Banner被设置为“/etc/issue.net”    将Banner设置为“/etc/issue.net”
1.1.10    SSH日志    H    "在记录来自sshd的消息的时候,是否给出“facility code”。
 KERN:内核信息。
 DAEMON:与xinetd相关的信息。
 USER:用户程序产生的日志信息。
 AUTH:认证信息。
 MAIL:邮件程序产生的日志信息。
"    查看/etc/ssh/sshd_config文件    SyslogFacility被设置为“AUTH”    将SyslogFacility设置为“AUTH”
1.1.11    SSH日志    H    记录日志提供的详细程度,该值从低到高顺序是:QUIET、FATAL、ERROR、INFO、VERBOSE、DEBUG。    查看/etc/ssh/sshd_config文件    LogLevel被设置为“VERBOSE”    将LogLevel设置为“VERBOSE”
1.1.12    禁止空密码用户登录    H    空密码用户是指口令为空的用户,基于安全考虑禁止空密码用户登录系统。    查看/etc/ssh/sshd_config文件    PermitEmptyPasswords被设置为“no”    将PermitEmptyPasswords设置为“no”
1.1.13    PAM登录认证    H    使用PAM模块认证。    查看/etc/ssh/sshd_config文件    UsePAM被设置为“yes”    将UsePAM设置为“yes”
1.1.14    禁止root用户直接SSH登录系统    H    允许root用户直接登录系统,攻击者可能会暴力破解root密码或绕过认证直接登入系统,获取系统超级权限,因此禁止root用户直接SSH登录系统。    查看/etc/ssh/sshd_config文件    PermitRootLogin被设置为“no”    将PermitRootLogin设置为“no”
1.1.15    允许external_om和internal_base平面网段访问22端口    H    不允许除external_om和internal_base平面网段的其他网段访问22端口    执行命令:iptables-save | grep ssh-INPUT    返回结果中存在external_om和internal_base平面网段    无
2 系统访问安全配置                        
2.1 系统访问安全配置                        
2.1.1    禁止通过CTRL+ALT+DEL重启系统    H    禁止通过"ALT+CTRL+DEL"重启系统,防止机器遭受非授权的人为的重启     查看/etc/systemd/system/ctrl-alt-del.target和/usr/lib/systemd/system/ctrl-alt-del.target    "/etc/systemd/system/ctrl-alt-del.target和
/usr/lib/systemd/system/ctrl-alt-del.target文件不存在"    "删除如下文件和链接
rm -f /etc/systemd/system/ctrl-alt-del.target
rm -f /usr/lib/systemd/system/ctrl-alt-del.target"
2.1.2    设置会话超时后系统自动退出    M    无人看管的终端容易被监听或被攻击,可能会危及系统安全。设置会话在5分钟(300秒)没有活动的情况下会话超时。当会话超时时自动退出终端,降低系统被攻击的风险    查看/etc/profile文件    文件中有: export TMOUT=300    文件中有:export TMOUT=300
2.1.3    限制命令历史记录的数量    M    Linux会自动记录用户输入过的命令,用于问题定位时查看,此处限制最多记录5000条,当超过5000条时,删除最老的记录    查看/etc/profile文件    "文件中有:
export HISTSIZE=5000 
 "    "在文件中添加:
export HISTSIZE=5000 
 "
2.1.4    禁用魔术键    H    禁用魔术键,避免由于直接发送命令到内核对系统造成影响,增强内核安全性    查看/etc/sysctl.d/60-uvp-security.conf文件    /etc/sysctl.d/60-uvp-security.conf中,将配置项“kernel.sysrq”设置为“=0”    /etc/sysctl.d/60-uvp-security.conf中,将配置项“kernel.sysrq”设置为“=0”
2.1.6    设置内核oops后系统重启    H    oops是指内核发生严重错误,最普遍的是引用了内存空地址。安全加固默认系统在发生该情况时重启,防止系统带病运行带来严重的影响    查看/etc/sysctl.d/60-uvp-security.conf文件    "/etc/sysctl.d/60-uvp-security.conf中,将配置项“kernel.panic_on_oops”设置为“=1”
"    /etc/sysctl.d/60-uvp-security.conf中,将配置项“kernel.panic_on_oops”设置为“=1”
3 文件及目录安全配置                        
3.1 文件及目录安全配置                        
3.1.1    只允许文件属主对本文件进行修改,禁止其他用户对该文件的修改    H    禁止其他用户删除或修改系统日志文件,保证系统日志的完整性    查看/var/log/目录下文件权限    普通用户没有这些文件的修改和执行权限    "执行如下命令。
chmod go-wx /var/log/*
"
3.1.2    设置日志目录和系统命令目录的权限    H    设置/var/log和/sbin、/usr/sbin目录权限为root用户可读写并执行,其他用户可读和可执行    查看/var/log /sbin /usr/sbin目录下文件夹的权限    /var/log /sbin /usr/sbin目录下文件夹的权限分别为755、777、555    "执行如下命令。
chmod 755 /var/log
chmod 777 /sbin
chmod 555 /usr/sbin"
3.1.3    为全局可写目录/tmp设置粘贴位    M    对于公共可写目录/tmp设置粘贴位,避免个人文件被他人修改    查看/tmp目录的权限    /tmp目录的权限信息中有“t”标识    "执行如下命令。
chmod o+t /tmp"
3.1.4    禁止非root用户读写或进入/root目录    H    禁止非root用户读写或进入/root目录    查看/root目录权限    目录权限为700    "执行如下命令。
chmod 700 /root"
3.1.5    设置口令文件权限    H    设置口令文件权限,防止普通用户读取或拷贝加密的口令文件内容。默认权限设置为000,该权限的含义是仅允许root用户进行读操作    查看目录/etc/shadow、/etc/shadow-权限    "/etc/shadow目录权限为000
/etc/shadow-目录权限为000"    "执行如下命令。
chmod 000 /etc/shadow 
chmod 000 /etc/shadow-
"
3.1.6    禁用core dump    H    core dump记录Linux系统运行错误的相关信息,甚至包含了系统的敏感信息,为了防止系统信息泄露,禁止使用core dump    查看/etc/profile文件    ulimit -c”设置为“0”    ulimit -c”设置为“0”
3.1.7    限制at命令的使用权限,禁止非root用户使用at命令    M    at命令用于创建在指定时间自动执行的任务,为避免任意用户通过at命令安排工作,造成系统易受攻击,仅指定root用户可使用该命令    查看/etc/at.deny、/etc/at.allow文件    "/etc/at.deny不存在
/etc/at.allow的所属用户组都是root,权限为400
"    "执行如下命令。
rm -f /etc/at.deny 
rm -f /etc/at.allow 
touch /etc/at.allow
chown root:root /etc/at.allow
chmod 400 /etc/at.allow
"
3.1.8    限制cron命令的使用权限,禁止非root用户使用cron命令    M    cron命令用于创建例行性任务,为避免任意用户通过cron命令安排工作,造成系统易受攻击,仅指定root用户可使用该命令    "查看/etc/cron.deny、/etc/cron.allow文件
"    "/etc/cron.deny不存在
/etc/cron.allow不存在
"    "rm -f /etc/cron.deny 
rm -f /etc/cron.allow "
3.1.9    设置守护进程的umask值    M    umask用来为新创建的文件和目录设置缺省权限,如果没有设定umask值,则生成的文件具有全局可写权限,存在一定的风险。为了提高守护进程新创建文件和目录的安全性,为其设置umask值为027    查看/etc/rc.status文件    umask被设置为“027”    将umask设置为“027”
3.1.10    设置/etc/inittab的模式和所有权    H    设置/etc/inittab的属主和群组都为root,权限为只有root用户可读和可写    查看/etc/inittab文件的权限和所属用户、组    /etc/inittab文件的权限为600,所属用户和组都是root    "执行如下命令
chown root:root /etc/inittab
chmod 600/etc/inittab"
4 帐户口令安全及认证配置                        
4.1 帐户口令安全及认证配置                        
4.1.1    锁定连续三次登录失败的用户    H    锁定连续三次登录失败的用户(包括root),5分钟(300秒)后自动解锁    查看/etc/pam.d/password-auth和/etc/pam.d/system-auth文件    "文件中有如下配置
auth required pam_faillock.so preauth audit deny=3 even_deny_root unlock_time=300
auth [default=die] pam_faillock.so authfail audit deny=3 even_deny_root unlock_time=300
auth sufficient pam_faillock.so authsucc audit deny=3 even_deny_root unlock_time=300"    "在配置文件/etc/pam.d/password-auth和/etc/pam.d/system-auth中,写入如下内容:
auth required pam_faillock.so preauth audit deny=3 even_deny_root unlock_time=300
auth [default=die] pam_faillock.so authfail audit deny=3 even_deny_root unlock_time=300
auth sufficient pam_faillock.so authsucc audit deny=3 even_deny_root unlock_time=300


"
4.1.2    设置密码复杂度    H    用户密码必须符合相应的复杂度要求    查看/etc/pam.d/password-auth和/etc/pam.d/system-auth文件    "文件中有如下配置:
password    requisite     pam_pwquality.so minlen=8 minclass=3 enforce_for_root try_first_pass local_users_only retry=3 dcredit=0 ucredit=0 lcredit=0 ocredit=0
password required pam_pwhistory.so use_authtok remember=5 enforce_for_root
"    "文件中有如下配置:
password    requisite     pam_pwquality.so minlen=8 minclass=3 enforce_for_root try_first_pass local_users_only retry=3 dcredit=0 ucredit=0 lcredit=0 ocredit=0
password required pam_pwhistory.so use_authtok remember=5 enforce_for_root"
4.1.3    "通用加密算法场景下:密码通过sha512方式进行加密
SM系列商密算法场景下:密码通过sm3方式进行加密"    H    "通用加密算法场景下:使用不可逆的安全的sha512加密算法对密码进行加密
SM系列商密算法场景下:使用不可逆的安全的sm3加密算法对密码进行加密"    "查看“/etc/pam.d/password-auth
”和“/etc/pam.d/system-auth”文件"    "文件中有如下配置:
通用加密算法场景下:password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
SM系列商密算法场景下:password sufficient pam_unix.so sm3 shadow nullok try_first_pass use_authtok"    "通用加密算法场景下:在配置文件“/etc/pam.d/password-auth
”和“/etc/pam.d/system-auth”文件中,写入password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
SM系列商密算法场景下:
在配置文件“/etc/pam.d/password-auth
”和“/etc/pam.d/system-auth”文件中,写入password sufficient pam_unix.so sm3 shadow nullok try_first_pass use_authtok"
4.1.4    验证登录用户的信息是否正确    H    在用户登录系统时使用pam_unix.so验证用户信息是否正确。如果用户信息错误,则禁止用户登录    "查看“/etc/pam.d/password-auth
”和“/etc/pam.d/system-auth”文件"    "文件中有如下配置
account required pam_unix.so"    "在配置文件“/etc/pam.d/password-auth
”和“/etc/pam.d/system-auth”中,写入如下内容。
account required pam_unix.so
"
4.1.5    设置密码有效期    H    用户需要定期修改密码,密码必须90天以内更换一次,在密码过期前7天提醒用户    查看/etc/login.defs文件    "写入如下内容。
PASS_MAX_DAYS 90 
PASS_MIN_DAYS 0 
PASS_WARN_AGE 7
"    "写入如下内容。
PASS_MAX_DAYS 90 
PASS_MIN_DAYS 0
PASS_WARN_AGE 7
"
4.1.6    限制使用su命令的帐户    H    只允许属于wheel群组的帐户使用su命令    查看/etc/pam.d/su文件    "写入如下内容。
auth required pam_wheel.so use_uid 
"    "写入如下内容。
auth required pam_wheel.so use_uid 
"
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CZIDC

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值