一、文档概述

       本文档针对银河麒麟操作系统V10制定安全加固方案,遵循等保2.0安全规范、最小权限、纵深防御、业务可用四大核心原则,全面修复系统安全漏洞、规避配置风险、规范系统运维行为。

二、加固前置准备

2.1 实验环境

  1. 操作系统:银河麒麟操作系统V10
  2. 实验平台:天枢一体化虚拟仿真平台

2.2系统信息核查

      加固前需确认系统版本、内核、运行环境,精准适配加固策略,执行以下核查命令:


# 查看麒麟系统版本
cat /etc/kylin-release
# 查看系统内核版本
uname -r
# 查看系统运行状态、开机自启项
systemctl list-unit-files --type=service
# 查看监听端口
ss -tulnp

2.2 备份关键配置文件

       加固前必须备份系统核心配置文件,便于异常时快速回滚。本实验环境,有初始模版暂不需要进行备份操作,如中途需备份操作也可以使用平台的快照功能保存配置。

三、 账户与密码安全加固

3.1 清理无效冗余账户

      系统默认存在部分无用账户,易成为攻击入口,需批量清理、锁定闲置账户。

操作步骤

# 查看所有普通用户(UID≥1000)
awk -F: '$3>=1000 {print $1}' /etc/passwd
# 锁定长期闲置、无用普通账户(禁止登录)
usermod -L 用户名
# 删除无用账户(确认无业务使用后执行)
userdel -r 用户名
# 锁定系统默认闲置账户
usermod -L games
usermod -L nobody

      加固标准:无多余普通账户,闲置账户全部锁定,无匿名可登录账户。

3.2 密码复杂度策略加固

     通过PAM模块强制密码复杂度,杜绝弱密码,适配等保密码安全要求。

修改配置文件:编辑 /etc/pam.d/system-auth 和 /etc/pam.d/password-auth

# 新增/修改密码复杂度规则
password required pam_pwquality.so retry=3 minlen=10 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1 enforce_for_root

参数说明

  • retry=3:密码输入错误最大重试次数3次
  • minlen=10:密码最小长度10位
  • dcredit=-1:至少包含1个数字
  • ucredit=-1:至少包含1个大写字母
  • lcredit=-1:至少包含1个小写字母
  • ocredit=-1:至少包含1个特殊字符
  • enforce_for_root:root账户强制遵循复杂度策略

3.3 密码有效期与过期策略

      配置密码定期更换,避免长期不变弱密码风险,编辑 /etc/login.defs

# 密码最大有效期90天
PASS_MAX_DAYS   90
# 密码最小修改间隔7天
PASS_MIN_DAYS   7
# 密码到期提前15天提醒
PASS_WARN_AGE   15

     生效命令:针对已有用户统一刷新策略

chage --maxdays 90 --mindays 7 --warndays 15 root
# 批量应用至所有普通用户
for user in $(awk -F: '$3>=1000 {print $1}' /etc/passwd);do chage --maxdays 90 --mindays 7 --warndays 15 $user;done

3.4 登录失败锁定策略

     防止暴力破解登录,配置账户登录失败自动锁定,修改PAM配置:

     编辑 /etc/pam.d/sshd/etc/pam.d/login,添加以下内容:

# 连续5次登录失败,锁定账户30分钟
auth required pam_tally2.so deny=5 unlock_time=1800 even_deny_root root_unlock_time=1800

解锁命令

# 查看锁定状态
pam_tally2 -u 用户名
# 手动解锁
pam_tally2 -r -u 用户名

3.5 限制su权限与sudo安全管控

      禁止普通用户随意切换root账户,精细化管控sudo权限。

1、编辑 /etc/pam.d/su,开启su权限限制:

auth required pam_wheel.so use_uid

2、仅wheel组用户可执行su命令,将授权用户加入wheel组:

usermod -G wheel 用户名

3、sudo权限加固:编辑 /etc/sudoers,禁止sudo提权漏洞,开启sudo日志记录


Defaults logfile="/var/log/sudo.log"
Defaults passwd_timeout=5

四、SSH远程登录安全加固

      SSH是远程运维核心入口,为高危攻击端口,需全方位加固,配置文件:/etc/ssh/sshd_config

