HTTPSへの移行
HTTPSを使用してmoodleサイトを運営することには多くの利点があります。これにより、特にセッションとパスワードに関連するセキュリティのレベルが向上します。
ステップ
始める前に
使用するすべてのコンテンツがhttpsをサポートしていることを確認してください。これを行うには、HTTPS変換ツールを使用します。
ステージング環境があることを確認してください。ライブサイトを更新するのではなく、ステージング環境で初めてHTTPSを設定することをお勧めします。 HTTPSに変換するには時間がかかり、コンテンツを更新する必要があります(以下を参照)。
SSL証明書の設定
最初に行う必要があるのは、SSL証明書を取得することです。これらは自分で作成できますが、これは開発目的でのみ役立ちます。代わりに、認証局からSSL証明書を取得して、証明書が公的に検証されるようにする必要があります。
証明書の費用はやや法外なものであり、年間数ドルから数百ドルまでさまざまな費用がかかります。予算が限られている場合、インターネットセキュリティ研究グループ(ISRG)によってもたらされた新しいイニシアチブにより、価格は適切 です。ドメインで検証された無料の証明書は、Let'sEncryptから取得できます。 Let's Encryptはまた、証明書のインストールと管理のプロセスを可能な限り簡単にすることを試みており、利用可能な方法とクライアントは多数あります。
サーバのセットアップ
次に、証明書を追加するためにWebサーバでSSLを有効にする必要があります。このプロセスは、選択したWebサーバによって異なります。
プロキシまたはロードバランサーを使用している場合は、セットアップに応じて、プロキシサーバにSSL証明書をセットアップすることをお勧めします。
Moodleのセットアップ
基本的なMoodleサイトでは、httpsの設定は簡単です。 config.phpを編集し、$CFG->wwwrootでhttp://をhttps://に変更するだけです。
ただし、プロキシまたはロードバランサーを使用している場合、セットアップによっては、 $CFG->sslproxyを1に設定する必要があり、MoodleサーバでSSLを使用しないでください。その後、ロードバランサーまたはプロキシサーバはMoodleサイトと直接通信できますが、SSLを介してクライアントにサービスを提供します。
HTTPアドレスを新しいHTTPSアドレスにリダイレクトする
リダイレクトを追加して、サイトの現在のhttp://アドレスを持つユーザが、セキュリティ上の理由からhttps接続のみ許可されています、ごめんなさい。 などのメッセージを含むページを取得する代わりに、https://アドレスに自動的にリダイレクトされるようにすることができます。
Webサーバ、ホスティング、およびこれをどのように行うかによって、リダイレクトを行う方法はいくつかあります。 Apache Webサーバでの一般的な解決策は、次のような書き換えルールを使用して.htaccessファイルを作成することです。
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.yourmoodle.com/$1 [R,L]
または一般的に
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ {SERVER_NAME}/$1 [R,L]
ハウツー記事Apacheサーバ環境でHTTPS接続を強制します。など、Webサーバとホストでこれを行う現在の方法を必ず調べてください。
コンテンツの更新
埋め込まれたすべてのコンテンツをhttp経由で要求されないように変更する必要があります。リンクは関係ありません。ただし、画像とiframe、scormモジュール、LTI外部ツールを更新する必要があります。外部ツールを変更して、iframeではなく新しいウィンドウで開くことができます。これらは正常に機能します。
このプロセスを支援するために、新しいツールがMoodle3.4に追加されました。これは、 サイト管理 > セキュリティ > HTTPセキュリティ > HTTPS変換ツール リンクから利用できます。詳細については、MDL-46269を参照してください。