HTTPSのイメージ

HTTPとは?

HTTP(Hypertext Transfer Protocol)とは、WebサーバとWebブラウザの間で、Web情報をやりとりするためのプロトコル(通信規則)です。私たちが普段、ホームページで情報収集したり、ブログを読んだりする時、このHTTPを使ってサーバとクライアント(ユーザ)間でやり取りが行われます。
HTTPの特徴の1つは動作がとてもシンプルな点です。情報のやり取りは常に、クライアント(Webブラウザなど)が要求を出し、サーバが応答を返します。1つの要求(リクエスト)には1つの応答(レスポンス)を返すルールになっていて、どちらかが多くなることはありません。また、以前に何を要求したかで応答が変わることなく、同じ条件ならば、ある要求に対する応答は常に同じものになります。HTTPは完結で素直な特性を持つことから、WebサーバとWebブラウザ間のやり取り以外に、スマホやアプリからのサーバ機能呼び出しや、サーバ間のサービス呼び出しなどに幅広く使われており、主に「REST API」に関係する事項で、アプリケーション開発時にプログラムが持つ機能を呼び出す場合に利用されます。
尚、多くの場合、HTTPはTCPと組み合わせて使い、UDPと組み合わせるケースは稀です。サーバがHTTP通信を受けるポート番号は、通常80番ポートです。HTTPプロキシ(高パフォーマンスのコンテンツフィルタなど)で特殊な用途で利用する場合は、80番ポート以外を利用します。

HTTP通信の仕組み

HTTP通信と処理結果

HTTPはTCP/IPでクライアントが送信するリクエストとサーバが応答するレスポンスで通信が確立しています。リクエストにはヘッダフィールドやメッセージの各部が存在し、行いたい操作をリクエストのメソッドで指定します。レスポンスにはステータス行、ヘッダーフィールド、メッセージの各部が存在し処理結果はステータスコードで表示されます。詳しくは次のページを御覧ください。

HTTPとHTTPSの違い

HTTPとHTTPSの違いは通信が暗号化されていないか暗号化されているかの違いで、HTTPSが暗号化されています。HTTPS(Hytertext Transfer Protocol Secure)は、HTTPで通信を安全に行うための仕組みです。WebブラウザとWebサーバで、ネットバンキング、クレジットカード決済サービス、個人情報登録や編集を行うようなケースでHTTPSが利用されます。HTTPSのポート番号は443番が割り当てられ、暗号化されているHTTPSか暗号化されていないHTTPのWebページではWebサイトのURLを見ればわかります。「http://」で始まるURLは暗号化されていない通信で、「https://」で始まるURLは暗号化されている通信です。
HTTPSは、特別なプロトコルが定められているわけではなく、SSL(Secure Sockets Layer)/TLS(Transport Layer Security)と呼ばれるプロトコルが作り出す、安全な接続を使って、その上でHTTPによる通信を行います。そのため、HTTPの持つシンプルで汎用性の高い特徴はそのまま活かされています。
HTTPSを使うことで、HTTPのリクエストやレスポンスの内容は暗号化されるので、インターネットのどこかで誰かが盗聴しても、その内容を知ることは出来ません。また、通信中に誰かが通信内容を書き換える「改ざん」が行われたことを検知することも出来、接続先のWebサーバが本物かを検証する機能もあります。このようなことは「SSLサーバ証明書」をサーバにインストールすることにより暗号化通信が実現できます。

HTTPとHTTPSの比較

HTTPとHTTPSの比較表

HTTP HTTPS
正式名称 Hytertext Transfer Protocol Hytertext Transfer Protocol Secure
意味 WebサーバとWebブラウザの間で、
Web情報をやりとりするためのプロトコル
HTTPの暗号化通信
URL http:// https://
ポート番号 80 443
必要なもの Webブラウザ Webブラウザ、SSLサーバ証明書
利用例 Webサイトの閲覧 ECサイトの利用や個人情報登録・編集

SSLサーバ証明書によるHTTPの暗号化通信