4.1 基础安全配置

# 禁止root远程登录
PermitRootLogin no
# 禁止空密码登录
PermitEmptyPasswords no
# 关闭弱加密算法
Ciphers aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr
# 最大认证尝试次数
MaxAuthTries 3
# 开启SSH版本2协议
Protocol 2
# 闲置会话超时退出(600秒)
ClientAliveInterval 600
ClientAliveCountMax 0
# 限制最大并发连接数
MaxSessions 10

4.2 隐藏系统版本信息

      屏蔽SSH登录回显的系统版本、内核信息,避免攻击者探测系统漏洞,修改配置并重启服务:

Banner none
systemctl restart sshd

4.3 可选加固(高安全场景)

  • 修改SSH默认22端口(自定义10000-65535高端口)
  • 开启密钥登录,关闭密码登录
  • 配置SSH白名单,仅指定IP可远程连接

配置生效命令

systemctl restart sshd
systemctl enable sshd

五、系统服务与端口加固

5.1 关闭非必要开机自启服务

      关闭无用服务,减少系统资源占用与攻击面,服务器/桌面版通用:

# 关闭Telnet、FTP、RPC等高危无用服务
systemctl disable --now telnet
systemctl disable --now vsftpd
systemctl disable --now rpcbind
systemctl disable --now nfs
systemctl disable --now cups
systemctl disable --now avahi-daemon

5.2 端口安全管控

      核查所有监听端口,关闭陌生、无用端口,仅保留业务必要端口:

# 查看所有监听端口与对应服务
ss -tulnp
# 关闭无用端口对应的服务,禁止开机自启

5.3 系统开机安全加固

  • 设置GRUB引导密码,禁止单人模式破解root密码
  • 关闭开机欢迎冗余信息,屏蔽系统敏感版本号
  • 开启开机自检,禁止非法设备引导

六、防火墙与网络安全加固

     麒麟V10默认使用firewalld防火墙,需开启并配置严格访问策略,拒绝所有非法访问。

6.1 防火墙基础配置

# 开启防火墙并设置开机自启
systemctl start firewalld
systemctl enable firewalld
# 设置默认区域为public,默认拒绝所有入站流量
firewall-cmd --set-default-zone=public
# 关闭ICMP重定向、非法报文
firewall-cmd --permanent --add-icmp-block=all
firewall-cmd --reload

6.2 端口与IP白名单管控

      仅放行业务必需端口,禁止全端口开放,示例如下:

# 放行SSH、业务端口(按需修改)
firewall-cmd --permanent --add-port=22/tcp
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
# 仅放行指定IP段访问核心端口
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.1.0/24' port protocol='tcp' port='22' accept"
firewall-cmd --reload

6.3 内核网络参数加固(防攻击)

     编辑 /etc/sysctl.d/99-security.conf,添加防DDOS、防端口扫描、防IP欺骗参数:

# 开启SYN洪水防护
net.ipv4.tcp_syncookies = 1
# 禁止IP转发
net.ipv4.ip_forward = 0
# 禁止接收ICMP重定向报文
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
# 禁止发送重定向报文
net.ipv4.conf.all.send_redirects = 0
# 开启反向路径校验,防IP欺骗
net.ipv4.conf.all.rp_filter = 1
# 忽略ICMP广播报文,防风暴攻击
net.ipv4.icmp_echo_ignore_broadcasts = 1
# 记录恶意异常报文
net.ipv4.tcp_abort_on_overflow = 1

生效命令

sysctl -p /etc/sysctl.d/99-security.conf
sysctl --system

七、文件系统权限安全加固

7.1 关键系统文件权限锁定

      严格限制系统核心配置文件权限,防止非法篡改:

# 账户配置文件权限
chmod 644 /etc/passwd
chmod 000 /etc/shadow
chmod 644 /etc/group
# SSH配置文件权限
chmod 600 /etc/ssh/sshd_config
# 系统配置文件权限
chmod 644 /etc/profile
chmod 644 /etc/sysctl.conf
# 锁定文件禁止修改(终极防护)
chattr +i /etc/passwd
chattr +i /etc/shadow
chattr +i /etc/group

