系统安全和应用
账号安全基本措施
系统账号清理
将非登录用户的Shell设为/sbin/nologin

锁定长期不适用的账号

passwd -l 用户名 和passwd -S 用户名 是一样的效果
删除无用的账号

锁定、解锁账号文件passwd、shadow


密码安全控制
- 设置密码有效期
- 要求用户下次登录时修改密码


强制下次登录时更改密码

命令历史限制
减少记录的命令条数
输入命令

进入页面,输入命令,保存并退出

最后别忘记刷新一下配置

登录时自动清空历史命令
输入命令

进入页面,输入指示,保存并退出

重启之后,自动清空历史命令

终端自动注销
- 闲置180秒后自动注销
当自己离开时,长时间不操作电脑,为了安全起见,设置自动撤销
首先,输入命令

然后进入页面,输入指示,保存并退出

使用su命令切换用户
用途及用法
用途:Substitute User ,切换用户
格式:
| su - 目标用户 |
密码验证
- root>>>任意用户,不验证密码
- 普通用户>>>其他用户,验证目标用户的密码

限制使用su命令的用户(安全)
- 将允许使用su命令的用户加入wheel组
- 启用pam_wheel认证模块

加入成功:如下图

接下来还要

然后,把第二行和第六行的注释号“#”删除,保存并退出

解释一下加注释号“#”和不加注释号“#”的区别
1、以上两行都是默认状态(即开启第二行,注释第六行),这种状态下是允许所有用户间使用su命令进行切换的
2、两行都注释也就是运行所有用户都能使用su命令,但root下使用su切换到其他普通用户需要输入密码
3、如果开启第六行,表示只有root用户和wheel组内的用户才可以使用su命令
4、如果注释第二行,开启第六行,表示只有wheel组内的用户才能使用su命令,root用户也被禁止su命令
成功:

Linux中的PAM安全认证
su命令的安全隐患
- 默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户(如root)的登录密码,带来的安全风险
- 为了加强su命令的使用控制,可借助于PAM认证模块,只允许极个别用户使用su命令进行切换
PAM(Pluggable Authentication Modules)可插拔式认证模块
- 是一种高效而且灵活便利的用户级别的认证方式
- 也是当前Linux服务器普遍使用的认证方式
PAM认证原理
①一般遵循的顺序
- Service(服务)>>>PAM(配置文件)>>>pam_*.so
②首先要确定哪一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib64/security下)进行安全认证
③用户访问服务器时,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证
④不同的应用程序所对应的PAM模块是不同的
PAM认证的构成
①查看某个程序是否支持PAM认证,可用ls命令
##查看su是否支持PAM模块认证

##查看su的PAM配置文件:cat/etc/pam.d/su
①每一行都是一个独立的认证过程
②每一行可以区分为三个字段
- 认证类型
- 控制类型
- PAM模块及其参数
PAM安全认证流程
控制类型也称做Control Flags,用于PAM验证类型的返回结果
- required验证失败时继续,但是返回Fali
- requisite验证失败则立即结束整个验证过程,返回Fail
- sufficient验证成功则立即返回,不再继续,否则忽略结果并继续
- optional不再于验证,只显示信息(通常用于session类型)

使用sudo机制提升权限
su命令的缺点(还是存在安全隐患)“没有不安全的系统,只有不安全的人”
sudo命令的用途及用法
- 用途:以其他用户身份(如root)执行授权的命令
- 用法:sudo 授权命令
配置sudo授权

或者

格式:
| 用户 主机名=命令程序列表 |

给Tom用户授权成功:

| 用户 主机名=(用户) 命令程序列表 |

说明:
用户:直接授权指定的用户名,或采用“%组名”的形式(授权一个组的所有用户)
主机名:使用此规则的主机名。没配置过主机名时可用localhost,有配置过主机名则用实际的主机名,ALL则代表所有的主机
(用户):用户能够以何种身份来执行命令。此项可省略,缺省时以root用户的身份来运行命令
命令程序列表:允许授权的用户通过sudo方式执行的特权命令,需要填写命令程序的完整路径,多个命令之间以逗号“,”进行分隔。ALL代表系统中所有的命令
启用sudo操作日志

查看sudo操作记录
- 需要启动Defaults logfile配置
- 默认日志文件:/var/log/sudo

查询授权的sudo操作

终端登录安全控制
限制root只在安全终端登录
安全终端配置:/etc/securetty
输入命令:


禁止普通用户登录
- 建立/etc/nologin文件
- 删除nologin文件或重启后恢复正常

网络端口扫描
NMAP:是一个强大的端口扫描类安全评测工具,支持ping扫描、多端口检测等多种技术
namp命令常用的选项和扫描类型
| -p | 指定扫描的端口 |
| -n | 禁用反向DNS解析(以加快扫描速度) |
|
- sS |
TCP的SYN扫描(半开扫描),只向目标发出SYN/ACK响应包就认为目标端口正在监听,并立即断开连接:否则认为目标端口并未开放 |
| -sT | TCP连接扫描,这是完整的TCP扫描方式(默认扫描类型),用来建立一个TCP连接,如果成功则认为目标端口正在监听服务,否则认为目标端口并未开放 |
| -sF | TCP中的FIN扫描,开放的端口会忽略这种数据包,关闭的端口会回应RST数据包。许多防火墙只对SYN数据包进行简单过滤,而忽略了其他形式的TCP攻击包,这种类型的扫描可间接检测防火墙的健壮性 |
| -sU | UDP扫描,探测目标主机提供那些UDP服务,UDP扫描的速度会比较慢 |
| -sP | ICMP扫描,类似于ping检测,快速判断目标主机是否存活,不做其他扫描 |
| -P0 | 跳过ping检测,这种方式认为所有的目标主机是存活的,当对方不响应ICMP请求时,使用这种方式可以避免无法ping |
###查看正在运行的使用TCP协议的网络状态信息

###查看正在运行的使用UDP协议的网络状态信息
##查看本机开放的TCP端口

##查看本机开放的UDP端口


浙公网安备 33010602011771号