Apache-2.2
關於將 MySql 和 Apache 綁定到 localhost
我一直在閱讀有關在 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
允許來自網路伺服器的連接。