|
|
这里或许是互联网从业者的最后一片净土,随客社区期待您的加入!
您需要 登录 才可以下载或查看,没有账号?立即注册
×
在 Linux 服务器的安全排查中,网络连接状态往往是第一突破口。
无论是被入侵、被扫描、被打爆,还是服务异常、端口被偷偷监听,最终都会体现在 端口、连接、进程 上。
而 netstat 和 ss,正是我们最常用、也最直接的两把“网络放大镜”。
一、为什么安全排查一定要看网络?
从真实的安全事件来看,绝大多数异常都绕不开网络:
- ❌ 服务器突然多了未知监听端口
- ❌ 某个进程持续对外发起连接(挖矿 / 后门)
- ❌ 大量 ESTABLISHED 或 SYN_RECV(扫描 / DDoS 前兆)
- ❌ 内网出现不该出现的外连 IP
- ❌ Web 没问题,但机器 CPU、流量异常
看网络连接 = 快速判断服务器是否“被动过手脚”
二、netstat 与 ss 的区别(安全视角)
| 工具 | 特点 | 安全排查价值 | | netstat | 传统工具,几乎所有系统都有 | 兼容性好,老系统首选 | | ss | 新一代工具,速度快、信息更全 | 大量连接时更可靠 | 实际安全排查中:
三、发现“可疑监听端口”
1️⃣ 查看当前监听端口
或:
重点关注:
- 是否有业务之外的端口
- 是否有端口监听在 0.0.0.0
- 是否存在奇怪的进程名
🔍 典型风险信号:
tcp LISTEN 0 128 0.0.0.0:5555 users:(("kdevtmpfsi",pid=2345)) 高度怀疑后门或挖矿程序
四、排查异常外连(最关键)
很多入侵不是“被访问”,而是服务器主动连出去。
1️⃣ 查看已建立连接
- netstat -antp | grep ESTABLISHED
复制代码 或更推荐:
- ss -antp state established
复制代码 重点看:
- 远端 IP 是否陌生
- 是否大量连接同一个外部 IP
- 进程是否合理
示例:
ESTAB 0 0 192.168.1.10:46822 45.9.xxx.xxx:4444 users:(("bash",pid=3121)) 风险点:
- bash / sh / python 在对外建连接
- 非业务端口
- 国外异常 IP
很可能是 反弹 shell / 木马通信
五、发现端口扫描与攻击行为
1️⃣ SYN_RECV 大量堆积
- ss -ant | grep SYN-RECV | wc -l
复制代码 如果数量异常:
- 可能正在被端口扫描
- 或遭遇 SYN Flood 攻击
2️⃣ TIME_WAIT 异常暴涨
- ss -ant | grep TIME-WAIT | wc -l
复制代码- 短时间大量 TIME_WAIT
- 常见于压测、恶意请求、爬虫
可以辅助判断是否需要限流或上防火墙策略
六、进程级安全定位(非常重要)
1️⃣ 端口 → 进程
你可以直接看到:
然后配合:
快速确认是否为 伪装进程
七、内网安全排查中的作用
在内网环境(VPC / IDC)中,ss 和 netstat 也非常重要:
- 发现异常内网通信
- 判断是否被横向移动
- 确认服务是否暴露在内网
如果发现:
要警惕 内网横向渗透
八、为什么现在更推荐 ss?
从安全排查实战角度:
- 速度更快(连接多时优势明显)
- 状态分类更细
- 过滤能力更强
例如只看监听 TCP:
只看某端口:
在高并发或被攻击场景下,ss 更不容易“卡死”。
九、一个真实的安全排查流程示例
服务器 CPU 异常升高 → 排查步骤:
- top 发现异常进程
- ss -lntup 看是否监听异常端口
- ss -antp state established 看是否外连
- ps / proc / lsof 进一步确认
- 防火墙阻断 + 下线处理
ss / netstat 往往是 第 2 步的核心工具
十、总结
一句话总结:
netstat 和 ss 是 Linux 安全排查中
最直接、最便宜、也最容易忽视的利器
它们可以帮你:
- 快速发现异常端口
- 定位恶意外连
- 判断扫描与攻击行为
- 追踪可疑进程
- 辅助内网安全分析
如果你做的是 运维 / SRE / 安全 / 云服务器管理,
那么这两个命令,真的值得你用到“条件反射”。
|
|