Skip to content

Commit 18f3ee1

Browse files
[TASK] Update File integrity Security Guidelines (#5631)
* [TASK] Update File integrity Security Guidelines Releases: main, 13.4. 12.4 * [TASK] Update File integrity Security Guidelines Releases: main, 13.4. 12.4 * [TASK] Language checks Releases: main --------- Co-authored-by: Sarah McCarthy <[email protected]>
1 parent 119052b commit 18f3ee1

File tree

2 files changed

+77
-63
lines changed

2 files changed

+77
-63
lines changed
Lines changed: 47 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,49 @@
1-
.. include:: /Includes.rst.txt
2-
.. index::
3-
Security guidelines; Checksums
4-
Security guidelines; Package integrity
5-
.. _security-integrity-packages:
6-
7-
===========================
8-
Integrity of TYPO3 Packages
9-
===========================
10-
11-
In order to ensure that the downloaded TYPO3 package is an official
12-
package released by the TYPO3 developers, compare the `SHA2-256` checksum of
13-
the downloaded package with the checksum stated on the TYPO3 website,
14-
before you extract/install TYPO3. You find the `SHA2-256` checksums on
1+
:navigation-title: Code Integrity
2+
3+
.. include:: /Includes.rst.txt
4+
.. _security-integrity-packages:
5+
6+
===============================
7+
Verify integrity of TYPO3 code
8+
===============================
9+
10+
Ensuring that the TYPO3 source code has not been tampered with is very important
11+
for security reasons. TYPO3 can either be installed via Composer or by downloading
12+
a prebuilt package. Each method requires different integrity checks.
13+
14+
.. _security-integrity-packages-composer:
15+
16+
Composer-based installations
17+
============================
18+
19+
When using Composer, TYPO3 and its dependencies are downloaded directly by
20+
Composer from trusted sources such as `packagist.org` and `packages.typo3.org`.
21+
22+
To ensure source integrity:
23+
24+
- Use official TYPO3 packages (for example :composer:`typo3/cms-base-distribution`)
25+
- Commit the :file:`composer.lock` file to track versions and sources
26+
- Keep Composer and your system's trusted certificate store (CA certificates)
27+
up to date to ensure secure HTTPS connections when downloading packages.
28+
29+
Composer ensures a secure and verifiable dependency management workflow. It is
30+
recommended to run Composer locally or in a
31+
`CI pipeline <https://docs.typo3.org/permalink/t3coreapi:ci-cd-for-typo3-projects>`_,
32+
and `deploy <https://docs.typo3.org/permalink/t3coreapi:deployment>`_ only the
33+
prepared files - including the :directory:`vendor/` directory -
34+
to the production environment.
35+
36+
.. _security-integrity-packages-classic:
37+
38+
Classic (non-Composer) installations
39+
====================================
40+
41+
If installing TYPO3 via a downloaded archive (ZIP, tar.gz), verify the
42+
SHA2-256 checksum before extracting. Only download from the official site:
1543
`get.typo3.org <https://get.typo3.org>`_.
1644

17-
Be careful when using pre-installed or pre-configured packages by
18-
other vendors: due to the nature and complexity of TYPO3 the system
19-
requires configuration. Some vendors offer download-able packages,
20-
sometimes including components such as Apache, MySQL, PHP and TYPO3,
21-
easy to extract and ready to launch. This is a comfortable way to set
22-
up a test or development environment very quickly but it is difficult
23-
to verify the integrity of the components – for example the integrity
24-
of TYPO3.
25-
26-
A similar thing applies to web environments offered by hosting
27-
companies: system images sometimes include a bunch of software
28-
packages, including a CMS. It depends on the specific project and if
29-
you can trust the provider of these pre-installed images, systems,
30-
packages – but if you are in doubt, use the official TYPO3 packages
31-
only. For a production site in particular, you should trust the source
32-
code published at `get.typo3.org <https://get.typo3.org>`_ only.
45+
For details, see: `TYPO3 release integrity
46+
<https://docs.typo3.org/permalink/t3coreapi:release-integrity>`_
47+
48+
Avoid vendor-provided or pre-installed packages unless you fully trust their
49+
source.
Lines changed: 30 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,33 @@
1+
:navigation-title: Insecure Uploads
2+
13
.. include:: /Includes.rst.txt
24
.. _security-other-services:
35

4-
==============
5-
Other Services
6-
==============
7-
8-
System administrators should keep in mind that every "untrusted"
9-
script (e.g. PHP, perl, python script) or executable file inside the
10-
web server's document root is a security risk. By a correct and secure
11-
configuration, the internal security mechanisms of TYPO3 ensure that
12-
the CMS does not allow editors and other unprivileged users to place
13-
such code through the system (see chapter :ref:`Global TYPO3 configuration options
14-
<security-global-typo3-options>`).
15-
16-
However, it is often seen that other services like `FTP`, `SFTP`, `SSH`,
17-
`WebDAV`, etc. are enabled to allow users (for example editors) to place
18-
files such as images, documents, etc. on the server, typically in the
19-
:file:`fileadmin/` folder. It is out of question that this might be seen as
20-
a convenient way to upload files and file transfers via `FTP` are
21-
simpler and faster to do. The main problem with this is that to enable
22-
"other services" with write access to the document root directory,
23-
bypasses the security measures mentioned above. A malicious PHP script
24-
for example could manipulate or destroy other files – maybe TYPO3 Core
25-
files. Sometimes access details of editors are stolen, intercepted or
26-
accidentally fallen into the wrong hands.
27-
28-
The only recommendation from a security perspective is to abandon any
29-
service like `FTP`, `SFTP`, etc. which allows to upload files to the
30-
server by bypassing TYPO3.
31-
32-
The TYPO3 Security Team and other IT security experts advance the view
33-
that **FTP is classified as insecure** in general. They have experienced
34-
that many websites have been hacked by a compromised client and/or unencrypted
35-
`FTP` connections and as a consequence, it strongly is advised that `FTP`
36-
must not be used at all.
6+
===========================
7+
Avoid insecure file uploads
8+
===========================
9+
10+
Uploading untrusted scripts (e.g. PHP, Perl, Python) or executables into the
11+
web root is a major security risk. TYPO3 prevents this via backend restrictions
12+
(see :ref:`Global TYPO3 configuration options <security-global-typo3-options>`).
13+
14+
These safeguards are bypassed if services like :abbr:`FTP (File Transfer Protocol)`,
15+
:abbr:`SFTP (SSH File Transfer Protocol)`, :abbr:`SSH (Secure Shell)`, or
16+
:abbr:`WebDAV (Web Distributed Authoring and Versioning)` allow direct file
17+
uploads—commonly into :file:`fileadmin/`.
18+
19+
Such access can lead to:
20+
21+
- Upload of malicious scripts
22+
- TYPO3 Core files being overwritten
23+
- Abuse via leaked credentials
24+
25+
Recommended actions:
26+
27+
- **Disable FTP/SFTP/SSH access** to the document root for users.
28+
- **Use the TYPO3 backend** for file uploads.
29+
- **Enforce secure upload policies** in the TYPO3 file storage configuration.
30+
31+
.. warning::
32+
The TYPO3 Security Team considers FTP to be insecure due to the lack of encryption.
33+
**Do not use FTP under any circumstances.**

0 commit comments

Comments
 (0)