Espar
2018.08.14 (Tue)

毎月恒例となりました。上場企業の常時SSL化レポート、2018年8月版をお送りいたします。7月下旬のchrome68の影響で確実に増えています。

20180814_sslreport201808
(ついに6割の域に)

対応率がついに6割目前。というか、もう6割対応済みサイトですと言っても良いですねコレは。6割はもう少し先かな…と思っていたのですが想像より早かったです。

10月のchrome70が出る前後ではまた更に増えるのでしょうね。今や常時SSL化しない理由は何もありませんので、この勢いで増えていって貰いたいなーと思います。

 

目指すは常時SSL化100%

本レポート、Let’s Encrypt のスポンサー、自社の espar というCMS静的化製品。弊社は、これらすべての常時SSL化推進活動の先に 上場企業の常時SSL化対応率100% という目標を勝手に置いています。

先月のレポートでも書いた通り新規上場企業は毎月のようにチェックしてますが、未だに常時SSL化対応しないまま新規上場している会社がちょいちょいあるんですよね。まだまだ啓蒙が足りません。個人的には、この会社の株だけは買わないでおこうと思ってしまいますね。ウチは身元を明らかにしませんと宣言してるようなものですから。

上場企業が全てEV証明書による常時SSL化が理想と考えていますが、こっちはなかなか難しいでしょうね。証明書関連のベンダー様も巻き込みながら、引き続き啓蒙をしていきたいと思います。

 

以上、8月のレポートでした。また9月もレポート致します。


2018.08.10 (Fri)

弊社では、昨年末から毎月のように上場企業約3600社の常時SSL化対応状況を調査しています。一つ一つ目視するってのはさすがに非現実的なので、当然ながら自動化してまして…

20180810_sslcheck.png
(自動実行している様子。Go言語で内製したもの)

こんな感じで調査プログラムを毎月実行しています。実装言語はGoogleのGo言語。

上場企業約3600社分のURLを渡してやると

  • 使用している証明書の種類は何か(DV/OV/EV)
  • 認証局情報等を含む証明書の詳細情報あ

などの情報がだいたい30分ぐらいで返ってくるようになってます。で、突然なのですが、この常時SSL化対応調査プログラムのソースコード公開することにしました。

20180810_github
(名前は厳密にはcertcheckかも知れないけど作り始めた時の名前そのまま。ライセンスはGPLv3)

リポジトリはこちら

GitHub - feedtailor/SSLCheck: SSLCheck is a simple command line tool to verify ssl certificate written in golang.

最初のひな形を僕がGo言語で書いて、それを@t0shiyaがブラッシュアップした非常にシンプルなプログラムです。実質1ファイルですしね。弊社で作る上場会社レポートではもちろん、先日リリースのあったJIPDECさんとの共同調査でも基本的に同じものを使っています。

 

オープンソースによるアウトプット

先日、GitHubのGo言語リポジトリのGoUsersのWikiに弊社もエントリさせて貰いました。

が、ふとGo言語的なアウトプット余りしてないな〜ということに気が付きまして。今回は、そんなGo言語アウトプットの一環でもあります。

常時SSL化対応を啓蒙しているポジションなので、色んなURL一覧を持ってる企業さんがこれを使って同じようにレポート出してくれたら良いなーとか思ってます。常時SSL化の促進に寄与できたら良いですね。

今から2年前、アプリ開発を内製でやっていた頃、こんなエントリを書いたことがありました。

「インターネット」とか「ネット」とかでマルっと表現される全てのものにどこかしらオープンソースの恩恵を受けている所は必ずあって、多くのベンチャーよろしく弊社も何かしら貢献したいと考えてきました。()弊社の github グループを作りました。ソースを公開していきます)

社内資産であったiOS用ライブラリをオープンソース化した時に書いたものでしたが、アプリ開発部門を内部に持たないようになってから、オープンソースな取り組みが余りできてなかったんですよね。

何かしら…という思いは常にあってもどかしかったんですが、規模にこだわらなければネタは社内に色々あることが分かったので、今回公開することにした次第です。Go言語なモノに限らずオープンソースなスタンスでこれからもアウトプットしていきたいと思います。

 

という訳で常時SSL化に絡むオープンソース化についてでした〜。

あ、ちなみに弊社は今、Go言語ファーストでやってます。この種の社内ツール類もほぼGoで書くのが基本にしてて、プロダクトやサービスも含めてGo言語をフル活用させて貰っている昨今です。

