PAM和账户安全配置

devopsec 等级 809 0 0
标签: etc运维开发

  PAM(可插入认证模块)是UNIX系统上一个实现模块化的身份验证模块服务

当程序需要对用户进行身份验证时加载并执行的。PAM文件通常位于/etc/pam.d目录中。

配置文件

/etc/pam.d/password-auth

/etc/pam.d/system-auth

/etc/security/pwquality.conf

配置密码创建要求

编辑/etc/pam.d/password-auth和/etc/pam.d/system-auth,确定文件含有

password    requisite     pam\_pwquality.so try\_first\_pass local\_users\_only retry=3 authtok\_type=

编辑密码强度配置文件/etc/security/pwquality.conf

minlen = 14 dcredit \= -1 ucredit \= -1 ocredit \= -1 lcredit \= -1
  • minlen = 14 - 密码最小长度

  • ucredit = -1 - 必须包含一个大写字符

  • ocredit = -1 - 必须包含一个特殊字符

  • lcredit = -1 -必须包含一个小写字符

确保配置了失败密码尝试的锁定

在n次不成功的连续登录尝试后锁定用户ID可减轻暴力对系统的密码攻击

查看 ’/etc/pam.d/password-auth‘ 和 ’/etc/pam.d/system-auth‘文件

并确认 pam_faillock.so 周围有 pam_unix.so pam_unix.so 是 [success=1 default=bad]

auth required pam\_faillock.so preauth audit silent deny=5 unlock\_time=900 auth \[success\=1 default=bad\] pam\_unix.so
auth \[default\=die\] pam\_faillock.so authfail audit deny=5 unlock\_time=900 auth sufficient pam\_faillock.so authsucc audit deny\=5 unlock\_time=900

限制密码重用次数

编辑/etc/pam.d/password-auth 和 /etc/pam.d/system-auth

password required pam\_pwhistory.so remember=5

确定密码的加密算法 SHA-512

编辑/etc/pam.d/password-auth 和 /etc/pam.d/system-auth

password    sufficient    pam\_unix.so     sha512

确保对su命令的访问受到限制

编辑/etc/pam.d/su

auth required pam\_wheel.so use\_uid

编辑/etc/group

将允许的用户加入wheel组,这里以root和redhat用户为例

wheel:x:10:root,redhat

账户安全设置

配置文件

  • /etc/login.defs

查看账户过期时间和其它信息

\[root@frog ~\]# chage -l redhat 
Last password change                    : Jun 11, 2020 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

确保系统账户是non-login

检测脚本

egrep -v "^\\+" /etc/passwd | awk -F: '($1!="root" && $1!="sync" &&
$1!="shutdown" && $1!="halt" && $3<1000 && $7!="/sbin/nologin" && $7!="/bin/false") {print}'

修改为不允许登录

usermod -s /sbin/nologin <user>

脚本批量设定

uid的小于1000除开root用户,进行锁定,除开一些特殊用户,其它的都禁止登录。

#!/bin/bash for user in \`awk -F: '($3 < 1000) {print $1 }' /etc/passwd\` ; do
 if \[ $user != "root" \]; then usermod \-L $user if \[ $user != "sync" \] && \[ $user != "shutdown" \] && \[ $user != "halt" \];then usermod \-s /sbin/nologin $user fi
 fi
done

本文转自 https://www.cnblogs.com/zydev/p/13095187.html,如有侵权,请联系删除。

收藏
评论区

相关推荐

