プロが教える店舗&オフィスのセキュリティ対策術

フリーCGIで出来たメールフォームを、ホームページに設置予定です。
サーバーのメールの仕組みからではなく、
CGIから発信される仕組みのようです。
このメールフォームには個人情報を書き込む項目が設けられているので、
SSLをかけて暗号化された状態で送信者から受信者まで届く仕組みにしたいと考えています。
暗号化されてほしいのは、
【発信者】~【サーバー】~【インターネット】~【受信者】
の間すべてです(「~」の部分です)。

色々調べてみたところ、
「CGIから発信されるタイプのメールにはSSLはかけられない」
「サーバー自体にSSLがかかっているのでSSLはかけられる」
「発信者とサーバーの間だけがSSLで、
 サーバー以降にはSSLがかからない」
「発信者~受信者までの道程全てにSSLをかけるには
 ベリサインセキュアメールIDの取得が必要だが高額、
 設置もプログラム知識が無いとムリ」
等、どの情報が正しいのか判別がつかない状態です。

CGIから発信される仕組みのフリーCGIで出来たメールにSSLはかけられますか?それにはどのような準備が必要でしょうか?どなたか、助けてください。よろしくお願いします。

A 回答 (6件)

SSLを利用する以外では、


JavaScriptとCGIを連携させるというのもありかもしれません。
SSLと比べて安全性はどうか知りませんが、平文で流すよりかはいいかも。
JavaScript(Ajax)とCGI間で通信するようにして、その間に独自の暗号化とかかけます。

受信者は、メールとして受け取るのでは無く、
そのCGI上の管理画面なりにログインしてみるようにするとか。
駄目ですかね、やっぱり。
    • good
    • 0

SSLのシステムのインストールには、通常はroot権限が必要ですので、VPSや専用サーバーでなければ無理だと思います。


また、サーバーを準備しただけでは暗号化されたメールは読めませんので、
それを復号化(もとにもどす)するソフトウェア(機能)をメーラーにインストールする必要があります。


・・・という手間が大きい為、
メールを暗号化せずに、メールが届いたということだけをメールして、
本文はSecureHTTPでアクセスするウェブメールですませるのも1つの方法だと思います。
というか、そっちの方が一般的だと思いますけどね。
共用SSLで十分なら、それを利用することもできますし。

この回答への補足

回答ありがとうございます。

>メールを暗号化せずに、メールが届いたということだけをメールして、
本文はSecureHTTPでアクセスするウェブメールですませるのも1つの方法だと思います。
というか、そっちの方が一般的だと思いますけどね。

そのやり方、もう少し具体的に教えていただけますとありがたいのですが…。

>共用SSLで十分なら、それを利用することもできますし。

「共用SSLで十分」というのは、どのレベルでの安全性なのでしょうか…。個人情報を打ち込んでも大丈夫な感じでしょうか?そして、もしかしてそれは…結構一般的だったりするのでしょうか?

以上、よろしくお願い致します。

補足日時:2009/01/31 10:32
    • good
    • 0

