回答:
この議論をしている人はだれでも「誰かがドアに足を踏み入れたら、あなたも彼らに完全なアクセスを与えるかもしれない」と言っているようです。そのロジックにより、ファイアウォールは内部ネットワーク上のすべてのパスワードの必要性を無効にします。
強力なパスワードは、ネットワーク侵入による被害を制限するための第一歩です。ネットワークのごく一部が危険にさらされたからといって、敗北するように手を振る理由はありません。
それは本当に「多層防御」のアイデアに戻っているので、少なくとも強力なパスワードは、それらを発見してブロックできるようにそれらを遅くすることができます。すべての家のドアにある鍵に対して、ゲーテッドコミュニティの鍵を1つ持つという例えが好きです。
MySQLサーバーのセットアップ方法に大きく依存します。ホーム(127.0.0.1)IPからの要求のみを受け入れる場合、それは適度により安全になります。
リモートIPアドレスを許可するシナリオを考えると、それははるかに大きな取引になります。
それに加えて、侵入の場合に強力なセキュリティを確保することは常に良いことです-できるだけ少ない距離で立ち去る方が良いです。
強力なmysqlユーザーパスワードは必要ありません。それを使用するには、サーバーへのアクセス権が既にあるからです。
mysqlはクロスネットワーククライアントサーバー環境でも使用できるため、デフォルトでは、データベースにアクセスするために必要なのはuser / passだけです(オフコース、3306ポートが開かれ、サーバーが公開されているため) )。
確かにそれは他の方法することができます:彼らは、MySQLへのアクセス権を持っている場合、彼らは、サーバーOS自体にアクセスすることがある可能性があります。
ここで見落とされていると思われるものは、信頼できるネットワーク上のユーザーを信頼していますか?
率直に言って、私はそうしていません。なぜなら、私がITを始めたときの自分の姿を知っているからです。権利のない地域で突っ込んだり、突っ込んだりしました。そして、率直に言って、MySQLの弱いパスワードは、ポットラックのチャンスをつかんでハボックを破壊することができたので、私にとってはうれしかったでしょう。もちろん)。
誰かがソーシャルエンジニアリングを使用して信頼できるネットワークにアクセスした場合はどうなりますか?それからあなたは何をしますか?それらがファイアウォールの背後にあるマシン上にある場合、あなたは確固たるファイアウォールのセキュリティが台無しになり、マシンにまっすぐになります。
強力なパスワードは非常に簡単に実行でき、パスワードを簡単に安全に保つためのパスワード管理ツールがたくさんあります。
localhost
/ 127.0.0.1
を指定します。この方法では、誰も外部のデータベースにアクセスできません(同じネットワーク内のデータベースであっても)。
mySQLのアカウント/アクセス情報は、実際のデータベースとは別のファイルに保存されます。したがって、別のファイルをその場所にドラッグアンドドロップするだけです。mySQLを使用すると、ファイルシステムの関連部分への書き込みアクセス権があれば、ゲームオーバーになります。
要件が変わるため...
したがって、ローカルマシンのみへのMySQL接続の受け入れに限定されている現在のサーバーは、外部ツールを使用してデータベースを管理できるように明日開かれる可能性があります。この設定を行う人は、非常に弱いパスワードが使用されていることを知らない場合があります。
ユーザーが適切で強力な(例:長くてランダムな)パスワードを覚えなければならないため不便な場合は、パスワードを非常に強力にしてから保存することを検討して.my.cnf
ください。もちろん、これにはセキュリティ上の影響もありますが、パスワードにアクセスするアプリケーションなど、どこかにパスワードを保存する必要があるため、パスワードのコピーを既に保護しています。
しかし、@ meagarが言ったことも読んでください。
既にアクセスできるという前提は正しくありません。ただし、アクセス権があり、非特権アカウントを持っている場合、mysqlパスワードを簡単にハッキングできます。
また、サーバーがライブの実稼働サーバーである場合は、インターネットに自分自身を広告するよりも。ある時点で、誰かがいることを意味そのWILL mysqlの、ポートとユーザーアカウントの両方を含め、そのサーバー上のブルートフォース攻撃を、してみてください。
データを気にする場合、基本的な手順は、データベースのルートパスワードをルートユーザーのルートパスワードとは異なるものにすることです。他のユーザーは、ユーザーとプログラムに可能な限り低いアクセス許可を与えるべきだと述べています。
非常に安価なコンピューターで、4文字のパスワードを数分でハッキングできます。
私は他の人が言ったことを繰り返しているかもしれませんが、あなたのマネージャーのための弾薬が多いほど良いです。
実際のシナリオの理由の多くは、以前は投稿でカバーされていたので、「哲学」を追加します。強力なパスワードを使用し、予防策を講じてセキュリティを強化することは、仕事の哲学です。考え方。
あなたはmysqlが127.0.0.1でのみ動作し、rootユーザーのみがそれにアクセスできるので、今は弱いパスワードを使用すると、あなたが先に考えていないことがわかります。いつかmysqlへのネットワーク経由のアクセスを許可する必要がある場合はどうなりますか。あなたが残したすべてのセキュリティ全体をカバーすることを覚えていますか?
優れた管理者は、最悪のシナリオを最初に妄想状態に置きます。
ユーザーがどのような権利を持っているかによりますが、常に複数のレベルで物事をロックダウンする必要があります。また、データベースに保存するデータにも依存します。また、MySQLにはデータベース全体を引き継ぐことができるが、ユーザーアカウントにログインするだけで済む脆弱性があると仮定します。パスワードが強力な場合、この脆弱性はミュートされます。しかし、これは本当にあなたの特定のケースに依存します。
mysqlで他人になりすますことは非常に簡単です。パスワードなしのユーザーID(最も弱いセキュリティ)を指定する場合は、を使用しますmysql -u userid
。パスワードがある場合は少し難しくなりますが、パスワードが弱いと簡単になります。rootにパスワードがない場合、rootとしてにアクセスできますmysql -u root
。その後、データベース内でrootができることは何でもできます。
セキュリティでホスト仕様を使用することもお勧めです。特にリモートアクセスが利用可能な場合は可能です。
ファイル内のパスワードは、許可によってある程度保護できます。ルート、またはパスワードファイルの所有者によるアクセスは簡単です。可能であれば、ディスク上のパスワードの暗号化を使用する必要があります。これにより、アクセスが若干難しくなりますが、依然として脆弱です。
root:root
のログイン。