Skip to content
This repository was archived by the owner on Aug 6, 2021. It is now read-only.

Commit e23e217

Browse files
author
Michael Schams
committed
[TASK] Document Clickjacking attack scenario and defense
This patch adds two sections to the Security Guide which explain the Clickjacking attack scenario and the defense against it in the FE by sending X-Frame-Options in the HTTP header. We also mention that this header is sent in the backend by default. One section in chapter "Guidelines for system administrators" (web server configuration example) and another section in chapter "Guidelines for integrators". Resolves: #57144 Related: #54201 Reviewed-by: Helmut Hummel
1 parent 1e5f0b2 commit e23e217

File tree

2 files changed

+59
-1
lines changed
  • Documentation

2 files changed

+59
-1
lines changed

Documentation/GuidelinesAdministrators/FurtherActions/Index.rst

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@
1111
Further actions
1212
^^^^^^^^^^^^^^^
1313

14+
Hosting environment
15+
"""""""""""""""""""
16+
1417
A system administrator is usually responsible for the entirety of an
1518
IT infrastructure. This includes several services (e.g. web server,
1619
mail server, database server, SSH, FTP, DNS, etc.) on one or on
@@ -25,6 +28,9 @@ database server, DNS server, IMAP/POP3 server, etc.). In short words:
2528
keep your hosting environment as slim as possible for performance and
2629
security purposes.
2730

31+
Security-related PHP settings
32+
"""""""""""""""""""""""""""""
33+
2834
Due to the fact that TYPO3 is a PHP application, secure PHP settings
2935
are also important, of course. The myth, that the well-known "Safe
3036
Mode" gives you the full-protection should be busted today. Depending
@@ -43,14 +49,51 @@ front of the TYPO3 server) may have an impact on the retrieval of the
4349
TYPO3 extension list, which allows you to check if extension updates
4450
are available!
4551

52+
Events in log files
53+
"""""""""""""""""""
54+
4655
Login attempts to the TYPO3 backend, which are unsuccessful, result in
4756
a server response to the client with HTTP code 401 ("Unauthorized").
4857
Due to the fact that this incident is logged in the web server's
4958
error log file, it can be handled by external tools, such as
5059
`fail2ban <http://www.fail2ban.org>`_.
5160

61+
62+
.. _administrators-furtheractions-clickjacking:
63+
64+
Defending against Clickjacking
65+
""""""""""""""""""""""""""""""
66+
67+
Clickjacking, also knows as *user interface (UI) redress attack* or
68+
*UI redressing*, is an attack scenario where an attacker tricks a web
69+
user into clicking on a button or following a link different from what
70+
the user believes he/she is clicking on. This attack can be typically
71+
achieved by a combination of stylesheets and iframes, where multiple
72+
transparent or opaque layers manipulate the visual appearance of a HTML
73+
page.
74+
75+
To protect the backend of TYPO3 CMS against this attack vector, a HTTP
76+
header *X-Frame-Options* is sent, which prevents embedding backend pages
77+
in an iframe on domains different than the one used to access the
78+
backend. The X-Frame-Options header has been officially standardized as
79+
`RFC 7034 <http://tools.ietf.org/html/rfc7034>`_.
80+
81+
System administrators should consider enabling this feature at the
82+
frontend of the TYPO3 website, too. A configuration of the Apache
83+
web server would typically look like the following::
84+
85+
<IfModule mod_headers.c>
86+
Header always append X-Frame-Options SAMEORIGIN
87+
</IfModule>
88+
89+
The option *SAMEORIGIN* means, that the page can only be displayed in
90+
a frame on the same origin as the page itself. Other options are *DENY*
91+
(page cannot be displayed in a frame, regardless of the site attempting
92+
to do so) and *ALLOW-FROM [uri]* (page can only be displayed in a frame
93+
on the specified origin).
94+
95+
|
5296
Please understand that detailed descriptions of further actions on a
5397
server-level and specific PHP security settings are out of scope of
5498
this document. The TYPO3 Security Guide focuses on security aspects of
5599
TYPO3.
56-

Documentation/GuidelinesIntegrators/Typoscript/Index.rst

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,3 +139,18 @@ system or to place malicious code (e.g. XSS) in the output of the
139139
pages generated by the CMS. This attack scenario even does not require
140140
access to the TYPO3 backend.
141141

142+
Clickjacking
143+
""""""""""""
144+
145+
Clickjacking is an attack scenario where an attacker tricks a web
146+
user into clicking on a button or following a link different from what
147+
the user believes he/she is clicking on. Please see
148+
:ref:`administrators-furtheractions-clickjacking` for further details.
149+
It may be beneficial to include a HTTP header *X-Frame-Options* on
150+
frontend pages to protect the TYPO3 website against this attack vector.
151+
Please consult with your system administrator about pros and cons of
152+
this configuration.
153+
154+
The following TypoScript adds the appropriate line to the HTTP header::
155+
156+
config.additionalHeaders = X-Frame-Options: SAMEORIGIN

0 commit comments

Comments
 (0)