Mysql
安全的 MySQL 複製;SSL 還是 SSH 隧道?
我在兩台伺服器之間設置了 Master-Master MySQL 複製設置。我即將將一個移動到另一個位置,因此複製將通過 Internet 進行,並且 - 當然 - 需要得到保護。
據我所知,我基本上有兩種選擇:
- 在 MySQL 複製中使用內置的 SSL 支持。
- 使用 SSH 隧道轉髮用於複製的埠。
選擇其中一個是否有顯著的安全性、性能或維護優勢?
下面的輸出讓我覺得我根本不能使用選項 1。但是,我仍然想知道每種方法的優缺點。
**編輯:**我看得更遠,我確實有 ssl 支持。目前只是禁用了。
mysql> SHOW VARIABLES LIKE '%ssl%'; +---------------+----------+ | Variable_name | Value | +---------------+----------+ | have_openssl | DISABLED | | have_ssl | DISABLED | | ssl_ca | | | ssl_capath | | | ssl_cert | | | ssl_cipher | | | ssl_key | | +---------------+----------+ 7 rows in set (0.00 sec)
感謝您提供任何幫助/建議。
我更喜歡 SSL 複製。
我發現使用內置功能通常比嘗試嫁接獨立的安全層(例如SSH)更乾淨。您定制的越多,您在建構、調試、監控和修復它方面要做的工作就越多,如果它沒有按預期執行,那麼第三方(例如郵件列表)就越難為您提供幫助。
呃,這個沒有明確的答案。
使用嵌入式 ssl 包裝器是一種成本較低的方法 - 但您可能會將繁重的 msyql 程序與網路 I/O 捆綁在一起 - 但如果您要復製到許多其他盒子和/或您,這才是真正的問題記憶力很緊。通過一個額外的程序路由流量會增加非常少量的延遲 - 但如果這些盒子位於不同的網路中,這不太可能是顯著的。
如果是我,我會將程序內 SSL 的優點與完整的 VPN 連結(不一定基於 ssh)進行比較。後者不僅支持 mysql 複製(私有網路 DNS/LDAP、遠端訪問、日誌記錄……),而且使用 NAT 實現(例如通過 ssh/ssl 執行 ppp)可以快速重新調整以跨備用路由。這種方法還提供了對通信問題的更簡單和更一致的診斷。