TLSは、パケットスニッフィングツールを使用して、ユーザーが「オフラインで」資格情報を削除できないようにします。これは、MySQLに接続するデバイスまたはアプリケーションの識別を保証するものではありません。
SSHのような追加の層、あるいはいくつかの種類のプロキシチャンネル経由でMySQLへの接続を許可する前に検証を行うカスタムアプリケーションが必要です。それは複雑な作業であり、それは確かにではなく、の業界標準です。
現在の標準は非常に単純です:
- は、マシンが積極的なファイアウォールルールを通して、あなたのMySQLサーバへのアクセス権を持っている制限します。ポート3306はにはなりません。は一般のインターネットに公開してください。最低でも、社内のプライベートネットワークの一部には、ホワイトリストに載っているIPや、192.168.x.0/24のようなネットワークブロックのほんの一部に固定する必要があります。
- MySQLサーバとアプリケーション間の接続が安全でないことを確認できない場合は、TLSまたはSSHトンネリングを使用してください。サーバーが物理的に異なる場所にあり、接続が安全であることを確認できない場合は、これが重要です。
- ユーザー名とパスワードの資格情報を合理的に複雑にし、強引にするのは難しいです。これらはアプリケーションレベルで設定されているため、60文字以上のパスワードは問題になりません。それらを大きくて完全にランダムにする。手で入力する必要はありません。設定ファイルまたはパスワードマネージャを使用します。
追加の懸念がある場合監査はあなたの戦略が健全であることを確認するために評判の良いセキュリティ企業によってを成し遂げる。
実際には、MySQLでユーザーとパスワードの組み合わせが設定され、そのユーザーに特定の役割が許可されている通常の認証では、MySQLの保存からPHPアプリケーションを認証するユーザーは誰もいません。 MySQLはそれを "認識"していません。もう一つの同様の質問があります:http:// stackoverflow。com/questions/40881874/how-to-encrypt-connection-php-and-mysql-using-mutual-certificate-authenticate –