一、检测服务器是否被 Nmap 扫描
>目标: 发现外部攻击者对服务器的探测行为。
1、检查防火墙日志
关键命令:
# 查看最近被拦截的扫描行为(示例路径) grep -i "DROP" /var/log/ufw.log grep -i "REJECT" /var/log/iptables.log journalctl -u firewalld | grep -i "probe"
分析重点:
- 高频连接不同端口(如DPT:22->DPT:80->DPT:443
)
SYN
包大量丢弃(state INVALID
)
- 源 IP 短时间发起多次请求
2、分析网络流量(实时检测)
使用tcpdump
抓包:
tcpdump -nni eth0 'tcp[tcpflags] == tcp-syn and not src net YOUR_SERVER_IP/24' -c 50
- 监控特征:SYN
包不带ACK
,目标端口快速变化。
使用 IDS 工具:
- 部署Suricata
或Snort
,规则示例:
alert tcp any any -> $SERVER_IP any (msg: "Nmap Scan"; detection_filter: track by_src, count 30, seconds 10; sid:1000001;)
3、检查系统日志
SSH 爆破痕迹(常见于扫描后):
grep "Failed password" /var/log/auth.log
内核日志(记录非法包):
dmesg | grep -i "firewall"
二、排查服务器是否主动发起 Nmap 扫描
>目标: 检查服务器是否被入侵后作为扫描跳板。
1、检查运行进程
ps aux | grep -i "nmap\|masscan\|zenmap"
- 注意伪装进程名(如/usr/bin/python3 -c "import nmap"
)。
2、分析网络连接
查看异常外连:
ss -antp | grep ESTAB | grep -v ":22\|:80" netstat -antp | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
可疑特征:
- 服务器主动向多个 IP 的不同端口发起SYN_SENT
连接。
- 单 IP 并发连接数 > 50(扫描特征)。
3、检查历史命令
history | grep -E "nmap|masscan|scan" cat ~/.bash_history | grep -i port
4、检查定时任务
crontab -l ls -la /etc/cron*/* /var/spool/cron/
1、收集攻击证据
- 记录可疑 IP:
grep -oP 'SRC=\K[0-9.]+' /var/log/ufw.log | sort | uniq > nmap_ips.txt
- 用whois
和AbuseIPDB
查询 IP 归属。
2、立即加固服务器
封禁攻击 IP:
iptables -A INPUT -s 1.2.3.4 -j DROP
限制端口访问:
# 只开放必要端口(示例) ufw allow 22/tcp ufw allow 80/tcp ufw enable
3、深度排查后门
- 检查异常用户:grep '0' /etc/passwd
- 扫描 Rootkit:安装rkhunter
或chkrootkit
- 检查~/.ssh/authorized_keys
和/etc/passwd
修改时间。
1、基础防护:
- 关闭无用端口,使用最小化服务原则。
- 将 SSH 端口改为非 22,并限制 IP 访问:
iptables -A INPUT -p tcp --dport 2222 -s 192.168.1.0/24 -j ACCEPT
2、高级防护:
- 部署Fail2Ban 自动封禁扫描 IP:
# /etc/fail2ban/jail.d/nmap.conf [nmap] enabled = true filter = nmap maxretry = 1 bantime = 1d
- 启用端口敲门(Port Knocking) 隐藏服务。
3、监控工具:
- 使用Wazuh 或Elastic SIEM 集中分析日志。
- 定期运行Lynis 进行安全审计。
>重要提示: 如发现服务器已遭入侵,立即下线取证,重装系统并更换所有密钥!
文章摘自:https://idc.huochengrm.cn/fwq/12768.html
评论