理论+实验:详解系统安全及应用

一 账号安全控制

1.1账号基本安全措施

1.1.1系统账号清理

●将非登录用户的Shell设为/sbin/nologin
理论+实验:详解系统安全及应用

●锁定长期不使用的账号
理论+实验:详解系统安全及应用
理论+实验:详解系统安全及应用

说明:passwd,usermod命令都可以用来锁定,解锁账号
●删除无用的账号
理论+实验:详解系统安全及应用

●锁定账号文件passwd,shadow
理论+实验:详解系统安全及应用

1.1.2密码安全控制

●设置密码有效期
理论+实验:详解系统安全及应用

●要求用户下次登录时修改密码
理论+实验:详解系统安全及应用

1.1.3命令历史,自动注销

■命令历史限制
●减少记录的命令条数
理论+实验:详解系统安全及应用

说明:此命令适用于新登录用户
理论+实验:详解系统安全及应用

说明:此命令适用于当前用户,需要命令生效下重启之后才能生效
●注销时自动清空命令历史
理论+实验:详解系统安全及应用

说明:vi .bash_logout或者vi .bash_history里输入HISTFILESIZE=0也可以生效
■终端自动注销
●闲置30秒后自动注销
理论+实验:详解系统安全及应用
理论+实验:详解系统安全及应用

说明:用vi /etc/profile也可以设置闲置时间,适用于新登录用户;vi .bash_history适用于当前用户
理论+实验:详解系统安全及应用

1.2用户切换与提权

1.2.1使用su命令切换用户

■用途及用法
●用途:Substitute User,切换用户
●格式:su - 目标用户
理论+实验:详解系统安全及应用

■密码验证
●root:任意用户,不验证密码
理论+实验:详解系统安全及应用

●普通用户:其他用户,验证目标用户的密码
■限制使用su命令的用户
●将允许使用su命令的用户加入wheel组
理论+实验:详解系统安全及应用

●启用pam_wheel认证模块
理论+实验:详解系统安全及应用
理论+实验:详解系统安全及应用

说明:未加入wheel组内的其他用户将无法使用su命令,尝试进行切换时将会按照“拒绝权限”来处理
■查看su操作记录
●安全日志文件:/var/log/secure
理论+实验:详解系统安全及应用

1.2.2使用sudo机制提升权限

■su命令的缺点
●默认情况下,任何用户都允许使用su命令的,从而有机会反复尝试其他用户(如root)的登录密码,带来的安全风险
■sudo命令的用途及用法
●用途:以其他用户身份(如root)执行授权的命令
●用法:sudo 授权命令
■配置sudo授权
●visudo或者vi /etc/sudoers
●记录格式:用户 主机名列表=命令程序列表
理论+实验:详解系统安全及应用

■实验
理论+实验:详解系统安全及应用

■查看sudo操作记录
●需启用Defaults logfile配置
●默认日志文件:/var/log/sudo
理论+实验:详解系统安全及应用

■查询授权的sudo操作
●sudo -l
理论+实验:详解系统安全及应用

1.3PAM安全认证

1.3.1PAM及其作用

■PAM(Pluggable Authentication Modules)可插拔式认证模块
●是一种高效而且灵活便利的用户级别的认证方式
●也是当前Linux服务器普遍使用的认证方式

1.3.2PAM认证原理

■一般遵循的顺序
●Service(服务)→PAM(配置文件)→pam_*.so
■首先要确定哪一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/etc/security下)进行安全认证
■用户访问服务器时,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证
■不同的应用程序所对应的PAM模块是不同的

1.3.3PAM认证的构成

■查看某个程序是否支持PAM认证,可以用ls命令
●示例:查看su是否支持PAM模块认证
理论+实验:详解系统安全及应用

■查看su的PAM配置文件:cat /etc/pam.d/su
●每一行都是一个独立的认证过程
●每一行可以区分为三个字段:认证类型;控制类型;PAM模块及其参数
理论+实验:详解系统安全及应用

