您的位置:首页 > 运维架构 > Linux

linux系统安全 ------用户和账号和密码安全

2020-07-01 10:52 85 查看

1.删除或者禁用不必要的用户

原因解析:管理员应该定期的去检查/etc/passwd文件,查看主机上的启动用户,对于系统中已经不存在的用户,应及时将清理.对于在系统上创建的专门的执行用户,该用户一般只是作用户的执行者,无需登录Linux,比如ftp,apache,nginx等,这些用户是设置为禁止登录操作系统,这样作的目的是防止这类用户账号被作为入侵服务器的跳板.

[root@localhost ~]# useradd zhu
[root@localhost ~]# echo “123456” | passwd --stdin zhu
更改用户 zhu 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# exit
登出
Connection to 192.168.9.1 closed.
[root@room9pc01 ~]# ssh zhu@192.168.9.1
zhu@192.168.9.1’s password: 
[zhu@localhost ~]$

[root@localhost ~]# passwd -l zhu    -----锁定用户,不让该用户有登录操作系统的权限
锁定用户 zhu 的密码 。
passwd: 操作成功

[root@room9pc01 ~]# ssh zhu@192.168.9.1     ----验证用户登录不了系统
zhu@192.168.9.1’s password: 
Permission denied, please try again.
zhu@192.168.9.1’s password:

2.设置强壮的用户密码

原因解析:对于过于简单的密码,一些密码破解工具就可以轻松第破解这些薄弱的密码获得用户的访问权限,从而进入系统.另外对于对于没有设置密码的用户,应该删除或者强制进行设置密码.

对于设置密码的建议:

1.密码中包含有字母,数字以及标点符合

2.密码中同时包含有大写和小写字符

3.密码长度在8位以上

4.不要使用自己的个人信息相关的密码,比如生日,电话号码.

a.设置一个无需密码就可以登录系统的用户

[root@localhost ~]# useradd hai
[root@localhost ~]# passwd -d hai
清除用户的密码 hai。
passwd: 操作成功

[root@localhost ~]# cat /etc/shadow | awk -F: ‘length($2)<1 {print $1}’   —查找在系统里面.没有设置密码的用户
hai

[root@localhost ~]# egrep ‘hai|zhu’ /etc/shadow    -----可以发现,hai用户是缺少密码的
zhu:!!666l/LLXBWb$7DEMMazWQs7qtyo5H1xNzFKcI/sW5/07CqEM0aCZzqHd2Sa95Lbw0iQHnw4gajpxy.SKvisMoGuLaVFjF6lz91:18115:0:99999:7:::
hai::18115:0:99999:7:::

3.设置符合公司的合适的密码策略

原因分析:现在暴力破解密码的时间越来越短,单纯的设置强制的密码是不够的,企业一般要求员工定期更改自己的用户密码,但是往往效果不佳,在Linux系统中提供了一种强制更改密码的机制.为系统中的用户设置合适的密码更改策略,强制用户更改自己的密码.

[root@localhost ~]# chage
用法:chage [选项] 登录

选项:
  -d, --lastday 最近日期        将最近一次密码设置时间设为“最近日期”
  -E, --expiredate 过期日期     将帐户过期时间设为“过期日期”
  -h, --help                    显示此帮助信息并推出
  -I, --inactive INACITVE       过期 INACTIVE 天数后,设定密码为失效状态
  -l, --list                    显示帐户年龄信息
  -m, --mindays 最小天数        将两次改变密码之间相距的最小天数设为“最小天数”
  -M, --maxdays 最大天数        将两次改变密码之间相距的最大天数设为“最大天数”
  -R, --root CHROOT_DIR         chroot 到的目录
  -W, --warndays 警告天数       将过期警告天数设为“警告天数”

[root@localhost ~]# chage -M 60 -I 3 -W 7 zhu

命令解析:设置用户zhu每次60天必须更改一次密码,提前7天向用户发出告警信息,过期3天将禁用用户登录系统
[root@localhost ~]# chage -l zhu
最近一次密码修改时间                    :8月 07, 2019
密码过期时间                    :10月 06, 2019
密码失效时间                    :10月 09, 2019
帐户过期时间                        :从不
两次改变密码之间相距的最小天数        :0
两次改变密码之间相距的最大天数        :60
在密码过期之前警告的天数    :7

4.保护shadow密码文件

原因分析:主机的/etc/shadow文件是记录了用户密码信息,目前有很多中方式可以用于破解这些密码散列.Join the Ripper就是这样的一款软件:

1.安装Join the Ripper的整个过程
[root@zhuhaiyan ~]# wget http://www.openwall.com/john/j/john-1.8.0.tar.xz
[root@zhuhaiyan ~]# tar xf john-1.8.0.tar.gz
[root@zhuhaiyan ~]# cd john-1.8.0/src/
[root@zhuhaiyan ~]# make 
[root@zhuhaiyan ~]# make clean linux-x86-64
2.测试

[root@zhuhaiyan ~]# cd /root/john-1.8.0/run/

[root@zhuhaiyan run]# ./john /etc/shadow

4.禁止静止用户

在公司中,离职员工如果对于账号没有得到及时的处理的时候,对于这些长时间不使用的账号是一个潜在的安全漏洞,但是这些用户如果被人更改,那么很长时间都可能不会被发现.在Linux系统中,可以为用户设置静止阀值,如果用户超过10天没有登录系统,则默认会被禁止,(即使用户一直在线,只要限制的时间没有发生登录这个动作,也会被禁止掉)

[root@localhost ~]# usermod -f 10 zhu  设置zhu用户10超过10天没有登录,这会被禁止掉
[root@localhost ~]# usermod -f -1 zhu  取消对zhu用户的静止阀值的设置

可以编写脚本实现自动过滤出本月没有登录过系统的用户账号,这样管理员可以根据情况选择性的静止掉相应的用户

#!/bin/bash
mkdir /tmp/nologin
unset LANG
MONTH='date | awk ‘{print $2 }’ ’
last | grep $MONTH |
awk ‘{print $1}’ |
sort -u > /tmp/nologin/users1.log
cat /etc/passwd |
grep -v ‘/sbin/nologin’ |
awk -F: ‘{print $1}’ |
sort -u > /tmp/nologin/users2.log
comm -13 /tmp/nologin/users[12].log
rm -fR /tmp/nologin
————————————————
版权声明:本文为CSDN博主「zhy-dream」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhydream77/article/details/98744503

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: