Apache-2.2

關於將 MySql 和 Apache 綁定到 localhost

  • February 11, 2014

我一直在閱讀有關在 Ubuntu 上保護 MySql 和 Apache 的文章,其中一個建議是“確保 MySQL 只允許來自本地主機的連接”。

這意味著做[bind-address = 127.0.0.1]

問題是,即使網站上線,我是否也將其綁定到本地主機?

該站點與數據庫互動以獲取和添加數據。當其他使用者使用我的域名訪問該站點時,他們是否能夠使用該站點?我對此有點困惑。這是怎麼做到的?

當它上線時,我應該將其更改為什麼,以便它仍然安全且不易受到攻擊?

是的,只要 MySQL 在 Web 伺服器主機上執行,您就應該保留bind-address = 127.0.0.1. 當使用者呼叫您的站點時,Web 伺服器而不是使用者呼叫 MySQL 來執行查詢。因此查詢來自 Web 伺服器的 IP 地址,如果它與 MySQL 位於同一位置,則為 127.0.0.1。因此,為了讓您的站點能夠執行,您只需要能夠接受來自 localhost 的連接。另一方面,如果您允許來自任何地方的連接,那麼網路上的任何人都可以連接到您的 MySQL 伺服器,前提是您的防火牆允許(可能是由於配置錯誤)。

另一種選擇是在內部和外部防火牆之間有一個 DMZ,Web 伺服器位於 DMZ 中,MySQL 位於內部防火牆後面的單獨主機上。內部防火牆只允許從 Web 伺服器主機連接到 MySQL。這在外部和您的 MySQL 伺服器之間放置了一個額外的防火牆層。然後你需要設置bind-address允許來自網路伺服器的連接。

引用自:https://serverfault.com/questions/574711