>>与软件开发有关的知识:操作系统,数据库,网络通信等 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 20792 个阅读者 刷新本主题
 * 贴子主题:  管理密码策略 回复文章 点赞(0)  收藏  
作者:flybird    发表时间:2020-01-27 17:12:37     消息  查看  搜索  好友  邮件  复制  引用

密码策略介绍

密码策略是操作系统针对系统安全提供的一种安全机制,就好像linux操作系统不提供超级用户登录一样,密码策略包括:密码最小长度、密码使用期限、历史密码、密码复杂度等,在企业里面都是要求对操作系统进行密码策略进行配置的,而且要求密码复杂度。企业中做等级保护测评2级以上都是要求有密码策略的,之前我有过一次做等保测评师的经历,在企业里面几乎没有任何一个企业在使用这个密码策略,很郁闷不知道是工程师们不知道还是什么原因,在这里我就为大家简单介绍一下如何设置密码策略

根据相关要求密码需要满足以下几点要求:
  •   用户有责任和义务妥善保管其个人帐号和密码,不得在任何场合随意公开自己的帐号和密码,不得泄漏他人。由于密码泄漏造成的不良后果由帐号拥有人承担相关责任
  •   密码长度不得少于6位
  •   密码由数字、标点、大小写字母和特殊符号组成,并具有必要的组合复杂度,禁止使用连续或相同的数字、字母组合(如123456等)和其他易于破译的组合作为密码。
  •   密码不得以任何形式的明文存放在主机电子文档中,不得以明文形式在电子邮件、传真中传播。
  •   系统管理人员在建立帐号时,对所分配帐号的初始密码设置为第一次登录强制修改。对于不能强制修改密码的系统,系统管理员创建帐号后立即通知用户修改密码,用户在第一次登录系统并修改密码之后反馈系统管理员,并由系统管理员进行复核。
  •   用户应定期(至少每季度一次)进行密码的修改,并且同一密码不能反复使用。
     。。。。。。。。。。。。。。等,具体要求可以查看等保2.0密码技术应用分析

  windows设置密码策略

windows密码策略有以下这些设置:
  •   密码必须符合复杂性要求
  •   密码长度最小值
  •    密码最短使用期限
  •   密码最长使用期限
  •   强制密码历史
  •   用可还原的加密存储密码

Linux系统设置密码策略

对于linux可能大家都很少知道有密码策略这回事吧,好多人都认为linux安全机制已经很强大了,而且大多数linux采用可插拔密码认证来加强密码的安全策略,下面就来说说linux的密码策略,linux密码策略要比windows密码策略要强大许多

linux密码策略有以下设置:
  •   密码的最大有效期
  •   密码最长使用时间
  •   密码最小长度
  •   密码失效前提前多少天进行提醒
  •   密码大小写以及数字、特殊字符等限制
  •   新旧密码不能相同
  •   新旧密码长度不能相同
  •   账号锁定时间
  •   账号自动解锁时间
密码策略配置文件路径:
  •   在centos/redhat等系统中路径:  /etc/pam.d/system-auth
  •   ubuntu等系统中路径:  /etc/pam.d/common-password
文件内容如下:(版本不同,内容有一些差别)
  # /etc/pam.d/common-password - password-related modules common to all services
# This file is included from other service-specific PAM config files,
# and should contain a list of modules that define the services to be
# used to change user passwords.  The default is pam_unix.

# Explanation of pam_unix options:
# The "sha512" option enables salted SHA512 passwords.  Without this option,
# the default is Unix crypt.  Prior releases used the option "md5".
# The "obscure" option replaces the old `OBSCURE_CHECKS_ENAB' option in
# login.defs.
# See the pam_unix manpage for other options.

# As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
# To take advantage of this, it is recommended that you configure any
# local modules either before or after the default block, and use
# pam-auth-update to manage selection of other modules.  See
# pam-auth-update(8) for details.

# here are the per-package modules (the "Primary" block)
password        [success=1 default=ignore]      pam_unix.so obscure sha512
# here's the fallback if no module succeeds
password        requisite                       pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
password        required                        pam_permit.so
# and here are more per-package modules (the "Additional" block)
# end of pam-auth-update config
密码过期时间以及有效期等配置文件:/etc/login.defs,文件部分内容:
    PASS_MAX_DAYS :一个密码可使用的最大天数。

   PASS_MIN_DAYS :两次密码修改之间最小的间隔天数。

   PASS_MIN_LEN :密码最小长度。

   PASS_WARN_AGE :密码过期前给出警告的天数
