长期支持版本

    帐户口令

    屏蔽系统帐户

    说明

    除了用户帐户外,其他帐号称为系统帐户。系统帐户仅系统内部使用,禁止用于登录系统或其他操作,因此屏蔽系统帐户。

    实现

    将系统帐户的Shell修改为/sbin/nologin。

    usermod -L -s /sbin/nologin $systemaccount
    

    说明:
    $systemaccount 指系统帐户。

    限制使用su命令的帐户

    说明

    su命令用于在不同帐户之间切换。为了增强系统安全性,有必要对su命令的使用权进行控制,只允许root和wheel群组的帐户使用su命令,限制其他帐户使用。

    实现

    su命令的使用控制通过修改/etc/pam.d/su文件实现,配置如下:

    auth         required      pam_wheel.so use_uid
    

    表 1 pam_wheel.so配置项说明

    配置项

    说明

    use_uid

    基于当前帐户的uid。

    设置口令复杂度

    说明

    用户可以通过修改对应配置文件设置口令的复杂度要求,建议用户根据实际情况设置口令复杂度。

    实现

    口令复杂度通过/etc/pam.d/password-auth和/etc/pam.d/system-auth文件中的pam_pwquality.so和pam_pwhistory.so模块实现。用户可以通过修改这两个模块中的配置项修改口令复杂度要求。

    设置举例

    这里给出一个配置口令复杂度的例子,供用户参考。

    密码复杂度要求

    1. 口令长度至少8个字符。

    2. 口令必须包含如下至少3种字符的组合:

      -至少一个小写字母

      -至少一个大写字母

      -至少一个数字

      -至少一个特殊字符:`~!@#$%^&*()-_=+\|[{}];:'",<.>/?和空格

    3. 口令不能和帐号或者帐号的倒写一样。

    4. 不能修改为过去5次使用过的旧口令。

    配置实现

    在/etc/pam.d/password-auth和/etc/pam.d/system-auth文件中password配置项的前两行添加如下配置内容:

    password    requisite     pam_pwquality.so minlen=8 minclass=3 enforce_for_root try_first_pass local_users_only retry=3 dcredit=0 ucredit=0 lcredit=0 ocredit=0 
    password    required      pam_pwhistory.so use_authtok remember=5 enforce_for_root
    

    配置项说明

    pam_pwquality.so和pam_pwhistory.so的配置项请分别参见表2表3

    表 2 pam_pwquality.so配置项说明

    配置项

    说明

    minlen=8

    口令长度至少包含8个字符。

    minclass=3

    口令至少包含大写字母、小写字母、数字和特殊字符中的任意3种。

    ucredit=0

    口令包含任意个大写字母。

    lcredit=0

    口令包含任意个小写字母。

    dcredit=0

    口令包含任意个数字。

    ocredit=0

    口令包含任意个特殊字符。

    retry=3

    每次修改最多可以尝试3次。

    enforce_for_root

    本设置对root帐户同样有效。

    表 3 pam_pwhistory.so配置项说明

    配置项

    说明

    remember=5

    口令不能修改为过去5次使用过的旧口令。

    enforce_for_root

    本设置对root帐户同样有效。

    设置口令有效期

    说明

    出于系统安全性考虑,建议设置口令有效期限,且口令到期前通知用户更改口令。

    实现

    口令有效期的设置通过修改/etc/login.defs文件实现,加固项如表4所示。表中所有的加固项都在文件/etc/login.defs中。表中字段直接通过修改配置文件完成。

    表 4 login.defs配置项说明所示

    加固项

    加固项说明

    建议加固

    openEuler默认是否已加固为建议值

    PASS_MAX_DAYS

    口令最大有效期

    90

    PASS_MIN_DAYS

    两次修改口令的最小间隔时间

    0

    PASS_WARN_AGE

    口令过期前开始提示天数

    7

    说明:
    login.defs是设置用户帐号限制的文件,可配置口令的最大过期天数、最大长度约束等。该文件里的配置对root用户无效。如果/etc/shadow文件里有相同的选项,则以/etc/shadow配置为准,即/etc/shadow的配置优先级高于/etc/login.defs。口令过期后用户重新登录时,提示口令过期并强制要求修改,不修改则无法进入系统。

    设置口令的加密算法

    说明

    出于系统安全考虑,口令不允许明文存储在系统中,应该加密保护。在不需要还原口令的场景,必须使用不可逆算法加密。设置口令的加密算法为sha512,openEuler默认已设置。通过上述设置可以有效防范口令泄露,保证口令安全。

    实现

    口令的加密算法设置通过修改/etc/pam.d/password-auth和/etc/pam.d/system-auth文件实现,添加如下配置:

    password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
    

    表 5 pam_unix.so配置项说明

    配置项

    说明

    sha512

    使用sha512算法对口令加密。

    登录失败超过三次后锁定

    说明

    为了保障用户系统的安全,建议用户设置口令出错次数的阈值(建议3次),以及由于口令尝试被锁定用户的自动解锁时间(建议300秒)。

    用户锁定期间,任何输入被判定为无效,锁定时间不因用户的再次输入而重新计时;解锁后,用户的错误输入记录被清空。通过上述设置可以有效防范口令被暴力破解,增强系统的安全性。

    说明:
    openEuler默认口令出错次数的阈值为3次,系统被锁定后自动解锁时间为60秒。

    实现

    口令复杂度的设置通过修改/etc/pam.d/password-auth和/etc/pam.d/system-auth文件实现,设置口令最大的出错次数3次,系统锁定后的解锁时间为300秒的配置如下:

    auth        required      pam_faillock.so preauth audit deny=3 even_deny_root unlock_time=300
    auth        [default=die] pam_faillock.so authfail audit deny=3 even_deny_root unlock_time=300
    auth        sufficient    pam_faillock.so authsucc audit deny=3 even_deny_root unlock_time=300
    

    表 6 pam_faillock.so配置项说明

    配置项

    说明

    authfail

    捕获用户登录失败的事件。

    deny=3

    用户连续登录失败次数超过3次即被锁定。

    unlock_time=300

    普通用户自动解锁时间为300秒(即5分钟)。

    even_deny_root

    同样限制root帐户。

    加固su命令

    说明

    为了增强系统安全性,防止使用“su”切换用户时将当前用户环境变量带入其他环境,openEuler默认已做配置。总是在使用su切换用户时初始化PATH。

    实现

    通过修改/etc/login.defs实现,配置如下:

    ALWAYS_SET_PATH=yes
    

    文档捉虫

    “有虫”文档片段

    问题描述

    提交类型 issue

    有点复杂...

    找人问问吧。

    PR

    小问题,全程线上修改...

    一键搞定!

    问题类型
    规范和低错类

    ● 错别字或拼写错误;标点符号使用错误;

    ● 链接错误、空单元格、格式错误;

    ● 英文中包含中文字符;

    ● 界面和描述不一致,但不影响操作;

    ● 表述不通顺,但不影响理解;

    ● 版本号不匹配:如软件包名称、界面版本号;

    易用性

    ● 关键步骤错误或缺失,无法指导用户完成任务;

    ● 缺少必要的前提条件、注意事项等;

    ● 图形、表格、文字等晦涩难懂;

    ● 逻辑不清晰,该分类、分项、分步骤的没有给出;

    正确性

    ● 技术原理、功能、规格等描述和软件不一致,存在错误;

    ● 原理图、架构图等存在错误;

    ● 命令、命令参数等错误;

    ● 代码片段错误;

    ● 命令无法完成对应功能;

    ● 界面错误,无法指导操作;

    风险提示

    ● 对重要数据或系统存在风险的操作,缺少安全提示;

    内容合规

    ● 违反法律法规,涉及政治、领土主权等敏感词;

    ● 内容侵权;

    您对文档的总体满意度

    非常不满意
    非常满意
    提交
    根据您的反馈,会自动生成issue模板。您只需点击按钮,创建issue即可。
    文档捉虫
    编组 3备份