localhostのみをリッスンしている場合でも、MySQLユーザー名とパスワードを知っている人なら誰でもアクセスできると聞きました。
私の情報は次のとおりだと仮定します:
USER: root
PASS: 123456
Host: LOCALHOST (only)
そこにいる(ローカルの)誰でもアクセスできるのはどうしてですか?
リモートホストからユーザー名とパスワードへのアクセスを制限すると、誰かがデータベースに外部からアクセスできなくなります。
また、ローカルホストマシンから3306(MySQLデフォルトポート)へのトラフィックのみを許可するようにファイアウォールを構成することもできます。
更新
LOCALHOSTを介してのみアクセスできるようにユーザーを設定するには、次を使用します。
GRANT ALL PRIVILEGES ON *.* TO db_user @'localhost' IDENTIFIED BY 'db_passwd';
GRANT ALL PRIVILEGES ON *.* TO db_user @'127.0.0.1' IDENTIFIED BY 'db_passwd';
また、MySQLサーバーをローカルアドレスにバインドします。これを行うには、[mysqld]
セクションのmy.cnf
:
[mysqld]
bind-address = 127.0.0.1
これは私が偶然見つけた古い質問ですが、DarkedenがphpMyAdminなどを実行していた場合、有効なMySQL資格情報を使用して誰でもログインできます。
侵害された場合は、接続を制限することに加えて、すべてのパスワードを変更します。
ファイアウォールまたはMySQL自体でMySQLへの直接アクセスをブロックできますが、ハッキングされる可能性が最も高いのは、安全でないWebアプリケーションを使用することです。その場合、攻撃者はデータベースログインを読み取って接続できます。サーバー。
アプリケーションを安全に保ちましょう-すべてを最新の状態に保ち、ファイルのアップロードを許可せず、複数のアカウントがある場合はsuPHPを使用します。
Mysqlアプリケーションを制限する場合は、次の手順を実行します。
1.ポート3306をブロックするだけです。サイトが同じサーバー上にある場合は、localhostをホスト名として使用してデータベースにアクセスできます。
2.「bind-address = 127.0.0.1」をmy.cnfファイルの「[mysqld]」セクションに追加して、localhostへのアクセスのみを制限します。
ほとんどの人がこのタイプの制限を使用しています。
私は彼の(調整された)質問に答える答えを見ませんでした-彼はそれをローカルホストにロックし、攻撃者はまだ入っています。
ローカルホストに本当に制限している場合(netstat -an | egrep 3306を使用して、0.0.0.0ではなく127.0.0.1をリッスンしていることを確認してください) 、thenそれにアクセスする唯一の方法は、そのローカルホストから接続を開始することです。
実行する最初の手順:
彼は次のものを使用することもできます。
外部からアクセス可能で、既存のデータベース接続を介して任意のsqlコマンドを実行できるセキュリティホールがある、実行中のプログラム(Webサーバーなど)を介してアクセスします。 https://www.w3schools.comを参照してください。 /sql/sql_injection.asp
彼がlocalhost:3306への接続をプロキシするために彼が外部からアクセスできるプログラムをだまします(たとえば、マシン上で誤って設定されたネットワークファイアウォールを介して)
ローカルプログラム(bash。mysqlなど)を実行するためにいくつかのプログラムをtrickし、そこからデータベースにアクセスする-バッファオーバーフローやその他の特別に細工されたデータは、任意のコードを実行する際の一般的な問題です
正当なアクセス権を持つ接続に対する中間者攻撃
外部からのデータを自動または手動で処理するプログラムのバグ、たとえば、電子メール、スクリプト処理によるpostscript/pdf/anyドキュメントの処理-テキストファイルを表示することさえ危険です- https://www.proteansec .com/linux/blast-past-executing-code-terminal-emulators-via-escape-sequences /
ソーシャルエンジニアリングにより、人々にアクセスしてもらう方法
アクセスできるコンピューターに接続されたハードウェアデバイスの取得(作業駐車場にある「メモリースティック」を拾い、代わりに「プログラム可能なキーボード」をチェックアウトし、すべてのコンピューターがキーボードを信頼します!)
そして、私が知らない他のすべての種類のメソッドがありますが、関与しているものは共有しています...
実用的なセキュリティが必要であることを忘れないでください、xkcdはそれをちょうどいいと言っていると思います: https://xkcd.com/538/