Go言語を採用した経緯は2年近く前に WP Guard(espar) の開発にGo言語を選んだ理由 なんてエントリを書いてますので宜しければ御覧下さい。Go言語、良いですね。


2018.08.08 (Wed)

(所要時間:約2〜3分)

パブリックコメントとは、行政機関が国民に広く意見を求める仕組みのこと。よく耳にする言葉で存在は知っていましたが、自分には無縁なものでした。日々の忙しさを言い訳に行政に無関心ではいけないのですけどね。

が、最近お付き合いさせて頂いてるJIPDECさん(PマークISMSの関係者なら知らない人はいないでしょう。正式名称は一般財団法人日本情報経済社会推進協会)の方に、セキュリティに関して意見する機会があると紹介頂きまして、これも何かの縁かもと人生初のパブリックコメントを出してみました。

対象はこれ。

総務省|「地方公共団体における情報セキュリティポリシーに関するガイドライン(案)」等に対する意見募集

20180809_soumupubliccomment

自治体の情報セキュリティはこうしていこうよっていうガイドラインですね。PCの扱いとかネットワークとかサーバとかメールとか、そのへんのルール集です。見直しを定期的に行ってるみたい。

個人的にいつも思うんですが、行政の方って専門家じゃないからセキュリティ系ベンダーに恐怖心煽られるだけ煽られて製品かわされてると思うんですよね。強迫観念訴求型ビジネスに事実上の公金注入になってる可能性が高い。よくよく考えたら不要で、恐らく結構な税金の無駄遣いをしてる。

そのへんの持論を展開しました。ベンダー批判は趣旨じゃないので、ガイドラインとしてこうするのが一番税金の無駄遣いにならないよって感じですけど。

が、所定の方法で送っては見たものの何の反応もなく今に至ります。長すぎたのかも(笑) で、折角書いたので、自分が総務省にどんなコメントをしたのか公開してみようと思いました。長いですが本エントリ最後に全文掲載します。

意見の趣旨は、大きく

  • 行政機関でメール添付ファイルの扱いを全面禁止した方が良い(その理由)
  • 行政機関の情報発信用Webサイトは全て静的化した方が良い(その理由)

の2点。

後者は、その主張を弊社は espar という自社事業として発信してるので、宣伝色がなるべく入らないように書いたつもりです。参考情報として過去のブログエントリのURLも書きましたけど。(募集要項に参考情報あれば添付するよう記載があった)

だだだーと思うままに書いてみて、募集要項で指定されてるタイトルで指定のメアドに Gmail から送信しました。

20180809_application
(誰が書いたかの身元も明らかにする。法人代表として書いたので公開情報そのまま記載)

メールサーバからエラーが返ってきている訳ではないので多分受信箱には入ってるのでしょう。関係者の誰かの目にとまると良いですね。ひょっとしたら e-Gov とかに載ったりするのかも知れませんが、そもそも受理されたか不明なのでよく分かりません。

まぁ何はどうあれ、今回自分の考えも改めて整理できたのでいい機会でした。ご紹介頂いたJIPDECさんに感謝です。

ちなみに、e-Govのサイトにはパブリックコメントのページもあって、行政分野や所管府庁から意見募集要項を絞り込めたりして、色んなことで行政が意見を求めていることが分かります。

まぁ数十・数百ページに及ぶPDF資料を読み込むのは大変ですが、メールで手軽に送れたりするので自分の興味ある分野でパブリックコメント書いてみるのは如何でしょうか。自分の意見が取り入れられるかどうかは別にして、思考の整理にはなっていいと思います。

 

という訳で総務省にパブリックコメントだしたよーという話でした。以下、僕が提出した全文です。

地方公共団体における情報セキュリティポリシーに関するガイドライン(案)等に対する意見

掲題の通り、先般公開された「地方公共団体における情報セキュリティポリシーに関するガイドライン(案)」に対するコメントを以下に記します。ご査収の程を宜しくお願い申し上げます。

 

■ 提出者情報

(略)

 

■ ガイドライン全般について

貴省も地方自治体も、セキュリティベンダーやセキュリティコンサルタントに言われままに各種防衛施策を積み上げてきた結果、肥大化してしまったことが読み取れるガイドラインでした。

