银河麒麟(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备份,避免配置错误导致系统异常。
  • 服务器版谨慎操作:禁用服务、修改防火墙规则前,确认不影响业务运行;建议在非业务高峰期执行加固。
  • 定期更新规则:根据业务变化(如新增服务端口),及时调整防火墙与审计规则,避免防护失效。
Logo

更多推荐