我正在检查在LAMP上运行公共网站的EC2 Ubuntu实例上的安全组。 目前我的港口如下:
22 (SSH) 0.0.0.0/0 80 (HTTP) 0.0.0.0/0 443 (HTTPS) 0.0.0.0/0 3306 (MYSQL) 0.0.0.0/0
我想这应该是可以的,因为连接只能在本地进行,因此可以在MySQL端口上稍微加紧一点。 任何见解都值得欢迎。
如果您的MySQL实例在同一个实例上运行,并且只响应本地连接,则在您的安全组configuration中根本不需要端口3306的任何条目。
此外,为了深入防御,您应该将bind-address MySQLconfiguration指令设置为127.0.0.1 (可能是默认值,但值得检查)。
编辑
你有两条从外面开放访问的路线:
bind-address设置回0.0.0.0 ,并将abcd/32添加到您的安全组(无论IP可能是什么),以允许在端口3306上访问。但是,这是以纯文本forms传输的基本方法。 ssh -L33306:127.0.0.1:3306 user@hostlogin到你的shell ssh -L33306:127.0.0.1:3306 user@host会让你启动mysql -h localhost -P 33306在本地机器上通过隧道连接。 在这种情况下,不需要打开-bind-address ,因为mysql连接仍然是本地的(只要-L和-P参数匹配,本地端口可以是任何你喜欢的)。 这将为您提供更安全的路由,并且您可以configurationSSH以使用私钥,以增强保护。 硬化是非常重要的。