お言葉ではありますが、「セキュリティインシデントからどう身を守るか」に執着し過ぎており、「セキュリティインシデントをどう根絶するか」という思考が持てていないように感じます。以下にガイドラインに度々言及されている電子メールとWebサイトについて当方の意見を記します。

 

■ 行政機関におけるメールの添付ファイル使用全面禁止の提案

ページ ii-31 の (14)-⑥をはじめ各所に添付ファイルについての言及がありますが、昨今の標的型メールを例に出すまでもなく、情報漏えい事件や不正アクセス事故の多くがメールに添付されたファイルに端を発していることに着目する必要があります。なぜ、行政業務におけるメール利用で、ファイルを添付することを前提にする必要があるのでしょうか。メール添付を行わずとも情報の授受は行える筈ですから、セキュリティインシデントの根源となるメール添付ファイルの扱いは送受信の両方で全面禁止すべきと考えます。

 

□ 受信

添付ファイルを使用せずとも、メールの本文に内容を記載する、Webサイトで入力フォームを用意するなどで100%代替が可能です。また国民や都道府県民が情報を行政側にファイルを送るに際しても宅ふぁいる便やfilestorage等のファイルダウンロードを促すURLによる伝達が可能です。

そうした安価な代替手段があるにも関わらず、依然として任意のメール添付ファイルを受け付けているからこそ、ウィルスの感染、バックドア設置、不正アクセス等のリスクが生まれ、その防衛に高額なウィルス対策やMTU・ファイアウォール・IDS/IPSを導入することになります。それは正しい税金の使い方でしょうか。(運用をする為の職員の人件費、外部委託費も含む)

「添付ファイルを禁止しても行政業務が回るようにできないか?」という視点で行政業務を見直すべきと考えます。

行政側のメール受け取りスタンスとして典型例とお見受けしたので、本パブリックコメントの受付方法についても言及します。意見募集要領の s14520915301.doc ファイルの「3.意見提出方法」には

件名には「地方公共団体における情報セキュリティポリシーに関するガイドライン(案)等に対する意見」と記載してください。また、 意見の内容はメール本文に直接書き込むか、添付ファイル(Microsoft Word 2013で開くことができるファイル形式)として提出してください。

とあります。これは「地方公共団体における情報セキュリティポリシーに関するガイドライン(案)等に対する意見」というタイトルをつけたメールであれば、添付したファイルを貴省が開くに違いないという推測を第三者にさせているようなものであり、お言葉ですが貴省が自らセキュリティリスク発生の入り口を作っているようなものです。だからこそ、ネットワーク分離や仮想デスクトップ環境等の各種防衛システムを導入しているものと想像しますが、本来、「添付ファイルは一切受け付けません」とすれば、本パブリックコメントの電子メール受付におけるセキュリティインシデント発生リスクは限りなくゼロになる筈です。

本例に見られるように、行政側でメールを受信する姿勢如何で、セキュリティインシデントについて、(1)発生しうるものと受容して防衛に税金を投ずるのか (2)そもそも根絶を追求するのか、が変わってくると考えます。そもそもリスクを根絶できるのであれば、発生する可能性を受容して防衛することに投ずる税金や職員の時間は格段に削減できる筈です。

少々本筋とは外れますが、メールではなく意見入力用の問い合わせフォームを用意すればなお良いと考えます。入力内容をデータベース等に集約するための転記作業の工数削減になる筈ですし、転記担当者の無駄な労働削減分を別の価値創出の時間に当てられるに違いありません。本来、第三者からの意見を集約するには収集後の業務円滑化を見据えWebのフォームを使って収集すべきです。

国や地方自治体は、本当にメールの添付ファイルを受け付ける必要があるのか?を考えるべきであると思います。

 

□ 送信

ファイルを誰かに送る方法には、メールに添付するという方法を使わずとも、Google社のGSuiteやDropboxなどファイルを安全に保管した上で、権限を有する人物にのみ渡す手段が既に沢山あります。メールの送信時にファイルを添付する手法に頼る必要は全くありません。(外資系のサービスを国や地方自治体が使う是非はありますが、それを言うならそもそもWindowsそのものも使用をやめるべきです。)

メールに添付してファイル送信することを避けることで、機密情報を含むメールを職員が誤送信するリスクもゼロ化できるメリットがあります。本来ファイルを誰かに渡す場合、

  • ファイル共有システム等に機密情報を職員が登録する
  • 当該のファイルにのみ一時的にアクセスできる権限をファイルを渡すべき人物に付与する(期間限定、認証付き)
  • ファイルを渡すべき人物にその旨をメールのテキスト本文で伝える
  • ファイルを受け取るべき人物は当該のシステムから期限内に別途教わった認証を通りファイルをダウンロード入手する

