Skip to content

Commit 51e0162

Browse files
matthiaskunkelmarvimarv
authored andcommitted
Update of security.md (#11968)
Updated content incl. process changes due to CRA requirements (cherry picked from commit 4f7c2b6)
1 parent 58674f4 commit 51e0162

4 files changed

Lines changed: 219 additions & 142 deletions

File tree

SECURITY.md

Lines changed: 217 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,217 @@
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)

components/ILIAS/App/tests/RootFolderTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ final class RootFolderTest extends TestCase
4646
'package.json',
4747
'package_new.json',
4848
'README.md',
49+
'SECURITY.md',
4950
'unzip_test_file.zip',
5051
'.DS_Store',
5152
'.buildpath',

docs/development/expert-groups.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ email address (ux@lists.ilias.de).
5353
### Security Expert Group
5454
The Security Expert Group can be reached through its own email address (security@lists.ilias.de).
5555
More information on the Security Expert Group can be found in the
56-
[Documentation of the Security Group](security.md).
56+
[Documentation of the Security Group](../../SECURITY.md).
5757

5858
### Privacy Expert Group
5959
The Privacy Expert Group provides specialized expertise to help solve specific data privacy problems as well as assist with general data privacy-related issues. The group can be reached directly via email at privacy@lists.ilias.de.

docs/development/security.md

Lines changed: 0 additions & 141 deletions
This file was deleted.

0 commit comments

Comments
 (0)