セキュリティ

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

慎重に翻訳中です。

すべてのウェブアプリケーションソフトウェアは、非常に複雑で、どのアップリケーションにも時々発見されるセキュリティの問題があります。通常、これらの問題は、プログラマが予期することのできない入力の組み合わせに関係しています。Moodleプロジェクトでは、セキュリティを重要な部分であると認識し、随時セキュリティホールに対応する等、継続した改善作業を行っています。

すべての前に

  • この記事には、あなたのインストール済みMoodleに関する重要なセキュリティ対策が記載されています。
  • セキュリティ問題は、直接 http://security.moodle.org に投稿してください - 他の場所でしたら開発者が見落とす可能性がありますし、( アタックを避けるため ) 問題が解決されるまで一般公衆にリリースされないからです。
  • 同じ理由で、セキュリティ上の弱点 ( exploits ) をbugtrackerやフォーラムに投稿しないでください。

シンプルなセキュリティ対策

  • 最良のセキュリティ対策は、データのバックアップを適切に取ることです! しかし、バックアップデータをリストアできないようでしたら、適切なバックアップと呼ぶことができません。リストア処理をテストしてください!
  • あなたが使用するソフトウェアまたはサービスのみをロードするようにしてください。
  • 定期的にMoodleのアップデートを行ってください。
  • あなたが寒い冬の日に着る服の層にならって、セキュリティ対策を行ってください。

基本的な推奨

  • それぞれのリリースでMoodleを定期的にアップデートしてください。
リリース後、公開されるセキュリティホール情報は、クラッカーの注意を引きます。古いバージョンほど、より脆弱性を含む場合があります。
  • PHPのregister globals ( register_globals ) を無効にしてください。
サードバーティ開発によるMoodle用スクリプトのXSS問題を防ぐ助けになります。
  • 管理者および教師には強力なパスワードを使用してください。
「推測が難しい」パスワードの使用は、アカウントの「brute force」クラッキングを防ぐ、基本的なセキュリティ対策です。
  • 信頼できるユーザにのみ教師アカウントを与えてください。プロダクションサーバ ( 実際に運用するサーバ ) で、公開したサンドボックスにフリーの教師アカウントを作成しないでください。
教師アカウントは、非常に自由な権限があり、データを悪用したり盗むことが簡単にできてしまいます。
  • あなたのシステムを可能な限り分離してください。
もう1つの基本的なセキュリティテクニックは、異なるシステムで異なるパスワードを使用し、異なるサービスには異なるマシンを使用すること等です。このことは、1つのアカウントまたは1つのサーバが奪取されても、被害が広範囲に及ぶことを防ぎます。

定期的にアップデートを実行する

  • システムを定期的にアップデートしてください。
  • Windows Update ( Microsoft Update )
  • Linux: up2date、yum、apt-get
cronを使用してスクリプトによる自動アップデートをお考えください。
  • Mac OSXシステムアップデート
  • php、apache、Moodleは、可能な限り常に最新のバージョンを使用してください。

最新情報を取得するため、メーリングリストを使用する

ファイアウォール

  • Security experts recommend a dual firewall
Differing hardware/software combinations
  • Disabling unused services is often as effective as a firewall
Use netstat -a to review open network ports
  • Not a guarantee of protection
  • Allow ports
80, 443(ssl), and 9111 (for chat),
Remote admin: ssh 22, or rpd 3389

Be prepared for the worst

Moodle security alerts

  • Register your site with Moodle.org
Registered users receive email alerts

Miscellaneous considerations

These are all things you might consider that impact your overall security:

  • Turn off opentogoogle, esp for K12 sites
  • Use SSL, httpslogins=yes
  • Disable guest access
  • Place enrollment keys on all courses
  • Use good passwords
  • Use the secure forms setting
  • Set the mysql root user password
  • Turn off mysql network access

Most secure/paranoid file permissions

Assuming you are running this on a sealed server (i.e. no user logins allowed on the machine) and that root takes care of the modifications to both moodle code and moodle config (config.php), then this are the most tight permissions I can think of:

1. moodledata directory and all of its contents (and subdirs, includes sessions):

owner: apache user (apache, httpd, www-data, whatever)
group: apache group (apache, httpd, www-data, whatever)
perms: 700 on directories, 600 on files

2. moodle directory and all of its contents and subdirs (including config.php):

owner: root
group: root
perms: 755 on directories, 644 on files.

If you allow local logins, then 2. should be:

owner: root
group: apache group
perms: 750 on directories, 640 on files

Think of these permissions as the most paranoid ones. You can be secure enough with less tighter permissions, both in moodledata and moodle directories (and subdirectories).

関連情報