という手順がリスクを限りなくゼロにできる正しい方法であると考えます。

以上、添付ファイル使用の禁止についての提案を述べました。添付ファイルは全てのセキュリティインシデントの起点といっても過言ではありません。そして昨今では、添付ファイルに頼らずとも情報の授受ができる環境が整っています。使い慣れた添付ファイルという手段を使う「楽さ」はありますが、その手段を使い続けることによる事故を防ぐために余計な時間と税金を投入することが果たして国民や都道府県民の為になるのかを考えて頂きたいと思います。

貴省や各地方自治体が全面的にメール添付を廃止することで行政におけるセキュリティインシデントの多くが防げる筈です。

 

 

■ DDoS攻撃対策やWebサイトの改ざん対策について

国や地方自治体が提供するWebサイトを、悪意ある第三者から守るための仕組みにも無駄な時間と税金をかけすぎであると考えます。ガイドラインにも言及がありますが、高額なファイアウォール・WAF・MTU等が本当に必要かどうか吟味すべきであると思います。DDoS攻撃やWebサイトの改ざんの技術的な原理を理解していれば、それらを防止する高額なものは基本的に不要だからです(または安心の為に極めて安価なものに抑えることができる)

□ 行政が対外的に発信するWebサイトは全て「静的化」する 情報提供を目的としたWebサイトを静的化して公開することを前提にすることを提案します。

Webサイトの改ざんをはじめとする、昨今のサーバ側セキュリティインシデントの発生理由は、プログラムやデータベース等が動作するシステムを「そのまま」インターネットの世界に「晒す」ことにあります。アクセスの度にプログラムが動作するシステムを「晒す」ことにより、誰もが当該システムにアクセスできるようになり、結果、悪意ある第三者がしかける攻撃で「システムが想定しない形でプログラムが動作」して事故発生となります。

それを守るとうたうのが高額なファイアウォール・WAF・MTUですが、そもそも「システムが想定しない形でプログラムが動作する」ことのないシステムにできれば、それらは不要な筈です。それを実現する唯一の方法が、Webサイトを「静的化(htmlファイル化)」して、公開用途に限定した別の公開サーバにページ群を配備することです。

  1. 発信すべき情報(コンテンツ)を管理するシステムを職員が操作する
  2. 当該システムのページを更新の度に都度静的化(html化)する
  3. 2.で生成したファイルを公開用途の為だけに用意した公開サーバに転送する

という形態です。3.にある公開用途に別途用意するサーバには、

  • 80/443番ポート(http/https通信)のみアクセスを許可 (余談ながらhttpは即時httpsに転送。サイトは常時SSL化を前提)
  • サーバ内にはプログラムやデータベースを存在させない

という設定を施すことで、理論上第三者攻撃は一切成立しなくなります。不正アクセスも改ざんも原理的に起こりません。なぜなら、「システムが想定しない形でプログラムが動作」するということが理論上起こり得ないサーバになるからです。

一方、上記1.のコンテンツを管理するシステムは

  • IP制限
  • Basic認証
  • クライアント証明書確認
  • ホスト名には別名を付与

などの設定を組みわせる事により、悪意ある第三者がコンテンツ管理システムにたどり着くことすらできない状態にすることができます。こうしてWebサイトを静的化することと、公開用サーバを別途用意する事によって、国や地方自治体が情報発信するサイトは、改ざんされることも不正に侵入されることも理論的に発生しえない状態を作ることができます。

 

□ 「静的化」はDDoS攻撃にも有効

DDoS攻撃にあった時に障害が発生する理由は、プログラムやデータベースが動作するシステム(1つの処理に時間がかかる)が大量のアクセスに処理が追いつかなくなる為に発生します。

しかしWebサイトを静的化していれば、公開用途のサーバが処理に追いつけなくなることは原理的にありません。(通信帯域がパンクする問題が先に発生します。これはまた別の問題です)

(A) システムをそのまま晒す場合 : アクセスを受ける → プログラムが動作する → データベースが動作する → プログラムが整形する → 応答する (B) 静的化する場合 : アクセスを受ける → 予め静的化されたファイルで応答する

