如何查看 VPS 是否被扫描端口(Linux 服务器安全指南)
705 字
4 分钟
如何查看 VPS 是否被扫描端口(Linux 服务器安全指南)
很多人在购买 VPS 后,经常会好奇一个问题:
我的服务器有没有被别人扫描?
实际上,只要你的 VPS 有公网 IP,几乎每天都会被扫描。
常见的扫描包括:
- SSH 暴力破解
- Web 漏洞扫描
- 全端口扫描(nmap / masscan) 本文整理几种 简单有效的方法,查看服务器是否被扫描。
一、查看 SSH 被暴力破解情况
SSH 是最容易被攻击的服务。
在 Debian / Ubuntu 上可以通过日志查看失败登录:
journalctl -u ssh | grep "Failed password"如果服务器被扫,你会看到类似:
Failed password for root from 185.xxx.xxx.xxx port 52341 ssh2Failed password for admin from 45.xxx.xxx.xxx port 41211 ssh2统计攻击 IP:
journalctl -u ssh | grep "Failed password" | awk '{print $11}' | sort | uniq -c | sort -nr | head示例输出:
120 185.xxx.xxx.xxx85 45.xxx.xxx.xxx60 103.xxx.xxx.xxx说明这些 IP 尝试登录你的服务器最多。
二、查看服务器当前连接
可以使用 ss 查看服务器当前 TCP 连接:
ss -tn例如:
ESTAB 0 0 87.xxx.xxx.xxx:58364 87.xxx.xxx.xxx:22ESTAB 0 0 87.xxx.xxx.xxx:46888 172.67.xx.xx:443含义:
| 项目 | 含义 |
| Local Address | 你的 VPS |
| Peer Address | 对方服务器 |
| ESTAB | 已建立连接 |
如果看到大量陌生 IP 连接,可能正在被扫描。
三、查看服务器开放端口
先确认自己的服务器到底开放了哪些端口:
ss -tulnp示例:
tcp LISTEN 0 128 0.0.0.0:22tcp LISTEN 0 128 0.0.0.0:80tcp LISTEN 0 128 0.0.0.0:443说明服务器开放:
- 22 → SSH
- 80 → HTTP
- 443 → HTTPS 这些端口都会被扫描。
四、使用 tcpdump 查看端口扫描
如果想实时查看扫描,可以抓包:
安装工具:
apt install tcpdump抓取 SYN 包:
tcpdump -i any -nn 'tcp[tcpflags] & tcp-syn != 0 and tcp[tcpflags] & tcp-ack == 0'如果有人扫描端口,会看到类似:
IP 185.xxx.xxx.xxx.52341 > your-ip.22: Flags [S]IP 185.xxx.xxx.xxx.52341 > your-ip.80: Flags [S]IP 185.xxx.xxx.xxx.52341 > your-ip.443: Flags [S]这就是典型的端口扫描行为。
五、统计连接最多的 IP
可以快速查看连接你服务器最多的 IP:
ss -ant | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head输出示例:
150 185.xxx.xxx.xxx80 45.xxx.xxx.xxx60 103.xxx.xxx.xxx这些通常就是扫描你服务器的 IP。
六、如何防止 VPS 被扫描
被扫描其实是正常现象,但可以减少攻击风险。
1 安装 Fail2ban
Fail2ban 可以自动封禁暴力破解 IP:
apt install fail2ban -ysystemctl enable fail2bansystemctl start fail2ban查看封禁状态:
fail2ban-client status sshd2 修改 SSH 端口
编辑 SSH 配置:
nano /etc/ssh/sshd_config修改:
Port 22例如:
Port 22222然后重启:
systemctl restart ssh3 禁止 root 密码登录
建议使用 SSH Key 登录。
PermitRootLogin prohibit-password或者:
PermitRootLogin no总结只要 VPS 暴露公网 IP:
- 每天都会被扫描
- SSH 每天几百次尝试很正常
- 不需要过度担心 只要做好:
- Fail2ban
- SSH Key 登录
- 关闭不必要端口 服务器基本是安全的。
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
相关文章智能推荐
1
Linux VPS 使用 tc 实现端口限速教程(支持动态解除限速)
常用脚本详细讲解 Linux VPS 使用 tc 实现端口限速、流量控制、自动限速与解除限速的方法,支持 Xray、Hysteria、Docker 等服务。
2
Linux 设置 IPv6 或 IPv4 优先教程(gai.conf 配置指南)
常用脚本Linux设置ipv6、ipv4优先
3
VPS 上禁用与启用 IPv6 全教程
常用脚本VPS禁用、启用ipv6教程
4
VPS 添加 IPv6 超详细教程(含静态 IPv6、SLAAC、临时 IPv6)
常用脚本VPS添加临时ipv6
5
通过 acme.sh 轻松申请 Let's Encrypt 通配符证书
常用脚本通过acme.sh申请通配符证书
随机文章随机推荐
