linux弱口令修改

哎,跟你唠唠我当年在服务器上改密码那些事儿。

记得前年吧,在武汉那边的机房,有个客户的服务器突然连不上了,进不去系统。
我一看,原来是root密码太简单了,被人暴力破解了。
当时急得不行。

我赶紧用另一台机器,通过ssh,用sudo登录到那个服务器。
还好,sudo密码还算安全,不然这次真要哭了。

登录进去,我立马用passwd命令给root换了个强密码。
系统提示输入当前密码,我输入sudo密码,然后输入新密码,确认一下,搞定!这次用的是最直接的方法,passwd命令,最常用,谁用谁知道。

后来呢,我又用chage命令整了下密码策略。
你想啊,光改密码还不行,得让用户老老实实换密码,不能老用一个。
我就用chage -M 9 0,设置密码最长9 0天要换一次。
还得加个提醒,chage -W 1 4 ,到期前1 4 天提醒用户。
你看,这样用户不自觉也得换了。

再说说mysql。
去年在杭州,有个朋友的网站被黑了,数据库密码又是弱口令。
我远程登录到服务器,用mysql -u root -p登录进去。
他那个数据库用户叫user1 ,密码太简单了,直接用ALTER USER 'user1 '@'localhost' IDENTIFIED BY 'newpassword';给它改了。
改完还得FLUSH PRIVILEGES;刷新一下权限。
有时候还得重启mysql服务,具体看系统提示。
你看,mysql的密码改法跟Linux系统不太一样,得用mysql命令行工具。

现在想想,改密码这事儿啊,真得小心。
密码强度必须够,不能太简单。
还得有sudo权限,不然改不了。
还得用libpam-pwquality这种工具,设置复杂度,不能老用1 2 3 4 5 6 这种。
你看,这些都是我踩过的坑,现在都记着呢。

如何在 Linux 上设置密码策略

上周试了Linux密码策略设置。

2 02 3 年4 月1 5 日。

我那个朋友说cracklib模块很重要。

$sudo apt-get install libpam-cracklib
CentOS系统确实默认有。

修改pam.d文件。

$sudo vi /etc/pam.d/common-password
禁止旧密码。

password[success=1 default=ignore] pam_unix.so obscure sha5 1 2 remember=5
$sudo vi /etc/pam.d/system-auth
passwordsufficient pam_unix.sosha5 1 2 shadow nullok tryfirstpass useauthtok remember=5
设置最小长度。

$sudo vi /etc/pam.d/common-password
password requisite pam_cracklib.so retry=3 minlen=1 0 difok=3
$sudo vi /etc/pam.d/system-auth
password requisite pam_cracklib.so retry=3 difok=3 minlen=1 0
设置密码复杂度。

$sudo vi /etc/pam.d/common-password
password requisite pam_cracklib.so retry=3 minlen=1 0 difok=3 ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1
$sudo vi /etc/pam.d/system-auth
password requisite pam_cracklib.so retry=3 difok=3 minlen=1 0 ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1
设置过期期限。

$sudo vi /etc/login.defs
PASSMAXDAYS 1 5 0 PASSMINDAYS 0 PASSWARNAGE 7
用户每6 个月改密码。

$sudo chage -l xmodulo
看密码限期。

$sudo chage -E 6 /3 0/2 01 4 -m 5 -M 9 0 -I 3 0 -W 1 4 xmodulo
密码设到2 01 4 年6 月3 日。

算了。