账号清理手段
将非登录的用户的shell设为 /sbin/nologin锁定长期不使用的账户删除无用的账号锁定账号文件passwd,shadow账号清理的具体命令
useradd命令
useradd -s /sbin/nologin 用户名 ## 创建账户的时候设置为不可登录usermod命令
usermod -L 用户名 ## 锁定已创建好的账户 usermod -U 用户名 ## 与 -L对应解锁锁定的账户passwd命令
passwd -l 用户名 ## 锁定已创建的账户 passwd -u 用户名 ## 对 -l对应解锁锁定的账户userdel命令
userdel [-r] 用户 ## 删除用户,加 -r删除用户时宿主目录也会被删除chattr的命令
[root@server1 ~]# chattr +i /[目录] ## 对该目录进行保护,不能对该目录进行删除、改名、设定链接关系,同时不能写入或新增内容 [root@server1 ~]# chattr -i /[目录] ## 解锁该目录的锁定,可正常对该目录进行操作 [root@server1 ~]# lsattr 目录 ## 与chattr搭配使用,查看chatte操作后的状态chattr命令的用法
选项作用+在原有参数设定的基础上,追加参数-在原有参数设定基础上,移除参数=更新为指定参数设定chattr的常用选项
选项作用i设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容a设定改参数后,只能向该文件中添加数据,而不能移除。多用于服务器日志文件安全。只有root才能设置这个属性chattr的注意事项
chattr命令不能保护 /、/dev、/tmp、/var 目录
设置密码有效期 要求用户下次登录时修改密码
[root@server1 ~]# chage -M 30 用户名 ## 设置该用户密码可用时间30天 [root@server1 ~]# chage -d 0 用户名 ## 设置该用户下次登录时修改密码减少记录的命令条数
[root@server1 ~]# vi /etc/profile ## 进入该文件 HISTSIZE = 100 ## 将命令条数限制为100,默认为1000注销时自动清空命令历史
[root@server1 ~]# vi .bash_logout ## 进入注销设置命令 ~/.bash_logout ## 如果前面有#的需要将#去掉 history -c ## 清空历史 clear ## 清屏 echo ""> /root/.bash_history ## 将.bash_history目录清空 [root@server1 ~]#source .bash_history ## 不关机的情况下执行上述命令作用
切换用户
格式
su 用户名称密码验证
root用户切换到其他用户时不需要验证密码普通用户切换到其他用户时需要验证密码除root用户外允许使用su命令的条件
默认注释掉执行非wheel组用户无法使用su命令
默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户(如root)的登录密码,会带来安全隐患。 为了加强su命令的使用控制,可借助于PAM认证模块,只允许极个别用户使用su命令进行切换。
查看某个程序是否支持PAM认证,可用ls命令
ls /etc/pam.d | grep su查看su的PAM的配置文件
cat /etc/pam.d/su每一行都是一个独立的认证过程,每行可以区分为3个字段 认证类型 控制类型 PAM模块及基参数
控制类型也称作Control Flags,用于PAM验证类型的返回结果
required验证失败时仍然继续,但返回Fail;requisite验证失败则立即结束整个验证过程,返回Fail;sufficient验证成功则立即返回,不在继续,否则忽略结果并继续;optional不用于验证,为显示信息(通常用于session类型)限制root只在安全终端登录
安全终端配置: /etc/securetty
禁止普通用户登录
在root目录下新建 /etc/nologin文件 删除nologin文件或重启即恢复正常
方式一:
导入john.tar.gz压缩包 tar.zxvf john.tar.gz ## 解压john压缩包 cd john-1.8.0 cd src make clean linux-x86-64 ## 执行编译文件 ls .. /run/john ## 查看上一级目录是否生成john程序 cp /etc/shadow root/shadow.txt ## 复制密码文件 .john /root/shadow.txt ## 破译账户弱密码 .john --show /root/shadow.txt ## 查看已破译出的账户列表方式二
:> john.pot ./john --wordlist=./password.lst /root/shadow.txt ./john --show /root/shadow.txt