1:系统账号清理
[root@localhost ~]# useradd zhangsan
[root@localhost ~]# passwd zhangsan
[root@localhost ~]# grep
“/sbin/nologin$” /etc/passwd
[root@localhost ~]# usermod -L zhangsan
[root@localhost ~]# passwd -S zhangsan ##查看账号状态
zhangsan LK 2015-12-02 0 99999 7 -1 (密码已被锁定。)
[root@localhost ~]# usermod -U zhangsan
[root@localhost ~]# passwd -S zhangsan
zhangsan PS 2015-12-02 0 99999 7 -1 (密码已设置,使用 SHA512 加密。)
[root@localhost ~]# chattr +i /etc/passwd
/etc/shadow
[root@localhost ~]# lsattr /etc/passwd
/etc/shadow
----i--------e- /etc/passwd
----i--------e- /etc/shadow ## 'e’属性表示文件正在使用区段来映射块磁盘。它不能使用chattr删除。
[root@localhost ~]# useradd billgate
useradd: cannot open /etc/passwd
[root@localhost ~]# chattr -i /etc/passwd
/etc/shadow
[root@localhost ~]# lsattr /etc/passwd
/etc/shadow
-------------e- /etc/passwd
-------------e- /etc/shadow
2:密码安全控制
[root@localhost ~]# vi /etc/login.defs ##适合新建账号
修改
PASS_MAX_DAYS 30
[root@localhost ~]# chage -M 30 zhangsan ##适合老帐号,-M:最大多少天
[root@localhost ~]# chage -d 0 zhangsan ##下次登陆修改密码,-d:还剩多少天
3:命令历史、自动注销(字符终端)
[root@localhost ~]# vi /etc/profile ##新登陆用户
修改
HISTSIZE=200
[root@localhost ~]# export HISTSIZE=200 ##适用当前用户
[root@localhost ~]# vi ~/.bash_logout ##退出时清理历史命令,但是-c以后的不清空
添加
history -c
clear
[root@localhost ~]# vi /etc/profile ##自动注销,新登陆用户
添加
export TMOUT=600 ##超时时间600秒
[root@localhost ~]# export TMOUT=600 ##当前用户自动注销, 取消:unset TMOUT
1.2:用户切换与提权
1:su命令(禁止普通用户使用su命令)
[zhangsan@localhost root]$ su – root ##-指的是进入目标用户的shell环境
密码:
[root@localhost ~]# gpasswd -a zhangsan
wheel ##允许张三使用su,不许aaa使用su
Adding user zhangsan to group wheel
[root@localhost ~]# grep wheel /etc/group
wheel❌10:zhangsan
[root@localhost ~]# vi /etc/pam.d/su
auth sufficient pam_rootok.so
auth required pam_wheel.so use_uid ##去掉#
[root@localhost ~]# su aaa
[aaa@localhost root]$ su root
密码:
su: 拒绝权限
2:sudo命令
[root@localhost ~]#
visudo ##开启sudo日志功能
添加
Defaults
logfile="/var/log/sudo"
[root@localhost ~]# visudo
末尾添加
aaa localhost=/sbin/ifconfig
%wheel ALL=NOPASSWD: ALL ##NOPASSWD指无需使用密码验证即可直接执行命令
[root@localhost ~]# su aaa
[aaa@localhost root]$ sudo /sbin/ifconfig
eth0:0 10.2.2.2/8 ##需要有aaa的密码验证
[aaa@localhost root]$
sudo -l
[aaa@localhost root]$ su zhangsan
密码:
[zhangsan@localhost
root]$ sudo /sbin/ifconfig eth0:0 20.1.1.1/8
##zhangsan属于wheel组,可直接修改,而不验证
[zhangsan@localhost
root]$ sudo -l
或
[root@localhost ~]#
tail /var/log/sudo ##root
二:系统引导和登陆控制
2.1:开机安全控制
1:调整BIOS引导设置
2:禁止ctrl+alt+del快捷键重启(字符终端,桌面无效)
[root@localhost ~]#
systemctl mask ctrl-alt-del.target ##禁用
[root@localhost ~]#
systemctl daemon-reload ##重载systemd配置
[root@localhost ~]#
systemctl unmask ctrl-alt-del.target ##开启
3:限制更改GRUB引导参数
[root@localhost ~]#
grub2-mkpasswd-pbkdf2
输入口令:
Reenter password:
PBKDF2 hash of your password is
grub.pbkdf2.sha512.10000.26012A1550E071A5120FBEFA57C751256F2642AF0B9D9D97971A36C1A902A8DC69AF4D5AE3E11B36BE086BBB989D4D1A16C20ECAFA6863A0A705791430CD61F8.EED048F257E8782B533B5641C4B7000F46299103B7F1AD3E8A63AB176E64DF6EFA348D9920886056F6BEF135E3A25A3C00F64D95B92AF4E94EB5A81946BFB54E
[root@localhost ~]#
cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak
[root@localhost ~]#
cp /etc/grub.d/00_header /etc/grub.d/00_header.bak
[root@localhost ~]#
vi /etc/grub.d/00_header
cat << EOF
set
superusers=“root”
password_pbkdf2root grub.pbkdf2.sha512.10000.26012A1550E071A5120FBEFA57C751256F2642AF0B9D9D97971A36C1A902A8DC69AF4D5AE3E11B36BE086BBB989D4D1A16C20ECAFA6863A0A705791430CD61F8.EED048F257E8782B533B5641C4B7000F46299103B7F1AD3E8A63AB176E64DF6EFA348D9920886056F6BEF135E3A25A3C00F64D95B92AF4E94EB5A81946BFB54E
EOF
[root@localhost ~]#
grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub
configuration file …
Found linux image:
/boot/vmlinuz-3.10.0-514.el7.x86_64
Found initrd image:
/boot/initramfs-3.10.0-514.el7.x86_64.img
Found linux image:
/boot/vmlinuz-0-rescue-00686d1a1cfe4b14a87a05f34e412c0b
Found initrd image:
/boot/initramfs-0-rescue-00686d1a1cfe4b14a87a05f34e412c0b.img
done
重启系统进入grub菜单验证
2.2:终端及登陆控制
1:禁止root登陆
[root@localhost ~]#
vi /etc/securetty ##登陆时会提示密码错
加注释#
#tty5
#tty6
2:禁止普通用户登陆
[root@localhost ~]#
touch /etc/nologin
三:弱口令探测、端口扫描
3.1:弱口令检测
1:安装john-1.8.0
[root@localhost ~]#
useradd aaa
[root@localhost ~]#
passwd aaa ##设置一个简单的密码比如123
[root@localhost ~]#
cd /usr/src
[root@localhost src]#
tar zxf john-1.8.0.tar.gz
[root@localhost src]#
cd john-1.8.0
[root@localhost
john-1.8.0]# ls -ld *
[root@localhost
john-1.8.0]# ls doc/
[root@localhost
john-1.8.0]# cd src
[root@localhost src]#
make linux-x86-64
[root@localhost src]#
ls …/run/john
2:检测弱口令账号
1):暴力破解
[root@localhost src]#
cp /etc/shadow /root/shadow.txt
[root@localhost src]#
cd …/run
[root@localhost run]#
./john /root/shadow.txt ##破解时间视密码的复杂性
[root@localhost run]#
./john --show /root/shadow.txt
2):密码字典破解
[root@localhost run]#
:>john.pot
[root@localhost run]#
./john --show /root/shadow.txt
0 password hashes
cracked, 2 left
[root@localhost run]#
vi password.lst ##john自带有密码字典就在src目录下
[root@localhost run]#
./john --wordlist=./password.lst /root/shadow.txt
3.2:网络扫描——NMAP
这个实验可以将linux桥接到物理网络中,
1:安装NMAP软件包
[root@localhost ~]#
mount /dev/cdrom /media/cdrom
[root@localhost ~]#
rpm -ivh /media/cdrom/Packages/nmap-5.51-3.el6.x86_64.rpm
2:扫描语法及类型
[root@localhost ~]#
nmap 127.0.0.1
[root@localhost ~]#
nmap -sU 127.0.0.1 ##扫描常用端口
[root@localhost ~]#
ifconfig
[root@localhost ~]#
nmap -p 21 192.168.10.0/24 ##扫描网段中哪些主机启用的端口21
[root@localhost ~]#
nmap -n -sP 192.168.10.0/24 ##扫描存活主机
[root@localhost ~]#
nmap -p 139,445 192.168.10.10-20 扫描主机是否开了共享