後者の(B)のほうが圧倒的な量のアクセスをさばくことができる為、スペックが低いサーバでも相当数のアクセスに耐えることができ、サーバ費用の削減にも繋がります。

 

□ 「静的化」はサーバダウン時の復旧にも有効

サーバダウン時の復旧が即時にできないのは、プログラムやデータベースが動作するシステムをそのまま晒しているからです。Webサイトを静的化していれば、障害時に用意する別の公開用サーバにファイル群をコピーするだけでサイトは復旧できます。10分も要さず数分で、有事の際でもサイトを元の状態に戻すことが可能になります。高負荷時の為に高額なロードバランサーを導入したり、高額なサーバを用意する必要はありませんので費用削減にもなります。

本件については、当方がブログで記述していたことがございますので宜しければご参照下さい

 

Zenlogicの障害から学ぶべきこと

https://blog.feedtailor.jp/2018/07/10/zenlogictrouble/

行政や生活インフラ系の企業や組織のサイトは、今すぐ静的化と回線上流の見直し検討をして欲しい

https://blog.feedtailor.jp/2018/06/19/osakaearthquake/

 

以上、国や地方自治体の情報公開を目的としたサイトを静的化すべきであることについて書きました。Webサイトもメールと同様、当然と思い込んでいるWebサイトの構成やあり方で発生する問題を防ぐ為に、余計な手間やお金をかけざるを得なくなっているケースが多々あります。Webサイトについても、当たり前を疑い、「守る」ことに執着するのではなく「根絶する」という視点を持って頂きたいです。

 

 

以上、長文ですが国や地方自治体の、メール・Webの2点についてガイドラインに対する意見を述べました。貴重な税金を、セキュリティベンダーやコンサルタントに言われるがまま積み上げてしまった対策に浪費して欲しくないです。

セキュリティインシデントの原因や根源を技術的な広い視点で見れば、それらの発生リスクを限りなくゼロに近づけることができるだけでなく、時間もお金も節約することが可能です。技術を理解し、最も合理的かつコストパフォーマンスの高い施策を広げて下さい。納税する個人として、また法人の代表として切に願います。国や地方自治体におかれましては、「臭いものに蓋をする」セキュリティ対策思考ではなく、業務フローも勘案した「臭いものを根絶する」セキュリティ思考を持って頂きたいと思います。

以上


2018.07.17 (Tue)

上場企業の常時SSL化レポートの2018年7月版をお送り致します。

継続的な統計を取っていると業界のイベントと連動した動きが観測できて良いですね。予想通り、今月リリースされるChrome68に備えた駆け込み対応が増えたような結果となりました。

20180718_aosslreport201807
(まだまだ増えて欲しいところ)

詳細はこちらをご覧頂くとして。今月は常時SSL化対応している上場企業がなんと 2.5ポイント増 でした。これは調査を始めた昨年12月から最高値です。だいぶ駆け込んでますよね。

とは言え、まだ全体の6割にも満たないという状況ですので、上場企業各社におかれましては次のマイルストーンである2018年10月のChrome70に備えて、どんどん駆け込んで貰いたいと思います。

Chrome70では、

20180718_chrome70

こんなふうにだいぶ残念な表示になりますので、直前の2018年9月はまた今月同様の増加率になるでしょう。その頃には全体の6割は常時SSL対応済ませておいて貰いたいですね。

 

会社四季報を買った

余談です。

毎月のように現れては消える上場企業や上場廃止企業、また社名を変更する企業を把握してるので、自然とまだ知らない上場企業に関心が向きます。

特に新規上場はURLもチェックするので、確認ついでにどんな会社かサイトを眺めたりしてると結構面白い。で、数値的なサマリもザックリ見ようってんで四季報買いました。

20180718_shikiho

久しぶりの購入です。何となく新たにEV対応した会社を数字面からザックリ見るにはやっぱり便利ですね。だからどうって訳ではないのですが。

ただ、EV証明書対応している会社は株価がどうこう…みたいな傾向が見えたりすると面白いだろうなとは思います。まぁその相関はさすがに見られないでしょうけど、何となく。

 

という訳で2018年7月のレポートでした。また来月もレポートします。


2018.07.10 (Tue)

ネット界隈騒然とした今回のZenlogicの障害ほぼ復旧したようで良かったです。復旧に全力を向けておられたエンジニアの皆さん、大変お疲れ様でした。連日ホント大変だったと思います。

