postgresql - 在家庭网络外访问 Raspberry pi 上的数据库的安全方式
问题描述
我在我的树莓派上安装了一个 postgres 数据库,它在我的家庭网络中本地运行良好。我希望能够从我的家庭网络外部访问它。我做了一些研究,从我的路由器上看到的端口转发或使用 localtunnel 或 ngrok 之类的服务似乎是可行的解决方案。
但是,我的问题是,这些是否会给我的家庭网络带来任何安全风险?如果没有,那么我可以继续进行设置(我倾向于在我的路由器上进行端口转发)。但是,如果有问题,它们到底是什么,我可以采取哪些步骤来进行安全设置?
解决方案
如果您使用数据库超级用户的弱密码向世界公开您的数据库,那肯定会大大降低您的安全性。黑客通常会针对此类弱设置进行巡逻并加以利用,主要用于加密货币挖掘,但也将您添加到僵尸网络中。在这些情况下,他们并不关心您的数据库本身,这只是获取您的 CPU/网络连接的一种方式。他们还可能探查出现在您的数据库中的有价值的信息,在这种情况下,他们甚至不需要成为超级用户。
如果您始终运行最新的错误修复版本并使用强密码(如 的输出pwgen 20 -sy -1
)并使用 SSL,或者如果您正确使用了其他一些身份验证和加密方法,那么它只会降低安全性的最低限度。
如果您亲自控制每个密码,并确保它们很强大,并测试它们是否正确配置为登录所需(例如故意输入错误一次以确保您被拒绝),我不会太担心端口转发提供坏人访问机器。如果您关心人们能够窃听来回发送的数据,那么您还需要 SSL。
加密隧道当然是另一种我没有解决的解决方案。
推荐阅读
- sql - 在 PostgresSQL 中为日期添加天数
- javascript - 响应式 chart.js 表现怪异
- keras - 在回调 ModelCheckpoint 上保存模型的历史记录
- python - 创建没有python发行后缀的egg文件?
- c# - 为什么设置 PrimaryGroupId 会还原我的组成员身份?
- javascript - 防止图片被粘贴到 contenteditable div
- react-native - React-native 可扩展平面列表。打开另一个时关闭打开的项目
- zoho - 如何通过 PHP-SDK APIv2 在 Zoho 中插入查找字段
- c# - C# 删除枚举标志?
- reactjs - 如何从反应中的组件确定公用文件夹中的src?