Linux账号密码安全策略设置

这篇具有很好参考价值的文章主要介绍了Linux账号密码安全策略设置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

随着云计算厂商的兴起,云资源如ECS不再只有企业或者公司才会使用,普通人也可以自己买一台ECS来搭建自己的应用或者网站。虽然云计算厂商帮我们做了很多安全相关的工作,但并不代表我们的机器资源就绝对是安全的。

要知道有很多事情是云计算厂商不能为我们做的,就比如账号密码的安全策略配置,而账号密码的安全又是Linux安全中的第一道安全锁,我们必须重视起来。

比如一个具有公网IP的服务器,我们可以使用Linux连接工具或者ssh在本地进行连接,如果密码太简单并且没有错误次数限制,我们完全可以暴力破解出来,这属于【高危】漏洞。

账号密码策略

查看当前用户的账号密码策略

-- 输入指令
chage -l root

-- 返回结果
Last password change                                  : Jun 14, 2022
Password expires                                        : never
Password inactive                                       : never
Account expires                                         : never
Minimum number of days between password change          : 0
Maximum number of days between password change          : 99999
Number of days of warning before password expires       : 7

-- 翻译过来:
最近一次密码修改时间 : 6月 14, 2022
密码过期时间 :从不过期
密码失效时间 :从不
帐户过期时间 :从不
两次改变密码之间相距的最小天数 :任何时候都可以改
两次改变密码之间相距的最大天数 :永远不需要改
在密码过期之前警告的天数 :7

这种账号肯定是有风险的,尤其还是root账户,一旦被破解,那这台Linux服务器基本上凉凉。

1. 设置密码失效时间【一定要设置】

设置密码失效时间,强制定期修改密码,减少密码被泄漏和猜测风险,使用非密码登陆方式(如密钥对)请忽略此项。

/etc/login.defs 中将 PASS_MAX_DAYS 参数设置为 60-180之间,如:

--两次改变密码之间相距的最大天数,密码有效最大天数
PASS_MAX_DAYS 90  

注意:以上只对之后新增的用户有效,如果要修改已存在的用户密码规则,需要使用chage命令

2. 设置密码修改最小间隔时间【一定要设置】

设置密码修改最小间隔时间,限制密码更改过于频繁

/etc/login.defs 中将 PASS_MIN_DAYS 参数设置为7-14之间,建议为7:

--两次改变密码之间相距的最小天数,为零时代表任何时候都可以更改密码
PASS_MIN_DAYS 7

注意:以上只对之后新增的用户有效,如果要修改已存在的用户密码规则,需要使用chage命令

3. 在到期前设置警告的天数【建议设置】

设备警告的天数,可以让我们备份旧密码、准备新密码

/etc/login.defs 中将 PASS_WARN_AGE 参数设置为7天

PASS_WARN_AGE 7

注意:以上只对之后新增的用户有效,如果要修改已存在的用户密码规则,需要使用chage命令

4. 设置密码复杂度【一定要设置】

简单的密码安全性很差,一般建议密码长度大于8,包括大小写字母、数字、特殊字符等

/etc/pam.d/common-password 添加如下内容(如果没有该文件自己创建一个):

# /etc/pam.d/common-password - password-related modules common to all services

password        requisite       pam_cracklib.so retry=3 minlen=8 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
password        [success=1 default=ignore]      pam_unix.so sha512
password        requisite       pam_deny.so
password        required        pam_permit.so
  • “minlen=8”表示密码长度至少为8个字符。
  • “ucredit=-1”表示密码中至少包含一个大写字母。
  • “lcredit=-1”表示密码中至少包含一个小写字母。
  • “dcredit=-1”表示密码中至少包含一个数字。
  • “ocredit=-1”表示密码中至少包含一个特殊字符。

注意:以上只对之后新增的用户有效,如果要修改已存在的用户密码规则,需要使用chage命令

5. 检查密码重用是否受限制【一定要设置】

强制用户不重用最近使用的密码,降低密码猜测攻击风险

/etc/pam.d/password-auth/etc/pam.d/system-auth中password sufficient pam_unix.so 这行的末尾配置remember参数为5-24之间,原来的内容不用更改,只在末尾加了remember=5。

Linux账号密码安全策略设置

Linux账号密码安全策略设置

6. 设置SSH空闲超时退出时间【建议设置】

设置SSH空闲超时退出时间,可降低未授权用户访问其他用户ssh会话的风险

编辑/etc/ssh/sshd_config,将ClientAliveInterval 设置为300到900,即5-15分钟,将ClientAliveCountMax设置为0-3之间。

ClientAliveInterval 600
ClientAliveCountMax 2

Linux账号密码安全策略设置

7. 账户锁定策略【一定要设置】

策略要求:

  • 设定锁定的阈值为5次
  • 锁定时间为5分钟即300秒
  • 必须所有用户都受限,包括root

修改配置文件/etc/pam.d/system-auth-ac/etc/pam.d/password-auth-ac

  • /etc/pam.d/system-auth-ac文件替换如下:
auth        required      pam_env.so
auth        required      pam_tally2.so even_deny_root deny=5 unlock_time=60
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
auth        required      pam_deny.so
 
