ウェブサイトで学生の個人情報を収集する教育機関にとって、データを保護することは法的および倫理的な責任です。
生徒やその家族との信頼関係を維持するだけでなく、多くの国や地域ではデータ保護法の遵守が義務付けられています。日本においては直接関係することはありませんが、今日のグローバル社会では交換留学や海外との提携プログラムなど、日本国外のユーザーとやり取りを行うことは一般的であり、以下2つの規則は無視できません。
- FERPA(Family Educational Rights and Privacy Act):学生の個人情報へのアクセスを許可された個人のみに制限することや、共有前に書面による同意を得ることなどのコンプライアンス要件が含む米国の規則。米国教育省には、学生のプライバシーに関する専用ウェブサイトがあり、FERPAに関する多くの資料が掲載されている。
- GDPR(EU一般データ保護規則):データ収集に関する明確な同意の取得、データポータビリティの確保、「プライバシー・バイ・デザイン」の原則の実施、データ侵害が発生した場合の学生および当局への迅速な通知など、多くのコンプライアンス要件を含むEU域内の各国に適用される規則。WordPressのGDPR準拠に関してはこちら。
今回は、WordPressを使った大学や教育機関のサイトで学生のデータを保護するための実践的な方法をご紹介します。データの暗号化のような技術的なヒントだけでなく、データセキュリティに関する教職員の教育などの重要な戦略も取り上げます。
安全なサーバーを選ぶ
安全なサーバーでWordPressサイトを運営することは、学生の個人情報を保護するのに最も効果的な方法の1つです。適切に設定が行われているサーバーは、不正アクセス、データ漏洩、サイトのダウンを防いでくれます。
例えば、Kinstaでは大学・教育機関向けにWordPress専用マネージドクラウドサーバーを提供しており、以下のようなセキュリティ機能が組み込まれています。
- 安全なインフラストラクチャ:オリジンにGoogle Cloud、ネットワークエッジにCloudflareを採用した安全なインフラを使用。
- 無料のSSL証明書:SSL証明書を導入することで、サイトのサーバーと生徒のブラウザ間を通過するデータが暗号化される。
- ファイアウォール:エンタープライズレベルの2つのファイアウォールですべてのサイトを保護。Cloudflareのファイアウォールはネットワークエッジでサイトを保護し、多くの攻撃がサイトのオリジンサーバーに到達するのを防ぎ、Google CloudのIPベースの保護ファイアウォールによってさらにサイトが守られる。
- 自動バックアップ:すべてのサイトを毎日自動的にバックアップし、安全な場所に保管。必要に応じてバックアップ頻度を増やすことも可能(最大1時間毎)。
- 二要素認証(2FA):パスワードなどに加えて、SMSコード、認証アプリコード、生体認証などの二段階認証を設定し、サーバーアカウントへのアクセスを保護。
- 24時間年中無休のカスタマーサポート:24時間365日利用できるライブチャットサポートで必要時にいつでもエンジニアに相談。

いずれのサーバーを利用するにしても、事前にセキュリティ機能が充実しているかどうかを確認しましょう。
データとバックアップを暗号化する
データを暗号化することで、転送中や保存中の学生情報を保護し、機密情報を不正アクセスから保護することができます。
SSL/TLS証明書をインストールして、WordPressサイトでHTTPSを有効にすることで、学生のブラウザとWordPressサイト間のデータのやり取りが暗号化され、第三者による傍受を防ぎます。
学生のデータを保存する場合は、保存時のデータも暗号化しなければなりません。この方法はデータの保存先によって異なります。
- WordPressのデータベースに保存されている場合─暗号化機能が組み込まれたデータベースの使用を検討する。例えば、MariaDBはTransparent Data Encryption(TDE)をサポートしており、静止時のデータが暗号化される。
- 外部データベースを使用している場合─使用しているデータベースが暗号化をサポートしているかどうか、また適切な設定方法を確認する。
また、生徒のデータを含むバックアップを暗号化することも重要です。バックアップも権限を持たない悪意あるユーザーがデータにアクセスするための手段になり得ます。
Kinstaをご利用の場合、バックアップはサーバーレベルで作成され、Google Cloud上のGoogle Cloud Storageに安全に保存されるため、この点を心配する必要はありません。より良い柔軟性を求める場合は、外部バックアップアドオンを使用して、Amazon S3のような独自の外部オブジェクトストレージにバックアップを保存し、同サービスのツールで暗号化を適用することも可能です。

