PAM和账户安全配置

devopsec 等级 412 0 0

  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,如有侵权,请联系删除。

收藏
评论区

相关推荐

30min搭建kubernetes
master and node 操作如下 yum源修改 // 备份本地yum源 mv /etc/yum.repos.d/CentOSBase.repo /etc/yum.repos.d/CentOSBase.repo_bak // 获取阿里yum源配置 wget O /etc/yum.repos.d/CentOSBase.repo http:
30分钟带你了解Web工程师必知的Docker知识
前言 笔者之前和朋友一直在讨论web技术方向的话题,也一直想了解web运维方面的知识,所以特意请教了一下我的朋友老胡,他对web运维和后端技术有非常多的实战经验,所以在本
软件工程
一、软件工程学概述 1.1 软件的生命周期 1. 定义:软件的产生直到报废或停止使用的生命周期。 1. 分为三个时期: 软件定义、软件开发、运行维护(软件维护)。 1. 软件定义时期分为三个阶段:问题定义、可行性研究和需求分析、 1. 开发时期分为四个阶段:总体设计、详细设计、编码和单元测试、综合测试。 1. 维护时期主要是使软件持久地满足用户的需要,
PAM和账户安全配置
PAM(可插入认证模块)是UNIX系统上一个实现模块化的身份验证模块服务 当程序需要对用户进行身份验证时加载并执行的。PAM文件通常位于/etc/pam.d目录中。 配置文件 /etc/pam.d/passwordauth /etc/pam.d/systemauth /etc/security/pwquality.conf 配置密码创建要
运维监控系统——Zabbix简介
前言对于运维人员来说,监控是非常重要的,因为如果想要保证线上业务整体能够稳定运行,那么我们则需要实时关注与其相关的各项指标是否正常,而一个业务系统的背后,往往存在着很多的服务器、网络设备等硬件资源,如果我们想要能够更加方便的、集中的监
运维安全-信息安全
本文转自 ,如有侵权,请联系删除。
C语言入门系列之6.一维和二维数组
一、数组的概念有如下几组数据: 学生的学习成绩 银行的账单 一行文字这些数据的特点是: 具有相同的数据类型; 使用过程中需要保留原始数据 。 C语言为这类数据,提供了一种构造数据类型——数组。在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来,这些按序排列的同类数据元素的集合称为数组
46个Linux面试常见问题送给你
问题一: 绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示? 切换目录用什么命令? 答案: 绝对路径: 如/etc/init.d 当前目录和上层目录: ./  ../ 主目录: / 切换目录: cd
数据库运维做些什么?
一. 数据库生命周期 结合软件生命周期、项目的开展,数据库的生命周期大致可分为这么几个阶段。 (https://imghelloworld.osscnbeijing.aliyuncs.com/8552b8c2942bb8ce23
DevOps简介
DevOps 是一个完整的面向IT运维的工作流,以 IT 自动化以及持续集成(CI)、持续部署(CD)为基础,来优化程式开发、测试、系统运维等所有环节。DevOps的概念DevOps一词的来自于Development和Operations的组合,突出重视软件开发人员和运维人员的沟通合作,通过自动化流程来使得软件构建、测试、发布更加快捷、频繁和可靠。
DevOps概述
DevOps概述DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营(运维)、质量保障(测试)(QA)部门之间的沟通、协作与整合。随着业务复杂化和人员的增加,开发人员和运维人员逐渐演化成两个独立的部门,他们工作地点分离,工具链不同,业务目标也有差异,这使
DevOps与CICD的区别 及 docker、k8s的CICD思路
1\. DevOps简介DevOps 就是开发(Development)、测试(QA)、运维(Operations)这三个领域的合并。image.png为什么要合并这三个领域?主要是开发和运维的脱节。DevOps是一种思想、一组最佳实践、以及一种文化。DevOps落地实施,从组织架构、设计人员、流程、人员分工、人员技能到工具,变化
一份DevOps工程师职责清单,待你查阅
如果一个组织的开发人员和运维人员是独立工作的模式,实施DevOps就需要对组织进行大的调整。因为,只有具备合适的组织人员,文化和工具来才能成功实施DevOps。根据显示,实施DevOps的最常见的障碍之一是员工缺乏技能。什么是DevOps工程师?DevOps工程师是一位IT专家,应该对开发和运维工作都有广泛的了解,包括编码,基础
Centos小故障解决方案
出现错误:为 repo AppStream下载元数据失败的错误解决方法:大多半是防火墙出了问题(1)vi /etc/sysconfig/networkscripts/ifcfgens33 文件,修改如下,主要修改 ONBOOT 和 BOOTPROTO:(2)重新载入配置文件nmcli c reload(3)执行命令[root@localhost ] yum
运维大佬嘲笑我,这个你都不知道?
大家好,我是阿沐,一个喜欢分享技术而且爱好写散文的程序员。今天来给大家介绍一下info命令查看redis具体的详细信息讲解!起因是:前几年我在老家郑州实习面试(那个时候还没有毕业)的时候遇到面试官提问;面试官来于百度总部的工程师6年java开发经验+3年多的PHP开发经验,我在他的面前基本就是弟弟中的弟弟,虽然勉强通过入职了,但是却被运维无情地嘲笑,就因为组