我在云上有一个虚拟机(我们称之为“M”),其中 MariaDB 数据库在 Docker 容器中运行。
其他计算机上的客户端应用程序通过 SSH 隧道连接到数据库,因此该“M”计算机唯一有用的端口是 SSH。
我想阻止虚拟机上的所有其他端口以提高保护,特别是防止任何人直接访问数据库。
我想使用 iptables,但是,由于 Docker 安装了多个规则,我对如何最好地做到这一点感到困惑。我不想破坏 Docker 规则上的任何内容,并且到目前为止我找到的所有文档(例如https://tecadmin.net/how-to-allow-only-ssh-access-using-iptables/)都假设无需保留其他 iptables 规则。
您能帮助我实现这一目标,或者为我指出合适的教程吗?
另外,由于对该机器的唯一访问是 SSH,我担心如果我在 iptables 配置中做错了什么,我将永远失去对它的访问权限。使用“at”命令在几分钟后恢复旧规则是一种良好且安全的做法吗?有更好的吗?
非常感谢!