GitLab Pages SSL/TLS 証明書

GitLab.com上のすべてのGitLab Pagesプロジェクトは、デフォルトのPagesドメイン(*.gitlab.io)に対してHTTPSで利用できます。カスタム(サブ)ドメインでPagesプロジェクトをセットアップした後、HTTPSでセキュリティ保護したい場合は、その(サブ)ドメインの証明書をイシューし、プロジェクトにインストールする必要があります。

note
GitLab Pagesプロジェクトのカスタム(サブ)ドメインに証明書を追加する必要はありませんが、強く推奨します。

まずは HTTPS のインポートから始めましょう。

なぜHTTPSにこだわる必要があるのでしょうか?

これが最初の質問かもしれません。もし私たちのサイトが GitLab Pages によってホスティングされていて、静的で、それゆえサーバーサイドのスクリプトやクレジットカードのトランザクションを扱っていないのであれば、なぜ安全な接続が必要なのでしょうか?

1990年にHTTPSが登場したとき、SSLは“特別な “セキュリティ対策であり、銀行や金融取引のあるショッピングサイトのような大企業だけに必要なものだと考えられていました。

現在では、そのイメージは変わってきています。インターネット・セキュリティ・リサーチ・グループ(Internet Security Research Group)のエグゼクティブ・ディレクター、ジョシュ・アース(Josh Aas)氏によると、(ISRG):

HTTPS は、ほとんどすべてのウェブサイトにとって重要であることが分かってきました。パスワードを使ってサインインするウェブサイト、ユーザーを何らかの方法で追跡するウェブサイト、コンテンツを改ざんされたくないウェブサイト、そして、消費していることを他人に知られたくないコンテンツを提供するサイトにとって、HTTPSは重要です。また、HTTPSでセキュリティ保護されていないサイトは、他のサイトを攻撃するために使用できることも分かっています。

したがって、証明書が非常に重要である理由は、認証と検証のキーチェーンを通じて、クライアント(あなた、あなたの訪問者)とサーバー(あなたのサイトが存在する場所)間の接続を暗号化するからです。

HTTPS をサポートする組織

すべてのウェブのセキュリティ確保を支持する大きな動きがあります。W3C はこの大義を全面的に支持し、その理由を非常によく説明しています。Mozilla Security Blog のライターである Richard Barnes は、Firefox が HTTP を非推奨とし、安全でない接続を受け付けなくなることを示唆しました。最近、Mozilla は HTTPS のインポートの重要性を再確認する声明を発表しました。

証明書の発行

GitLab Pagesは、認証局や 自己署名証明書によって発行されたPEMフォーマットで提供された証明書を受け入れます。自己署名証明書は、セキュリティ上の理由と、ブラウザがあなたのサイトの証明書を信頼することを保証するために、一般的に公開ウェブサイトには使用されません

証明書にはさまざまな種類があり、それぞれに一定のセキュリティレベルがあります。静的な個人のウェブサイトには、例えばオンラインバンキングのウェブアプリのようなセキュリティレベルは必要ありません。

インターネットをより安全なものにするために、無料で証明書を提供する作成者がいます。最も人気があるのはLet’s Encryptで、ほとんどのブラウザで信頼されている証明書をイシューし、オープンソースで、無料で使えます。カスタムドメインでHTTPSを有効にするには、Let’s EncryptとGitLab Pagesのインテグレーションをご覧ください。

同様に人気があるのがCloudflare が発行する証明書で、無料の CDN サービスも提供しています。Cloudflareの証明書は15年間有効です。GitLab PagesウェブサイトにCloudflare証明書を追加する方法のチュートリアルをご覧ください。