|
| 1 | +# ILIAS Security Policy |
| 2 | + |
| 3 | +## Table of Contents |
| 4 | +* [About this Document](#about-this-document) |
| 5 | +* [Responsibilities](#responsibilities) |
| 6 | +* [Reporting a Security Issue](#reporting-a-security-issue) |
| 7 | +* [Addressing a Security Issue](#addressing-a-security-issue) |
| 8 | +* [Process for Fixing Security Issues](#process-for-fixing-security-issues) |
| 9 | +* [Security Update Notifications](#security-update-notifications) |
| 10 | +* [Security Goals](#security-goals) |
| 11 | +* [Security Measures](#security-measures) |
| 12 | +* [Contributors](#contributors) |
| 13 | + |
| 14 | +## About this Document |
| 15 | +[//]: # (BEGIN about) |
| 16 | +This document describes the cybersecurity policy for the core of the open source |
| 17 | +learning management system ILIAS. |
| 18 | + |
| 19 | +* This policy is to foster the development of a secure product. |
| 20 | +* It outlines how vulnerabilities should be handled by developers. |
| 21 | +* This policy outlines how security issues and incidents should be reported effectively and |
| 22 | +how they are handled by the responsible team, the ILIAS Security Group. |
| 23 | +* It includes aspects of documenting, addressing and remediating vulnerabilities and promotes |
| 24 | +the sharing of information concerning vulnerabilities |
| 25 | + |
| 26 | +This document is NOT a guideline on how to set up and operate an ILIAS installation |
| 27 | +securely. Such instructions can be found in [docs/configuration/secure.md](docs/configuration/secure.md). |
| 28 | + |
| 29 | +[//]: # (END about) |
| 30 | + |
| 31 | +## Responsibilities |
| 32 | +[//]: # (BEGIN responsibilities) |
| 33 | +ILIAS is published as an open source software by the non-commercial organisation |
| 34 | +ILIAS open source e-Learning e.V. Under the Cyber Resilience Act (CRA), the association |
| 35 | +regards itself as an open source software steward. The association’s registered office |
| 36 | +is in Cologne, Germany. Accordingly, the relevant CSIRT is the German Federal Office |
| 37 | +for Information Security (BSI) and the market surveillance authority is the |
| 38 | +Bundesnetzagentur with whom the ILIAS association is cooperating. |
| 39 | + |
| 40 | +The ILIAS Security Group is the responsible team for receiving and processing all |
| 41 | +reports about incidents and security issues in ILIAS. E-mail contact is security@ilias.de. |
| 42 | +The ILIAS Security Group is reporting vulnerabilities and incidents to the single reporting |
| 43 | +platform of ENISA. |
| 44 | + |
| 45 | +The ILIAS Release Manager is responsible for packaging and publishing security bugfix releases |
| 46 | +in coordination with the Security Group. Once a security release has been published, the |
| 47 | +release manager sends a related notification to the admin mailing list. |
| 48 | + |
| 49 | +[//]: # (END responsibilities) |
| 50 | + |
| 51 | +## Reporting a Security Issue |
| 52 | +[//]: # (BEGIN reporting) |
| 53 | +The following process describes what to do when you have found a security issue in |
| 54 | +ILIAS or observed a related security incident. Please make sure to understand, that |
| 55 | +treating security issues confidentially is required to keep ILIAS installations as |
| 56 | +safe as possible until the issue is fixed. |
| 57 | + |
| 58 | +Please follow the process described in detail below. You will receive an answer |
| 59 | +from a member of the ILIAS Security Group about further steps. |
| 60 | + |
| 61 | +Important: **Never file a security issue in the bugtracker of ILIAS!** |
| 62 | + |
| 63 | +1. Write an e-mail to security@ilias.de about your discovery. This e-mail has to |
| 64 | +contain a description of the issue with the scenario in which the problem is triggered |
| 65 | +and a description of its implications. Please let us know if the vulnerability has |
| 66 | +been actively exploited and/or a severe incident has happened. Please provide all |
| 67 | +necessary steps to reproduce the issue. We kindly ask you to withhold full disclosure |
| 68 | +of the issue until a fix is ready and the new release has been built and made available |
| 69 | +to everyone (full disclosure about one week after the new release is published). |
| 70 | +2. Your e-mail creates a new ticket in our internal ticket system for security issues. |
| 71 | +You will receive an automatic e-mail as confirmation of this. |
| 72 | +3. In the next step, the ILIAS Security Group will assign an issue manager. |
| 73 | +4. The issue manager will look into the issue and try to reproduce the problem. |
| 74 | +5. In case of an actively exploited vulnerability and/or severe incident, the issue |
| 75 | +manager gives an early warning to ENISA's single reporting platform within 24 hours |
| 76 | +of becoming aware of it as required by the CRA regulations. |
| 77 | +7. In case of questions, the issue manager will contact you on behalf of the ILIAS |
| 78 | +association by email. We are grateful for any further help/information you can |
| 79 | +provide during the analysis and bugfixing process. |
| 80 | + |
| 81 | +Optional: We are very interested in giving proper credit for your finding and |
| 82 | +your support for the project. If you want to, we can include your name and/or |
| 83 | +institution in our release notes. We will not publish your name or the name of |
| 84 | +your institution without your consent. |
| 85 | + |
| 86 | +Please note: If you already have a solution in the form of a bugfix for the |
| 87 | +reported issue, we would highly appreciate to get it. In this case, please follow |
| 88 | +the **Process for Fixing Security Issues** in order to not unnecessarily endanger |
| 89 | +existing ILIAS installations. If you don't have access to the corresponding issue |
| 90 | +in our internal security tracker please give access to the corresponding patch |
| 91 | +files to the issue manager through a secure channel. |
| 92 | + |
| 93 | +[//]: # (END reporting) |
| 94 | + |
| 95 | +## Addressing a Security Issue |
| 96 | +[//]: # (BEGIN addressing) |
| 97 | +1. As soon as the issue manager has looked at the issue, the manager assigns |
| 98 | +a report to the responsible developer in our internal security issues tracking |
| 99 | +system and notifies this developer about the issue. |
| 100 | +2. The developer analyses the problem and provides a security fix as soon as |
| 101 | +possible. |
| 102 | +3. Within 72 hours of becoming aware of the vulnerability/incident the Security Group |
| 103 | +provides general information and an initial assessment to ENISA. |
| 104 | +4. Depending on the severity and impact of the reported and fixed issues, the |
| 105 | +ILIAS release manager will build a new release or continue with the default roadmap. |
| 106 | +5. In case of an actively exploited vulnerability that has been reported to ENISA, |
| 107 | +the Security Group provides a final report to ENISA no later than 14 days after the |
| 108 | +security bugfix release has been made available. |
| 109 | +6. In case of a reported severe incident, the Security Group will provide a final report |
| 110 | +to ENISA within one month after the severe incident notification. |
| 111 | + |
| 112 | +[//]: # (END addressing) |
| 113 | + |
| 114 | +## Process for Fixing Security Issues |
| 115 | +[//]: # (BEGIN fixing) |
| 116 | +The following process MUST be followed to hand in a fix for a security issue. These |
| 117 | +rules apply to code authorities as well as to all other developers and contributors. |
| 118 | +* Create one patch file per supported branch needing the fix. The patch file MUST |
| 119 | +be named "<ilias_version>_<title_of_fix>.patch" (e.g. "11_my-very-important-fix.patch"). |
| 120 | +To create the patch use `git format-patch` with the option `--stdout` from the branch |
| 121 | +in which you made the fixes |
| 122 | +(e.g. `git format-patch release_11 --stdout > 11_my-very-important-fix.patch`) |
| 123 | +to ensure that all commits are in a single patch file, if multiple commits are |
| 124 | +needed to fix the issue. To make the application of the patches as easy as possible, |
| 125 | +**fixes for security issues MUST not contain any unrelated changes**. |
| 126 | +* Upload the patch files to the corresponding issue in the project "ILIAS Security" |
| 127 | +on our issue tracker. If you would like to provide a patch for an issue, but do |
| 128 | +not have access to the issue on our tracker please send the patch files to |
| 129 | +the issue manager on a secure channel. |
| 130 | +* Please provide a summary for the release notes and a few sentences describing |
| 131 | +the fix either directly in the corresponding sections in the issue tracker or in |
| 132 | +the communication. |
| 133 | +* The fixes will be applied to the release branches by the release manager before |
| 134 | +the release. |
| 135 | + |
| 136 | +[//]: # (END fixing) |
| 137 | + |
| 138 | +### Regressions |
| 139 | +[//]: # (BEGIN regressions) |
| 140 | + |
| 141 | +In exceptional cases, security fixes may introduce regressions that negatively impact functionality |
| 142 | +or system stability. To address such situations promptly and effectively, the following procedure |
| 143 | +shall be followed: |
| 144 | + |
| 145 | +1. Identification |
| 146 | + * Any regression resulting from a security fix must be reported immediately in the issue tracker. |
| 147 | + * All relevant details (affected components, impact, steps to reproduce) must be provided. |
| 148 | + * The assigned component authority shall inform both the Technical Board and the Product Manager without delay. |
| 149 | +2. Evaluation |
| 150 | + * The Technical Board and the Product Manager jointly assess the severity and impact of the regression |
| 151 | + and decide if the regression will be fixed. |
| 152 | + * If the regression is to be fixed, a decision will be made on whether an urgent fix (a hotfix) is needed |
| 153 | + or whether the issue can be deferred to the next scheduled security release. |
| 154 | +3. Coordination with Release Management |
| 155 | + * If a hotfix is necessary: |
| 156 | + * A corrective patch shall be prepared by the responsible authority who introduced the regression |
| 157 | + and reviewed with priority. |
| 158 | + * The corresponding patch file must be attached to the issue. |
| 159 | + * The Release Manager shall be involved at an early stage to coordinate the release process. |
| 160 | + * If the issue can be deferred: |
| 161 | + * The fix will be included in the next scheduled security release under the supervision of the Release Manager. |
| 162 | +4. Communication |
| 163 | + * In case of a hotfix, the Release Manager shall inform stakeholders via the appropriate mailing lists |
| 164 | + and Discord channels. |
| 165 | + |
| 166 | +[//]: # (END regressions) |
| 167 | + |
| 168 | +## Security Update Notifications |
| 169 | +[//]: # (BEGIN notifications) |
| 170 | + |
| 171 | +Please subscribe to our admin mailing list (ilias-admins@lists.ilias.de) to get |
| 172 | +notifications about security updates, updates in general and announcements for |
| 173 | +ILIAS server administrators. As a general rule, ILIAS updates will be published |
| 174 | +on the start of a week and will be announced in the middle of the previous week |
| 175 | +on the mailing list. |
| 176 | + |
| 177 | +[//]: # (END notifications) |
| 178 | + |
| 179 | +## Security Goals |
| 180 | +[//]: # (BEGIN goals) |
| 181 | + |
| 182 | +* All ILIAS security issues should be kept confidential until patches for them are integrated into an official release. |
| 183 | +* Security issues must be fixed in ALL currently supported and affected versions. |
| 184 | +* ILIAS releases which contain patches for security issues should be released as soon as possible. |
| 185 | +* All fixed security issues should be documented publicly. |
| 186 | + |
| 187 | +[//]: # (END goals) |
| 188 | + |
| 189 | +## Security Measures |
| 190 | +[//]: # (BEGIN measures) |
| 191 | + |
| 192 | +* All incoming issues (via security@ilias.de) are handled by the Security Group in an internal |
| 193 | +ticket system (hosted by the ILIAS open source e-Learning e.V.). It allows for sending encrypted |
| 194 | +and digitally signed e-mails to security reporters. |
| 195 | +* Security issues are entered into a restricted part of the official Mantis platform for ILIAS |
| 196 | +by the Security Group and then assigned to the authority which is responsible for the affected |
| 197 | +component. |
| 198 | +* The Release Manager is in direct contact with the Security Group to ensure that releases for |
| 199 | +all affected versions can be made available in a short timespan, ideally on the same day. |
| 200 | +* Releases with security fixes are accompanied by an entry in our security blog (at docu.ilias.de) |
| 201 | +which provides more details on affected and fixed versions of ILIAS. |
| 202 | + |
| 203 | +[//]: # (END measures) |
| 204 | + |
| 205 | +## Contributors |
| 206 | +[//]: # (BEGIN contributors) |
| 207 | + |
| 208 | +* Robin Baumgartner, sr solutions ag, Burgdorf, Switzerland |
| 209 | +* Tim Bongers, CaT Concepts and Training GmbH, Cologne, Germany |
| 210 | +* Alex Hartwig, Qualitus GmbH, Cologne, Germany |
| 211 | +* Matthias Kunkel, ILIAS open source e-Learning e.V., Cologne, Germany |
| 212 | +* Lukas Scharmer, Databay AG, Würselen, Germany |
| 213 | +* André Schweigert, FAU Kompetenzzentrum Lehre, Fürth, Germany |
| 214 | +* David Tokar, WEKA Media GmbH & Co. KG, Kissing, Germany |
| 215 | +* Guido Vollbach, Databay AG, Würselen, Germany |
| 216 | + |
| 217 | +[//]: # (END contributors) |
0 commit comments