Moodleアプリのセキュリティー

提供: MoodleDocs
移動先:案内検索


Moodleアプリは、HTMLアプリ用の堅牢なコンテナを提供する "Cordova" と呼ばれる、よくテストされた広く使用されているフレームワーク上で開発されたハイブリッドアプリ (ウェブ技術を使用) です。

セキュリティは、私たちにとって非常に重要です。そのため、私たちはCordovaおよびMoodleのセキュリティ推奨事項に従います。

セキュリティへの取り組み

  • ログインと認証
    • 認証は一時的なアクセストークンで行われます。アクセストークンの期間は、Moodleの設定で設定できます。
    • アプリからサイトへのシングルサインオン (または自動ログイン) は、特別なプライベートトークンを使用して行われます (ユーザがアプリでログインしたときに取得・保存されます)。
    • アプリからサイトへのシングルサインオン(または自動ログイン)には、いくつかの追加制限があります(1時間に数回しかできないなど)。
    • QR-Loginは、ユーザが同じネットワーク(IPアドレス)にいることを必要とする一時的なトークンを使用して行われ、時間は10分に制限されます。
    • サーバからのファイル(画像やその他のアセット)の取得には、別の非認証トークンが使用されます。
  • パーミッション
    • アプリはMoodle機能のサブセットにのみアクセスできます (Moodleアプリのサービスを通じて利用可能です)。
    • すべての操作は非特権的な方法で行われ、パーミッションは現在認証されているユーザに基づいてチェックされるため、Webサービスレイヤ経由での特権昇格は不可能です。
    • 管理者 (または特権ユーザ) の一時的なアクセストークンがハイジャックされたとしても、攻撃者がMoodleサイト経由でサイト管理機能にアクセスすることはできません。

このアプリはWebサービスのクライアントであるため、httpsでのみ有効にし、以下のような設定でセキュリティを確保することをお勧めします。

  • システム機能により、特定のロールのみがアプリ経由でアクセスできるようにしてください (サイト管理者は避けてください)
  • Moodleセキュリティ設定を使用して、Webサービスアクセストークンの有効期限を短くする (ユーザが再度認証しなければならないようにする)
  • Cordovaフレームワークは、信頼されていない証明書を実行しているサイトへの接続を避けるなど、セキュリティ上の制限を加えています。

Moodleアプリのセキュリティ問題のプロセスは何ですか?

  • 私たちは、標準的なMoodleセキュリティプロセスに従います: https://docs.moodle.org/dev/Moodle_security_procedures
  • セキュリティパッチは、次のアプリリリースまたは緊急リリースで直ちに適用されます (問題に付随するリスクによります)。

セキュリティ/ペネトレーション/ペンテストや静的コード解析のテストを行っていますか?

この種の自動化された脆弱性レポートを受け取ることがあります。自動化されたツールの問題点は、通常、悪用が可能な場所を示す一般的な結果を出力することで、結果には多くの偽陽性が含まれることです。

前述の通り、私たちのアプリはCordovaの上に構築されているため、ネイティブコードの問題を検出するためにCordovaフレームワークの開発者に依存しています。

Cordovaのプロジェクトトラッカーを検索すると、Static Code Analysis Veracodeツールで何度か実行された結果、すでに解決された問題が発生していることがわかります。https://issues.apache.org/jira/issues/?jql=project%20%3D%20CB%20AND%20text%20~%20%22veracode%22%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC

残念ながら、これらのVeracodeの実行結果は公開されていません。なぜなら、ほとんどの場合、フレームワークを使用する外部の当事者によって実行されているからです。

なお、Cordovaのセキュリティ問題にはCVEコードがあります。https://www.cvedetails.com/product/27153/Apache-Cordova.html?vendor_id=4