≫【発信者】~【サーバー】~【インターネット】~【受信者】の全行程を安全に暗号化してくれる手法、もしご存知でしたらお教え願えませんでしょうか?



 たとえば、このsendmailを使うとか・・価格は最もお手頃かな?
 Sendmail、セキュリティー機能を強化した「Sendmail」の新製品を発売 ( http://internet.watch.impress.co.jp/www/article/ … )

 【発信者】~【サーバー】~【インターネット】~【受信者】はおかしいです。
 発信者はいませんね。CGIプログラムですから
 サーバーとはプログラムであったり、コンピューターを指していたりしますからね。
 インターネットというネットワークにはたくさんのサーバー(ルーター)が関わってくるし
 受信者はインターネットから直接メールを受け取るわけじゃないです。POPやIMAPメールサーバー(これはプログラムでありそのコンピューターでもある)

≫ちょっと難しくて私には理解できませんでした。。。
 難しくはないです。あなたがしようとされていることに比べたら、はるかに簡単です。しかも信頼性も安全性も高い

この回答への補足

回答ありがとうございます。
sendmailの製品、17万以上するのですね…。
技術的にも、予算的にも、
やろうとしている手法を始めから考え直さねばならないようです。
情報、ありがとうございました。

ちょっとヨコなのですがお聞きしてもいいでしょうか?
(スルーしていただいても構いません)
こういった手法を考えたり手配したりするのは、
Webデザイナーの範疇でしょうか?
それともSEの方の仕事とかになるのでしょうか?
私はWebデザイナーに相当する立場です。
この通り、まだ知識も経験年数も浅く、
調べながらの作業をしている訳ですが…。

以上、ありがとうございました。
いただいた情報は、参考にさせていただきます。

補足日時:2009/01/31 10:24
    • good
    • 0

基本的な部分で・・・・


 CGIは単純にデータを作成して、メールプログラム(sendmailやqmail)似送信するものです。
 また、インターネット上のHTTPプロトコルと、MAILプロトコルはまったく異なるものです。
 HTTPは、クライアントからHTTPサーバーないしHTTPSサーバーとリアルタイムで要求、提供を繰り返しますが、MAILは、あくまでメールサーバー→メールサーバーの転送を行うものです。郵便の配達と同じ・・
 とすると、同じコンピューター内でそきにから、送信メールサーバーにデータを渡すときには、CGIが作成したデータをそのまま渡すだけですし、メールサーバーはそれをプロトコルにしたがって相手のサーバーに送信します。その間のデータに暗号をかけるかいなかは別の手法ですし、受信サーバーと受信者のメールの受け取り操作も異なります。
 ですので、あなたが得た情報は、すべて正しくもあり、すべて間違っているともいえます。

 メールにパスワードをかけるというより、別の手法を使うほうがよいかと思います。
 私はそのような場合、HTTSサーバーにて、ほとんどの処理をHTTPS経由で、パスワードAを入力してもらい。別途CGI側で作成したパスワードBをメールで送り、クライアント側のそのパスワードの入力とサーバー側に保存してあるパスワードAを照合してデータを受け渡すなどの方法をとります。
 銀行系の重要な情報のやり取りに使われている方法です。

 あなたの希望されている手法そのものを見直されたほうがよいと思います。もし、そのような方法が可能なら、実際に使われているはずですが・・ないでしょ。

この回答への補足

回答ありがとうございます。
やはりメールフォームのCGIも、
送信にはサーバのメールプログラムを使っているのですね。
ということは、サーバのメールプログラムにSSLをかければ
良いということですね!

回答者様おすすめの手法、
ちょっと難しくて私には理解できませんでした。。。すみません。
しかし、私の作ろうとしているサイトは求人系サイトでして、
銀行系ほど頑丈な暗号処理をしなくても良いのでは?と考えております。

“サーバのメールプログラムに”SSLをかける方法で、
【発信者】~【サーバー】~【インターネット】~【受信者】の全行程を安全に暗号化してくれる手法、もしご存知でしたらお教え願えませんでしょうか?

補足日時:2009/01/30 20:13
    • good
    • 0

#1です


必ずメールサーバを経由します。

この回答への補足

回答ありがとうございます。
なるほど、今テストしてみると確かに
発信者はメールサーバを経由したアドレスになっておりました!
何も知らなくて恥ずかしいです。

ちなみに、SSLに対応したメールとはもしかして
SMTP OVER SSLが使われているメールのことでしょうか?

補足日時:2009/01/30 19:07
    • good
    • 0

SSLは通信する2点(+認証局)に対応するソフトがあり、その手順で通信ができ事が必要です。


インターネットエクスプローラやファイヤーフォックスにはこの有名どころのSSLの仕組みがインストール時に組み込まれている為、WEB系でSSLが利用できるのです。

メールも同じようにメールサーバがSSLに対応していれば、全く問題なくSSLが利用できますが、残念ながらあまり対応していない状態です。

そこで、SSLを使わずにメールの内容を暗号化してしまう処理を行われているのが多いようですよ。

この回答への補足

早速の回答ありがとうございます。

>メールも同じようにメールサーバがSSLに対応していれば

今回使いたいメールは、メールサーバを経由していないのではないかとにらんでいるのですが…。CGIで出来たメールフォームも、やはりメールフォームを経由しているのでしょうか?

補足日時:2009/01/30 17:31
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!