誰かが mysql のデータベースのテーブル名またはフィールド名を知っている場合、結果はどうなりますか? そして、彼らは管理者のパスワードとユーザー名を知りません。簡単に攻撃されるのでしょうか?
2 に答える
セキュリティの質問をしているようです。パブリック Web に面するアプリケーションの場合、セキュリティを徹底的に実践する必要があります。
あなたの質問に答えるには: いいえ。列名とテーブル名を難読化してデータベースを保護しようとすることは、通常、多層セキュリティの一部として使用されません。
Web アプリケーションは、SQL インジェクションやその他のエクスプロイトを回避するように構築する必要があります。それはあなたが調べることができる大きなトピックです。
MySQL データベース マシン自体がパブリック ネットワークから見えないようにする必要があります。Web データ センターの内部ネットワーク上にある必要があります。これにより、スクリプト キディーが独自の MySQL クライアント ソフトウェアを使用して、それを見つけたり接続したりすることを防ぎます。
Web アプリケーションが MySQL データベースにアクセスするためのユーザー名とパスワードは、適度に秘密にしておく必要があります。Web アプリで頻繁に使用する必要があるため、これらを完全に秘密にしておくことは困難です。
Web アプリケーションのユーザー名は、そのジョブを実行するために必要な MySQL の機能へのアクセスのみを許可する必要があります。MySQL ユーザーは、ビューの作成、テーブルの削除、ストアド プロシージャの作成などの権限を拒否される可能性があります。
データベースに侵入できないため、実際にはセキュリティ上のリスクはありません。データベースに侵入できれば、データベース自体からテーブル名を取得できるため、テーブル名を知る必要はありません。したがって、最も重要なことは、データベースを安全に保ち、さまざまなプロファイルへのアクセスが制限された強力なユーザー名とパスワードの組み合わせを使用することです。Web サイトが SQL インジェクションなどに対して安全であることを確認してください。