麒麟操作系统 (kylinos)常见问题:关于安全加固

150 阅读11分钟

银河麒麟操作系统是中国自主研发的一款操作系统,主要针对服务器和个人电脑平台。旨在为用户提供安全、稳定、高效的使用体验。但是,习惯了微软的Windows系列操作系统,转向麒麟操作系统是个不小的挑战。操作系统作为信息系统的核心组件,承担着硬件与软件资源调度的关键职责,也是信息安全体系的基础支撑。上层应用对数据完整性、机密性、可用性的保障,必须依托于操作系统的安全防护。单纯依赖网络层或应用层的安全措施,难以有效抵御黑客攻击和病毒入侵等安全威胁。通过实施操作系统基础安全配置,可构建动态安全防御体系,在提升系统抗风险能力。以下内容分别从银河麒麟桌面操作系统V10和银河麒麟服务器操作系统V10,介绍其安全加固详细的操作流程。

银河麒麟桌面操作系统

防火墙:把好安全第一关

防火墙是一项关键安全功能,它可以帮助我们有效地保护电脑免受网络攻击。以下是开启和配置防火墙的步骤:

1.打开银河麒麟操作系统,点击左下角“开始菜单”。

2.“开始菜单”界面中,选择“安全中心”。

3.“网络保护”选项中,选择“防火墙”。

4.“防火墙”界面中,点击“开启防火墙”。

5.在“防火墙”界面中,可以对允许通过防火墙的程序进行设置。可以选择允许或禁止某个应用程序的网络连接,也可以开放某个程序的端口。

图片

安全体检

系统内置安全体检功能,可以有效地检测和清除恶意软件。以下是使用病毒查杀功能的步骤:

1.打开银河麒麟操作系统,进入“安全中心”。

2.在“安全中心”界面中,选择“安全体检”。

3.点击“开始体检”按钮,等待扫描完成后,查看扫描结果。

4.如果检测到存在异常,需要进行修复操作。

图片

安全设置:全面提升系统安全性

系统的安全设置功能可以帮助我们全面提升系统的安全性,包括账户保护、应用保护。以下是进行安全设置的步骤:

1.打开银河麒麟操作系统,进入“安全中心”。

2.在“安全中心”界面中,选择“账户保护”。

3.在“账户保护”界面中,安全中心还提供系统账户密码强度策略配置,账户锁定策略配置功能,并且用户可以自行开启或关闭功能。开启状态时,系统账户需要遵循当前密码强度策略要求;关闭状态时,系统账户则无任何密码强度限制。账户保护提升了账户和登录的安全性,支持设置密码强度、支持设置密码连续输错次数、用户锁定时间,防止密码被暴力破解。

图片

4.在“安全中心”界面中,选择“应用保护”。

5.在“应用保护 ”界面中,可以针对应用进行安全功能的设置。例如:安装未知来源的应用程序时提醒、执行未认证的应用程序提醒、进程防杀死、内核模块防卸载、文件防篡改等选项。

图片

6.在“安全中心”界面中,选择“设备安全”。

7.在“设备安全 ”界面中,可以针对外接设备进行安全功能的设置。它通过对USB 接口、无线网卡、有线网卡3类接口, USB 存储设备、摄像头、蓝牙设备和打印机4类设备,内置光驱、移动光驱和移动存储3类权限,以及未授权设备、设备策略和连接记录3个列表进行操作和管控,可实现已接入设备的追踪,查看接入记录,帮助用户保护设置内置核心部件的安全性,防止系统数据泄露。

图片

以上就是银河麒麟桌面操作系统V10安全加固操作流程。

银河麒麟服务器操作系统

一、 身份鉴别

cat /etc/security/pwquality.conf		//查看密码复杂度difok 代表不得与上次密码相同的字符个数;minlen 为密码最小长度;dcredit 为密码中最少包含数字的个数;ucredit 为密码中最少包含大写字母的个数;lcredit 为密码中最少包含小写字母的个数;ocredit 为密码中最少包含特殊字符的个数;maxrepeat 为密码中相同字符出现最多的次数;usercheck 为检测密码是否与用户名相似。数值为-1 时代表至少需要相应字符一位、数值为-2时代表需要需要相应字符两位,依次类推chage -l 用户名		//查看密码有效期chage -M 90 用户名		//设置密码有效期为90天,此命令只可更改当前已存在的账户的密码有效期cat /etc/login.defs		//查看通用密码有效期PASS_MAX_DAYS 后数值为密码最长有效期PASS_MIN_DAYS 后数值为密码最短有效期PASS_WARN_AGE 后数值为密码过期前告警天数

确认用户在登录过程中是否采用了身份鉴别措施(一般为用户名+口令)确认是否有空口令账户存在cat /etc/passwd 该文件中各用户的第二字段不为空确认用户当前口令是否具有复杂度,是否定期更换。与linux查看方式相同

麒麟操作系统默认是有做相应的安全加固配置,装机好后,查看 /etc/ssh/sshd_config文件PermitEmptyPasswords 值默认为 no无法通过空口令进行ssh登录

图片

查看口令最后修改日期与口令最长更改日期

chage -l username
或者查看 /etc/shadow 文件该列数值,代表口令最长使用期限

图片

2.  操作系统强制策略

① 口令复杂度

cat /etc/security/pwquality.conf

默认情况下已经配置好对应的强制密码复杂度策略参数说明: 

