使用SSH通道登入Mysql 提高資料庫的安全性
使用SSH通道登入Mysql 提高資料庫的安全性
有些時候為了方便性而造成資訊安全上的問題
例如我們為想使用本地的資料庫軟體ex. MySQL Workbench等來登入資料庫做管理
當然只使用帳號密碼的方式登入肯定是有機會被入侵的
所以可以考慮使用SSH通道(SSH Tunnel)來對資料庫連線
使用SSH遠程訪問: 考慮使用SSH隧道,這樣只有SSH訪問被允許,然後通過SSH隧道來訪問MySQL服務。 防火墻的部分只需要開啟ssh的port號即可 $ apt-get install firewalld $ sudo firewall-cmd --permanent --add-service=ssh $ sudo firewall-cmd --reload $ sudo firewall-cmd --list-all 在本地端建立連線 $ ssh -NL 3309:localhost:3306 [email protected] 這個命令使用SSH隧道(tunnel)將本地端口(3309)與SSH伺服器(ssh_server_ip)上的MySQL伺服器的端口(3306)連接起來。
N 連線後不執行指令 f 連線後背景執行 L 是啟用SSH Tunnel 當建立連線後可以使用mysql對其進行登入測試 $ mysql -h 127.0.0.1 -P 3309 -u root -p -–
因為我的主機內是使用docker去跑mysql,當我設定完成時
發現不管怎麼試 防火牆看似無效,我一樣可以單純使用帳密登入該資料庫
試了好一陣子發現,dokcer會自己增加防火牆規則所以要做點修改
做法一 (推薦) 20231113 修正 在啟動container時就設定好該服務是否對外開放
若不對外開放則使用127.0.0.1
好處是可以避免做法二關閉docker防火牆後引發的其他問題
ex.
[Read More]