セキュアなウェブサイトを作る課題で悩んでます

このQ&Aのポイント
  • セキュアなウェブサイトを作りなさいという課題で悩んでいます
  • Webブラウザでhttpsでアクセスし、証明書を使用してアクセス制限をかける方法について悩んでいます
  • 現在、オレオレ証明書を使用して試していますが、証明書のエラーが出るため正確な設定を知りたいです
回答を見る
  • ベストアンサー

セキュアなウェブサイトを作る課題で悩んでます

こんばんわ。 できるだけセキュアなウェブサイトを作りなさいという課題で悩んでいます。 他のソフト(Poderosa等)で証明書を使用するのがあったので、Webブラウザでも以下のようなことができないかと思っています。 1)Webブラウザではhttpsでアクセスする。 2)サイトは証明書がないと見れないようにする。 3)証明書はダウンロードとかではなく、管理者からメールで送られてきた証明書ファイルを使用する。 4)証明書ファイルをインストールする時はパスワードを必要とする。 5)証明書インストール後は普通にサイトが見れる。 6)サイトが見れた後はログイン画面等別のセキュリティ設定を。 環境は仮想PCにCentOS6.4+Appachで用意しました。 6)については別のセキュリティなので無視します。 とりあえず見様見真似でopensslを使ってkey、csr、crtファイルを作り、/etc/pki/tls/certs/にセットしてみました(オレオレ証明書?)。IEからは「この Web サイトのセキュリティ証明書には問題があります。」というエラーが出ます。これは認証を受けてないからだとは思いますが、「このサイトの閲覧を続行する (推奨されません)。 」の項目があり先が見えてしまいます。続行するとアドレスバーに証明書のエラーと出ていますが、詳細を見ると強引にインストールできてしまいます。 結局のところ2)から何もできていないのですが、上記のようなサイトは作ることは可能でしょうか? 証明書は認証を必ず受けないとできないものでしょうか? 大雑羽な説明になって申し訳ありませんが上記について教えていただけないでしょうか。 参考サイト等もあれば教えていただけないでしょうか。 普段使ってるブラウザで裏でどういうことが行われているのが全く考えたことがなかったので、調べるとあまりの無知っぷりに驚いています。 よろしくお願いします。

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

  • ベストアンサー
  • kadusaya2
  • ベストアンサー率48% (114/235)
回答No.1

やろうとしていることが少し混乱されているようです。 “やりたいこと” を見る限りでは、「クライアント認証」でのサイト構築に見えます。 ですが実際に “やったこと” を見ると、「サーバー認証」のようです。 どちらの認証を目指しているのでしょうか? それによって手順も異なりますので、アドバイスも違ってきます。

zakubaran_2011
質問者

お礼

レスありがとうございます。 いろいろ混ざっていました。 ご指摘の通りやりたいことは「クライアント認証」にあたります。 「クライアント認証」をキーワードにして調べたところなんとか出来ました。 ありがとうございました。 一つAppachで不明な所がありましたが、この質問とは無関係なので、分からなかったら別途質問します。