HTTPSによる暗号化通信はSSLサーバ証明書をサーバにインストールをし実現できます。暗号化通信はSSLサーバ証明書に表示されたサーバの所有者であることを証明し、ブラウザとサーバ間でSSL暗号化通信を実現します。
認証レベルにもDV認証、OV認証、EV認証と分かれており順にレベルが高くになるにつれてSSLサーバ証明書の価格が高額になります。またマルチドメインに対応したワイルドカードというものも存在し、コーポレートサイトとサービスサイトに分かれたサイトを運用している企業は個別でSSLサーバ証明書を取得するよりも一元管理した方がコストメリットがある点も特徴です。
ECサイトやオンラインバンキングやフォームがあるページで対応していれば良かったSSL/TLSの暗号化通信は、現在では企業サイトなどもセキュリティの向上による顧客の信頼性をアピールすることや、次世代プロトコル「HTTP/2」の利用によるWebサイト高速化や、SEO(Google検索エンジン最適化)に対する好影響や、アクセス解析で用いる「Google Analytics」のリファラー機能で訪問先のサイトURLを確認できるなど、メリットが多いため「常時SSL化」でサイト全体をSSL/TLSの暗号化通信を行うようになりました。当社ではサーバにインストール作業まで承るものがあり、お急ぎで実施したい場合は便利なインストールパックもございます。詳しくは下のボタンよりSSLサーバ証明書のページを御覧ください。

認証レベルの比較表

さくらのSSLではEV認証やワイルドカード対応など多くの種類があります。

意味 費用 利用例
DV認証
(Domain Validation)
ドメイン認証 安価 個人のブログやホームページ
OV認証
(Organization Validation)
企業認証 普通 企業のコーポレートサイト
EV認証
(Extended Validation Certificate)
最も身元承認の手続きが厳格な認証 高額 ECサイト、オンラインバンキングなど

HTTPSのリダイレクト設定

301リダイレクト

SSLサーバ証明書をインストールしURLをhttps://にしただけでは常時SSL化は完了したとは言えません。古いWebサイトをリニューアルしURLもhttps://に変えて暗号化通信をする際は、ページコンテンツのリニューアルともにサイトの構造やサイト内リンクのURLや読み込んでいるcssファイルやjavascriptファイルのURLやソースコードの書き変えなど細かな部分まで修正する必要があります。絶対パス(full path)と呼ばれるURLで読み混んでいるファイルやリンク指定などがこれらの問題の原因になります。また、http://のURLでサービスサイトを宣伝していた際は、過去に知ったユーザは同じURLでアクセスできなくなります。対策方法とサイトリニューアルの進め方に関して具体的に説明をしていきます。

HTTPからHTTPSにリダイレクトする方法

httpsのURLに変更したサイトを利用するにはまず、httpsにリダイレクト設定する必要があります。主に「.htaccess」ファイルという一般ユーザには見えないファイルを作成しサイト全体を制御するものです。リダイレクト設定後はSSLサーバ証明書をサーバにインストールをし暗号化通信を実現します。

項目 内容 対処方法
.htaccessファイルの設定 httpのアドレスをhttpsに強制リダイレクトさせて
httpのURLでアクセスをしてもhttpsに
切り替わるように設定する
サイトのルートフォルダ(トップページと同じ階層)に
.htaccessを配置し決まった記述方法でファイルを作成する

.htaccessファイルの設定

「WordPress」というCMS(Contents Management System)(コンテンツ管理システム)を利用しWebサイトを構築する場合は、「.htaccess」ファイルを生成する補助機能が存在しますので、画面の通り進めれば自動的に設定が可能です。しかし、「.htaccess」ファイルを作成するサポート機能が無い場合は手動で作成をしFTPファイル転送ソフトでサーバにファイルをアップロードする必要があります。FTPファイル転送ソフトは「FileZilla」が利用しやすく一般的に利用されています。
参考:.htaccessによるアクセス制御(さくらのサポート情報)> 常時SSL化したWordPressのドメイン名を統一させたい

項目 内容 方法/特記事項
記述方法 右の内容を編集しドメインの部分を
対象サイトのURLに変更する
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(example\.jp) [NC]
RewriteRule ^(.*) https://www.example.jp/$1 [R=301,L]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
ファイル配置 サイトのルートフォルダ 「https://www.example.jp」の場合だと、
https://www.example.jp/index.htmlのファイルがある階層
パーミッション設定 パーミッション(属性)を適切な形式に設定
FTPファイル転送ソフトなどで設定可能
属性604に設定(rw----r--)
レンタルサーバの種類によっては644の場合もあり

