• ベストアンサー

パスワードの隠蔽方法

外部のデータベースやメールを利用する場合、パスワードを含めたアカウントが通常必要かと思います。 パスワードを平文でソースに記述し、非公開ディレクトリに設置しました。 しかし、セキュリティ上好ましくないと思います。 どのように隠蔽すればよいでしょうか。 何か定石があればおしえてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

私個人的な意見ですが、アカウント情報の隠蔽措置は2段階に分類できると思います。 1段階目は外部からWebサーバ経由でアカウント情報が閲覧されないこと 2段階目はマシンに不正にログインされた場合にアカウント情報が閲覧されないこと です。 ファイルパーミッションやユーザを制限するのは2段階目だと言えます。 それに対し、.htaccessで制限する、公開ディレクトリに置かないというのが1段階目になります。 ご質問のように拡張子を変更する対応は1段階目に含まれるので、.htaccessで制限できる、もしくは非公開ディレクトリに置くことが可能であれば特に必要ないと思います。 逆に.htaccessや非公開ディレクトリが使用できなければ、ファイルの拡張子をどうするか考えるべきだと思います。

ton_jiru
質問者

お礼

よく理解できました。 大変参考になりました。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.2

これはプログラム内で使用するDBやメールサーバのアカウント情報をどうするかということですよね? 私はアカウント情報を一つのファイルにまとめ、ファイルの所持ユーザとパーミッションで制限しています。 具体的には非公開ディレクトリにアカウントファイルを置き、ユーザをWebサーバの起動ユーザ(例:apache)とし、パーミッションを400にしています。 アカウント情報の暗号化する場合は、MD5などのハッシュ化は復元できないので、今回の使い方としては不適切です。 アカウントファイルを復号可能な方法で暗号化することも可能ですが、PHP内で復号する必要があるので、アカウントファイルにアクセスできるような非公開ディレクトリが閲覧されるレベルまで進入されると無意味になってしまいます。 それよりも、データベースやメールサーバのアクセスをローカルネットワークからのみに限定するなどの制限のほうが有効かと思います。

ton_jiru
質問者

お礼

ありがとうございます。 大変参考になりました。 パスワードやファイル自体の暗号化は、.htaccessによるアクセス制御のようなユーザー認証の場合有効ですが、DBやメールサーバーアクセス時に復号アルゴリズムが必要な時点であまり意味がない気がしました。 ただ、平文よりも見た目上気休めになりますし、パーミッションの設定ミスで閲覧される場合も多少解読に時間がかかるのではないかというメリットはあるように思えます。 ちなみに、No1さんの言うような、ファイル属性にも気をつけた方がよいのでしょうか? 例えば、x属性のファイルであるphpソース自体にパスワードを記述することに問題があるかどうかです。

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

一般的には、拡張子をphpやcgiにすれば、ダイレクトに表示させよう押しても、サーバはスクリプトと解釈しようとするので、閲覧できません。 設定ファイルや、データファイルは拡張子をtxtやdatにはしないようにしましょう。 あとは、クロスサイトスクリプティングを見るとか。 ようは、送られてくるデータのタグを禁止したり、内部の情報を外に漏らさないための考え方(?)です。 データ側ですが、md5関数がありこいつは暗号化し、複合(元に戻す)できないので、データのパスワードの隠蔽に使う場合が多いです。 あと何かあったら、回答者の方、私にも教えてくださいね。

ton_jiru
質問者

お礼

