文章目录
一、账号安全控制
1.1、锁定账号文件----chattr、lsattr
- 系统账号清理
• 将非登陆用户的Shell设为/sbin/nologin
• 锁定长期不使用的账户
• 删除无用的账号
• 锁定账号文件/etc/passwd、/etc/shadow
chattr +i /etc/passwd /etc/shadow #锁定账号文件
lsattr /etc/passwd /etc/shadow #查看账号文件的状态
chattr -i /etc/passwd /etc/shadow #解锁账号文件
1.2、密码有效期------新建用户、已有用户
- 已创建的用户设置密码有效期
chage -M 30 wangwu
#chage -M 有效天数 用户名
- 未创建、准备创建的用户设置密码有效期
vim /etc/login.defs
在配置文件中修改 PASS_MAX_DAYS 30
useradd jack
已有用户的设置:
新建用户的设置:
- 要求用户下次登陆时修改密码
将有效期设置为0,下次登陆及时修改密码(不建议使用,更改的密码不允许使用连续字母及数字)
[root@localhost ~]#chage -d 0 zhangsan
1.3、命令历史限制
- 减少记录的命令条数
vim /etc/profile
HISTSIZE=200 (默认是1000)
- 注销时自动清空命令历史
vim ~/.bash_logout
history -c
1.4、终端自动注销
- 闲置600秒后自动注销
vim ~/.bash_profile
…………
export TMOUT=600
二、用户切换与提权
2.1、切换用户-----su
用途:切换用户
格式:su - 目标用户
- root---->任意用户,不验证密码
- 普通用户------>其他用户,验证目标用户的密码
2.2、限制使用su命令的用户
-
默认情况下,任何用户都允许使用su命令,从而有机会反复尝试root用户的登录密码,带来安全风险。
-
为了加强su命令的使用控制,可以借助pam_wheel认证模块,只允许个别用户使用su命令。
-
在wheel组的用户可以使用su命令,但是不在wheel组的用户不能使用su命令。
-
实验
1、先开启pam验证 vim /etc/pam.d/su 把里面的#注释删除
2、gpasswd -a zhangsan wheel #把允许使用su的用户添加进wheel
2.3、提升执行权限-----sudo
- 可以使普通用户拥有一部分管理权限,并且不知道root用户的密码。
- 需要管理员root先进行授权,指定允许哪些用户以root身份来执行哪些命令。
- sudo的用法:sudo 授权命令
实验练习
例1、实现授权zhangsan用户能够执行ifconfig命令修改IP地址
- 1、在root用户下输入visudo即进入/etc/sudoers配置文件
- 2、内容添加:用户名 localhost=/sbin/ifconfig
wq保存退出
- 3、su - zhangsan 进入zhangsan用户
例2、用户zhangsan、lisi、jerry在主机smtp、pop中执行rpm、yum命令 - 在root用户下输入visudo
User_Alias=zhangsan,lisi,jerry
Host_Alias=smtp,pop
Cmnd_Alias=/bin/rpm,/bin/yum
例3、要授权用户zhangsan可以执行/sbin目录下除了ifconfig和route以外的所有命令
zhangsan localhost=/sbin/*,!/sbin/ifconfig,!/sbin/route
!取反符号 * 通配符,指所有。
2.4、设置日志文件—查看授权sudo操作记录
- 1、需启用Defaults logfile配置
- 2、进行sudo操作,查看文件操作记录
实验步骤:
第一步:visudo 添加Defaults logfile="/var/log/sudo"
第二步:进行sudo操作,给zhangsan授权用户能够执行ifconfig命令修改IP地址
Defaults logfile="/var/log/sudo"
zhangsan localhost=/sbin/ifconfig
第三步: tail /var/log/sudo #查看日志文件的sudo操作记录
三、安全控制
调整BIOS引导设置
- 将第一引导设备设为当前系统所在硬盘
- 禁止从其他设备(光盘、U盘、网络)引导系统
- 将安全级别设为setup,并设置管理员密码
GRUB限制管理
- 为了加强对引导过程的安全控制,可以给GRUB菜单设置一个密码,只有提供正确密码才能被允许修改参数。
- 修改grub2-mkpasswd-pbkdf2生成密钥
- 修改/etc/grub.d/00_header文件中,添加密码记录
- 生成新的grub.cfg配置文件
3.1、GRUB限制安全的实验
第一步:先备份grub:
[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
第二步:修改grub2-mkpasswd-pbkdf2生成密钥
第三步:修改/etc/grub.d/00_header文件中,添加密码记录
cat << EOF
set superusers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.047A7FDBE9F04D1145634FCB1760957B8269ACBCA2FFBF1E1F5234BF3A98E0CBC1496FB886ABC363130E0ADB87C2A87C979430246F2A7877A87B97951AC4331E.5C05FA54D049308F1A70F6B1865508B839C06A652FC6F38BD5DCBDB5AD4005A1792FC01D852D1E865C2F0F24D1867E1FA273F1C489979070399A5062201DF4A5
EOF
第四步:生成新的grub.cfg配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg
第五步:reboot重启进入,按e键进入字符界面,此时输入我们只允许的用户root和密码口令才能进入。
第六步:
四、终端安全控制
4.1、限制root只在安全终端登录
- 安全终端配置:/etc/securetty
若要禁止root用户从tty5、tty6登录,可以修改/etc/securetty 文件,将tty5、tty6行注释掉。
4.2、禁止普通用户登录
- 当服务器正在备份或调试等维修工作时,不希望有新的用户登录,只需要建立/etc/nologin文件即可。
- 删除nologin文件或重启后即可取消限制。
五、弱口令检测
Joth the Ripper,简称为JR
- 一款密码分析工具,支持字典式的暴力破解
- 通过对shadow文件的口令分析,可以检测密码强度
- 官方网站:http://www.openwall.com/john/
5.1、弱口令实验模拟
-
环境准备
1、vmware
2、centos 7
3、john-1.8.0.tar.gz安装包(可以在官方网站下载最新的稳定版) -
一、通过共享把主机的安装包挂载到虚拟机centos里,并解压到 /opt 目录下。
-
二、安装相对应的编译工具,直接用yum安装。
yum install gcc gcc-c++ -y
- 三、解压之后可以看到三个子目录–doc、run、src,分别是手册文档、运行程序、源码文件。
先切换到 src目录下执行“make linux-x86-64”命令,即可执行编译。
- 四、在make编译后,run子目录会生成一个名为john的可执行程序表示工具安装成功。
- 五、接下来就是检测弱口令
./john /etc/passwd /etc/shadow
六、网络扫描----NMAP
- 一款强大的网络扫描、安全检测工具
- 可从centos7 光盘中安装nmap-6.40-19.el7.x86_64包
6.1、NMAP
- NMAP的扫描语法:nmap [扫描类型] <扫描目标>
- 常见的扫描类型:
- -sT : 指 TCP扫描
- -sU :指UDP扫描
- -sP:指ICMP扫描
6.2、命令操作练习
一、安装NMAP包
yum install nmap -y
- 例1:分别查看本机开放的TCP端口、UDP端口
- 例2:检测192.168.220.0/24网段有哪些在线的主机。
先打开虚拟机里的centos7-2和centos7-3这两台主机。
- 例3:检测192.168.220.0/24网段有哪些主机提供FTP服务