関連するQ&A

  • SSL導入でCSRを生成時のPEMフレーズ

    ■環境 サーバー:Apache + mod_ssl 初めてSSLサーバー証明をインストールします。 色んなサイトを見て勉強しながらやっているのですが、 どうしても腑に落ちないというか、どうもすっきりしない点がありましたので、 お知恵をお借りしたく、質問させて頂きました。 気になる部分はCSRを生成するコマンド、以下となります。 # mkdir /usr/local/certs # cd /usr/local/certs # openssl req -new -newkey rsa:2048 -nodes -keyout 「名前」.key -out 「名前」.csr Generating a 2048 bit RSA private key 参考にしたサイト http://www.digicert.ne.jp/howto/csr/csr_apache.html http://cspssl.jp/support/csr_apache.html 上のコマンドだと、PEMフレーズを入力せずに、2ファイルが生成されます。 しかしながら、その他の様々なサイトでは 先にパスフレーズを登録して、例えば、、 # openssl req -new -key 「名前」.key -out 「名前」.csr Enter pass phrase for server.key: このようなコマンドに続いてパスフレーズを聞かれるという形になっています。 また各種サイトには、PEMフレーズは省略も出来るとあります。 セキュリティ度は下がるが、再起動時に何度も入力しなくて済むという利便性があるとか。 もしかすると前者では、PEMフレーズが省略されたCSRを生成しているのかと 考えたのですが、私の考えで合っているのでしょうか。 それとも、前者のCSRで認証局に申請した物は、作り直さなくてはならないでしょうか。 素人質問で大変申し訳ないと思いますが、 ちょっと頭が混乱してしまってまして どなたかヒントを頂ければありがたいです。 すいませんがよろしくお願いします。

  • SSLの設定ができない・・・

    本を参考にしながらやってますが、途中で本とは違う反応でできませんでした・・・ ◆ 本の手順 ◆ 1インストール yum install mod_ssl 2鍵の削除 rm /etc/pki/tls/private/localhost.key 3証明書の削除 rm /ctc/pki/tls/certs/localhost.crt 4鍵の作成 openssl genrsa 1024 > /etc/pki/tls/private/localhost.key 5アクセス権の変更 chmod 400 /etc/pki/tls/private/localhost.key 6証明書の作成 make testcert =長文なので省く= 7設定ファイルの再度読み込み /etc/init.d/httpd reload === なお、全てスーパーユーザで操作 6の操作を行うと make:*** ターゲット 'testcert' を make するルールがありません. 中止. と出て、先に進めません どうしたらいいのでしょうか?

  • 認証局を使わない場合のSSLについて

    自己著明入り証明書を使用した場合、アクセスした時に下記のように表示されます。 この Web サイトのセキュリティ証明書には問題があります。 この Web サイトで提示されたセキュリティ証明書は、別の Web サイトのアドレス用に発行されたものです。 セキュリティ証明書の問題によって、詐欺や、お使いのコンピューターからサーバーに送信される情報を盗み取る意図が示唆されている場合があります。 このページを閉じて、この Web サイトの閲覧を続行しないことを推奨します。 ここをクリックしてこの Web ページを閉じる。 このサイトの閲覧を続行する (推奨されません)。 きちんとVeriSignやグローバルサイン等の認証局を利用している場合は、こういうものが出ないという認証ですが(正しいですか?) 自己著明入り証明書を作成して利用した場合、認証局を利用した時のようにこういう表示を、初回から出さずにアクセスすることは可能ですか? よろしくお願いします

  • サーバ証明書(オレオレ証明書)の有効期限の変更

    こんばんわ。 OpenSSLのサーバ証明書(オレオレ証明書)をブラウザからの利用について調べています。 下記のサイトを参考にさせていただきました。 サーバはCentOS6.4です。OSは仮想PC上に作っています。 http://www.webtech.co.jp/blog/developer-news/1159/ http://www.aconus.com/~oyaji/www/certs_linux.htm 上記のサイトを参考に証明書を作ってブラウザーがアクセスしたところうまくいきました。 次にサーバ証明書の有効期限を20年にしようとしたところ、反映されず1年になってしまいます。 openssl.confの default_days = 7300 default_crl_days= 730 としてもダメでした。 何か設定漏れがあると思うのですが、どこを設定すればサーバ証明書の有効期限を変更できるのでしょうか。

  • 証明書が期限切れか有効ではないと出ます。

    2~3日前から突然サイトを開くと下記のようなページが出ます。 『この Web サイトのセキュリティ証明書には問題があります。 この Web ページで提示されたセキュリティ証明書は、有効期限が切れているかまだ有効ではありません。 セキュリティ証明書の問題によって、詐欺や、お使いのコンピュータからサーバーに送信される情報を盗み取る意図が示唆されている場合があります。 このページを閉じて、この Web サイトの閲覧を続行しないことを推奨します。 ここをクリックしてこの Web ページを閉じる。 このサイトの閲覧を続行する (推奨されません)。 』 なるページとならないページがあり、大体はマイページ等にログインしなければならないページです。(ヤフオク、OKwave、楽天、アマゾンなど) 開いてくれないサイトもあって困ってます。 証明書が期限切れか有効ではないと出ます。 ブラウザはIE7、XP(sp2)です。 PCの日時、時刻は合っています。 どうしたら普通にもどりますか?? 宜しくお願いします。

  • HTTPS(SSL)の仕組みとセキュリティについて

    SSLの仕組みと,そのセキュリティについての質問です. 現在,HTTPSで利用するSSLの仕組みについて勉強をしています. しかしながら, 自身がSSLの仕組みについて正しく理解できているか分かりません. また,どうしても理解ができない点が何個かあり,質問させて頂く次第になりました. (様々な書籍やwebを拝見したのですが,いづれも腑に落ちませんでした...) そのため,まず大まかに私が理解しているHTTP上のSSLの仕組みを書き,最後に質問を書かせて頂こうかと思います. 長くなりますが宜しくお願い致します. ■主な登場人物 ・認証局  CA秘密鍵  CA証明書(公開鍵?)  CA証明書発行要求  ・証明書  KEYファイル(秘密鍵/公開鍵)  CSRファイル/申請書(issuer側の情報/公開鍵)  CRTファイル/サーバー証明書(CSRを認証局の秘密鍵で捻ったモノ) ■証明書の発行 1-1.証明書を発行したい者がCSRファイルという申請書を作成し,認証局に送ります.    →CSRには登録情報(issuer)やサーバー(証明書を発行したい者)の公開鍵などが含まれます. 1-2.認証局はCSRファイルが適切であれば,署名(subject)し,認証局の秘密鍵でCSRの中の公開鍵のみを暗号化します. 1-3.これがCRTファイルになり,証明書を発行したい者に送り返されます. この時,サーバー(証明書を発行した者)は認証局によって署名されたCRTファイルを持っています. 次にこれを利用したHTTPS通信について書きます. ■HTTPS通信 2-1.クライアントがサーバーに通信要請をします. 2-2.サーバーは証明書(CRT)をクライアントに送ります. 2-3.クライアントは送られてきたCRTが信頼できるか認証局の証明書(公開鍵)を使って検証します.    →CRTに埋め込まれているサーバーの公開鍵は認証局の秘密鍵によって暗号化されているので,これを認証局の公開鍵で複合化します.    →認証局の公開鍵はルート証明書といい,事前にブラウザに組み込まれているものとします. 2-4.クライアントは共通鍵を発行します. 2-5.クライアントはCSRから複合化したサーバーの公開鍵を用い,自身で発行した共通鍵を暗号化してサーバーに送ります 2-6.サーバーは受け取った暗号データを自身の持つ秘密鍵で複合化し,共通鍵を取得します. 2-7.後はこの共通鍵でデータを暗号化し通信します, ■質問 1.オレオレ証明書+認証局の場合でも正常に通信ができるのはなぜか 私の理解だと2-3で,クライアントが認証局の公開鍵を用い,サーバーの証明書からサーバーの公開鍵を複合化し,それを元に共通鍵を暗号化しています. これはクライアントが認証局のルート証明書(公開鍵)を保有しているから複合化できるはずです. オレオレ証明書の場合は,認証局の公開鍵がクライアントにインストールされていません. そのため,サーバーの公開鍵を複合化できず,共通鍵の生成に失敗し,通信できなくなると思います. しかしながら,ブラウザは「署名が不明な接続先です」とのエラーを出すだけで,通信(接続)ができてしまいます. なぜでしょうか. 2.IssuerとSubjectは暗号化されていないのか 私の理解だと1-2の認証局では,サーバーの公開鍵しか暗号化されていません. ということはIssuerとSubjectは暗号化されていないということでしょうか. また,それはなぜでしょうか. 3.IssuerとSubjectは偽装できるか opensshを用いることで認証局を構築することができます. この時に,Subjectの設定をベリサインの認証局と全く同じようにし, 証明書も,ベリサインの認証局を使っているサイトのIssuerと全く同じようにした場合, SubjectとIssuerが全く同じ証明書ができると思います. この場合は,本物の証明書と同様の証明書を複製できてしまうのでしょうか. できないとは思いますが,それはなぜでしょうか. 4.証明書の偽装は可能か ブラウザから証明書の情報を見ることができます.もちろんbyteデータのraw certificateも見ることができます. この情報を丸々コピーし,全く異なるサーバーに証明書として読みこませて通信した場合は, 署名されてしまうのでしょうか. されないとは思いますが,それはなぜでしょうか. (例えば,URL=CN情報が異なっているから確認できるとか..?それならCN情報だけ書き換えてしまえばいい?) 5.証明書の検証をするにはどうしたらよいか 証明書を検証をするには,その証明書を発行した認証局の公開鍵を利用するしかないのでしょうか. 例えば,サーバー証明書(CRT)のフィンガープリントsha1データを事前に保持さえしていれば, サーバーに証明書を示された際にCRTのフィンガープリントを比較すれば,特定のサーバーかどうか検証できるか・・? 6.MITMについて MITM攻撃により,証明書が途中で書きかわることが考えられます. この場合は,書き換わった証明書をどのように特定すればいいのでしょうか. 例えば,認証局のルート証明書がないなどが考えられますが, 仮に,Rapid SSLなどで署名されている証明書でMITM攻撃がされた場合どうなるでしょうか? この場合は,Issuerなどを比較するしかないように考えられます. しかし,Issuerはcsr申請の際にうまいこと,書き換えることができてしまいます. そう考えると,どのような対策ができるでしょうか フィンガープリントなどで比較することになるのでしょうか, フィンガープリントは偽装することができないのでしょうか. 以上となります. 様々な質問を書いてしまい,申し訳ありません 説明不足で乱文だとは思いますが, 分かる範囲でお答え頂けませんでしょうか. 宜しくお願い致します.

  • 証明書エラー

    私は学生なのですが、学内のイントラネットにVPN接続することができます。 学外からあるサイトにアクセスしてIDとパスワードを入力すると、学内イントラにアクセスできるのですが、 ログインするためのサイトにアクセスすると、かならず証明書エラーがでます。 この Web サイトのセキュリティ証明書には問題があります。 この Web サイトで提示されたセキュリティ証明書は、信頼された証明機関から発行されたものではありません。 セキュリティ証明書の問題によって、詐欺や、お使いのコンピュータからサーバーに送信される情報を盗み取る意図が示唆されている場合があります。 このページを閉じて、この Web サイトの閲覧を続行しないことを推奨します。 学内のシステムで、多くの学生が利用しているものですし、利用しないととても不便ですので「閲覧を続行する」を選択しています。 ですが、毎回毎回ワンクッションをおくのはとても煩わしく思います。 ブラウザはIE7を使っているのですが、ログイン用のURLのみを、このようなエラーがでないように設定することはできないでしょうか?

  • セキュリティ証明書の取り消し情報は

    ノートン360をインストールしてから、ブラウザで「セキュリティ証明書の取り消し情報は、使用できません。続行しますか?」 とたびたび表示されるのですが意味がよくわからないのですがどうしたらよいでしょうか?

  • セキュリティーが働いてログイン出来ないで困っています。

    大変困っているので、どなたか教えて下さい。 先日より突然、インターネット上で個人情報・セキュリティーなどを入力する場面になるとインターネットが使えなくなります。 例えば、Yahoo!・楽天などでの買い物等… 最近では、Yahoo!の自分のIDすらログイン出来なくなりました。 今までセキュリティーソフトを使用もしていません。 ここ最近、インターネットエクスプローラー8をインストールしたばかりです。 【画像内容】 ・証明書エラー:ナビゲーションはブロックされました。 このWebサイトのセキュリティ証明書には問題があります。 このWebページで提示されたセキュリティ証明書は、有効期限が切れているかまだ有効ではありません。 セキュリティ証明書の問題によって、詐欺や、お使いのコンピューターからサーバーに送信される情報を盗み取る意図が示唆されている場合があります。 このページを閉じて、このWebサイトの観覧を続行しないことを推奨します。 ここをクリックしてこのWebページを閉じる。 このサイトを観覧を続行する(推奨されません)。 詳細情報 初心者的な質問で申し訳ございませんが、宜しくお願いします!

  • Web サイトのセキュリティ証明書

    インターネットでメールとかのログイン画面になると↓のようになるのですが対処法はああルノでしょうか?? この Web サイトのセキュリティ証明書には問題があります。 この Web ページで提示されたセキュリティ証明書は、有効期限が切れているかまだ有効ではありません。 セキュリティ証明書の問題によって、詐欺や、お使いのコンピュータからサーバーに送信される情報を盗み取る意図が示唆されている場合があります。 このページを閉じて、この Web サイトの閲覧を続行しないことを推奨します。 ここをクリックしてこの Web ページを閉じる。 このサイトの閲覧を続行する (推奨されません)。 素人のためこれが表示されても分からないです。 分かりやすく教えてくださると助かります。