20180711_serverroom.jpg

さて、今回の障害で、

  • Webサイトが見えなくなった!
  • サーバからデータを取得できない!
  • メールも使えない!

など、阿鼻叫喚の声が聞かれましたが、他社に移ってハイ終了!もうZenlogicなんて使わない!とか、今回は長かったけど次は大丈夫だろう…と言って終わりにすべきではないでしょう。

落ちたから引っ越す。復旧したから次回は無いことを祈る。それでは何の学びもありません。アプリに必ずバグがあるように、サーバは必ずトラブルものだからです。

利用者として事前にできることは無かったか

いつもこう思うんですよね。

弊社では障害に巻き込まれた時、はらいせに解約とか、サーバ引越して完了とか、復旧まで耐えて次回がないことを祈るとか、そういう対応はやりません。何も変わらないので。そこから学びを得て手を打ちます。万が一、同じ障害がまた起こってもビクともしないように、すぐに復旧できるように。開発会社・サービス運営会社として当然です。

今回の Zenlogic 障害では、やっておけば業務停止にならなくて済んだのに…と思う点が幾つもあります。それをせず「落ちた!Zenlogic許さん!解約する!」というのはちょっと違うと思うんですね。

そこで今回、レンタルサーバにおんぶにだっこではなく、今回のような障害から受ける被害を最小限にする為の、防災・減災の策を2つ提言させて貰いたいと思います。

 

1. メールサーバは分離する

まず、Webサイトと同じサーバでメールを使うのはやめるべきです。今すぐに。

投資の格言「卵は一つの籠(かご)に盛るな」に学びましょう。1つのかご(サーバ)に卵(機能)を盛るから、障害時に道連れで全く何もできなくなるのです。役割で分けるのが良いです。

メール機能を分離する方法としてお勧めなのは以下3つ。

弊社は A) です。Gmailを会社のメールサーバとして10年以上使ってます。お客様にも御提案したり、最近は移行の御支援もしています。別にGoogleのパートナーでもなんでもなく、現時点でメールに関しては費用対効果が最も高い最高の選択肢だと思っているのでオススメしている次第。

Gmailは独自ドメインを割り当てることができ、自社のメールサーバとして使えます。何が良いかって、レンタルサーバが用意するメール機能を使うのとは桁違いに安全なこと。それは設定を見ても分かります。

$ dig feedtailor.jp MX +short
1 aspmx.l.google.com.
5 alt2.aspmx.l.google.com.
5 alt1.aspmx.l.google.com.
10 aspmx2.googlemail.com.
10 aspmx3.googlemail.com.

これは、弊社の feedtailor.jp ドメインのメールサーバ設定を見ている様子ですが、小難しい説明をすっ飛ばして簡単に言うと、5重に冗長化されたgoogleのシステムに弊社宛のメールをさばいて貰っていることを意味します。メール機能を分離できるだけでなく5重に守られたメールサーバ。

これに対して、レンタルサーバのメール機能を使う場合、多くは1重です。そしてWebサイトと共存。

どちらが安心かは明白ですね。

今回、Zenlogic の障害で被害を被った有名所のひとつに歌舞伎座があります。サイトこそ Zenlogic だったため落ちてしまったようですが(障害報告)、彼らのメール環境はどうだったでしょうか。

$ dig kabuki-za.co.jp MX +short
10 aspmx.l.google.com.
30 aspmx2.googlemail.com.
20 alt2.aspmx.l.google.com.
20 alt1.aspmx.l.google.com.
30 aspmx3.googlemail.com.

G suite ですね。分離されています。恐らくZenlogicのサーバにはWebサイトの機能しか持たせていません。だから、今回の障害でWebサイトこそ落ちてしまいましたが、歌舞伎座の関係者全員がメールを使えなくなるという事態は避けれていた筈です。

G Suite は1メアドあたり月額500円かかりますが、これを安いと見るか高いと見るか。G Suite から受けられる恩恵はメールだけじゃないので僕は激安だと思いますが、それでもお金をかけたくないという方には別の選択肢があります。

再掲になりますが、

のうち、BかCのいずれかが良いです。Cなら10メアドまで無料。Bならメアド無制限で月額100円切ります。

要するに、メールもWebサイトも大事なので、同じサーバに盛るのではなく、サーバ分離しましょうということです。そして、できれば分離したメールサーバは多重化されてる方が安心ですよと。

 

