su命令用法
- 用途及用法
切换用户(su;su yh ;su - yh)
su - 目标用户 - 密码验证
root→任意用户,不验证密码
普通用户→其他用户,验证目标用户密码
带“ - ”选项表示将使用目标用户的登录shell环境
sudo基本操作
想给哪个用户权
root权限
执行所有命令
sudo -l 查看用户可执行的命令
sudo userdel -r 用户 删除用户
有“ % ”是个组,没有是用户
Linux中的PAM安全认证
su命令的安全隐患
默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户(如root)的登录密码,带来安全风险
为了加强su命令的使用控制,可借助PAM认证模块,只允许极个别用户使用su命令进行切换
PAM可插拔式认证模块
是一种高校而且灵活便利的用户级别的认证
也是当前Linux服务器普遍使用的认证方式
看配置文件
第一列配置类型;第二列控制类型;第三列认证类型
进入最后一行加内容
只允许whell的成员使用su命令切换到一行
服务的默认配置文件
使用sudo机制提升权限
- 查看sudo操作记录
需启用Defauits logfile 配置
默认日志文件:/var/log/sudo - 查询授权的sudo操作
sudo -I
PAM认证
PAM认证原理
-
一般遵循的顺序
Service(服务)→PAM(配置文件)→pam_*.so
-
首先要确定哪一项服务,然后加载相应的PAM配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib64/securty下)进行安全认证
-
用户访问服务器时,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证
-
不同的应用程序所对应的PAM模块是不同的
PAM安全认证流程
控制类型也称作Control Flags,用于PAM验证类型的返回结果
- require验证失败时仍继续,但返回Fail
- require验证失败则立即结束整个验证过程,返回Fail
- sufficient验证成功则立即返回,不再继续,否则忽略结果并继续
- optional不用于验证,只显示信息(通常用于session类型)
开关机安全控制 - 调整BIOS引导设置
将第一引导设备设为当前系统所在硬盘
禁止从其他设备(光盘、U盘、网络)引导系统
将安全级别设为setup,并设置管理密码 - GRUB限制
使用grub2-mkpasswd-pbkdf2生成秘钥
修改/etc/grub.d/00_header
生成新的grub.cfg配置文件
终端登录安全控制
限制root只在安全终端登录
安全终端配置:/etc/securetty
系统弱口令检测
- Joth the Ripper,简称为JR
一款密码分析工具,支持字典式的暴力破解
通过对shadow文件的口令分析,可以检测密码强度
官方网站:http://www.openwall.com/join/
系统弱口令检测
- 安装JR工具
安装方法:make ciean 类型系统
主程序文件为john - 检测弱口令账号
获得Linux/Unix服务器的shadow文件
执行John程序,将shadow文件作为参数 - 密码文件的暴力破解
准备好密码字典文件,默认为password.lst
执行john程序,结合–wordlist=字典文件
网络端口扫描
- NMAP
一款强大的网络扫描、安全检测工具
官方网站:http://nmap.org/
CentOS 7.3光盘中安装nmap-6.40-7.el7.x86_64.rpm - NMAP的扫描:nmap [扫描类型] [选项] [扫描目标…]
- 常用的扫描类型
-sS、-sT、-sF、-sU、-sP、-P0