二、详细说明
1)用户方面清除一些不必要的系统用户,可以减少**我们linux的入口;锁定账号适用于员工在一段时间不适用账号的场景(usermod -L);而锁定/etc下的passwd和shadow文件可以避免非法用户建立用户(chattr +i)
2)密码方面,设置密码有效期可以做到提醒用户定期更改密码,避免长期使用同一密码导致密码被破解的情况(vim /etc/login.defs和chage -M);设置员工首次登陆更改密码其实是为了员工在登陆账号后更改属于自己的密码(chage -d 0)
3)众所周知,默认的命令历史会显示之前敲过的1000条命令,假如linux被非法用户使用,通过history查看命令历史是一件很危险的事。所以,我们可以将命令历史的行数改的比较短,或者注销后直接清空来保证安全(export HISTSIZE=和vim ~/.bash_logout)。
4)自动注销(export TMOUT),即用户长时间不登陆自动返回登陆界面
5)工作中有时需要允许普通用户登陆操作系统,但是普通用户如果可以使用su切换用户则存在比较大的危险性,通过启用pam_wheel认证可以很好的避免此类情况的产生(vim /etc/pam.d/su);而通过修改/etc/sudoers文件可以为用户分配一些必要的权限(visudo或vim /etc/sudoers)。
6)禁止ctrl+alt+del快件键可以成功避免工作的按键失误带来的无法估量的损失。我们可以统过修改/etc/init/control-alt-delete.conf文件,将该文件中的对应配置前加上#,让它变为注释即可。
7)建立grub密码。通过grub引导时进入单用户模式修改root密码,可以说是一件很容易的事了。只要稍微了解linux系统的员工都可能做到这点。所以这样我们的linux的安全性就无法保障,所以grub密码修改是linux安全的必要做的一件事。首先我们通过grub-md5-crypt生成一个md5算法加密的密码,然后我们修改/boot/grub/grub.conf文件,将生成的密码粘贴到指定位置。
8)linux默认存在6个终端,有时候利用这6个终端切换可以很好的提高工作效率,然而另一方面它在我们看来也可以是6个系统的入口,所以关闭一些入口保证安全势在必行(vim /etc/init/start-ttys.conf&vim /etc/sysconfig/init)。
9)禁止不必要的用户登录。其实root用户的权限太大,也是一个隐存的问题,如果root密码泄露,被非法用户登陆,后果不堪设想。我们通过修改配置,可以做到禁止root从某些终端登陆系统(vim /etc/securetty)。而大多时候普通用户登陆操作系统是不必要且危险的,做法是在/etc下touch一个空文件nologin。
三、举例演示
1、弱口令检测
1)首先下载解压Jhon的安装包。
下载地址 ——提取码:ckkm
[root@centos-01 ~]# tar zxvf john-1.8.0.tar.gz -C /usr/local/
2) 进入/usr/src/john-1.8.0/src下,执行make clean linux-x86-64安装john。
[root@centos-01 ~]# cd /usr/local/john-1.8.0/src/
[root@centos-01 src]# make clean linux-x86-64
3)建立测试用户centos,密码123;linux,密码1234
4)复制/etc/shadow(用户密码文件)到/data/scripts/tools/password.txt,执行/usr/src/john-1.8.0/run/john扫描/data/scripts/tools/password.txt文件
[root@centos-01 ~]# cp /etc/shadow /data/scripts/tools/password.txt
[root@centos-01 ~]# cd /usr/local/john-1.8.0/run/ && ./john /data/scripts/tools/password.txt
5)结果如下:
2、端口扫描
1)安装nmap
[root@centos-01 run]# yum -y install nmap
2) 扫描本地开启的TCP/UDP端口
3)扫描1-65535(基本覆盖所有端口)
4)扫描192.168.1.10到192.168.1.20有哪些机器开启了20和21端口。(多个端口用“,”分隔,连续IP地址用“-”连接)
5)扫描192.168.1.0网段有哪些主机可以ping通
补充nmap选项
-sF:tcp端口扫描
-sU:udp端口扫描
-sP:ICMP扫描,类似于ping检测
-P0:跳过ping检测,如果目标主机ping不通,则跳过扫描该主机