一、 文档概述
本文档针对银河麒麟操作系统V10制定安全加固方案,遵循等保2.0安全规范、最小权限、纵深防御、业务可用四大核心原则,全面修复系统安全漏洞、规避配置风险、规范系统运维行为。
二、加固前置准备
2.1 实验环境
- 操作系统:银河麒麟操作系统V10
- 实验平台:天枢一体化虚拟仿真平台

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
- 修改系统配置,验证日志记录功能