下面为大家举例说明linux用户密码策略:
  •   设置密码最大使用时间(PASS_MAX_DAYS)
这个用来限制密码最大可以使用的天数。时间到了会强制进行密码锁定。如果忘记修改,那么就无法登录系统。需要使用管理员账户进行解锁后才能继续使用。这个可以在   /etc/login.defs  文件中的PASS_MAX_DAYS参数设置。在企业中一般把这个值设置为30天,也就是一个月修改一次密码。
  root@test:/etc#  vim login.defs

PASS_MAX_DAYS  30         //单位为天数
  •   设置密码最小天数(PASS_MIN_DAYS)
这个是限制多长时间无法进行密码修改。当值为15时,表示15天内无法修改密码,也就是两次密码修改中间最少隔15天,这个可以在   /etc/login.defs  文件中PASS_MIN_DAYS参数设置。企业中一般不对此项进行控制,这个根据自己需求进行修改,我这里设置10天。
  root@test:/etc#  vim login.defs

PASS_MIN_DAYS    10            //单位为天数
  •   设置密码过期前警告(  PASS_WARN_AGE )
这个用来提醒用户该进行密码修改了,也就是在密码即将过期的时候,会给用户一个警告提示,在未到最大密码使用时间,会每天进行提醒,这可以提醒用户在密码过期前修改他们的密码,否则我们就需要联系管理员来解锁密码。这个可以在   /etc/login.defs  文件中  PASS_WARN_AGE参数 设置。 这个企业中一般设置为3天,我这里就设置为3天
  root@test:/etc#  vim login.defs

PASS_WARN_AGE     3           //单位为天数
  •   避免重复使用旧密码
这个用来防止更改密码时设置为旧密码,寻找同时包含“password”和"pam_unix.so"的行,然后再这行后面加上“remember=天数”。这将防止N个最近使用过的密码被用来设置为新密码,这个配置文件是在 /ect/pam.d/common-password 文件中(主要,centos/redhat需要修改:  /etc/pam.d/system-auth文件 ),这个在企业中一般设置为5,我这里就设置5

ubuntu:
  root@test/etc# vim pam.d/common-password

password        [success=1 default=ignore]      pam_unix.so obscure sha512   remember=5
centos/redhat:
  root@test/etc# vim  pam.d/common-password

password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=5
  •   设置密码复杂度
这个用来控制密码的复杂程度的,应安全性要求,企业里面要求大小写、特殊字符、数字等最受三个进行组合并且长度最少为8。寻找同时包含“password”和“pam_cracklib.so”的一行,并在后面加上“ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1”。这将迫使你在密码中至少包括一个大写字母、两个小写字母、一个数字和一个符号。

ubuntu:
  root@test/etc# vim pam.d/common-password

password        requisite     pam_cracklib.so retry=3 minlen=10 difok=3 ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1
centos/redhat:
  root@test/etc# vim pam.d/system-auth

password        requisite     pam_cracklib.so retry=3 minlen=10 difok=3 ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1
         ----------------------------
原文链接:https://blog.51cto.com/14184380/2467034

程序猿的技术大观园:www.javathinker.net



[这个贴子最后由 flybird 在 2020-02-02 22:29:47 重新编辑]
  Java面向对象编程-->面向对象开发方法概述之UML语言(下)
  JavaWeb开发-->Web运作原理(Ⅳ)
  JSP与Hibernate开发-->映射组成关系
  Java网络编程-->用Axis发布Web服务
  精通Spring-->通过Axios访问服务器
  Vue3开发-->组合(Composition)API
  Https的1.0、2.0协议及长短链接区别
  数据库建立索引的原则
  Zabbix中文使用手册
  老生常谈!数据库如何存储时间?你真的知道吗?
  MySQL 处理重复数据
  SQL的数学函数
  SQL ALTER TABLE 语句
  MySQL:如何用 SELECT 语句的 WHERE 子句过滤返回的数据
  MySQL的聚集函数
  MySQL的启动选项和系统变量该如何配置?
  程序员必须掌握的核心算法有哪些?
  深入浅出一致性Hash原理
  MySQL的开发必会的SQL语句
  MySQL的实现定时执行任务的存储过程
  分布式架构的那点事
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。