英語

はい あなたのサイトをHTTPS化する必要があります。

「でも私のサイトには問い合わせフォームのようなユーザーの個人情報を集めるものはないんだけど」

関係ありません。HTTPSは収集する個人情報を保護するためだけのものではありません。HTTPSはURL、ヘッダー、コンテンツなど、転送されるページのあらゆる情報を保護します

「私のサイトには機密情報なんてないんだけど」

あなたはあなたのサイトの責任を負わなければなりません!あなたのサイトのサーバーが安全であっても、サイト内の情報がユーザーに届くまでに無数の企業や国有機関が持つケーブルやサーバーを経由するわけです。意図しないスクリプトや画像または広告がだれかに不正に挿入されることを許せますか?またはページの内容を不正に変更される可能性や、あなたのサイトが他のサイトを攻撃するために使用される可能性があります。このようなことが発生します。以下に例を挙げます。機内例2例3)、中国でプロバイダでさえもよくやります(例2例3)。HTTPSは以上のようなことを全て防ぎます。HTTPSはコンテンツの完全性を保証し、改ざんを検出することができます。機密情報のみを暗号化することは、その情報を標的にすることに繋がります。どの情報が機密情報であるかを知られないために、全ての情報を暗号化するべきです。

「サイトはHTTPだけど、問い合わせフォームはちゃんとHTTPSを使っているよ!」

これはHTTPSを一切使わないのと同じです!攻撃者はリンク先やフォームの送信先を自身のサーバーへ変更するだけで攻撃ができてしまいます。HTTPで転送されるため、このような操作を検出することは不可能です。サイト全体を暗号化し、HTTPをHTTPSへリダイレクトさせましょう。

「証明書高いわ」

無料です。

「HTTPSの設定と維持が難しい」

Caddyウェブサーバーを使用すれば簡単です。証明書の更新は自動ですし、なにも考える必要はありません。Caddyを使わなくても、お好みのLet's Encryptクライアントを使用すれば、HTTPSの更新を自動化することができます。

「HTTPSを使っても、攻撃者は私のサイトを偽装できてしまうけど」

攻撃しようとしますが、あなたの秘密鍵が漏れない限り、一致しない、あるいは無効なTSL証明書が提示されると、ブラウザーは警告を表示します。そして、攻撃者がHTTPSを全く使用していない場合、ブラウザーは偽装ページに「保護されていません」と表示するべきです。そのために、HTTPSは真正性を保証します。

「ドメイン認証型SSLサーバ証明書(下記DV証明書)は安全ではない。」

安全です。DNSの管理を漏らさない、且つ、有能な認証局を選べば大丈夫です。(有能でない認証局の例と面倒な認証局例2)。 DV証明書の暗号化はExtended Validation(EV)SSL証明書の暗号化に比べて、違いが一切ありません。

「でも認証局はいつでも私のサイトに不正な証明書を発行することができる <・・・その他、認証局の仕組みについての文句>」

公開鍵基盤について話しているのではありません。現状では一番いい仕組みです。我慢してあなたのサイトをセキュアにしてください。CAAレコートを利用してあなたのサイトに証明書を発行できる認証局を指定して、そして、透明性の確保と監督がうまく行くよう祈りましょう(今までうまく行っています)。

「HTTPSはコンテンツのサイズを隠さないため、攻撃者に手がかりを漏らしてします」

TLS 1.3とHTTP/2はパッディングフレームという技術があり、暗号文のサイズを膨張させます。

「HTTPSはDNS正引きを隠さない」

もちろん。DNS != HTTP。でもこれはあなたのウェブサイトとユーザーの間の接続を暗号化しない理由となりますか??(ヒント:いいえ)

「HTTPSは遅い」

いいえ、遅くなりません。 モダンなサーバー 上で動くサイトはHTTP/2のおかげで、HTTPよりHTTPSの方は表示速度が早いです。

「フィッシングサイトはHTTPSを使う」

... というわけであなたは使いません?

「我々のサイトはHTTP経由の広告を表示している」

おあいにくさま。あなたのウェブサイトにはHTTPSが必要であるという事実には変わりありません。HTTP経由の広告をHTTPS対応のサイトに表示すると、「Mixed Content」(混在したコンテンツ)の警告がブラウザー上で表示されてしまうので、契約時によく見えた広告掲載契約から解消するうまい方法を見つけた方が良いです。または、そのアドネットワークにもHTTPS対応するように説得しましょう。

「HTTPで問題なく動いているよ」

ブラウザーがHTTPのページ上で「この接続は安全ではありません」と表示し始めるまでは、Oil and Gas Internationalも同じことを思っていました。

「でもTLSプロクシーはHTTPSの保証を破っている」

それはエンドユーザーのコンピューターがTLSプロクシーを信用するように変更した場合のみです。この変更は管理者権限(ルート)が必要なため、コンピューターの所有者が許可しなければいけません。そのうえ、HTTPS interception(HTTPS通信盗聴)は通常、ウェブサーバーによって検出されます

「少なくともHTTP経由とHTTPS経由でサイトにアクセス可能にすることができる」

サーバーの80ポートを開放する唯一の理由は全てのリクエストを443ポートにリダレクトし、80ポート接続を遮断することです。(いつか、80ポート自体をこの世から消滅させることができるかもしれません。)

「私のサイトは内部ネットワークやVPN経由でしか接続できない」

どれだけインフラを所有する企業・国有機関を信用しているんですか?ネットワークを構成するハードウェアを生産する会社も信用していますか? VPNのプロバイダも

「パスワードをハッシュ化する」

よかったですね。HTTPS経由で取得しています・・・よね?

「HTTPSはSEOに影響がある」

正解です!HTTPSはよい影響を与えます!URLを不適切に変更すると、検索順位に悪影響を与えるかもしれませんが、HTTPSは検索順位によい影響を与えます。好きな検索エンジンに沿って正しく変更していれば、せいぜい、一時的な副作用があるだけで、検索順位に問題ありません。

「ユーザーの安全を守るのはブラウザーの役目でしょ」

確かにそうですが、不十分です。ブラウザーだけで役目ではありません。サーバーがHTTPS証明書を通じてログイン情報を提供した場合のみ、ブラウザーはユーザーの安全を確保することができます。サイトの所有者として、これらのログイン情報をユーザーへ安全に提供する責任があります。

— HTTPS化する方法 —

最も簡単な方法はLet's Encryptと、全てのあなたのサイトに対してHTTPSを自動的に有効化するCaddy Webサーバー。または、legoという、Let's Encryptクライアントを使うことができます。それはシンプルで、独立型であり、あらゆるプラットフォームで動きます。

昔ながらのウェブサーバーで設定やシステム統合をしたいなら、EFF(電子フロンティア財団)のクライアントであるCertbotがぴったりでしょう。

その他にも、手間をかけずにあなたのサイトをHTTPS化する方法がたくさんあります。Das Surma氏はいくつかのウェブサーバーについて説明しています。また、CloudflareのようなCDNによって低コスト、あるいは無料であなたのサイトをHTTPS化することができます。