第十章 系统安全及应用
文章目录
- 第十章 系统安全及应用
- 1、账号安全基本措施
- 2、用户切换与提前
- 3、Linux中的PAM安全认证
- 3.1、PAM及其作用
- 3.2PAM认证原理
- 一般遵循的顺序
- 首先要确定哪一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib/security下)进行安全认证
- 用于访问服务器时,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证
- 不同的应用程序所对应的PAM模块时不同的
- PAM认证的构成
- 查看某个程序是否支持PAM认证,可以用ls命令
- 查看su的PAM配置文件:cat /etc/pam.d/su
- 认证管理:接收用户名和密码,进而对该用户的密码进行认证;
- 3.3、PAM安全认证流程
- 4、开关机安全控制
- 5、网络扫描NMAP
1、账号安全基本措施
1.1、系统账号清理
将非登录用户的Shell设为/sbin/nologin
锁定长期不使用的账号
删除无用的账号
锁定账号文件passwd、shadow
[[email protected] ~]# chattr +i /etc/passwd /etc/shadow ###锁定文件并查看状态 解锁“-i”
[[email protected] ~]# lsattr /etc/passwd /etc/shadow ###查看状态
1.2、密码安全控制
设置密码有效期
要求用户下次登录时修改密码
[[email protected] ~]# vi /etc/login.defs ###适用于新建用户
…
PASS_MAX_DAYS 30
[[email protected] ~]# chage -M 30 jerry ###适用于已有用户
[[email protected] ~]# chage -d 0 jerry ###强制在下次登录时修改密码
1.3、命令历史、自动注销
1.31、命令历史限制
减少记录的命令跳数
注销时自动清空命令历史
1.3.2、终端自动注销
闲置600秒后自动注销
[[email protected] ~]# vi /etc/profile
HISTSIZE=200 ###200条信息
[[email protected] ~]# vi ~/.bash_logout
history -c
clear ###退出会清空历史命令
[[email protected] ~]# vi ~/.bash_profile
…
export TMOUT=600 ###闲置600秒后自动注销
2、用户切换与提前
2.1、适用su命令切换用户
2.1.1、用途及用法
用途:Substitute User,切换用户
格式:su - 目标用户
2.1.2、密码验证
root➡任意用户,不验证密码
普通用户➡其他用户,验证目标用户的密码
[[email protected] ~]$ su -root ###带-选项表示将使用目标用户的登录Shell环境
口令
[[email protected] ~]# whoami ###当前账户
root
限制使用su命令的用户
将允许使用su命令的用户加入wheel组
启用pam_wheel认证模块
[[email protected] ~]# gpasswd -a jerry wheel
jerry
正在将用户“jerry”加入到“wheel”组中
2.1.3、限制使用su命令的用户
将允许使用su命令的用户加入wheel组
启用pam_wheel认证模块
[[email protected] ~]# vi /etc/pam.d/su
#%PAM-1.0
auth sufficent pam_rootok.so
auth required pam_wheel.so use_uid
…
[[email protected] ~]# echo"SU_wheel_ONLY yes">>/etc/login.defs
加入语句到行末以上操作完毕后,能够再建立一个新用户。然后用这个新建的用户测试会发现,没有加入到wheel组的用户,运行“su -”命令。即使输入了正确的rootpassword,也无法登录为root用户
2.1.4、查看su操作记录
安全日志文件:/var/log/secure
2.1.5、使用sudo机制提升权限
sudo命令的用途及用法
用途:以其他用户身份(如root)执行授权的命令
用法:sudo 授权命令
配置sudo授权
visudo或者vi /etc/sudoers
记录格式 用户 主机名列表=命令程序列表
[[email protected] ~]# visudo
…
%wheel ALL=NOPASSED:ALL
jerry localhost=/sbin/ifconfig
syrianer localhost=/sbin/,!/sbin/ifconfig,!/sbin/route ###可以使用通配符、取反符号!
Cmnd_Alias PKGTOOLS=/bin/rpm,/usr/bin/yum
mike localhost=PKGTOOLS
3、Linux中的PAM安全认证
3.1、PAM及其作用
PAM(Pluggable Authentication Modules)可插拔式认证模块
是一种高效而且灵活便利的用户级别的认证方式
也是当前Linux服务器普遍使用的认证方式
3.2PAM认证原理
一般遵循的顺序
Server(服务)➡PAM(配置文件)➡pam_*.so
首先要确定哪一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib/security下)进行安全认证
用于访问服务器时,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证
不同的应用程序所对应的PAM模块时不同的
PAM认证的构成
查看某个程序是否支持PAM认证,可以用ls命令
示例:查看su是否支持PAM模块认证
ls /etc/pam.d | grep su
查看su的PAM配置文件:cat /etc/pam.d/su
每一行都是一个独立的认证过程
每一行可以区分为三个字段
认证类型
控制类型
PAM模块及其参数
认证管理:接收用户名和密码,进而对该用户的密码进行认证;
账户管理:检查账户是否被允许登录系统,账号是否已经过期,账号的登录是否有时间段的限制等;
密码管理:主要是用来修改用户的密码;
会话管理:主要是提供对会话的管理和记账。
3.3、PAM安全认证流程
控制类型也称作Control Flags,用于PAM验证类型的返回结果
1、required验证失败时仍然继续,但返回Fail
2、requisite验证失败则立即结束整个验证过程,返回Fail
3、sufficient验证成功则立即返回,不再继续,否则忽略结果并继续
4、optional不用于验证,只显示信息(通常用于session类型)
4、开关机安全控制
调整BIOS引导设置
将第一引导设备设为当前系统所在硬盘
禁止从其他设备(光盘、U盘、网络)引导系统
将安全级别设为setup,并设置管理员密码
GRUB限制
设置grub2菜单密码
1、grub2-setpassword ###生成grub2菜单密码 —输入密码
2、cat /boot/frub2/user.cfg ###查看密码是否添加
3、reboot ###重启验证
终端登录安全控制
限制root只在安全终端登录
安全终端配置:/etc/securetty
[[email protected] ~]# vi /etc/securetty
…
#tty5
#tty6
系统弱口令检测
Joth the Ripper,简称为JR
一款密码分析工具,支持字典式的暴力**
通过对shadow文件的口令分析,可以检测密码强度
官方网站:http://openwall.com/john/
安装JR工具
安装方法 ###make clean 系统类型
主程序文件为john
检测弱口令账号
获得Linux/Unix服务器的shadow文件
执行john程序,将shadow文件作为参数
密码文件的暴力**
准备号密码字典文件,默认为passwoed.lit
执行john程序,结合–wordlist=字典文件
5、网络扫描NMAP
NMAP是一个强大的端口扫描类安全评测工具
NMAP被设计为检测众多主机数量的巨大网络,支持ping扫描、多端口检测、OS识别等多种技术。使用NMAP定期扫描内部网络,可以找出网络中不可控的应用服务,即使关闭不安全的服务、减少安全风险。
1、安装NMAP软件包
[[email protected] ~]# yum -y install nmap
2、扫描语法及类型
-sS,TCPSYN扫描(半开扫描):只向目标发出SYN数据包,如果收到SYN/ACK响应包就认为目标端口正在监听,并立即断开连接:否则认为目标端口并未开放。
-sT,TCP连接扫描:这是完整的TCP扫描方式,用来建立一个TCP连接,如果成功则认为目标端口正在监听服务。否则认为目标端口并未开放。
-sF,TCPFIN扫描:开放的端口会忽略这种数据包,关闭的端口会响应RST数据包。许多防火墙只对SYN数据包进行简单过滤,而忽略了其他形式的TCP攻击包,这种类型的扫描可间接检测防火墙的健壮性。
-sU,UDP扫描:探测目标主机提供哪些UDP服务,UDP扫面描的速度会比较慢。
-sP,ICMP扫描:类似于ping检测,快速判断目标主机是否存活,不做其他扫描。