目录
[1. su 与 sudo 对比](#1. su 与 sudo 对比)
[2. su 安全控制](#2. su 安全控制)
[3. sudo 授权配置](#3. sudo 授权配置)
[1. 常用扫描类型对比](#1. 常用扫描类型对比)
[(一)NMAP 核心扫描原理](#(一)NMAP 核心扫描原理)
[2. 实战示例](#2. 实战示例)
[(3)检测 FTP 服务主机](#(3)检测 FTP 服务主机)
一、账号安全控制
(一)基本安全措施
安全措施 | 核心目标 | 关键命令 / 配置 | 示例说明 |
---|---|---|---|
系统账号清理 | 禁用非必要登录账号 | grep "/sbin/nologin" /etc/passwd |
检查非登录用户(如 bin、daemon)的 Shell 是否为/sbin/nologin ,禁止终端登录。 |
防止用户文件被篡改 | chattr +i /etc/passwd /etc/shadow |
锁定用户信息文件,禁止任何修改(包括新增用户)。 | |
密码安全控制 | 设置密码有效期 | vi /etc/login.defs PASS_MAX_DAYS 30 |
全局配置新建用户密码有效期为 30 天。 |
强制用户修改密码 | chage -M 30 lisi chage -d 0 zhangsan |
chage -M 修改已有用户有效期;chage -d 0 强制用户下次登录时改密码。 |
|
命令历史控制 | 限制历史记录条数 | vi /etc/profile HISTSIZE=200 |
全局设置历史命令最多记录 200 条(生效需重新登录)。 |
退出时清空历史记录 | vi ~/.bash_logout history -c |
用户退出时自动清空本次会话的历史命令。 | |
自动注销设置 | 防止终端闲置风险 | vi /etc/profile export TMOUT=600 |
全局设置终端闲置 10 分钟(600 秒)后自动注销。 |
(二)用户切换与提权
1. su 与 sudo 对比
特性 | su 命令 | sudo 命令 |
---|---|---|
权限范围 | 完全切换用户身份 | 仅执行授权的特定命令 |
密码验证 | 需要目标用户密码(root 除外) | 需要当前用户密码 |
安全风险 | 可能泄露目标用户密码 | 最小权限原则,风险更低 |
典型场景 | 临时获取 root 权限 | 普通用户执行单次特权命令 |
2. su 安全控制
-
授权用户加入 wheel 组 :
gpasswd -a tsengyia wheel # 添加用户到wheel组 grep wheel /etc/group # 确认组成员
-
修改 PAM 配置 :
vi /etc/pam.d/su # 去掉`auth required pam_wheel.so use_uid`前的#号
3. sudo 授权配置
-
基本格式 :
用户 主机=命令
visudo # 编辑sudo配置文件 jerry localhost=/sbin/ifconfig # 允许jerry执行ifconfig命令 %wheel ALL=NOPASSWD:ALL # wheel组用户免密执行所有命令
-
通配符与取反 :
syrianer localhost=/sbin/*,!/sbin/ifconfig # 允许执行/sbin/下除ifconfig外的所有命令
二、系统引导和登录控制
(一)开关机安全控制
控制项 | 实现方法 | 命令示例 |
---|---|---|
GRUB 密码保护 | 1. 生成密码哈希:grub2-mkpasswd-pbkdf2 2. 编辑/etc/grub.d/00_header 添加密码 3. 重建 grub.cfg:grub2-mkconfig -o /boot/grub2/grub.cfg |
```bash |
grub2-mkpasswd-pbkdf2 # 交互生成密码哈希 | ||
vi /etc/grub.d/00_header # 添加密码配置 |
三、端口扫描(NMAP)
1. 常用扫描类型对比
扫描类型 | 选项 | 原理 | 特点 | 示例 |
---|---|---|---|---|
TCP SYN 扫描 | -sS |
发送 SYN 包,收到 SYN/ACK 则判断端口开放 | 隐蔽性强,不建立完整连接 | nmap -sS 192.168.1.1 |
TCP 连接扫描 | -sT |
完整三次握手建立连接 | 准确性高,易被日志记录 | nmap -sT 127.0.0.1 |
UDP 扫描 | -sU |
探测 UDP 端口,开放端口可能无响应 | 速度慢,需处理 ICMP 不可达消息 | nmap -sU -p 53 192.168.4.0/24 |
ICMP 扫描 | -sP |
类似 ping 检测主机存活 | 快速发现在线主机,不扫描端口 | nmap -sP 192.168.1.0/24 |
端口指定 | -p |
扫描特定端口(如 21、80) | 针对性检测服务 | nmap -p 21,80 192.168.1.100 |
四、端口扫描技术深度解析
(一)NMAP 核心扫描原理
-
TCP 三次握手与扫描类型
-
SYN 扫描(-sS) :
发送 SYN→接收 SYN/ACK(端口开放)或 RST(端口关闭)→回复 RST(不完成握手)
- 优点:隐蔽性强,不记录到目标日志
- 缺点:可能被防火墙拦截 SYN 包
-
连接扫描(-sT) :
完整三次握手(SYN→SYN/ACK→ACK),目标会记录连接日志
- 优点:准确性 100%,适合无状态防火墙环境
- 缺点:易被检测到攻击行为
-
-
UDP 扫描(-sU)
- 原理:发送 UDP 数据包到目标端口,开放端口可能无响应,关闭端口返回 ICMP 端口不可达
- 挑战:UDP 协议无连接状态,扫描速度慢(需等待超时)
- 优化:结合
--min-parallelism 100
提高并发度
(二)高级扫描技巧
-
操作系统识别(-O)
- 原理:分析 TCP/IP 协议栈指纹(如 TTL、窗口大小、选项字段)
- 示例:
nmap -O 192.168.1.1
- 准确率:约 90%,依赖 NMAP 指纹库更新
-
服务版本检测(-sV)
- 作用:识别端口对应的服务及版本(如 OpenSSH 8.0、Apache 2.4.38)
- 风险:老旧版本可能存在已知漏洞(如 OpenSSL Heartbleed)
-
脚本扫描(NMAP Scripting Engine, NSE)
-
内置脚本分类:
vuln
:检测漏洞(如 CVE-2021-44228 Log4j)auth
:测试认证机制(如弱 FTP 密码)exploit
:尝试利用漏洞(需谨慎使用)
-
示例:检测 WordPress 弱密码
nmap --script http-wordpress-login 192.168.1.100 -p 80
2. 实战示例
-
(1)检测本地开放端口
nmap 127.0.0.1 # 扫描TCP常用端口
nmap -sU 127.0.0.1 # 扫描UDP端口
(2)网段存活主机检测
nmap -n -sP 192.168.4.0/24 # 禁用DNS解析,快速ping扫描
(3)检测 FTP 服务主机
nmap -p 21 192.168.4.0/24 # 扫描21端口,定位FTP服务器
五、核心安全工具对比
工具 | 功能 | 优势 | 典型场景 |
---|---|---|---|
chage |
密码有效期管理 | 细粒度控制用户密码策略 | 批量设置员工账号密码有效期 |
su/sudo |
用户切换与提权 | sudo 支持最小权限原则 | 管理员授权普通用户执行特定命令 |
John the Ripper |
弱口令检测 | 支持多种加密算法,字典 / 暴力破解 | 定期检测系统账号密码强度 |
NMAP |
端口扫描与服务发现 | 支持多种扫描类型,跨平台 | 网络安全评估,发现开放服务漏洞 |
(一)安全基线检查清单
账号管理
- 定期清理过期账号:
chage -l username
(查看有效期),删除 6 个月未登录账号:find /home -maxdepth 1 -type d ! -name "root" -mtime +180 -exec userdel -r {} \;
- 禁用 guest/nobody 等公共账号:
usermod -s /sbin/nologin guest
- 服务加固
- 关闭危险服务:
systemctl disable --now telnet.socket rpcbind.service
- 启用 HTTPS:为 Web 服务配置 SSL 证书(如 Let's Encrypt),禁止 HTTP 访问
(二)日志审计与应急响应
- 关键日志监控
- 登录失败日志:
grep "Failed password" /var/log/secure | awk '{print $11}' | sort | uniq -c
(定位暴力破解源 IP) - sudo 操作审计:
tail -f /var/log/sudo
(监控特权命令执行)
- 登录失败日志:
- 应急响应流程
- 检测:通过 NMAP 定期扫描、IDS 报警发现异常
- 隔离:防火墙封禁攻击源 IP,断开异常连接
- 修复 :补丁更新(
yum update
),重置弱密码(passwd username
) - 复盘:记录事件详情到《安全事件报告》,更新安全策略
六、总结:构建多层防御体系
用户层:最小权限原则(普通用户禁用 root 直接登录,通过 sudo 授权)
系统层:引导安全(GRUB 密码)、登录控制(/etc/securetty)、会话安全(TMOUT/HISTSIZE)
网络层:端口扫描(NMAP 检测开放服务)、弱口令检测(John 工具修复密码风险)
管理层面:定期审计、日志分析、应急响应预案
通过技术手段与管理策略的结合,可有效降低系统安全风险,保障业务连续性。实际操作中需根据场景调整配置(如生产环境禁用 UDP 扫描以减少误报),并持续关注安全漏洞库(如 CVE、NVD)的更新