また、WordPressバックアッププラグインの多くには、バックアップを暗号化する機能が含まれています。例えば、BackWPup Proには特別な暗号化機能が組み込まれており、学生の個人情報の保護に有用です。
データセキュリティに関して教職員を教育する
生徒データの保護は、学校を管理する教職員が一丸となって行う必要があります。技術的にセキュリティ対策を徹底して講じても、脆弱なパスワードの再使用や機密情報の誤った取り扱いなど、単純なヒューマンエラーがセキュリティ侵害につながる可能性があります。
このようなリスクを防ぐには、学生の個人情報を扱う際の責任について教職員を教育することが重要です。
以下のようなトピックを扱いましょう。
- パスワードポリシー:教職員のアカウントには、強力で一意のパスワードを使用するよう義務付ける。また、BitwardenやLastPassのようなパスワードマネージャーの使用を推奨する。
- データの取り扱い:権限を持つ職員は、学生情報を安全に取り扱うための研修を受けることを義務付ける(例えば、サーバ上の学生情報を暗号化しても、職員が暗号化されていないファイルをメールなどで共有してしまえば身も蓋もない)。
- フィッシング対策:一般的なフィッシング攻撃の種類と、メールのリンクを無闇にクリックしない、二段階認証のためのワンタイムパスワード(OTP)を共有しないなど、問題を回避する方法を説明する。英国政府のウェブサイトでは、フィッシング攻撃から組織を守る方法をわかりやすく説明している。
サイトやデータへのアクセスを制限する
適切なデータの取り扱いについて職員や管理者を教育するとともに、学生の個人情報にアクセスできる人を適切に制限してください。一般に、アクセスできる人数をできる限り少なくすることで、データ保護が容易になり、データ漏洩につながるヒューマンエラーの発生も低減します。
データセキュリティの向上はもちろん、FERPAでは学生情報へのアクセスを許可された個人のみに制限することを明確に義務付けています。
WordPressでは、コアとなるWordPressのグループ権限を使用して、各ユーザーが持つアクセスを制限することができます。デフォルトでは「管理者」「編集者」「投稿者」「寄稿者」「購読者」の5つのグループ権限(WordPressマルチサイトの場合は「特権管理者」を含む6つ)が組み込まれていますが、独自のユーザー役割を作成したり、デフォルトの権限を調整したりすることが可能です。
各グループ権限には、あらかじめ定義された「機能」が付属しており、ユーザーの個々の操作やアクセスを制限します。WordPressのユーザー役割の詳細はこちらでご紹介しています。
ユーザー役割と権限を管理するには、User Role Editorプラグインがおすすめです。
このプラグインには、ボックスにチェックを入れるだけで特定の機能を有効または無効にできるシンプルなインターフェースが搭載されており、WordPressデフォルトのグループ権限を編集したり、独自のユーザー役割を作成したりすることもできます。

また、機密情報にアクセスできるユーザーに二段階認証の導入を義務付けることで、さらにセキュリティを強化することができます。Wordfence Login Securityなどのプラグインで、サイト上の特定のユーザー役割に二段階認証を要求することができます。
学生の個人情報にアクセスできるすべてのユーザー役割に(強力なパスワードの強制とともに)二段階認証を設定すれば、不正アクセスを最大限に防ぐことができます。
Kinstaでは、コントロールパネルMyKinstaで強力なマルチユーザー機能を提供しており、ユーザーを特定のウェブサイトのみに割り当てたり、二段階認証を要求したりすることができます。
データ収集に責任を持つ(データ収集を最小限に抑える)
保存している学生の個人情報を保護することに加えて、データの収集方法にも注意が必要です。
まず、収集するデータは必要最低限に抑えましょう。各データを収集する理由を考え、教育機関の運営に実際に必要なデータのみを収集するようにします。
データの収集は、責任を持って行いましょう。収集する学生情報について、明確な同意を得るための同意書を用意することが重要です。
また、以下を説明する徹底したプライバシーポリシーも必要です。
- どのようなデータを収集するのか
- 収集するデータ
- 収集したデータの保存方法
プライバシーポリシーの作成と提示には、ComplianzのようなWordPressプラグインが便利です。
また、SSL/TLS証明書をインストールし、HTTPSを有効にして、サイトを通じて収集したデータが学生のブラウザからサーバーに渡される際に暗号化されるようにすることも非常に重要です。自社でSSL/TLS証明書を取得し、インストールすることも可能ですが、KinstaのようにSSL/TLS証明書を無料で提供してくれるようなサーバーが便利です。
最後に、データの保存期間を規定するデータ保持ポリシーを導入し、不要になったデータは定期的に削除してください。
例えば、活動中の学生に関する特定の情報のみが必要な場合、学生の卒業後、データは不要になります。データ保持ポリシーにより、不要になったデータを適切に削除することができます。
データ保持ポリシーの管理には、Advanced Database CleanerのようなWordPressプラグインが便利で、日時を設定してデータベースから特定のデータを自動的に削除することができます(必要時に手動で実行することも可能)。