1.3.4PAM认证类型

■认证管理:接受用户名和密码,进行对该用户的密码进行认证
■账户管理:检查账户是否被允许登录系统,账号是否过期,账号的登录是否有时间限制
■密码管理:主要是用来修改用户的密码
■回话管理:主要是提供对回话的管理和记账

1.3.5PAM控制类型

控制类型也可以叫control falgs 用于PAM验证类型的返回结果
■required验证失败时仍然继续,但返回fail
■requisite验证失败则立即结束整个验证过程,返回fail
■sufficient验证成果则立即返回,不再继续,否则忽略结果并继续
■optional不用于验证,只是显示信息(通常用于session)

1.3.6PAM安全认证流程

■控制类型也称做Control Flags,用于PAM验证类型的返回结果
理论+实验:详解系统安全及应用

二 系统引导和登录控制

2.1 开关机安全控制

■调整BIOS引导设置
●将第一引导设备设为当前系统所在硬盘
●禁止从其他设备(光盘,U盘,网络)引导系统
●将安全级别设为setup,并设置管理员密码
■GRUB限制
●使用grub2-mkpasswd-pbkdf2生成密码
●修改/etc/grub.d/00_header文件中,添加密码记录
●生成新的grub.cfg配置文件
理论+实验:详解系统安全及应用
理论+实验:详解系统安全及应用
理论+实验:详解系统安全及应用

2.2 终端登录安全限制

■限制root只在安全终端登录
●安全终端配置:/etc/securetty
理论+实验:详解系统安全及应用
理论+实验:详解系统安全及应用

■禁止普通用户登录
●建立/etc/nologin文件
●删除nologin文件或重启后恢复正常
理论+实验:详解系统安全及应用

说明:只要简单地建立/etc/nologin文件,login程序会检查/etc/nologin文件是否存在,如果存在则拒绝普通用户登录系统(root用户不受限制)。手动删除/etc/nologin文件,即可恢复正常

三 弱口令检测

3.1 系统弱口令检测

■Joth the Ripper,简称为JR
●一款密码分析工具,支持字典式的暴力**
●通过对shadow文件的口令分析,可以检测密码强度
●官方网站:http://www.openwall.com/john/
■安装JR工具
●安装方法:make clean 系统类型
●主程序文件为john
■检测弱口令账号
●获得Linux/Unix服务器的shadow文件
●执行john程序,将shadow文件作为参数
■密码文件的暴力**
●准备好密码字典文件,默认为password.lst
●执行john程序,结合–wordlist=字典文件
■实验
①下载并安装John the Ripper
理论+实验:详解系统安全及应用

说明:解压安装包,解压之后可以看到三个子目录doc(手册文档);run(运行程序);src(源码文件);还有一个链接说明文件(README),其中doc目录下包括了多个文档
理论+实验:详解系统安全及应用

②检测弱口令账号

理论+实验:详解系统安全及应用
理论+实验:详解系统安全及应用

四 网络端口扫描

■NMAP
●一款强大的网络扫描,安全检测工具
●官方网站:http://nmap.org/
●CentOS7.4光盘中安装包nmap-6.40-7.e17.x86_64.rpm
理论+实验:详解系统安全及应用

■NMAP的扫描
Nmap 【扫描类型】 【选项】 <扫描目标…>
■常用的扫描类型
●-sS,-sT,-sF,-sU,-sP,-P0
■示例1
●分别查看本机开放的TCP端口,UDP端口
理论+实验:详解系统安全及应用

■示例2
●检测20.0.0.0/24网段有哪些主机提供FTP服务
理论+实验:详解系统安全及应用

■示例3
●检测20.0.0.0/24网段有哪些存活主机
理论+实验:详解系统安全及应用

■示例4
●检测IP地址位于20.0.0.100~200的主机是否开启文件共享服务
理论+实验:详解系统安全及应用