我有一个Postgres数据库,包含公开信息,我想公开给互联网,供任何人使用。 我可以采取什么措施来防止:
我不担心服务器上的任何数据被暴露,我并不特别担心服务器崩溃 – 重build是微不足道的。
它是PostgreSQL 9.1的PostGIS扩展,包含OpenStreetMap数据和其他一些东西。 它目前在OpenStack基础架构上的Ubuntu(Quantal)虚拟机上运行。
数据库目前被configuration为只有通过networking连接的帐户才能读取必要的表格,仅此而已。 它有一个简单的密码,并运行在默认端口(5432),以简化使用。 shell访问只能通过公共密钥。 除了OpenStack基础架构提供的防火墙之外,我没有使用防火墙。 (所有这些决定都是公平的讨论…)
由于您使用的是Linux,因此iptables提供了一些选项。
如果您的发行版包含iptables配额模块,则可以使用它来根据请求设置配额。 一定要设置你的配额规则,然后在达到限制后立即执行放置规则。 一旦到位,您可能需要执行cron作业来刷新字节计数器以重置配额。
另外,iptables和tc结合起来可以达到你想要的效果,无论你是想限制大量的用户还是阻止他们在他们的轨道上。
看看这些工具,看看他们是否会做你所需要的。