我是相當新的系統管理工作的深度,尤其是在這個層面上,並一直負責建立認證PHP應用程序和MySQL之間的進程間通信的「行業標準」的方式數據庫服務器PHP的MySQL進程間TLS
我似乎無法找到mysql或PHP文件中的任何引用。爲了加密的目的,我發現在PHP和Mysql之間的標準TLS信息量非常大,但對於相互身份驗證(在Mysql中對PHP應用程序進行身份驗證)完全沒有任何影響。這是可能的,或沒有自定義插件?
我是相當新的系統管理工作的深度,尤其是在這個層面上,並一直負責建立認證PHP應用程序和MySQL之間的進程間通信的「行業標準」的方式數據庫服務器PHP的MySQL進程間TLS
我似乎無法找到mysql或PHP文件中的任何引用。爲了加密的目的,我發現在PHP和Mysql之間的標準TLS信息量非常大,但對於相互身份驗證(在Mysql中對PHP應用程序進行身份驗證)完全沒有任何影響。這是可能的,或沒有自定義插件?
TLS只保證使用數據包嗅探工具的人不能剝奪你的憑據「脫線」。它無法確保連接到MySQL的設備或應用程序的身份。
對於諸如此類的事情,你需要一個像SSH的附加層,或某種自定義應用程序的,做驗證,允許通過的一些品種的代理渠道到MySQL連接之前。這可能是一項複雜的工作,它當然是而不是的行業標準。
當前的標準很簡單:
如果您有其他疑問,得到的審計由一家著名的安全公司做,以確保你的策略是合理的。
有兩種常用的方法。首先,如果PHP應用程序正確檢查了mysql服務器的證書,那麼你知道mysql服務器就是它聲稱的那個人。這驗證了MySQL的MySQL。然後,當您發送數據庫密碼時,您已將該php應用程序認證到了mysql服務器。您在每個方向使用了不同的方法,但實現了相互認證。這是迄今爲止最常用的方法,它確實符合相互認證的定義。
不太常見的方法是使用client certificates;請參閱「要求還使用客戶端證書」的文本。 通過對mysql的命令行(以及來自php的類似連接參數)使用--ssl-cert和--ssl-key參數,可以向服務器提供客戶端證書。服務器的證書用於驗證服務器到php,以及客戶端證書來驗證php到服務器。
我敢說,在實踐中,沒有一個驗證從MySQL的PHP應用程序保存正常的認證,其中用戶名/密碼組合是建立在MySQL,而該用戶被允許某些角色。除此之外,MySQL不會「知道」。這是另一個類似的問題:http:// stackoverflow。COM /問題/ 40881874 /如何對加密連接-PHP-和使用,互證書AUTHENT的mysql-間 –