PAM和账户安全配置
PAM(可插入认证模块)是UNIX系统上一个实现模块化的身份验证模块服务 当程序需要对用户进行身份验证时加载并执行的。PAM文件通常位于/etc/pam.d目录中。 配置文件 /etc/pam.d/passwordauth /etc/pam.d/systemauth /etc/security/pwquality.conf 配置密码创建要
DevOps简介
DevOps 是一个完整的面向IT运维的工作流,以 IT 自动化以及持续集成(CI)、持续部署(CD)为基础,来优化程式开发、测试、系统运维等所有环节。DevOps的概念DevOps一词的来自于Development和Operations的组合,突出重视软件开发人员和运维人员的沟通合作,通过自动化流程来使得软件构建、测试、发布更加快捷、频繁和可靠。
CentOS安装Ruby on Rails + Redmine
安装准备组件 ------ 1. gcc编译环境: yum -y install gcc 2. 其他组件: yum install flex autoconf zlib curl zlib-devel curl-devel bzip2 bzip2-devel ncu
HADOOP性能优化和运维
集群中任意一个节点都可以被用来提交认任务,虽然通常我们使用master节点提交任务。HADOOP客户端不参与计算和存储,专门用来上传下载文件和提交任务。 性能优化4大块: ![](https://static.oschina.net/uploads/space/2017/0406/111251_QSBe_192561.png) 具体优化如下: 1.选
IT:从运维到运营
_本文转自公众号:傲寒荐书,作者:陈傲寒_ _IT运维?IT运营?_ _都是 IT Operations,有什么区别?_ _IT运维管理?IT运营管理?_ _都是 ITOM,有什么区别?_ _一字之差,只是翻译不同,还是另有玄机?_ _其实,_**中文真的是一门更精确的语言 :-)** * _IT运维是“活着”,IT运营是“活得好”;_
MySQL运维之
**1、mysqldump备份一个数据库** mysqldump命令备份一个数据库的基本语法: mysqldump -u user -p pwd dbname > Backup.sql 我们来讲解一下备份的文件都包含了什么?\-- MySQL dump 10.13 Distrib 5.5.20, for Win32 (x86)\--
ClickHouse之DBA运维宝典
最近有位网友与我聊天,他是一名 DBA,问我在 ClickHouse 中有没有一些能够 “安家立命” 的运维 SQL 语句。我想对于这个问题很多朋友都会有兴趣,所以就在这里做一个简单的分享。 在 ClickHouse 默认的 system 数据库下(databse),拥有众多的系统表。我们对 ClickHouse 运行状态的各种信息,就主要来自于这
Debezium日常运维手机
关于Kafka-Connect: (1) 是否可以动态添加已有数据的新表?  不可以,Kafka-Connect需要配置先行。如果是已有数据的新表,无法通过修改已有的kafka-connect配置进行新表的Snapshot初始化。 建议通过table white list功能,进行新表的snapshot。然后等到稳定后,再合并到同一个Kafka-con
DevOps第一讲:什么是DevOps
DevOps概念早先升温于2009年的欧洲,因传统模式的运维之痛而生。 ![](https://static.oschina.net/uploads/img/201707/22121051_DBdW.jpg) DevOps是为了填补开发端和运维端之间的信息鸿沟,改善团队之间的协作关系。不过DevOps其实包含了四个部分:产品、开发、测试和运维。 !
DevOps背景下的分合之事
DevOps倡导“谁开发,谁运维”和开发运维一体化。那么是不是简单地把开发和运维人员放在一起就完事了呢? 01 — “插队”的故事 小明入职时是运维专员,原来隶属于运维部门,负责某业务线系统的应用维护工作。一旦系统的生产环境出现任何故障,或者业务人员在生产环境上有任何请求,都是由小明所在的运维部门先处理,处理不了的,再联系该系
Linux命令之passwd、chpasswd
(1).命令passwd passwd \[-k\] \[-l\] \[-u \[-f\]\] \[-d\] \[-e\] \[-n mindays\] \[-x maxdays\] \[-w warndays\] \[-i inactivedays\] \[-S\] \[--stdin\] \[username\]   passwd程序用于更新用户的身
Linux日常运维小结
**1\. 如何看当前Linux系统有几颗物理CPU和每颗CPU的核数?** 物理cpu个数:cat /proc/cpuinfo |grep -c 'physical id' CPU一共有多少核:grep -c processor /proc/cpuinfo 将CPU的总核数除以物理CPU的个数,得到每颗CPU的核数。 **2\. 查看系统负载有两个常用的命
Linux运维常见面试题之精华收录
Linux运维常见面试题之精华收录 ================= **1、什么是运维?什么是游戏运维?** 1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常, 在他运转的过程中,对他进行维护,他集合了网络、系统、数据库、开发、安全、监控于一身的技术 运维又包括很多种,有DBA运维、网站运维、虚
Nginx日志运维笔记
在分析服务器运行情况和业务数据时,nginx日志是非常可靠的数据来源,而掌握常用的nginx日志分析命令的应用技巧则有着事半功倍的作用,可以快速进行定位和统计。 **1)Nginx日志的标准格式(可参考:[http://www.cnblogs.com/kevingrace/p/5893499.html](https://www.oschina.net/ac
OpenShift应用发布和运维设计
![](https://oscimg.oschina.net/oscnet/ee3a439e79bf2eb38ec78ec9cc272d4c0c5.gif) ![](https://oscimg.oschina.net/oscnet/672fccee1f9485511b66a673a9facbb5423.jpg) **转载本文需注明出处:微信公众号EAW