ホームページ  >  記事  >  データベース  >  Mssql および Mysql のセキュリティ分析

Mssql および Mysql のセキュリティ分析

黄舟
黄舟オリジナル
2017-02-20 11:54:261760ブラウズ

[はじめに] データベースは電子商取引、金融、ERP システムの基盤であり、通常、重要なビジネス パートナーや顧客の情報が保存されています。ほとんどの企業、組織、政府部門の電子データはさまざまなデータベースに保存されており、これらのデータベースは一部の個人情報を保存するだけでなく、電子商取引、金融、ERP システムの基盤でもあります。重要なビジネスパートナーや

顧客情報。ほとんどの企業、組織、政府部門の電子データはさまざまなデータベースに保存されており、これらのデータベースは一部の個人情報を保存したり、機密の財務データを保管したりするために使用されます。しかし、データベースは通常、オペレーティング システムやネットワークほどセキュリティに注意が払われません。データは企業や組織の生命線であるため、安全なデータベースを選択することが重要です。大規模な Web サイトでは通常、oracle または DB2 が使用されますが、中小規模の Web サイトでは主に、より柔軟でコンパクトな mssql データベースまたは mysql データベースが使用されます。では、同じ条件下で、Microsoft の mssql と無料の mysql ではどちらが安全なのでしょうか?


同じ状況でセキュリティをテスト
するために、管理者アカウントを使用してマシンにデフォルトで mssql と mysql をインストールしました。私のシステム構成は次のとおりです: オペレーティング システム Microsoft Windows 2000 バージョン 5.0、
sp4、ftp サービスと iis サービスがインストールされ、asp と php をサポートしています。システムには管理者アカウント admin が 1 つだけあり、guest アカウントは無効になっていません。


1. システム内部のセキュリティ分析


1.mysqlデータベースの権限制御の問題

mysqlの権限制御は、認可テーブルと呼ばれるmysqlデータベースに基づいており、これには合計6つのテーブル

columns_priv、db、func、ホスト、tables_priv、およびユーザー。まず、desc user コマンドを使用して、非常に重要なユーザー テーブルの構造を表示し、内容をクエリします。これで、ユーザーの権限設定を表示できるようになります。

コマンド

select host,user,password,delete_priv,update_priv,drop_priv from user;
を使用します。このコマンドは、さらにいくつかの危険な権限をチェックします。表示される結果は次のとおりです。

mysql> select host,user,password,delete_priv,update_priv,drop_priv from user; 
+-----------+------+------------------+-------------+-------------+-----------+ 
| host | user | password | delete_priv | update_priv | drop_priv | 
+-----------+------+------------------+-------------+-------------+-----------+ 
| localhost | root |0e4941f53f6fa106 | Y | Y | Y | 
| % | root | | Y | Y | Y | 
| localhost | | | Y | Y | Y | 
| % | | | N | N | N | 
+-----------+------+------------------+-------------+-------------+-----------+ 
4 rows in set (0.00 sec)

最初のコマンドは、root を使用してこのマシンにパスワードでログインし、レコードを削除する権限を持っていることを意味します。 、レコードの変更、テーブルの削除など

大丈夫、安全です。 2 番目の項目は、root を使用してパスワードなしで任意のホストにログインでき、レコードの削除、レコードの変更、テーブルの削除などを行う権限があることを意味します。 3 番目の項目は、このマシンに匿名でログインでき、レコードの削除、レコードの変更、テーブルの削除などを行う権限があることを意味します。最後の項目は、任意のホストから匿名でログインできることを示しますが、権限はありません。

明らかに、2 番目、3 番目、4 番目はすべて安全ではありません。 2 番目の場合は言うまでもなく、3 番目の場合と同様に、ローカルにいてゲスト権限を持っている場合でも、mysql データベースにログインし、完全な権限を持つことができます。このようにして、
データベースでやりたいことを何でも行うことができます。
解決策: リモート メンテナンスが必要ない場合は、2 番目の項目

delete from user where 
host="%" and user="root";

を削除するか、強力なパスワードを追加します。 3 番目の記事を削除します。


delete from 
user where host="localhost" and user="";

上記は、Mssql と Mysql のセキュリティ分析の内容です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。





声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。