长期支持版本

    社区创新版本

      帐户口令

      屏蔽系统帐户

      说明

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

      实现

      将系统帐户的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备份