HTTPのサイトURLをHTTPSに変更

WebサイトリニューアルをしhttpsのURLに変えて利用する場合に最も作業工数がかかるのはURLの修正です。ページ数が多ければ多いほど修正するURLの箇所が多い為、それに伴い確認工数も比例してかかります。次の項目でも説明していますが、Webサイトを構築する際はCMS(Contents Management System)というサイト構築のツールが存在します。一般的にメリットとなることはサイトの共通部分を一元管理しツールの機能で一括更新ができることです。Google Analyticsのタグやサイトを動作させるjavascriptのjQueryライブラリをGoogle CDNから読み込む際は絶対パスを利用しなければいけません。Webサイトのページの全てに記述されていたら手作業では非効率で抜け漏れがある可能性があります。CMSを利用すれば一括変換ができ短時間で修正が可能です。

項目 内容 対処方法
絶対パスの修正 htmlファイルへのリンクアドレス、
cssファイルの画像読み込み、
javascriptファイルの読み込み など
サイト内リンクや画像読み込みはルート相対パスで書き直す
外部ファイルを読み込むときは"http://" を "://"に修正する
(httpとhttpsの両方に対応ができる為)
サイト内のページ全てに共通することは
CMSを利用すると効率的に変換できる
ディレクトリ
変更対応
サイトリニューアルの際はディレクトリ名の変更等あるため、
対象となるディレクトリごと、新ディレクトリのファイルパスに
恒久的に移動するよう記述をし設定する。
httpsのURLでアクセスできるように
.htaccessファイル内部のソースコードも
ルート相対パスで記述する。
.htaccessファイルを作成し
HTTP 301 Moved Permanentlyの設定を記述する
(記述方法)
Redirect 301 旧ファイルパス 新ファイルパス
SEO対策 sitemap.xmlファイルを作成し
Google Search Consoleで送信する
リニューアル公開後にGoogleの
検索エンジンに認識してもらうよう
サイトマップファイルを送信する

CMSを活用

CMS(Contents Management System)は様々な種類が存在し初めて導入する際はどれを選んでよいか迷うこともあります。国内で圧倒的に利用され、世界でもトップシェアを誇るのが「WordPress」です。特徴は無料でダウンロードをし利用できることやWeb標準に準拠したサイト設計が可能であったり、プラグインをインストールすると高度なカスタマイズが可能で様々な機能を持つWebサイトに改良出来る点などです。一方で「WordPress」はプラグインを多用すると物によっては脆弱性が発見されやすいというデメリットも有るため、攻撃者による脆弱性を悪用されWebサイトが標的型攻撃の対象になってしまうリスクもあります。以下はCMSの種類と特徴とセキュリティ対策の関連性を表にしたものですので、サイトの種類にもよりますが特質した機能がない一般的なWebサイトを観点にCMSを導入する視点で違いをご覧ください。

名称 サイト規模 特徴 セキュリティ対策
WordPress 規模に
影響しない
自由度が高いためサイト構築の際は、
規模によって抑えるポイントが異なる
プラグインのアップデートと共に
脆弱性診断などの対策が必須
Movable Type 小〜中規模 大規模サイトは上位互換のPowerCMSが存在する 再構築で生成される静的htmlとメールフォームのphpなどで
構成する場合はサイトの脆弱性を過度に心配する必要はない。
Movable Typeの機能を公開サイトで利用する場合は
脆弱性診断などの対策が必須。
Jimdo 小規模 100ページ以下のテンプレートページを
活用した小規模サイトに向いている
クラウドサービスで利用するのでサービス提供元で
セキュリティ対策が実施されているため不要。
Drupal 中規模以上 マーケティングオートメーション(Mautic)との
連携で相性が良い
大規模でWebサイトとマーケティングオートメーションが
連動する場合はシステム全体の観点でセキュリティ対策は必須
※自由度が高い分上級者向け

WebサイトのURLをHTTPSにして利用

SSLサーバ証明書

FireFoxブラウザで見たときに鍵マークをクリックするとダイヤログが出現します。「安全な接続」と緑色の文字で書かれていれば暗号化通信が実現できています。