7.2 禁止SUID/SGID高危权限文件

      排查系统高危SUID文件,移除非法提权权限,防止本地提权漏洞:

# 查找所有SUID文件
find / -perm -4000 -type f
# 查找所有SGID文件
find / -perm -2000 -type f
# 移除无用高危文件SUID权限
chmod u-s 高危文件路径

7.3 临时目录安全加固

      加固/tmp、/var/tmp目录权限,防止恶意文件挂载与执行:

chmod 1777 /tmp
chmod 1777 /var/tmp

八、日志审计安全加固

8.1 开启系统审计服务auditd

      auditd为系统核心审计服务,全程记录用户操作、配置变更、登录行为,必须永久开启:

# 开启并自启审计服务
systemctl enable --now auditd
systemctl enable --now rsyslog

8.2 配置核心审计规则

      编辑 /etc/audit/rules.d/audit.rules,添加全覆盖审计规则:

# 监控账户配置文件变更
-w /etc/passwd -p wa -k passwd_change
-w /etc/shadow -p wa -k shadow_change
-w /etc/group -p wa -k group_change
# 监控SSH配置变更
-w /etc/ssh/sshd_config -p wa -k ssh_config
# 监控系统内核参数变更
-w /etc/sysctl.conf -p wa -k sysctl_change
# 记录所有用户执行命令
-a always,exit -F arch=b64 -S execve -k command_execute
# 记录登录注销事件
-w /var/log/secure -p wa -k login_log

      加载审计规则

auditctl -R /etc/audit/rules.d/audit.rules

8.3 日志留存与权限加固

  • 日志留存时长≥6个月,符合等保合规要求
  • 限制日志文件访问权限,仅管理员可查看
  • 开启日志轮转,防止日志溢出覆盖

      编辑 /etc/logrotate.conf,配置日志自动轮转留存。

九、系统内核与安全模块加固

9.1 开启系统强制访问控制

      银河麒麟V10默认支持AppArmor安全模块,开启后可限制程序越权操作:

systemctl enable --now apparmor

9.2 禁用高危内核模块

      禁用未知、高危、废弃内核模块,防止内核漏洞利用:

# 禁用usb存储、ipv6(按需,无业务需求则关闭)
echo "install usb-storage /bin/true" >> /etc/modprobe.d/blacklist.conf
echo "blacklist ipv6" >> /etc/modprobe.d/blacklist.conf

9.3 系统超时自动退出

      配置终端闲置超时自动登出,防止账号挂机被盗用,编辑 /etc/profile

# 闲置600秒自动退出
export TMOUT=600
readonly TMOUT

生效命令:source /etc/profile

十、补丁更新与病毒防护加固

10.1 系统补丁常态化更新

      定期更新系统安全补丁,修复已知漏洞,麒麟系统专属更新命令:

# 更新软件源缓存
apt update
# 升级所有安全补丁
apt upgrade -y
# 自动清理无用依赖
apt autoremove -y

      建议配置每月自动补丁更新,规避系统高危漏洞。

10.2 安全中心病毒防护

银河麒麟V10自带安全中心,开启实时病毒防护、漏洞扫描、恶意程序拦截:

  • 开启实时文件监控、网络防护、U盘防护
  • 每周执行一次全盘安全体检与漏洞扫描
  • 开启恶意程序自动隔离、告警功能

十一、加固结果验证方法

      所有加固项完成后,需逐项验证加固效果,确保配置生效,无业务异常。

11.1 账户密码验证

  • 尝试创建弱密码用户,验证复杂度策略生效
  • 连续多次输错密码,验证账户锁定功能
  • 查看用户密码有效期:chage -l 用户名

11.2 SSH安全验证

  • 测试root远程登录是否被禁止
  • 测试空密码登录是否拦截
  • 查看SSH配置参数:sshd -t

11.3 防火墙与网络验证

  • 查看防火墙规则:firewall-cmd --list-all
  • 查看内核参数生效:sysctl -a | grep 对应参数
  • 测试非法端口、非法IP访问拦截效果

11.4 审计日志验证

  • 查看auditd服务状态:systemctl status auditd
  • 查看审计日志:ausearch -m all
  • 修改系统配置,验证日志记录功能
Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