银河麒麟操作系统安全加固指南(桌面+服务器版):从基础配置到纵深防御
银河麒麟(Kylin OS)作为国产自主可控操作系统的核心代表,广泛应用于政务、金融、能源等关键领域,其安全加固直接关系到核心业务数据与基础设施的安全。本指南基于银河麒麟V4/V10系列(覆盖桌面版与服务器版),围绕防火墙、账户保护、审计日志三大核心模块,结合等保2.0合规要求,提供从基础配置到高级加固的全流程可落地方案,同时区分桌面与服务器的差异化需求,兼顾安全性与易用性。
一、加固核心目标与适用范围
1. 核心加固目标
- 实现“最小权限、纵深防御”:限制非必要权限与服务,构建多层防护体系。
- 满足合规要求:适配等保2.0二级/三级标准,覆盖身份鉴别、访问控制、安全审计等核心控制点。
- 抵御常见攻击:防范暴力破解、权限提升、日志篡改、端口扫描等典型威胁。
- 保障系统稳定性:避免过度加固导致业务中断,平衡安全与可用性。
2. 适用版本与环境
- 桌面版:银河麒麟Kylin Desktop V4/V10(x86_64/ARM架构)。
- 服务器版:银河麒麟Kylin Server V4/V10(含鲲鹏、飞腾等国产芯片适配版本)。
- 适用场景:政企办公桌面、数据中心服务器、关键业务服务器(如数据库、应用服务器)。
二、防火墙安全配置(网络边界防护核心)
银河麒麟默认采用firewalld作为防火墙管理工具,支持图形界面与命令行配置,核心目标是“仅开放必要端口,阻断非法访问”,桌面与服务器版配置重点差异在于端口开放策略。
1. 基础配置:防火墙启停与状态检查
(1)通用操作(命令行,桌面/服务器通用)
- 启动并设置开机自启:
systemctl start firewalld && systemctl enable firewalld。 - 检查运行状态:
systemctl status firewalld(显示“active (running)”为正常)。 - 禁止防火墙关闭(防止误操作):
systemctl mask firewalld(取消屏蔽需执行systemctl unmask firewalld)。
(2)图形界面操作(桌面版专属)
- 打开“系统设置”→“安全中心”→“防火墙”,开启防火墙开关,勾选“开机自动启动”。
- 可视化查看当前防火墙状态、已开放端口与规则,适合非技术人员操作。
2. 端口与服务访问控制(核心差异化配置)
(1)服务器版:最小端口开放原则
服务器需严格限制端口开放,仅保留业务必需端口(如80/443、3306、22等),禁用所有非必要端口:
- 查看当前开放端口:
firewall-cmd --list-ports。 - 开放单个端口(如SSH 22端口):
firewall-cmd --permanent --add-port=22/tcp。 - 开放端口范围(如应用服务8080-8090):
firewall-cmd --permanent --add-port=8080-8090/tcp。 - 开放特定服务(如HTTP):
firewall-cmd --permanent --add-service=http。 - 移除无用端口:
firewall-cmd --permanent --remove-port=3389/tcp(禁用远程桌面默认端口)。 - 重载规则生效:
firewall-cmd --reload。 - 关键限制:禁用UDP协议非必要端口(如无特殊业务,仅开放DNS 53端口),避免UDP洪水攻击。
(2)桌面版:平衡安全与易用性
桌面版需开放日常办公必需端口,同时阻断高危端口:
- 必开放端口:DNS(53)、HTTP/HTTPS(80/443,浏览器访问)、打印机(631,如需要)。
- 禁止开放端口:21(FTP)、23(Telnet)、3389(RDP)、135/139/445(SMB,防范勒索病毒)。
- 图形界面配置:在“防火墙”→“端口”选项卡中,手动添加/删除端口,选择“永久生效”。
3. 高级防护配置(桌面/服务器通用)
- 配置区域策略:将网卡绑定到“public”区域(默认最高安全级别),
firewall-cmd --set-default-zone=public。 - 限制IP访问(服务器版推荐):仅允许指定IP段访问核心端口,如
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.1.0/24' port protocol='tcp' port='22' accept"(仅允许内网192.168.1.0段访问SSH)。 - 启用SYN Flood防护:
sysctl -w net.ipv4.tcp_syncookies=1,并写入/etc/sysctl.conf(永久生效)。 - 禁用IP转发:
sysctl -w net.ipv4.ip_forward=0,防止服务器被用作跳板机。
4. 常见问题排查
- 端口开放后仍无法访问:检查是否存在网络ACL、硬件防火墙拦截,或
firewalld规则未重载(执行firewall-cmd --reload)。 - 业务端口冲突:使用
netstat -tulnp | grep 端口号查询占用进程,调整端口或关闭无用进程。
三、账户与权限安全保护(身份鉴别与访问控制核心)
账户安全是系统防护的第一道防线,核心目标是“防止非法登录、限制权限滥用”,重点配置包括密码策略、账户管理、sudo权限控制三大模块。
1. 密码安全策略(桌面/服务器通用)
通过/etc/login.defs和PAM模块配置强密码策略,强制用户使用复杂密码,避免暴力破解:
(1)基础密码规则配置
- 编辑配置文件:
vi /etc/login.defs,修改以下参数:PASS_MAX_DAYS 90(密码最长有效期90天)。PASS_MIN_DAYS 7(密码修改间隔至少7天)。PASS_MIN_LEN 12(密码最小长度12位)。PASS_WARN_AGE 7(密码过期前7天提醒)。
- 执行
chage -M 90 -m 7 -W 7 用户名,对已有用户生效。
(2)强密码复杂度要求(PAM模块配置)
- 编辑
/etc/pam.d/system-auth,添加以下规则(确保存在pam_cracklib.so模块):password required pam_cracklib.so minlen=12 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1 retry=3。- 规则说明:密码需包含大写字母(ucredit=-1)、小写字母(lcredit=-1)、数字(dcredit=-1)、特殊字符(ocredit=-1),最多重试3次。
(3)账户锁定策略(防范暴力破解)
- 编辑
/etc/pam.d/password-auth和/etc/pam.d/system-auth,添加:auth required pam_tally2.so deny=5 unlock_time=1800 even_deny_root root_unlock_time=3600。- 规则说明:普通用户连续5次登录失败锁定30分钟(1800秒),root用户锁定60分钟,避免root暴力破解。
- 查看锁定状态:
pam_tally2 --user 用户名,解锁账户:pam_tally2 --user 用户名 --reset。
2. 账户管理:清理无用账户,限制特权用户
(1)禁用/删除无用账户
- 列出所有账户:
cat /etc/passwd,识别无用账户(如games、ftp、nobody等默认非必需账户)。 - 禁用账户:
usermod -L 用户名(锁定账户,无法登录)。 - 删除账户(谨慎操作):
userdel -r 用户名(-r参数删除用户家目录,避免残留文件)。 - 服务器版额外要求:禁用root远程登录(编辑
/etc/ssh/sshd_config,设置PermitRootLogin no,重启sshd服务:systemctl restart sshd)。
(2)sudo权限精细化控制
- 避免直接授予用户sudo所有权限,编辑
/etc/sudoers(需通过visudo命令,防止语法错误):- 允许特定用户执行指定命令:
用户名 ALL=(ALL) /usr/bin/systemctl restart httpd,/usr/bin/ls。 - 禁止用户使用sudo切换root:
用户名 ALL=(ALL) !/bin/su。
- 允许特定用户执行指定命令:
- 定期审计sudo权限:
cat /etc/sudoers.d/*,删除非必要权限配置。
(3)桌面版专属配置
- 禁用自动登录:“系统设置”→“用户账户”,关闭“自动登录”,要求每次开机输入密码。
- 启用屏幕锁屏:“系统设置”→“电源”,设置“闲置5分钟后锁屏”,锁屏密码与登录密码一致。
- 禁用Guest账户:编辑
/etc/lightdm/lightdm.conf,添加allow-guest=false,重启lightdm服务:systemctl restart lightdm。
3. 文件权限加固(防止权限泄露)
- 核心配置文件权限:确保
/etc/passwd(644)、/etc/shadow(000)、/etc/sudoers(440)权限正确,执行chmod 000 /etc/shadow && chmod 440 /etc/sudoers。 - 用户家目录权限:
chmod 700 /home/用户名,仅允许用户自身访问。 - 禁止普通用户修改系统文件:
chattr +i /etc/passwd /etc/shadow /etc/sudoers(+i属性禁止修改,需取消时执行chattr -i 文件名)。
四、审计日志配置(安全追溯核心)
银河麒麟基于auditd服务与系统日志(rsyslog)实现安全审计,核心目标是“全面记录关键操作,确保可追溯、可审计”,满足等保2.0“审计日志应包含事件时间、主体、客体、行为、结果等要素”的要求。
1. 审计服务基础配置(桌面/服务器通用)
- 启动并设置开机自启:
systemctl start auditd && systemctl enable auditd。 - 检查审计服务状态:
systemctl status auditd(auditd为即时生效服务,无需重启)。 - 配置日志存储:编辑
/etc/audit/auditd.conf,优化以下参数:log_file = /var/log/audit/audit.log(日志存储路径)。log_format = RAW(原始格式,避免日志篡改)。max_log_file = 100(单日志文件最大100MB)。max_log_file_action = rotate(日志满后轮转)。num_logs = 10(保留10个轮转日志,总容量1GB)。
- 配置日志分区:建议将
/var/log/audit单独挂载分区,避免日志占满系统盘。
2. 关键事件审计规则配置(核心差异化)
(1)服务器版:全面审计核心操作
服务器需重点审计账户变更、权限操作、文件访问、服务启停等关键事件,添加以下审计规则(编辑/etc/audit/rules.d/audit.rules):
- 账户与密码变更:
-w /etc/passwd -p wa -k account_change(记录passwd文件修改);-w /etc/shadow -p wa -k password_change(记录密码文件修改)。 - sudo操作审计:
-w /usr/bin/sudo -p x -k sudo_exec(记录sudo执行命令)。 - 系统配置修改:
-w /etc/sysctl.conf -p wa -k sysctl_change;-w /etc/firewalld/ -p wa -k firewall_change。 - 核心文件访问:
-w /root/ -p rwx -k root_access(记录root目录访问);-w /var/log/ -p wa -k log_modify(记录日志文件修改)。 - 服务启停:
-w /usr/bin/systemctl -p x -k service_control。 - 生效规则:
auditctl -R /etc/audit/rules.d/audit.rules,查看规则:auditctl -l。
(2)桌面版:聚焦用户操作与系统安全
桌面版审计无需过度复杂,重点审计登录行为、敏感文件访问:
- 登录与锁屏:
-w /var/log/secure -p wa -k login_event(记录登录日志修改)。 - 敏感文件访问:
-w /etc/passwd -p wa -k account_change;-w /etc/sudoers -p wa -k sudo_config。 - 图形界面配置:打开“安全中心”→“审计日志”,勾选“登录审计”“文件访问审计”,设置日志保留时间≥90天。
3. 日志备份与监控(桌面/服务器通用)
- 日志备份:配置rsyslog定时备份审计日志,编辑
/etc/rsyslog.conf,添加/var/log/audit/audit.log /var/backup/logs/audit_%Y%m%d.log rotate 10,并设置cron任务每日备份:0 0 * * * /usr/sbin/rsyslogd -N1。 - 日志监控:部署日志分析工具(如ELK、银河麒麟自带日志审计工具),设置告警规则(如“连续5次登录失败”“修改/etc/shadow文件”时触发邮件/短信告警)。
- 日志保护:
chattr +a /var/log/audit/audit.log(+a属性仅允许追加,禁止删除/修改),防止日志被篡改。
4. 审计日志查询与分析
- 查询登录事件:
ausearch -k login_event。 - 查询账户变更:
ausearch -k account_change。 - 实时监控日志:
tail -f /var/log/audit/audit.log。 - 导出日志:
aureport -a > /tmp/audit_report.txt(生成审计汇总报告)。
五、其他关键安全加固配置(桌面+服务器)
1. 系统补丁与更新
- 服务器版:优先使用离线更新(避免在线更新引入风险),下载官方补丁包后执行
yum localinstall 补丁包.rpm -y,定期更新周期≤30天。 - 桌面版:打开“系统更新”→“设置”,勾选“自动检查更新”,设置“重要补丁立即安装”,非重要补丁手动审核安装。
- 禁用无用仓库:
yum repolist查看仓库,禁用非官方仓库:yum-config-manager --disable 仓库名。
2. 服务管理:禁用非必要服务
- 列出运行中服务:
systemctl list-unit-files --type=service --state=enabled。 - 禁用无用服务(服务器版重点):
systemctl stop bluetooth && systemctl disable bluetooth(蓝牙服务)。systemctl stop avahi-daemon && systemctl disable avahi-daemon(零配置网络服务)。systemctl stop cups && systemctl disable cups(打印服务,无打印需求时禁用)。
- 桌面版:保留桌面必需服务(如lightdm、NetworkManager),禁用telnet、ftp等高危服务。
3. SELinux/AppArmor配置
- 启用SELinux(推荐服务器版):
- 编辑
/etc/selinux/config,设置SELINUX=enforcing(强制模式),SELINUXTYPE=targeted。 - 重启系统生效:
reboot,检查状态:getenforce(显示“Enforcing”为正常)。 - 桌面版:若影响日常使用,可设置为
SELINUX=permissive(宽容模式,仅记录不阻断)。
- 编辑
- 配置AppArmor(替代SELinux,桌面版推荐):
- 安装:
yum install apparmor apparmor-utils。 - 启动:
systemctl start apparmor && systemctl enable apparmor。 - 启用常用profile:
aa-enforce /etc/apparmor.d/*。
- 安装:
4. 禁用危险协议与功能
- 禁用Telnet/FTP:
yum remove telnet-server vsftpd(彻底卸载,避免误启用)。 - 禁用USB存储设备(服务器版推荐):
- 编辑
/etc/modprobe.d/blacklist.conf,添加blacklist usb-storage。 - 执行
rmmod usb-storage(立即生效,无需重启)。
- 编辑
- 桌面版:如需启用USB,可通过“安全中心”→“设备控制”,设置“仅允许信任USB设备”。
六、加固效果验证与合规自查
1. 基础验证步骤
- 防火墙验证:
firewall-cmd --list-ports,确认仅开放必要端口;使用外部设备扫描,验证非法端口是否阻断。 - 账户验证:
cat /etc/login.defs检查密码策略;pam_tally2 --user 测试用户,连续5次输错密码,验证是否锁定。 - 审计日志验证:执行
sudo ls,然后ausearch -k sudo_exec,确认操作被记录。 - 权限验证:
ls -l /etc/shadow,确认权限为000;普通用户尝试修改/etc/passwd,验证是否被拒绝。
2. 等保2.0合规自查要点
- 身份鉴别:是否实现强密码、账户锁定、root远程登录禁用(服务器版)。
- 访问控制:是否按最小权限分配账户权限,sudo权限是否精细化。
- 安全审计:审计日志是否包含关键操作要素,是否备份与监控。
- 边界防护:防火墙是否启用,非必要端口是否关闭。
- 补丁管理:是否定期更新系统补丁,无高危漏洞未修复。
七、总结与注意事项
银河麒麟操作系统的安全加固核心是“围绕合规要求,聚焦关键模块,兼顾安全与可用”。服务器版需以“最小权限、严格管控”为原则,桌面版需在安全与用户体验间找到平衡。加固后需定期(建议每季度)复查配置,结合最新威胁情报更新防护规则,确保防御体系持续有效。
关键注意事项
- 操作前备份:修改核心配置文件(如
/etc/sudoers、/etc/audit/rules.d/audit.rules)前,执行cp 文件名 文件名.bak备份,避免配置错误导致系统异常。 - 服务器版谨慎操作:禁用服务、修改防火墙规则前,确认不影响业务运行;建议在非业务高峰期执行加固。
- 定期更新规则:根据业务变化(如新增服务端口),及时调整防火墙与审计规则,避免防护失效。
更多推荐



所有评论(0)