2016-12-02 57 views
-2

我有一位同事是我們公司的成員,他需要從家中訪問我們的3306標準端口上的MySQL服務器。他將通過使用mysqli連接的PHP腳本訪問它。儘管我通過mysql添加了訪問權限,但他無法連接獲取可怕的「拒絕連接」消息。我暫時禁用了iptables,並讓他嘗試了,並且他能夠連接。但當然,我必須重新啓用iptables,現在他再次無法連接。如何使用Iptables爲白名單IP地址打開端口3306(MySQL)?

我保存iptables規則的文件,並檢查,並在那裏提到3306端口的唯一路線是這樣的:

-A OUTPUT -p tcp -m tcp --dport 3306 -j ACCEPT 

我不是在iptables的專家,但我假設,因爲沒有「INPUT 「對於3306的規則,這意味着3306端口對任何傳入流量都是封閉的。所以我的問題非常簡單而且非常直接:除了他之外,我還能如何將這個端口關閉到所有人?換句話說,我怎樣才能允許他的IP地址只使用端口3306上的INCOMING流量,而不讓其他服務器在服務器上爲OUTPUT流量工作?值得注意的是,他的IP地址是動態的,並且每隔一段時間都會更改一次,所以我也想知道如何刪除IP地址的訪問權限,並將其替換爲新的IP地址。謝謝。在MySQL

/etc/mysql/mysql.conf.d/mysqld.cnf 
bind-address=[IP_ADDRESS_FROM] 

最後,授予權限才能從其他連接:

+0

不寒而慄。聽起來像「我如何仔細設置我的工作MySQL服務器從互聯網被黑客攻擊」。你的工作MySQL數據有價值嗎?如果是,購買網絡安全人員的服務,他們可以組織您一個VPN來保護Home <>工作連接,並正確配置和測試您的安全設置。哦,並確保你有好的備份所有的寶貴數據。你已經改變了默認的MySQL管理員密碼了嗎?您可以通過移動到非標準端口(即非3306)來減少被自動黑客攻擊的可能性。 – barny

+0

@barny查看常規日誌以查看黑客攻擊是很了不起的。挺嚇人的。 – Drew

+0

確實如此。保重。 – barny

回答

0

試試這個,對於接受來自同一IP的TCP連接: sudo iptables -A INPUT -s [IP_ADDRESS_FROM] -p tcp --destination-port 3306 -m state --state NEW,ESTABLISHED -j ACCEPT

而且,你必須將IP地址綁定到主機(不是本地主機,將其更改爲[IP_ADDRESS_FROM]或更改爲「%」 - 對於所有IP)。

+0

哦,並確保_all_ mysql密碼是強壯的。對開放互聯網這樣做的想法是可怕的。 – barny

相關問題