安全防护概述、Nmap扫描、Tcpdump抓包、Wireshark抓包、Nginx服务安全加固、Linux系统安全加固
Confidentiality(机密性):防止未授权访问(如加密、权限控制)Integrity(完整性):防止数据篡改(如校验和、数字签名)Availability(可用性):保障服务持续可用(如 DDoS 防护、高可用)层级关键动作网络关闭非必要端口,部署防火墙主机最小权限、禁用 root 登录、内核加固应用隐藏版本、限流、HTTPS、安全头监控日志集中、异常告警、定期扫描应急备份、快照、入侵响
·
一、安全防护概述
✅ 目标:CIA 三原则
- Confidentiality(机密性):防止未授权访问(如加密、权限控制)
- Integrity(完整性):防止数据篡改(如校验和、数字签名)
- Availability(可用性):保障服务持续可用(如 DDoS 防护、高可用)
🔒 常见威胁类型
| 类型 | 说明 |
|---|---|
| 信息泄露 | 敏感配置、日志暴露 |
| 未授权访问 | 弱口令、开放高危端口 |
| 拒绝服务(DoS/DDoS) | 耗尽资源导致服务不可用 |
| 中间人攻击(MITM) | 窃听或篡改通信 |
| 漏洞利用 | 利用软件缺陷(如 Log4j、Heartbleed) |
🛡️ 防护策略(纵深防御)
- 网络层:防火墙、ACL、VPC 隔离
- 主机层:系统加固、最小权限
- 应用层:WAF、输入校验、HTTPS
- 监控层:日志审计、IDS/IPS、异常告警
二、Nmap 扫描 —— 网络侦察利器
nmap用于发现主机、端口、服务版本、操作系统等。
🔍 常用命令
| 场景 | 命令 | 说明 |
|---|---|---|
| 快速扫描存活主机 | nmap -sn 192.168.1.0/24 |
Ping 扫描(无端口探测) |
| 全端口扫描 | nmap -p- 192.168.1.10 |
扫描 65535 个端口 |
| 服务与版本识别 | nmap -sV 192.168.1.10 |
探测服务版本(如 nginx/1.18) |
| 操作系统识别 | nmap -O 192.168.1.10 |
估算 OS 类型 |
| 脚本扫描(高级) | nmap --script=vuln 192.168.1.10 |
调用 NSE 脚本检测漏洞 |
| 规避防火墙 | nmap -f -D RND:5 192.168.1.10 |
分片 + 诱饵 IP(谨慎使用) |
⚠️ 安全建议
- 禁止对外网随意扫描(可能违法);
- 内部定期扫描,关闭非必要端口(如 22、3306 不应公网暴露);
- 结合
masscan(高速) +nmap(精准)做资产测绘。
三、Tcpdump 抓包 —— 命令行抓包神器
轻量级、无图形界面,适合服务器环境。
📦 基本语法
tcpdump [选项] [过滤表达式]
🔧 常用选项
| 选项 | 作用 |
|---|---|
-i eth0 |
指定网卡 |
-nn |
不解析主机名/端口名(加快速度) |
-c 10 |
抓 10 个包后退出 |
-w file.pcap |
保存为 pcap 文件(供 Wireshark 分析) |
-A |
以 ASCII 显示包内容(适合 HTTP) |
-X |
十六进制 + ASCII 显示 |
🎯 实用过滤示例
# 抓取目标 IP 的所有流量
tcpdump -i eth0 host 192.168.1.100
# 抓取 80 端口的 HTTP 流量
tcpdump -i eth0 port 80
# 抓取 TCP SYN 包(连接请求)
tcpdump 'tcp[tcpflags] & tcp-syn != 0'
# 抓取 DNS 查询
tcpdump -i any port 53
# 保存到文件(后台运行)
tcpdump -i eth0 -w /tmp/debug.pcap &
💡 提示:生产环境抓包建议加
-c或timeout,避免磁盘爆满。
四、Wireshark 抓包 —— 图形化深度分析
功能强大,支持协议解析、流追踪、统计图表。
🔍 核心功能
- 过滤器:
- Capture Filter(抓包时):同 tcpdump 语法
- Display Filter(显示时):
http,ip.addr == 192.168.1.1,tcp.flags.syn == 1
- Follow Stream:右键 → "Follow → TCP Stream" 查看完整会话
- Statistics:分析协议分布、会话数、吞吐量
- 导出对象:File → Export Objects → HTTP 可提取图片/JS/CSS
🕵️♂️ 安全分析场景
- 检测明文传输(HTTP Basic Auth、FTP 密码)
- 分析异常连接(大量 SYN、ICMP flood)
- 追踪恶意 C2 通信(DNS 隧道、非常规端口)
✅ 建议:将
tcpdump抓的.pcap文件导入 Wireshark 做深度分析。
五、Nginx 服务安全加固
🔐 1. 隐藏版本号
server_tokens off;
🔐 2. 限制请求方法
if ($request_method !~ ^(GET|HEAD|POST)$ ) {
return 405;
}
🔐 3. 防止目录遍历
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
🔐 4. 限制客户端行为
# 限制连接数
limit_conn_zone $binary_remote_addr zone=conn_limit:10m;
limit_conn conn_limit 10;
# 限制请求速率(防 CC 攻击)
limit_req_zone $binary_remote_addr zone=req_limit:10m rate=1r/s;
limit_req zone=req_limit burst=5 nodelay;
🔐 5. 启用 HTTPS + 安全头
server {
listen 443 ssl http2;
ssl_certificate /path/to/fullchain.pem;
ssl_certificate_key /path/to/privkey.pem;
# 安全头
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
add_header Content-Security-Policy "default-src 'self';" always;
}
🔐 6. 禁用不必要的模块
编译时移除 --without-http_autoindex_module 等。
六、Linux 系统安全加固
🔒 1. 账户与认证安全
- 禁用 root 远程登录:
PermitRootLogin no(/etc/ssh/sshd_config) - 使用密钥登录,禁用密码:
PasswordAuthentication no - 设置强密码策略(
pwquality)+ 定期更换 - 删除无用账户:
userdel games
🔒 2. 权限最小化
- 应用以普通用户运行(如 nginx、mysql)
- 敏感文件权限:
chmod 600 /etc/shadow,chmod 644 /etc/passwd
🔒 3. 防火墙(iptables/nftables/firewalld)
# 仅开放必要端口
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --reload
🔒 4. 日志与审计
- 启用
rsyslog远程日志(防本地删除) - 安装
auditd监控关键文件:auditctl -w /etc/passwd -p wa -k passwd_changes
🔒 5. 内核参数加固(/etc/sysctl.conf)
# 防 SYN Flood
net.ipv4.tcp_syncookies = 1
# 禁用 ICMP 广播
net.ipv4.icmp_echo_ignore_broadcasts = 1
# 限制地址反向路径验证
net.ipv4.conf.all.rp_filter = 1
生效:sysctl -p
🔒 6. 定期更新与漏洞扫描
yum update/apt upgrade定期执行- 使用
lynis、OpenSCAP做安全基线检查
✅ 总结:安全加固 Checklist
| 层级 | 关键动作 |
|---|---|
| 网络 | 关闭非必要端口,部署防火墙 |
| 主机 | 最小权限、禁用 root 登录、内核加固 |
| 应用 | 隐藏版本、限流、HTTPS、安全头 |
| 监控 | 日志集中、异常告警、定期扫描 |
| 应急 | 备份、快照、入侵响应流程 |
安全不是功能,而是持续的过程。
建议结合 自动化工具(如 Ansible 安全 playbook、Falco 运行时防护)实现 DevSecOps。
更多推荐

所有评论(0)