2. Webサイトは静的化する

3年前ぐらいから、僕は全てのWebサイトは静的化すべきという持論を持っています。今やっている静的化サービス espar もその文脈で展開しています。

静的化とは、Wordpressを始めとするCMSサーバをそのまま公開するのではなく、全ページ html に変換して公開用の別サーバにページ郡をホスティングするという技術です。1クッション置くわけですね。ミラーリングということもあります。

20180711_espar
(CMSサーバではアクセスを受け付けない。html化した先のサーバで受け付ける)

静的化されたサイトは障害に強い

静的化のメリットとして高速化セキュリティ向上はよくあがりますが、実は障害に強い・復旧を超絶楽にする、というメリットもあります。今回のような障害が発生しても恐らく復旧に15分もかかりません。

なぜなら、静的化とは、ファイルをサーバに置くだけでサイトが機能する状態にする ということを意味しているからです。なので、サーバを新たに用意してファイルコピーで復旧完了です。障害対応フローは、下図のようになりますね。

20180711_recovery

  1. Webサイトが落ちます
  2. 別のサーバを起動します
  3. 手元にあるhtml化したファイル群をコピーします
  4. DNSを新しいサーバに向けます

以上で復旧完了です。あとはDNSの伝搬を待つだけ。簡単ですね?ちなみに2.の新サーバは、例えばさくらVPSならオンライン申込みで10分かかりません。AWSのEC2だと手作業でも2,3分。

肝は3の部分。これが面倒なので、2のサーバを常時用意しておいて、CMSから静的化を行い常に予備用サーバにコピーを行っておくということをします。そうすれば、障害復旧に要する時間は実質 4. だけです。爆速。こんな感じですね。

20180711_prevention.png

余談ながら今回の zenlogic の障害では、DNSの変更もできないなんて噂もありましたが、それに備えてAWSのRuote53をネームサーバとして予め指定することで回避も可能でしょう。

静的化の技術

重要なのは、上記の復旧フローの3.にあるhtml化したファイル群。これを作らなきゃいけません。

弊社の espar は静的化を含めたややこしいことを全部やりますよ、というサービスですが、何も静的化は弊社の専売特許ではなく他の選択肢が沢山あります。自社に最適なものを選ぶのがいいと思います。

WordPress を使っているなら、無料の StaticPressSimply Static などのプラグインがありますし、Movable Type と公開用サーバを組み合わせても良いでしょう。また PowerCMSNOREN など、静的化を前提にしたシステムもあります。

問い合わせや検索は?

問い合わせフォームやサイト内検索はどうする?という声も聞こえてきそうですが、今やもう2018年です。CMSに頼らずとも静的化されたページで実現できる技術が沢山あります。

こういったものを使えば、Webサイト全体を静的化できます。つまり、公開用サーバにはPHPもDBも何にもいりません。

CMSという複雑なシステムをそのままネットに公開するから復旧が遅くなる(または出来ない)のです。新しいサーバを用意するにしても、環境を作り、設定を行い、データベースを移行する。普通はできません。

CMSはそもそも「コンテンツ管理」だけが仕事です。「公開」という役割は分離すべきです。

今回の zenlogic 障害を教訓に、是非 Web サイトの静的化を真剣に考えてみられることをオススメします。これ以上の障害時対策はありません。なんせコピーして完了ですから。少し工夫すればDNS変更だけで復旧する環境にできます。ちょっと強力なスペックのサーバを借りるより、低めのスペックのサーバを2台かりて静的化したほうがずっとコストパフォーマンスも良いので、財布にも優しいです。

無論、全てのサイトにおいて静的化が万能という訳ではありません。ただ、個人的な感触では7,8割のサイトが静的化だけで十分です。

 

という訳で、障害に強い環境づくりの提言2つご紹介しました。

Webサイトやメールをお使いの企業や組織、またそういった方々を支援する制作会社さんにおかれましては、今回の障害で「Zenlogicからサーバを移転したら良い」と安直な選択で課題解決したと考えるのではなく、どうすれば障害が起こってもサービスを維持できるのかどうすれば即座に復旧できる環境を作れるのか、という視点での見直しを図ってみられることをお勧めします。

失敗から学ぶことは沢山あります。解約やサーバの引越しは問題の先送りでしかありません。トラブルから学びを得て障害に強い環境を作っていきたいものです。