account     required      pam_unix.so
account     required      pam_tally2.so
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 1000 quiet
account     required      pam_permit.so
  • /etc/pam.d/password-auth-ac文件替换如下:
auth        required      pam_env.so
auth        required      pam_tally2.so deny=5 unlock_time=60
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
auth        required      pam_deny.so
 
account     required      pam_unix.so
account     required      pam_tally2.so
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 1000 quiet
account     required      pam_permit.so
  • 查看用户锁定状态
-- 输入命令
pam_tally2 -u root

-- 输出结果
Login           Failures Latest failure     From
root                0    
  • 解锁状态
-- 输入命令
pam_tally2 -r -u  root

-- 输出结果
Login           Failures Latest failure     From
root                0    

温馨提示:login.defs文件和/etc/pam.d/system-auth文件的规则设置对非root用户起作用,在root用户下则不会生效!如果设置root用户密码过期时间等,需要用chage命令进行设置。
chage命令使用示例:文章来源地址https://www.toymoban.com/news/detail-512449.html

基本格式:chage [选项] 账户名 

--  查看系统账户的当前设置
chage -l username   

-- 设置用户设置密码失效时间
chage --maxdays 90 username

-- 设置用户密码修改最小间隔时间
chage --mindays 7 username

到了这里,关于Linux账号密码安全策略设置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • git 设置全局账号密码

    设置全局仓库的用户名密码 git记住用户名以及密码 以上是全局,会在用户的主目录生成.gitconfig文件 之后在主目录,操作git pull,会提示输入账号密码,需要输一次后面不需要在输

    2024年02月11日
    浏览(50)
  • MongoDB设置账号密码

    先输入 show dbs 查看mongodb数据库存在的数据库列表,选择需要设置的数据库-账号密码 设置超级管理员账号密码 1、 可以使用navicat15连接mongodb数据库,进入命令行界面,输入以下命令 如出现找不到MongoDB shell为可执行文件,选择设置路径,路径为:MongoDB shell是一个可执行的文

    2024年02月02日
    浏览(36)
  • Elasticsearch集群和账号密码设置

    ubuntu 20.04 elasticsearch 8.0 服务器IP:192.168.1.63 目录elastic-master是主节点,目录elastic-node2 是从节点 系统需要新建一个用户来专门启动es,因为es不能使用root用户启动 一台服务器上装多个es来配置集群(多台也是一样的配置) 下载地址 解压刚刚下载的es,解压后我就暂时放在elast

    2024年02月02日
    浏览(48)
  • TortoiseGit(小乌龟)设置保存账号密码

    在我们使用Tortoise git 时,默认是需要在每次提交代码时输入你的账号和密码的,这样在实际使用时会觉得非常繁琐且费时.于是我们可以简单设置下配置文件,便可保存下账号密码,下次在使用时就不必再次手动输入. 点击 Git 选项,然后点击右侧的全局,最后输入用户名和邮箱即可

    2024年02月16日
    浏览(53)
  • VSCode设置git账号和密码

          注意,自己写用户名的时候不需要加“”号。否则就会出现下面情况:    

    2024年02月11日
    浏览(41)
  • MongoDB URL链接 如何设置账号密码

    个人博客,求关注。。 MongoDB URL链接 如何设置账号密码 假设你的账号是root,你的密码也是root,则 完美,再见。

    2024年02月07日
    浏览(48)
  • 2.k8s账号密码登录设置

    前面已经搭建好了k8s集群,现在设置下账号密码登录,k8s默认使用token登录,很麻烦,这里修改下配置。 由于重启会导致所有的进程丢失,这里写了个集群重启脚本,需要hadoop1、hadoop2、hadoop3三台集群机器可以相互ssh命令想通才可以执行脚本。这里我在hadoop1上建立脚本如下

    2024年02月09日
    浏览(46)
  • docker安装的elasticsearch容器设置账号密码

    我使用的是docker安装的es 首先进入docker 容器 编辑elasticsearch.yml文件,并向其中添加: 退出容器,重启elasticsearch,执行设置用户名和密码的命令 到这里就成功了,欢迎点赞评论提问哦。

    2024年02月15日
    浏览(50)
  • SpringSecurity设置登录账号密码的三种方式

    一、SpringBoot整合SpringSecurity: 1.新建SpringBoot工程,引入SpringSecurity依赖 2.编写一个测试Controller  3.修改访问端口(默认8080) 4.启动SpringBoot工程,访问http://localhost:8001/test/hello  如上自动跳转到登录页面,输入账号user,密码在控制台输出,如下所示  5.查看是否登录成功(如下

    2024年02月01日
    浏览(44)
  • 路由器上网账号密码设置的一般步骤介绍

    不管是新手还是高手,在实际使用宽带路由器的过程中,我们都会常常遇到无法成功进行ADSL拨号的现象,遇到这种现象时多半是我们没有正确设置好宽带路由器的自动拨号参数。遇到这种问题,建议按照下面的操作步骤,来重新对宽带路由器的拨号参数进行设置。 解决方法

    2024年02月08日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包