ありがとうございます。 隠蔽することにも幅がありそうですね。 参考になりました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Access内の汎用モジュールにパスワードを平文(テキスト)で記載し、

    Access内の汎用モジュールにパスワードを平文(テキスト)で記載し、プログラムから利用しています。 単独使用なら平文で問題ないのですが、開発者も含め複数利用時にソース開くことでパスワードが漏れるのは困ります。 そこで、平文のパスワードを暗号化したいと考えました。 暗号化されたパスワードはソースを見ただけでは、元の平文のパスワードが何か分かりません。 しかし、プログラムから暗号化されたパスワードを復号化する際のメソッドを見れば、開発者は元の平文のパスワードが分かります。 メソッドにキーを与えないと復号化できないようにし、キーはバイナリで深い階層に沈めれば、直ぐには開発者でも平文のパスワードが分からない気がします。 VBAで書ける、このような方法を簡単に実装するものはありますでしょうか?もしくは良いフリーソフトもしくはシェアウェアはありますでしょうか?他の方法でも問題が解決すればOKです。 図解も含めてみました。つたない説明ですみませんが、どなたかお助け下さい。

  • 定期実行時のパスワード

    cronを利用しmysqldumpでデータベースのバックアップを考えております。 その際のパスワードなのですが、平文を暗号化させたいのですが、 どのような方法がありますでしょうか? ご存知の方いましたら宜しくお願いします。

  • ACCESSでモジュールに記入したパスワードを暗号化するには

    VBAの標準モジュールへconstでパスワードを記述しており平文のままです。 自分以外の第3者が利用するとパスワードが丸見えになってしまいます。 暗号化をするにはどうしたら良いでしょうか。

  • .htacssesの設置方法教えて!

    個人ドメインを取得しているんですが、ビジネス用にセキュリティーのかかったフォルダを作りたいと考えてます。 .htacssesというのを使用して要パスワードのディレクトリを作れるというのをいざ、設置しようとしたらさっぱりわからないことに気づきました(笑) ソースもないし、曖昧な記憶では確かシェアの物だったような… CGIなんかをちょっといじって設置するくらいの知識はあります。 誰か親切な方、教えて下さい!!

    • ベストアンサー
    • HTML
  • IIS6.0で非公開ディレクトリ

    IISでプログラムを動かすときに、非公開ディレクトリに設置せよとありますが、 どのようにして非公開ディレクトリを作成するのでしょうか? 通常仮想ディレクトリ直下=ドメインルートディレクトリとして、 設定しますが、あるプログラムだけ外部から見えないようにしたいです。 testweb.com/hikoukai/ のような感じになるのでしょうか?

  • Basic認証でパスワードを保存させない方法

    HP内一部ディレクトリをBasic認証でパスワード制限をかけたく、フリーCGIソースを取得し設置が終わったのですが、認証画面の「パスワードを保存する」というチェックをできないように(毎回IDとPassを入れなければいけないように)することはできるのでしょうか。 ソースを取得し、ソース提供者の解説ページにのっとって自分のサーバー用にカスタマイズしてUPしただけなので、基本的なCGIの知識はほとんどありません。 いろいろ検索したのですが、各自PC内ででPass保存をできなくするような処理の解説はあれど、設置側から毎回入力してもらうようにするということに関してはみつかりませんでした。 ご教示いただければ幸いです。

    • 締切済み
    • CGI
  • 『FileMakerインスタントWeb公開』について

    シンガポール在住、 MaxOnline-4000(ダウンロード最大4 Mbps/アップロード最大128Kbps ) TERAYON TJ210ケーブルモデム/U.S. Robotics broadband routerModel No.:8000 以上の環境下の自宅でインターネットに接続しています。 FileMaker Pro7を用い『FileMaker. 8.5インスタントWeb公開ガイド』に従ってデータベースをweb公開したところ、自宅内の4台のPCではインターネットを介して同時にデータベースにアクセス、閲覧やデータの入力ができることを確認しました。 しかしシンガポール国内や日本の友人にアカウント名やパスワードを発行、IPアドレスを知らせたところ、『インスタント Web 公開 データベースホームページ』にアクセスできないと申しています。 質問1: 外部からもアクセスできるようにするにはどうしたら良いでしょうか。 質問2: 『アカウントとアクセス権の定義』で一覧のアカウント全てにアカウント名とパスワードを指定、OKをクリックすると依然として「完全アクセス権を持つ1つまたは複数のアカウントにパスワードが設定されていません。これはセキュリティー上危険です。これを許可しますか。」と表示されるのは何故でしょうか。

  • BASIC認証をSSLで使用する場合

    私は現在XREAという.htaccessOKのサーバ屋のサーバを使っています。 このサーバは非公開ディレクトリも作成できるので そちらにいろいろと非公開コンテンツを乗っけようと思いましたが CGIが対応していないようなので公開ディレクトリの下に BASIC認証を敷こうと思っています。 そのさい、単にBASIC認証だとパスワードが平文で送信されるそうなので パスワードを認証して最初のページに入るまでSSLを使用し、 BASIC認証の弱点を克服することが出来たらと思っております。 どうすればhttps://の状態でBASIC認証をかけることができるか、 また認証後http://に戻すにはどうすればいいのか、ご存知の方 いらっしゃいましたらご教授願います。

  • パスワードを閲覧する方法

    PostgreSQLでスーパーユーザー(管理者)が他のユーザー(利用者)のパスワードを閲覧する方法WindowsXPのPCにxampp(Apache+MySQL+PHP+Perl)を導入し、PostgreSQLも導入しました。 PostgreSQLに2人のユーザアカウントを作成しました。 postgreでデータベースにログインし、 alter rolg visitor with pssword 'test'; とすればvisiorのパスワードを変更できます。 しかしvisiorの現在のパスワードを閲覧する方法がわかりません。 教えてください

  • ID・パスワードを忘れてしまった

    ホームページ公開の際、セキュリティが邪魔しているため一時的に外すことになり、グリーンの星のセキュリティアイコンをクリックしたのですが、IDとパスワードの入力指示がでてしまいました。ソーネクストカスタマーセンターのメールのほうでアドバイスを受けた通り、スーパーセキュリティを一度削除し、再びインストールする前にバックアップをするよう出ていたので実行しようと思ったところ、パスワードが必要となり、問い合わせました。 ※OKWAVEより補足:「ソースネクスト株式会社の製品・サービス」についての質問です。