服务器安全报告里出现「1433 端口对外开放」,很多人第一反应是查这个端口干什么的。答案很简单:微软 SQL Server 数据库的默认监听端口,TCP 协议,数据库客户端就是通过它连上去执行查询的。
为什么它总出现在风险清单里
数据库端口直接暴露在公网,等于把库的大门摆到互联网上。密码弱的、打了老补丁的实例,很容易被自动化脚本撞库,然后被装上挖矿程序或者把数据加密索要赎金。所以扫描器和安全基线检查都会把 1433 列为高危项。
先确认是不是自己开的
在服务器上用 PowerShell 看一眼监听情况:
netstat -ano | findstr :1433
Get-Process -Id <上一步查到的PID>如果进程名是 sqlservr.exe,说明本机装着 SQL Server;如果进程陌生,就要警惕是不是被人动了手脚。SQL Server 的命名实例还会用动态端口,可以在「SQL Server 配置管理器」里查看 TCP/IP 属性。
要不要关
关键在于有没有外网访问需求。绝大多数业务是 Web 服务器和数据库在同一内网,程序通过内网 IP 连接,这种情况下 1433 完全没必要对公网开放。做法是云服务器安全组只放行内网网段,Windows 防火墙再叠一层入站规则。
确实需要远程管理的,别直接开端口,用 VPN 或者跳板机进去,安全性提升不止一个档次。
必须开放时的加固清单
- 改端口:换个非默认端口只能减少扫描噪音,不是真正的防护。
- 禁用 sa:很多暴力破解就是盯着 sa 账户,建普通账户并限制权限。
- 检查版本:SQL Server 2000 和 2008 早就不受支持,能升级就升级。
- 开日志:登录失败审计打开,异常 IP 反复尝试能及时看到。
顺带一提,MySQL 的默认端口是 3306,Redis 是 6379,Oracle 是 1521,看到陌生端口先查进程,别急着关服务。