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はTCP/IPでクライアントが送信するリクエストとサーバが応答するレスポンスで通信が確立しています。リクエストにはヘッダフィールドやメッセージの各部が存在し、行いたい操作をリクエストのメソッドで指定します。レスポンスにはステータス行、ヘッダーフィールド、メッセージの各部が存在し処理結果はステータスコードで表示されます。詳しくは次のページを御覧ください。
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 | |
---|---|---|
正式名称 | Hytertext Transfer Protocol | Hytertext Transfer Protocol Secure |
意味 | WebサーバとWebブラウザの間で、 Web情報をやりとりするためのプロトコル |
HTTPの暗号化通信 |
URL | http:// | https:// |
ポート番号 | 80 | 443 |
必要なもの | Webブラウザ | Webブラウザ、SSLサーバ証明書 |
利用例 | Webサイトの閲覧 | ECサイトの利用や個人情報登録・編集 |
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サイト、オンラインバンキングなど |
SSLサーバ証明書をインストールしURLをhttps://にしただけでは常時SSL化は完了したとは言えません。古いWebサイトをリニューアルしURLもhttps://に変えて暗号化通信をする際は、ページコンテンツのリニューアルともにサイトの構造やサイト内リンクのURLや読み込んでいるcssファイルやjavascriptファイルのURLやソースコードの書き変えなど細かな部分まで修正する必要があります。絶対パス(full path)と呼ばれるURLで読み混んでいるファイルやリンク指定などがこれらの問題の原因になります。また、http://のURLでサービスサイトを宣伝していた際は、過去に知ったユーザは同じURLでアクセスできなくなります。対策方法とサイトリニューアルの進め方に関して具体的に説明をしていきます。
httpsのURLに変更したサイトを利用するにはまず、httpsにリダイレクト設定する必要があります。主に「.htaccess」ファイルという一般ユーザには見えないファイルを作成しサイト全体を制御するものです。リダイレクト設定後はSSLサーバ証明書をサーバにインストールをし暗号化通信を実現します。
項目 | 内容 | 対処方法 |
---|---|---|
.htaccessファイルの設定 |
httpのアドレスをhttpsに強制リダイレクトさせて httpのURLでアクセスをしてもhttpsに 切り替わるように設定する |
サイトのルートフォルダ(トップページと同じ階層)に .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の場合もあり |
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(Contents Management System)は様々な種類が存在し初めて導入する際はどれを選んでよいか迷うこともあります。国内で圧倒的に利用され、世界でもトップシェアを誇るのが「WordPress」です。特徴は無料でダウンロードをし利用できることやWeb標準に準拠したサイト設計が可能であったり、プラグインをインストールすると高度なカスタマイズが可能で様々な機能を持つWebサイトに改良出来る点などです。一方で「WordPress」はプラグインを多用すると物によっては脆弱性が発見されやすいというデメリットも有るため、攻撃者による脆弱性を悪用されWebサイトが標的型攻撃の対象になってしまうリスクもあります。以下はCMSの種類と特徴とセキュリティ対策の関連性を表にしたものですので、サイトの種類にもよりますが特質した機能がない一般的なWebサイトを観点にCMSを導入する視点で違いをご覧ください。
名称 | サイト規模 | 特徴 | セキュリティ対策 |
---|---|---|---|
WordPress | 規模に 影響しない |
自由度が高いためサイト構築の際は、 規模によって抑えるポイントが異なる |
プラグインのアップデートと共に 脆弱性診断などの対策が必須 |
Movable Type | 小〜中規模 | 大規模サイトは上位互換のPowerCMSが存在する | 再構築で生成される静的htmlとメールフォームのphpなどで 構成する場合はサイトの脆弱性を過度に心配する必要はない。 Movable Typeの機能を公開サイトで利用する場合は 脆弱性診断などの対策が必須。 |
Jimdo | 小規模 | 100ページ以下のテンプレートページを 活用した小規模サイトに向いている |
クラウドサービスで利用するのでサービス提供元で セキュリティ対策が実施されているため不要。 |
Drupal | 中規模以上 | マーケティングオートメーション(Mautic)との 連携で相性が良い |
大規模でWebサイトとマーケティングオートメーションが 連動する場合はシステム全体の観点でセキュリティ対策は必須 ※自由度が高い分上級者向け |
FireFoxブラウザで見たときに鍵マークをクリックするとダイヤログが出現します。「安全な接続」と緑色の文字で書かれていれば暗号化通信が実現できています。
Webアプリケーション側の設定は、上記で記載したとおりリダイレクト設定をし絶対パスのURLを書き換る、と大きく分けて2つの流れを完了すれば準備は整います。次はサーバ側の設定で、httpsの暗号化通信を実現するにはSSLサーバ証明書のインストールが必要です。必要な証明書を選択し、料金を支払い、必要書類の準備をしたあとに認証局の審査があります。承認後に証明書が発行されインストールが出来ます。画像は暗号化通信が出来ている様子で、ブラウザのアドレス欄の横に鍵マークが付きます。当社のサイトもすべてのページが暗号化通信されており、全てのページのURLで鍵マークがついています。
SSLサーバ証明書を選定する際のポイントは、ブランド、認証レベル、ワイルドカード機能、有効期間、インストール代行可能などを中心に比較をしていきます。主にWebサイトが存在するサーバにインストールするため対象となるWebサイトに合うサーバ証明書を選定する必要があります。また、httpsはWebサイト以外でもWebメールのブラウザへアクセスやメッセンジャーツール、社内ドキュメントサイトやクラウドサービスを利用したWebアプリケーションやツールなど、インターネット接続をする際は様々な場面でhttps通信は行われます。社内でインターネットを利用しているツールやアプリケーションが複数あり、同一のドメインを利用している場合、サブドメインが複数存在することになります。その際はワイルドカード対応の証明書を導入すると更新時期が同じで一元管理ができ、費用も抑えれることでメリットがあります。
以下は当社のSSLサーバ証明書と、さくらインターネットのSSLサーバ証明書の一覧ですが、目的に合う探し方をすると適した証明書を見つけることが出来るでしょう。
長い年月を利用し古くなったWebサイトをリニューアルした後は、サイトの構造や新しい機能も追加されていることが多くリニューアル前とは大きく変化を遂げます。その際に実施して置きたいことが脆弱性診断です。脆弱性診断はWebアプリケーションの全体の観点で診断をすることで脆弱性を発見し、対策を講じる為の詳細なレポートが発行されます。当社の脆弱性ツール診断はSaaS型で提供しておりますので、インターネットに接続できればどこでも利用できアカウント発行後はすぐに利用可能です。またツール診断ではカバーできないセッション管理の診断やモダンWebと言われているSPAやPWAの脆弱性診断は、セキュリティエンジニア手動による脆弱性手動診断サービスを利用することで、より詳細なWebアプリケーション脆弱性診断が可能です。
アプリケーションエンジニアが考えるセキュリティ対策は、アジャイル開発プロセスにセキュリティタスクを組み込むことにより、価値のあるソフトウェアを早く継続的に提供できると考えています。「DevSecOps」は顧客の満足度が高く、安全に利用できるソフトウェアを継続的に提供できる有効的な方法です。
システム運用の大まかな定義は24時間365日、問題なくシステムを稼働させるための業務です。システムを構成しているサーバやネットワーク機器はコンピュータで精密機器のため、突然故障する可能性もあります。それがシステム障害の原因になるため、エンジニアが障害を未然に防止するような対策や業務を行ったりバックアップをとるようなシステム構成を考えたり、様々な知識や技術を用いながらシステム運用の業務に取り組んでいます。従ってシステム運用とは、システムの正常状態を維持し、状況に合わせて変化、拡張させることを意味します。
アイティーエムはシステムマネジメント事業を主軸とするMSP事業者です。当社が考えるMSPは「MCSSP」と呼び、新しいシステムマネジメントサービスの形態です。
MCSSP = 「MSP(Managed Service Provider)」+「CS(Cloud & Security)」
従来から存在するMSP(Managed Service Provider)事業をベースとして、昨今のIT環境にて特に注目されている「クラウド利用」と「セキュリティ対策」をより強化したサービスでお客様の安心・安全で、快適なシステム運用をご支援します。
詳しくは下の画像をクリックしサービスサイトをご覧ください。