2016-12-02 8 views
-2

私は同社のメンバーであり、自宅の標準ポート3306にあるMySQLサーバーにアクセスする必要がある同僚です。彼はmysqli接続を使ってPHPスクリプトを使ってアクセスします。 mysqlを介して彼のアクセスを追加したにもかかわらず、彼は恐ろしい "接続拒否"メッセージを取得するために接続することができませんでした。私は一時的にiptablesを無効にし、彼に試してもらい、彼は接続することができました。もちろん、iptablesをオンに戻す必要がありましたが、今度は再び接続できません。私は、iptablesのでは専門家ではないですが、何の「INPUTがないためと仮定していますIptablesを使用してホワイトリストに登録されたIPアドレスに対してポート3306(MySQL)を開くにはどうすればよいですか?

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

私は、ファイルにiptablesのルールを保存してチェックし、そこでの唯一のラインがポート3306を参照するには、このました"3306のルールは、ポート3306が着信トラフィックに対して閉じられていることを意味します。ですから私の質問は非常に簡単で直接的です。どうすれば彼を除いて誰にでもそのポートを閉じたままにすることができますか?言い換えれば、IPアドレスがINCOMINGトラフィックをポート3306でのみ使用し、OUTPUTトラフィックでサーバーを動作させている間は使用できないようにするにはどうすればよいですか。彼のIPアドレスは動的であり、頻繁に変更されるので、IPアドレスへのアクセスを削除して新しいIPアドレスに置き換える方法も知りたいと思います。ありがとう。他からの接続にMySQLで許可、で最後

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

権限を:あなたはにあなたのIPアドレスをバインドする必要があり、 sudo iptables -A INPUT -s [IP_ADDRESS_FROM] -p tcp --destination-port 3306 -m state --state NEW,ESTABLISHED -j ACCEPT

そして:

+0

Shudder。 「インターネットからハッキングされるようにMySQLサーバーを慎重に設定するにはどうすればよいですか?あなたの仕事のMySQLデータは貴重ですか?はいの場合は、VPNを組織してホーム<>作業接続を保護し、セキュリティ設定を正しく設定してテストできるネットワーキングセキュリティ担当者のサービスを購入してください。ああ、あなたの貴重なデータをすべてバックアップしてください。あなたはデフォルトのMySQL管理者パスワードを変更しましたか?非標準ポート(3306ではなく)に移動することで、自動ハッキングの可能性を減らすことができます。 – barny

+0

@barny一般的なログでハックの試行を見るのはすばらしいことです。とても怖いです。 – Drew

+0

確かにそうです。世話をする。 – barny

答えて

0

これを試してみて、ために同じIPからのすべてのTCP接続を受け入れますホスト(ローカルホストではなく、[IP_ADDRESS_FROM]に変更するか、すべてのIPに対して "%"に変更します)。

+0

ああ、_all_ mysqlパスワードが強いことを確認してください。開いているインターネットに対してこれをする考えは怖いです。 – barny

関連する問題