ubuntu密码设置规则_密码复杂性策略

2022-11-10 14:02:40 浏览数 (3)

大家好,又见面了,我是你们的朋友全栈君。

版本查看

代码语言:javascript复制
cat /etc/issue
cat /proc/version

内核查看

代码语言:javascript复制
uname -a

Ubuntu修改密码及密码复杂度策略设置方法

一、修改密码

1、修改普通用户密码

代码语言:javascript复制
passwd

2、修改root用户密码

代码语言:javascript复制
sudo passwd root

默认root用户被禁止登录,如果需要解除限制,修改配置即可

代码语言:javascript复制
sudo vim /etc/ssh/sshd_config

将默认配置注释掉,添加一行新的配置,默认的配置为允许root登录,但是禁止root用密码登录

代码语言:javascript复制
将默认配置注释掉,添加一行新的配置,默认的配置为允许root登录,但是禁止root用密码登录

二、密码复杂度策略

1、安装cracklib模块

安装PAM的cracklib模块,cracklib能提供额外的密码检查能力

代码语言:javascript复制
sudo apt-get install libpam-cracklib

2、相关策略设置(1) 禁止使用旧密码

代码语言:javascript复制
sudo vim /etc/pam.d/common-password

找到如下配置,并在后面添加remember=5,表示禁止使用最近用过的5个密码,己使用过的密码会被保存在/etc/security/opasswd 设置最短密码长度和复杂度

代码语言:javascript复制
sudo vim /etc/pam.d/common-password

配置如下:

代码语言:javascript复制
password        requisite                       pam_cracklib.so retry=3 minlen=8 difok=3 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
password        [success=1 default=ignore]      pam_unix.so obscure use_authtok try_first_pass sha512 remember=5
# 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

3、设置密码过期期限

代码语言:javascript复制
sudo vim /etc/login.defs

三 、超时、登录失败锁定

代码语言:javascript复制
vi /etc/profile
export TMOUT=600
source /etc/profile
[root@localhost ~]>echo "$TMOUT"

结果如下:

1、编辑PAM的配置文件

代码语言:javascript复制
sudo vim /etc/pam.d/login

在第二行添加

代码语言:javascript复制
auth required pam_tally2.so deny=3 unlock_time=5 even_deny_root root_unlock_time=10

参数介绍

代码语言:javascript复制
even_deny_root    也限制root用户;
deny              设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户;
unlock_time       设定普通用户锁定后,多少时间后解锁,单位是秒;
root_unlock_time  设定root用户锁定后,多少时间后解锁,单位是秒;

2、修改sshd文件

这个只是限制了用户从tty登录,而没有限制远程登录,如果想限制远程登录,需要改sshd文件

代码语言:javascript复制
sudo vim /etc/pam.d/sshd

第二行添加

代码语言:javascript复制
auth required pam_tally2.so deny=3 unlock_time=5 even_deny_root root_unlock_time=10

重启sshd服务

代码语言:javascript复制
service sshd restart

使用sudo pam_tally2 -u user命令查看

代码语言:javascript复制
sudo pam_tally2 -u  user

远程ssh的时候,输入密码错误超过三次但是没有提示,但是只要超过设定的值,输入正确的密码也是登陆不了的!还是要等到设定的时间在重新尝试输入正确密码进行登录认证。

四、审计

audit auditctl : 即时控制审计守护进程的行为的工具,比如添加规则等等。 aureport : 查看和生成审计报告的工具。 ausearch : 查找审计事件的工具 auditspd : 转发事件通知给其他应用程序,而不是写入到审计日志文件中。 autrace : 一个用于跟踪进程的命令。 /etc/audit/audit.rules : 记录审计规则的文件。 /etc/audit/auditd.conf : auditd工具的配置文件

1.下面开始启动,先确认系统是否安装了audit服务

代码语言:javascript复制
service auditd status 

2.ubuntu执行以下命令安装

代码语言:javascript复制
sudo apt-get install auditd

3、启动audit服务

代码语言:javascript复制
systemctl restart auditd

4、一些相关命令

查看审计规则

代码语言:javascript复制
auditctl -l

添加审计规则

代码语言:javascript复制
-w path : 指定要监控的路径,上面的命令指定了监控的文件路径 /etc/passwd
-p : 指定触发审计的文件/目录的访问权限
-k 给当前这条监控规则起个名字,方便搜索过滤
rwxa : 指定的触发条件,r 读取权限,w 写入权限,x 执行权限,a 
属性(attr)
代码语言:javascript复制
auditctl -w /etc/passwd -p rwxa

查看审计日志

代码语言:javascript复制
ausearch -f /etc/passwd

生成简要报告

代码语言:javascript复制
aureport

日志文件目录:

代码语言:javascript复制
/var/log/audit/audit.log

注意:用 auditd 添加审计规则是临时的,立即生效,但是系统重启失效。 想要重启仍然有效,需要在 /etc/audit/audit.rules 文件中添加规则,然后重启服务:

代码语言:javascript复制
service auditd restart
或
service auditd reload

5、修改配置文件:

auditd的配置文件为/etc/audit/audit下的auditd.conf 和audit.rules,auditd.conf 主要是定义了auditd服务日志和性能等相关配置,audit.rules才是定义规则的文件,其实就是把auditctl的命令直接拿过来即可,auditctl里支持的选项都可以在这个文件里指定。 基本参数与命令auditctl一致,只需要直接写入配置文件/etc/audit/audit.rules,重启auditd服务即可。 /etc/audit/rules.d下放置的文件,可以被导入到audit.rules配置文件。

导入命令:

代码语言:javascript复制
augenrules --load

/etc/audit/rules.d 规则可写

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

1 人点赞