MySQL GRANT PROXY-それはどういう意味ですか?


14

走る:

show grants for root@localhost;

なるほど

 GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION

mysql docsから:

https://dev.mysql.com/doc/refman/5.5/en/proxy-users.html

これにより、外部ユーザーは2番目のユーザーのプロキシになります。つまり、2番目のユーザーの特権を持ちます。つまり、外部ユーザーは「プロキシユーザー」(なりすましまたは別のユーザーとして知られるようになるユーザー)であり、2番目のユーザーは「プロキシユーザー」(IDがプロキシユーザーに引き継がれるユーザー)です。 。

しかし、私はそれらの意味を理解していません。仕事を辞めた別の労働者からシステムを入手しましたが、すべてが安全であり、この許可が必要かどうかわからないことを確認したいと思います。しかし、セキュリティの問題が発生しない場合は、そのままにしておきます。

誰かがもっと簡単に説明できますか?

更新:

別のユーザーとして接続するにはどうすればよいですか?ユーザー名とパスワードのさまざまな組み合わせを試しましたが、接続させることはできません。

たとえば、ユーザーrootを使用しましたが、別のユーザーのパスワードを使用しましたが、機能しませんでした。別のユーザーとルートパスワードを試してみましたが、動作しませんでした。

更新:

または、これはおそらくルートユーザーが他のユーザーとして接続できることを意味しますか?もしそうなら、少なくともそれを行う方法?


「MySQLのインストール中に作成された最初のルートアカウントには、 '' @ ''に対するPROXY ... WITH GRANT OPTION特権があります。つまり、すべてのユーザーとすべてのホストに対してです。他のアカウントにプロキシユーザーを設定する権限。」ここからドキュメント:dev.mysql.com/doc/refman/5.5/en/proxy-users.html
ケイティ

回答:


3

MySQLユーザー認証は、説明するのにかなり長いプロセスです。MySQLエラーに対する3.5年前の回答を参照してください。ユーザー 'a' @ 'localhost'のアクセスが拒否されました(パスワード:YESを使用)。ユーザーが認証するために実行する手順を確認できます。

PROXY付与が行うことは、あるユーザーが別のユーザーになりすまし、MySQLの通常ではあるが長いユーザー認証プロトコルバイパスできるようにすることです

このようなプロキシ許可は、これを知っており、それを利用し始めた場合、セキュリティホールになる可能性があります。これを無効にする最も簡単な方法は、実行することです

TRUNCATE TABLE mysql.proxies_priv;
FLUSH PRIVILEGES;

これにより、現在のプロキシ権限が消去されます。

その後、プロキシ権限を制限する場合は、OSにアクセスして次の操作を行います。

cd /var/lib/mysql/mysql
chmod -w proxies_priv.*

これにより、新しいプロキシ権限が作成されなくなります。

試してみる !!!


1
テーブルを切り捨てると何かが壊れたらどうなりますか?切り捨てる前にできます-それをエクスポートし、何かが壊れた場合、それらの行を再度挿入し、すべてがうまくいくはずです。テーブルには2つのロールがあります。
ダライアスV

私の同僚は、それがルートであり、とにかくすべての権利を持っているので、セキュリティホールがないと言います。しかし、彼らは私が尋ねる理由を理解していなかったかもしれません-プロキシがあるために権限を持っているので、rootユーザーとして非rootユーザーと接続できますか?
ダライアスV

注:この答えは、プロキシ機能を使用する方法を示していない
アラステア・アーバイン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.