全ファイルのアップロードとパーミッションを保護する
悪意のあるファイルからサイトとデータを保護するには、サイトへのファイルアップロードを保護することも不可欠です。データ侵害を引き起こす可能性のある悪意のあるファイルが意図的(または不注意)にサーバーにアップロードされることを防ぐ必要があります。
まずは、サーバーへのアップロードを許可するファイルの種類を制限します。悪意のある可能性のあるファイルの種類はすべてブロックし、サイトに必要な特定の種類のファイルのみを許可します。WordPressでは、File Upload Typesのような無料プラグインで許可するファイルの種類を制御することができます。

また、サイトにファイルをアップロードできるユーザーを厳しく管理しましょう。先に触れたWordPressのユーザー役割を利用し、upload_files機能を使って、どのユーザー役割がファイルをアップロードできるかを制御可能です。
.htaccessルールまたはnginx.confを通じて、アップロードされたファイルへのアクセスを制限するようにサーバーを設定することも重要です。また、サーバー上のファイルへのアクセスを制御するために、適切なファイルパーミッションを設定する必要があります。
学生情報へのアクセスを監視・監査する
学生情報を監視し、監査することも重要です。
例えば、誰がデータを閲覧したか、データに変更を加えたかを確認することで、潜在的な問題を発見し、教職員がデータ保管および取り扱いポリシーに従っているかを監視することができます。
学生の個人情報を閲覧または変更したWordPressユーザーを追跡するには、WP Activity Logのようなプラグインを使用できます。WordPress管理画面でログを表示できるだけでなく、メールやSMSで通知を受け取ることも可能です。

WordPressのアクティビティをログに記録するだけでなく、データベースのエントリやユーザーアクセスログを確認するために定期的な監査を実施しましょう。
MySQLとMariaDBにはログ機能が組み込まれていますが、有効化が必要になる場合があります。詳しくは、以下のドキュメントを参照してください。
信頼できるWordPressプラグインのみを使用する
WordPressプラグインの豊富さは、WordPressで学校サイトを作成するのがおすすめである理由の1つと言えます。
しかし、サイトにインストールするプラグインは、データセキュリティの問題を引き起こす可能性もあります。したがって、各プラグインの使用は慎重に吟味し、高品質で信頼できるWordPress開発元のプラグインのみを使用するようにしてください。
プラグインをインストールする前に、以下の要素を考慮することをおすすめします。
- 開発者のサポートとアップデート:開発者がプラグインを積極的にサポートし、定期的にアップデートをリリースしているかどうかを確認。セキュリティアップデートは特に注意が必要です。セキュリティの問題は優れたソフトウェアにも起こるが、開発者がセキュリティパッチを迅速にリリースし、脆弱性に関する情報を提供してくれるかどうかが重要。
- ユーザーレビュー:他のユーザーの経験や感想は、プラグインの全体的な質を見極める良い判断材料に。
- インストールを有効にする:一般にアクティブインストール数が少ないプラグインには注意が必要。ただし例外もあり、ニッチな問題を解決するプラグインであっても、信頼できる開発者によるものであれば使用しても問題ない。
また、プラグインと開発者の質を調査するだけでなく、プラグインがFERPAやGDPRなどの規則に準拠するように設計されているかどうかも評価してください。
例えば、素晴らしい実績を誇る評判の開発者がリリースしたプラグインであっても、FERPAやGDPRに準拠しない方法でデータを収集または保存するようであれば、使用は避けた方が賢明です。
WordPressコア、プラグイン、テーマを常に更新する
WordPressコア、プラグイン、テーマを常に最新の状態に保つことは、サイトのセキュリティを維持する上で非常に重要です。古いソフトウェアは、悪意のあるユーザーが悪用する可能性のある脆弱性を露呈する恐れがあります。
Sucuriによる2023年のセキュリティレポートによれば、ハッキングされたCMSを使用するウェブサイトのうち、ハッキングされたサイトの39.1%は、感染時に古いソフトウェアを実行しています。さらに、同年のWordPressエコシステムにおける新たに検出されたセキュリティ脆弱性の97%はプラグインに起因していました。
このようなリスクを軽減するには、WordPressのコア、プラグイン、テーマに対するすべてのセキュリティアップデートを迅速に適用することが重要です。定期的に更新を行うことで、既知の脆弱性にパッチが適用され、悪用のリスクを軽減することができます。
ソフトウェアアップデートによってサイトに問題が生じることを懸念している場合は、本番サイトに適用する前にステージング環境でテストすることができます。Kinstaでは、ステージング環境を作成し、テスト後に変更の一部またはすべてを本番サイトに簡単に反映することができます。
また、Kinsta自動アップデートアドオンを使用すると、更新作業を安全に自動化することができます。
- プラグインとテーマの更新日時を指定:曜日と時間枠を指定してプラグインとテーマを自動更新。
- 更新前にバックアップを自動生成:更新前にバックアップを生成。
- ビジュアルリグレッションテスト:スクリーンショットで更新前と後のサイトの外観を比較し、変更や問題が生じた場合は、更新前の状態にサイトを自動でロールバック。

