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。


6. 设置SSH空闲超时退出时间【建议设置】
设置SSH空闲超时退出时间,可降低未授权用户访问其他用户ssh会话的风险
编辑/etc/ssh/sshd_config,将ClientAliveInterval 设置为300到900,即5-15分钟,将ClientAliveCountMax设置为0-3之间。
ClientAliveInterval 600
ClientAliveCountMax 2

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命令使用示例:
基本格式:chage [选项] 账户名
-- 查看系统账户的当前设置
chage -l username
-- 设置用户设置密码失效时间
chage --maxdays 90 username
-- 设置用户密码修改最小间隔时间
chage --mindays 7 username
Linux账号密码安全运维的更多相关文章
- Linux实战型企业运维工程师试题测评
Linux实战型企业运维工程师试题答案 作者:尹正杰 最近在网上看到了一套有意思的面试题,我们一起来看一下这些题怎么破吧,哈哈~我先放在这里,有时间了一起来看看.多学点东西终究是没有坏处的! ...
- Python Linux系统管理与自动化运维
Python Linux系统管理与自动化运维 前言 第1章Python语言与Linux系统管理1 1.1Python语言有多流行1 1.2Python语言为什么流行3 1.3Python语言有什么缺点 ...
- Linux Shell交互式自动化运维程序
Expect是Linux操作系统下的一个用来处理交互操作,系统默认是没有安装expect库,所以执行expect会提示找不到命令,需要手动安装,其它安装也比较简单,可以通过二进制源码包编译配置进行安装 ...
- Linux操作系统学习(运维必会)
Linux一切皆文件,最高权限的账户root. 1.开机登录 开机会启动很多进程,在Windows上叫"服务"(service),在Linux上叫做"守护进程" ...
- Linux实战型企业运维工程师试题
1.如何通过Linux配置一个局域网或者IDC机房上网网关,请给出步骤及命令?答:上网网关配置(1)开启内核转发:sed -i 's#net.ipv4.ip_forward = 0#net.ipv4. ...
- Linux账号密码过期会导致crontab作业不能执行
今天一同事报告Linux服务器上的crontab作业没有运行,检查/var/log/cron日志后发现下面错误信息 Jan 19 16:30:01 xxxx crond[31399]: Authent ...
- Linux下性能调试工具运维笔记
作为一名资深的linux运维工程师,为方便了解和追求服务器的高性能,如cpu.内存.io.网络等等使用情况,要求运维工程师必须要熟练运用一些必要的系统性能调试工具,liunx下提供了众多命令方便查看各 ...
- linux平台下server运维问题分析与定位
结合我工作中碰到的运维问题,总结一下Linux下server常见的运维问题以及定位方式.这里的server主要指自主开发的逻辑server,web srv因为通常采用通用的架构所以问题比较少. 逻辑s ...
- linux系列之常用运维命令整理笔录
目录 本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍 ...
- Linux命令注释—HDFS运维
HDFS运维—命令注释 1 实验背景 HDFS是大数据其他组件的基础,Hive的数据存储在HDFS中,Mapreduce.Spark 等计算数据也存储在HDFS 中,HBase 的 region 也是 ...
随机推荐
- Sentieon安装时 jemalloc error 解决办法
背景 Sentieon建议使用jemalloc来改善Sentieon应用程序中的内存管理和整体性能,尤其是Sentieon bwa-mem.有时在安装运行过程中会出现报错: ERROR: ld.so: ...
- 2023年陕西彬州第八届半程马拉松赛153pb完赛
1.赛事背景 2023年6月3日,我参加了2023陕西彬州第八届半程马拉松赛,最终153完赛,PB了5分钟.起跑时间早上7点30分,毕竟6月天气也开始热了.天气预报显示当天还是小到中雨,上次铜川宜君半 ...
- Codeforces Round #881 (Div. 3) A-F
比赛链接 A 代码 #include <bits/stdc++.h> using namespace std; using ll = long long; int a[57]; bool ...
- sql注入-基于pikachu靶场学习之SQL注入
sql注入(pikachu靶场学习之SQL注入) 环境准备 环境:wmware,安装两台win10的虚拟机在服务器上部署服务,在客户机上进行安全测试 声明:不涉及互联网上的资源,学习都在内网完成,一切 ...
- Yunfly 一款高效、性能优异的 node.js web 框架
介绍 Yunfly 一款高性能 Node.js WEB 框架, 使用 Typescript 构建我们的应用. 使用 Koa2 做为 HTTP 底层框架, 使用 routing-controllers ...
- css美化
编辑网页文本 span标签:能让某几个字凸显出来结构:span{color:red:} <span>123<span> 字体样式:一般设置两个字体.如果浏览器第一个字体不 ...
- 微信的 h5 支付和 jsapi 支付
目录 申请商户号 申请商户证书 设置APIv3密钥 下载 SDK 开发包 下载平台证书 关联 AppID 账号 开通 H5 支付 H5支付流程 开通 JSAPI 支付 JSAPI 支付流程 通用微信支 ...
- 轻松玩转70亿参数大模型!借助Walrus在AWS上部署Llama2
Llama 2 是 Meta 的下一代开源大语言模型.它是一系列经过预训练和微调的模型,参数范围从 70 亿到 700 亿个.Meta Llama 2 可免费用于研究和商业用途并且提供了一系列具有不同 ...
- 利用AI点亮副业变现:5个变现实操案例的启示
整体思维导图: 在这里先分享五个实操案例: 宝宝起名服务 AI科技热点号 头像壁纸号 小说推广号 流量营销号 你们好,我是小梦. 最初我计划撰写一篇关于AI盈利策略的文章,对AI目前的技术走向.应用场 ...
- 非全自研可视化表达引擎-RuleLinK
说在前面 工作中经常会遇到这样的场景: 帮忙把小贝拉门店 商品金额在5w以内,产康订单最多95折. 帮忙把圣贝拉门店 开业时间在6个月内,折扣低于7折要发起审批 帮忙把宁波太平洋店设置独立合同模板 帮 ...