分12345コラム(自己署名証明書の利用について)前述のように,自己署名証明書を利用しているサイトにアクセスすると,Webブラウザーが警告を発します。自己署名証明書を使うのは望ましくないのでしょうか?筆者は場合によると考えています。自己署名証明書の問題は,認証局のサインがないため第三者が本当に正しいサイトなのか確認できないことです。OV(企業認証)証明書であれば,法務局や帝国データバンクの情報,あるいは登記簿謄本の提出などによる企業実在認証をパスしなければ証明書が発行されないため,通信している相手が実際に存在している企業であることは信用してよいでしょう(注5⁠)⁠。DV(ドメイン認証)証明書であっても,少なくともそのドメインを所有している相手ではあるわけです(注6⁠)⁠。自己署名証明書ではそういったものが担保されていないため,偽のサイトに誘導されていても気づけないのです。注5)金融機関などでは,さらに認証基準の厳しいEV証明書(Webブラウザーのアドレスバーが緑色になるアレ)を利用しています。注6)ただし申請者の身元までは確認されないためセキュリティレベルは低く,業界内でも様々な議論があるようですが,とりあえず本稿では置いておきます。自分自身から見れば(自分が作成した証明書とフィンガープリントが一致することによって)自分自身のサイトであることが確認できるわけですから,この点は問題になりません。自分一人,あるいは家庭,会社内など,閉じられた範囲で利用するのであれば,自己署名証明書でも暗号化という目的は達成できるため,証明書を購入しないで済ますという選択もあるでしょう(注7⁠)⁠。注7)もちろん証明書のフィンガープリントをユーザーに事前に連絡することは忘れないでください。Gmailのような外部サービスと連携する場合は注意が必要です。Fetcher機能を利用し,自分のメールサーバーに届いたすべてのメールをGmailに集める,というのは割とよくある運用です。Gmailは自己署名証明書を用いたSSL通信を拒否するため,このような場合は正規のSSL証明書が必要になります。第三者にサービスを公開したり,外部サービスと連携する場合には,SSL証明書を購入するようにしましょう。Gmailでは「厳格」なSSLセキュリティを使用します。このため、ご利用の他のプロバイダのリモートサーバーに有効なSSL証明書があるかどうかの確認が常に行われます。これにより高度なセキュリティを提供してユーザーの情報を保護します。正規のSSL証明書を購入する不特定多数に向けたサービスに,snakeoilをそのまま使うわけにはいきません。サービスをインターネット上で公開するのであれば,正式なSSL証明書を購入しましょう(注8⁠)⁠。注8)ここからの作業はインターネット上に公開されているサーバー(さくらのVPS)を使い,かつDNSサーバーに適切なレコードが設定されており,FQDNでアクセス可能であることを前提としています。本連載では過去にさくらのVPSでUbuntuサーバーを構築する方法を紹介しました。Ubuntuに対応した安価なVPSサービスということもあり,さくらでUbuntuサーバーを運用している方も多いのではないでしょうか(注9⁠)⁠。そのさくらがジオトラストブランドのRapidSSLの取り扱いを開始し,9月30日までの限定で1年分無料キャンペーンを行っています。ここでは(せっかくですのでこのキャンペーンを利用して)SSL証明書の購入方法を紹介します(注10⁠)⁠。注9)もちろん筆者も利用中です。注10)ここではさくらを例にしていますが,サーバー上で秘密鍵とCSRを作成し,メールやWebで認証を受けて証明書を受け取る,という基本的な流れはどの業者でも同じです。サーバー上でopensslコマンドを使い,秘密鍵を作成します。-des3オプションはトリプルDESで秘密鍵を暗号化するという意味で,引数の2048は,鍵長を2048bitにするということを意味します。セキュリティ上の理由から,1024bitのSSL証明書はすでに発行が禁止されているため,鍵長には気をつけてください。鍵に設定するパスフレーズを尋かれるので,4文字以上のパスフレーズを入力してください。server.key:秘密鍵を暗号化したため,利用時にはパスフレーズを入力してロックを解除しなくてはなりません。サーバーの起動時もそれは例外ではないため,用途によっては非常に扱いづらいものになってしまいます。そこで以下のコマンドでパスフレーズのない秘密鍵も作成しておきましょう。server.key.secureがパスフレーズつき,server.keyがパスフレーズなしの鍵ファイルになります(注11⁠)⁠。注11)鍵つきの秘密鍵は不要であれば削除してしまっても構いません(筆者は一応同じフォルダーに置いていますが,サーバーで使った試しはあません⁠)⁠。秘密鍵の生成時に-des3オプションをつけず,最初から暗号化しないのもアリでしょう。Request(CSR)を作成します。後述の図「CSRの作成」に示すコマンドを実行してください。その際,署名アルゴリズムにSHA-2を利用するという意味の,-sha256オプションを忘れずにつけてください。これもセキュリティ上の理由により,SHA-1のSSL証明書はすでに非推奨となっているためです(注12)注12)SHA-1のSSL証明書を利用したサイトにアクセスすると,Webブラウザーによってはアドレスバーに警告が表示されるようになっています。Windowsは2017年1月1日以降,SHA-1のSSL証明書を利用したサイトへの通信を拒否するようになります。理想のフリーデスクトップ環境を求めて東へ西へ......のはずが,気がついたら北の大地で就職していたインフラ寄りのエンジニア。最近レンズ沼にハマる。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。その他の連載CSS3アニメーションでつくるインターフェイス表現CSS3によるアニメーション表現を紹介していきます。その中でも,幅広い読者に応用してもらえるだろうインターフェイスを主なお題とします。MySQL道普請便り本連載では,MySQLを使ったアプリ開発・運用に関するノウハウをご紹介していきます。RecipeUbuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。JavaScriptセキュリティの基礎知識JavaScriptに関するセキュリティ上の問題はどこで発生し,どうすれば防ぐことができるのか?について解説していきます。〜システムをきちんと運用するための基礎知識システムは「作って終わり」ではなく,運用の中でさまざまな問題が発生します。問題の発生に備えて事前にどのような対応をしておくべきなのか,問題発生時に何をしなければならないのか,ポイントを解説していきます。きたみりゅうじの聞かせて珍プレーソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。Linuxのメンテナンスの傍ら,Linuxやオープンソースソフトと日々を過ごす著者が,その魅力とつきあい方を,エッセイ風味でお届けします。PRESS特別編集部員,さわやか笑顔のスーパーハカーはまちちゃんとネット大好き14歳わかばちゃんが,毎号,読者の皆さんから寄せられたおたよりを紹介します。皆さんの日頃の悩みにも答えちゃいますよ。]メールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。