Kinsta以外をご利用の場合は、Easy Updates Managerのようなプラグインを使用することができます。
- アップデートリリースのメール通知:プラグインの更新が可能になった際にメールを受け取ることができるため、毎日管理画面を確認する手間が省ける。
- 自動更新の管理:プラグインの更新を自動化したい場合、更新するタイミングを指定することができる。
- ログ:適用された更新のログを確認できる。
- 自動バックアップ:同じ開発元のUpdraftPlusプラグインを使用すると、プラグイン更新前にサイトを自動バックアップ可能。
情報漏えいに備えた対処手順を準備しておく
ここまででご紹介した内容をすべて実践している場合、学生情報に対するセキュリティが最適化されているはずです。
とはいえ、何かしらの問題が発生した場合を想定しておくことも重要です。データ漏洩のための所定のプロトコルを用意しておきましょう。
まずは、データ漏洩発生時にどのように共有するかについて、通知計画を立てます。
- 影響を受ける個々のユーザーへの通知方法─これは速やかに行う必要があり、例えばGDPRでは72時間以内にユーザーに通知することが義務付けられている。
- データ漏洩を通知する必要がある当局とその連絡方法を調べる
WordPressのGDPR準拠に役立つプラグインの多くは、影響を受けたユーザーへの報告に関してもサポートしています。例えば、Complianzプラグインは、データ漏えいの報告と管理に役立つデータ漏えい報告ウィザードがあります。似たような機能を提供するプラグインは他にもあります。
報告要件を満たすだけでなく、ウェブサイトの復旧計画も立てておきたいところ。例えば、サイトが侵害された場合、最新のクリーンなバックアップで復元したいかもしれません。
また、ステージング環境にバックアップを復元するテストも定期的に行う必要があります。
Kinstaをご利用の場合、ワンクリックでステージング環境または本番環境に簡単にバックアップを復元することができます。

まとめ
教育機関サイトをどのように構築するかどうかに関わらず、米国のFERPAやヨーロッパのGDPRのような法令に準拠するために学生情報を保護することが重要です。
WordPressを使用している場合は、WordPressのコア機能とWordPressの豊富なプラグインを活用して、学生情報の保護と法規制への準拠を強化することができます。WordPressの適切な設定と教職員の教育、そして信頼できる安全なサーバーを組み合わせれば、データ保護への取り組みは万全です。
教育機関のウェブサイトの安全な基盤作りには、KinstaのWordPress専用マネージドクラウドサーバーをぜひお試しください。無料のサイト移行と初月無料プランでリスクなしでご利用いただけます。