Webアプリケーション側の設定は、上記で記載したとおりリダイレクト設定をし絶対パスのURLを書き換る、と大きく分けて2つの流れを完了すれば準備は整います。次はサーバ側の設定で、httpsの暗号化通信を実現するにはSSLサーバ証明書のインストールが必要です。必要な証明書を選択し、料金を支払い、必要書類の準備をしたあとに認証局の審査があります。承認後に証明書が発行されインストールが出来ます。画像は暗号化通信が出来ている様子で、ブラウザのアドレス欄の横に鍵マークが付きます。当社のサイトもすべてのページが暗号化通信されており、全てのページのURLで鍵マークがついています。

SSLサーバ証明書

SSLサーバ証明書を選定する際のポイントは、ブランド、認証レベル、ワイルドカード機能、有効期間、インストール代行可能などを中心に比較をしていきます。主にWebサイトが存在するサーバにインストールするため対象となるWebサイトに合うサーバ証明書を選定する必要があります。また、httpsはWebサイト以外でもWebメールのブラウザへアクセスやメッセンジャーツール、社内ドキュメントサイトやクラウドサービスを利用したWebアプリケーションやツールなど、インターネット接続をする際は様々な場面でhttps通信は行われます。社内でインターネットを利用しているツールやアプリケーションが複数あり、同一のドメインを利用している場合、サブドメインが複数存在することになります。その際はワイルドカード対応の証明書を導入すると更新時期が同じで一元管理ができ、費用も抑えれることでメリットがあります。
以下は当社のSSLサーバ証明書と、さくらインターネットのSSLサーバ証明書の一覧ですが、目的に合う探し方をすると適した証明書を見つけることが出来るでしょう。

Webアプリケーション脆弱性診断

長い年月を利用し古くなったWebサイトをリニューアルした後は、サイトの構造や新しい機能も追加されていることが多くリニューアル前とは大きく変化を遂げます。その際に実施して置きたいことが脆弱性診断です。脆弱性診断はWebアプリケーションの全体の観点で診断をすることで脆弱性を発見し、対策を講じる為の詳細なレポートが発行されます。当社の脆弱性ツール診断はSaaS型で提供しておりますので、インターネットに接続できればどこでも利用できアカウント発行後はすぐに利用可能です。またツール診断ではカバーできないセッション管理の診断やモダンWebと言われているSPAやPWAの脆弱性診断は、セキュリティエンジニア手動による脆弱性手動診断サービスを利用することで、より詳細なWebアプリケーション脆弱性診断が可能です。

アプリケーションセキュリティ

アプリケーションエンジニアが考えるセキュリティ対策は、アジャイル開発プロセスにセキュリティタスクを組み込むことにより、価値のあるソフトウェアを早く継続的に提供できると考えています。「DevSecOps」は顧客の満足度が高く、安全に利用できるソフトウェアを継続的に提供できる有効的な方法です。

関連サービス

SSLサーバ証明書

サイバートラスト・グローバルサイン・デジサート

SSL(Secure Socket Layer)暗号化通信を行うための電子証明書で、Webサイトの接続先であるサーバを認証し、サーバとブラウザ間の通信を暗号化するための公開鍵証明書です。SSLサーバ証明書を導入することで、個人情報やクレジットカード情報などの機密性の高い情報を、安全にやり取りすることができます

セキュリティ診断・脆弱性診断サービス

SiteScanシリーズ

お客さまのネットワーク/サーバー、Webアプリケーションの脆弱性を洗い出し、攻撃者からの悪意のある攻撃や情報漏えい事故などのリスクを未然に回避するためのセキュリティ診断サービスです。他社が設計・構築したシステムでも診断可能ですので、システムの懸念点を抱えているお客さまに広くご提供可能です。お客さまが抱えている課題に合わせて、 SiteScan2.0WebSiteScanWebSiteScanProの3つのシリーズよりお選びいただけます。

お問い合わせ

Contact

サービス、記事、サイトに関するお問い合わせはお気軽にどうぞ

メールからのお問い合わせ

メール

メールでのご質問やお問い合わせなどを承ります。

お電話からのお問い合わせ

電話アイコン
土日・祝祭日を除く。AM9:30 − PM6:30