WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:perlからmysqlに DBI->connect する際のパスワードの保護について

0:[投稿] toce [2005/10/05 12:27 ] [環境:win2k,xp IE6 linux mysql perl]

perlとmysqlをlinux+apacheで動かしているのですが、MySQLに接続
する際の DBI->connect に書くユーザー名とパスワードが裸のままな
ので、パスワードだけでも暗号化したいのですがどのようにしたら
よいのでしょうか?

perl v5.8.5
mysql 4.1.13
linux CentOS4


1:[回答] B-Cus [2005/10/06 00:53 ]

パスワードを暗号化して保存すると、接続時にパスワードのパスワードが必要になります。
そのパスワードのパスワードは平文で置いておきたいですか? もし平文が嫌なら
パスワードのパスワードのパスワードが必要になりますよ、という話になります。

まぁ、パスワード漏洩の可能性を少しでも減らしたいというならば
それでもいいんでしょうけど、根本的には平文とかわりありません。

結局どういうケースからデータを守りたいか、という問題に帰着するわけですが、
ソースが第三者に漏れて DB 接続パスワードが知られた場合の対策であれば、
 - 外部から DB に接続できないようにする (UNIX ドメインのみ listen する。ファイアウォールを設置する)
 - サーバにログインできないようにする (ログインパスワードと DB パスワードを違うものにする)
 - 物理的にサーバに近づけないようにする。
などで防げるわけです。

HDD 一式や、バックアップテープなどを盗まれた場合の対策であれば、
 - ファイルシステムの暗号化
 - マシンブート時にユーザがパスワードを手で入力。そのパスワードは
  デーモンが覚えておき、各プログラムは DB 接続前にデーモンにパスワードを
  聞く。リブートするたびにデーモンはパスワードを聞きなおす (ssh-agent の方式)。
とか。


2:[回答] 通りがかり。 [2005/10/06 08:02 ]

・何でそう思ったのか?
・なぜ暗号化が必要だと思ったのか?
・結局何をしたいのか?

に尽きますね。
ソースが漏れることを心配するなら、そんな脆弱なサーバのセキュ
リティーを見直すのが先でしょう。


3:[回答] toce [2005/10/06 12:53 ]

回答ありがとうございます。
一応セキュリティとしてはsslのipを絞ったり、コンソールログインを複雑に
したりgrubにパスワードを付けたりといった対応を取っているのですが、
ディスクを盗まれてmountされるとどうしようもないなと思いまして。

ベターな方法としてはファイルシステムの暗号化なのですが、時間が無くまだ試し
ていません。

回答(必須): 状態:

お名前(必須):

URL:




[戻る]