用SSH隧道连接数据库
数据库端口直接暴露在公网为什么危险:
公网上有大量的扫描器,24小时在扫常见端口。一旦发现端口开放,就会尝试爆破或利用漏洞。
我遇到的坑:
为了方便本地连接,我把数据库端口直接对外开放,密码还设了个简单的。一周后被扫到,数据库被植入挖矿程序。
怎么解决:
改用 SSH隧道 连接:
ssh -L 5433:localhost:5432 user@your-server
然后本地连接 localhost:5433 就行,数据库端口不用对外暴露。
配置层面的固化:
修改数据库配置文件,让它只监听本地:
# PostgreSQL示例
listen_addresses = '127.0.0.1'
这样即使防火墙误开了端口,外面也连不上。
其他数据库也一样: MySQL、Redis、MongoDB,都用SSH隧道,不要直接暴露。

浙公网安备 33010602011771号