type=xxx:当添加/修改密码时,系统给出的省缺提示符是“New UNIX password”以及“Retype UNIX password”,使用该参数可以自定义输入的密码提示符。

(如password    requisite     pam_cracklib.so type=1111111)

retry=N:修改密码可重试的次数,返回密码修改错误

difok=N:新密码必需与旧密码不同的位数 

dcredit=N:N >0密码中最多有多少个数字长度加1;

                    N<0密码中最少有多少个数字

lcredit=N:小写字母的个数

ucredit=N:大写字母的个数

ocredit=N:特殊字母的个数

minclass=N:密码组成(大/小字母,数字,特殊字符)

minlen=N:密码最小长度 

在Linux操作系统中,minclass是密码复杂度策略的一个参数,用于定义密码中最小要求的字符类别数。字符类别包括大写字母(A-Z)、小写字母(a-z)、数字(0-9)和特殊字符(例如 !@#$%^&*())。当minclass被设置为一个正整数值时,这意味着密码必须包含至少该整数值所指定的字符类别数量。例如,如果将minclass设置为2,则密码至少需要包含两个不同的字符类别(如数字和大写字母)。测试minclass=3,尝试配置简单口令无法配置成功。所以麒麟操作系统口令复杂度校验这块默认设置 minclass=3,minlen=8 符合等保要求。

② 口令最长过期时间

配置文件:/etc/login.defs

默认情况下还是99999天

1.登录失败处理功能
cat /etc/pam.d/password-auth  如不存在则访问cat /etc/pam.d/common-auth

默认情况下登录失败3次锁定60s,包括所有账户,同时包括本地登录和SSH远程登录

2.操作超时

图形化桌面:控制面板→电源管理,默认5分钟

cat /etc/pam.d/common-password		//查看登录失败处理auth required pam_tally2.so deny=5 unlock_time=300 even_deny_root root_unlock_time=300//在首行添加,5次锁定300秒cat /etc/profile | grep TMOUT//核查登录超时,单位秒

c)当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听

netstat -tlnp|moreservice sshd statusservice telnet status	//不允许开启telnet

查看远程管理方式,确认是否仅使用SSH方式管理

图片

d)应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用密码技术来实现 

核查用户登录服务器外是否还需要动态令牌等另一种验证。

二、访问控制

a)应对登录的用户分配账户和权限

1.确定当前账户情况

通过查看/etc/passwd、/etc/shadow、/etc/group文件,查看可登录的普通账户有哪些,以及用户组的情况。

控制面板→ 用户账户 也能查看

2.确定是否限制root账户权限

配置文件:/etc/ssh/sshd_config

确认PermitRootLogin 是否为no

b)应重命名或删除默认账户,修改默认账户的默认口令 依据28448判定要求,该条满足1或2就可以判断为符合

确认root账户是否禁用或重命名,或已修改成复杂口令

c)应及时删除或停用多余的、过期的账户,避免共享账户的存在

3.确定是否存在多余、过期账户

结合/etc/shadow文件中的账户,与管理员确认账户使用情况,是否存在多余无用账户。

4.确认是否存在共享账户

确认管理人员与账户之间的对应关系,确认是否存在多人共用统一账户的情况存在。

d)应授予管理用户所需的最小权限,实现管理用户的权限分离 

三权分立原则,至少建立系统管理员、安全管理员、审计管理员三种权限帐号。

平常我们在做测评的时候,如果只有一个root账户的情况下应该是不符合的,因为个人理解,就一个账户的话就不算做了访问控制策略。

f)访问控制的粒度应达到主体为用户级或进程级,客体为文件、数据库表级

这个Linux操作系统默认符合,访问控制粒度主体为用户或者进程,客体为文件和目录级别。

g)应对重要主体和客体设置安全标记,并控制主体对有安全标记信息资源的访问

getenforce		//查看selinux级别SELinux是一个内核级别的安全机制,是对于强制访问控制的实现。在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件,提供了强有力的安全保护。Disabled:关闭Permissive:宽松模式(仅告警)Enforcing:强制模式

图片

三、安全审计

a) 应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计

service rsyslog status         service auditd status		//两种日志服务都需开启

图片图片

ps -ef |grep auditd(安全审计守护进程)//查看命令结果发现有audit进程表示进程正在开启auditctl  -s(查看audit模块是否开启)//查看命令结果(enabled 1“开启”  0“关闭”)

b) 审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息 

查看当前系统日期:date

日志文件目录:/var/log/

tail /var/log/audit/audit.log		//查询日志是否记录

c)应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等

1.有日志服务器

一般/etc/syslog.conf 文件下会有如下配置

.emerg; .alert; .crit; .err; .warning; .notice; .info; .debug @日志服务器地址

确认是否能查询到6个月前日志信息

2.无日志服务器

查看对应审计日志服务器本地权限

ls  -l  /var/log/audit  //查看审计文件权限ls  -l  /var/log   //查看目录权限,文件可以有读取权限,但不允许有写入权限。

查看日志存储周期,是否能保存6个月以上

tail -20 /var/log/audit/audit.log //最近20条日志记录head -20 /var/log/audit/audit.log //最早20条日志记录

d)应对审计进程进行保护,防止未经授权的中断 

确认除root账户外,是否有其他用户可以终止审计进程。

例如可以执行systemctl stop rsyslog.service等相关命令。