Skip to content

Vorbereitung auf den Web-PenTest

16. Mai 2023

Ein Penetrationstest im Webbereich ist von großer Bedeutung, um die Sicherheit von Webanwendungen und Webdiensten zu verbessern. Es unterstützt Organisationen dabei, Compliance-Anforderungen zu erfüllen und sowohl Kundendaten als auch geschäftliche Informationen zu schützen. Aufgrund unserer langjährigen Erfahrung haben wir festgestellt, dass bestimmte Schwachstellen in unseren Tests häufig auftreten und leicht behoben werden können. Mit unserer Checkliste möchten wir Ihnen helfen, diese Schwachstellen frühzeitig zu erkennen und zu beheben, um die Sicherheit Ihrer Webanwendungen und Webdienste deutlich zu erhöhen.

Dieser Artikel ist in einer Checklistenstruktur aufgebaut, die es Ihnen ermöglicht, einen groben Überblick über leicht überprüfbare Schwachstellen zu erhalten. Die folgenden Kapitel widmen sich den Analysemöglichkeiten sowie detaillierten Beschreibungen, Auswirkungen und Empfehlungen zu jeder einzelnen Schwachstelle.

Unsichere SSL/TLS-Konfiguration

Eine schwache SSL/TLS-Konfiguration kann es einem Angreifer ermöglichen, sensible Daten abzufangen oder unautorisierte Aktionen durchzuführen. Die folgenden Schwachstellen wurden im Rahmen unseres Audits der SSL/TLS-Konfigurationen identifiziert. Die aufgelisteten IT-Systeme dienen als Beispiel dafür, dass eine Schwachstelle im internen Netzwerk vorhanden ist. Es werden ggf. nicht alle Systeme genannt, die für eine Schwachstelle in Ihrem Netzwerk anfällig sind.

SSLv2/SSLv3: Alle SSL-Protokollversionen gelten mittlerweile als veraltet, gebrochen und unsicher. Die Protokollversionen SSLv2 und SSLv3 können es einem Angreifer ermöglichen, den verschlüsselten Kommunikationskanal zu brechen und sensitive Daten auszulesen. Gegebenenfalls ist ebenfalls eine Modifizierung der übertragenen Daten möglich.

TLSv1.0/TLSv1.1: Die TLS-Protokollversionen TLSv1.0 und TLS1.1 gelten als obsolet und wurden durch die Protokollversionen TLSv1.2 und TLSv1.3 ersetzt. Weiterhin werden diese veralteten TLS-Protokollversionen nicht mehr von modernen Browsern unterstützt und begünstigen gewisse Angriffe wie z.B. BEAST.

Heartbleed (CVE-2014-0160): Heartbleed ist ein kritischer Sicherheitsfehler in der OpenSSL-Bibliothek, die häufig für die Verschlüsselung von SSL/TLS-Verbindungen verwendet wird. Der Fehler ermöglicht es Angreifern, private Schlüssel, geheime Daten und Passwörter aus dem Hauptspeicher eines betroffenen Systems zu extrahieren. Da die Daten direkt aus dem Speicher extrahiert werden, sind sie nicht durch Protokoll- oder Anwendungslogs zu erkennen und können leicht weiterverwendet werden. Heartbleed kann ohne jeglichen Nachweis ausgeführt werden und betrifft eine große Anzahl an Webservern, Netzwerken und Systemen weltweit.

RC4 (CVE-2013-2566, CVE-2015-2808): Alle Versionen von SSL und TLS unter Verwendung von Chiffren, welche die RC4-Verschlüsselung einsetzen, sind anfällig für MitM (Man-in-the-Middle) Angriffe[1]. Es ist erwiesen, dass es möglich ist, begrenzte Mengen an Klartext, der über eine RC4-verschlüsselte TLS-Verbindung übertragen wird, wiederherzustellen.

WinShock (CVE-2014-6321): WinShock ist ein kritischer Sicherheitsfehler, der die Implementierung von SSL/TLS in Microsoft Windows-Systemen betrifft. Der Angriff ermöglicht es einem Angreifer, eine Schwachstelle in der Handhabung von TLS-Erweiterungen auszunutzen, um eine sichere SSL/TLS-Verbindung aufzubrechen und vertrauliche Informationen wie Passwörter oder vertrauliche Daten zu erlangen. Die Auswirkungen von WinShock sind weitreichend, da die betroffene Software auf vielen Windows-Systemen weit verbreitet ist und daher eine große Anzahl von Benutzern betroffen sein kann. Es ist wichtig, dass Windows-Systeme so schnell wie möglich gegen WinShock geschützt werden, um Datensicherheit und -vertraulichkeit zu gewährleisten.

CRIME (CVE-2012-4929): CRIME steht für „Compression Ratio Info-leak Made Easy“ und bezieht sich auf einen Angriff auf SSL/TLS-Kompressionsfunktionen. CRIME nutzt die Art und Weise, wie Daten über eine SSL/TLS-Verbindung komprimiert werden, um sensitive Daten wie Passwörter und Cookies auszuspähen. Da viele Anwendungen auf SSL/TLS-Kompression angewiesen sind, um die Übertragungsgeschwindigkeit zu verbessern, ist CRIME ein kritischer Sicherheitsfehler, der Datenvertraulichkeit und -integrität beeinträchtigen kann. CRIME kann auf einer Vielzahl von Anwendungen und Systemen ausgeführt werden, die SSL/TLS-Kompression unterstützen.

POODLE (CVE-2014-3566): POODLE steht für „Padding Oracle On Downgraded Legacy Encryption“ und bezieht sich auf einen Angriff auf das SSLv3-Protokoll. POODLE ermöglicht es Angreifern, den Inhalt von verschlüsselten SSLv3-Verbindungen zu erkennen und auszulesen. Da viele Systeme, einschließlich moderner Webbrowser, darauf programmiert sind, zu älteren, unsicheren Protokollen zurückzufallen, wenn sie mit einem schwächeren System kommunizieren müssen, kann POODLE auf vielen Systemen ausgeführt werden. POODLE beeinträchtigt die Vertraulichkeit von Daten, die über eine unsichere SSLv3-Verbindung übertragen werden. Ein erfolgreicher Angriff kann dazu führen, dass sensitive Daten aus dem verschlüsselten Kommunikationskanal wiederhergestellt werden können. Dies beeinträchtigt die Vertraulichkeit von Daten.

DROWN (CVE-2016-0800): DROWN steht für „Decrypting RSA with Obsolete and Weakened Encryption“ und ist ein protokollübergreifender Sicherheitsfehler, der Server angreift, die moderne SSLv3 sowie TLS-Protokoll-Suiten unterstützen. Der Angriff missbraucht hierbei eine vorhandene Unterstützung für das veraltete, unsichere SSLv2-Protokoll, um einen Angriff auf Verbindungen zu starten, die aktuelle Protokolle verwenden und eigentlich sicher wären. Die Durchführung eines erfolgreichen Angriffs ermöglicht den verschlüsselten SSL/TLS-Kommunikationskanal aufzubrechen und sensitive Daten einzusehen. Dies kann die Vertraulichkeit von Daten beeinträchtigen. Der Angriff kann erfolgen, sobald SSLv2 unterstützt wird und betrifft auch moderne Protokollversionen wie TLSv1.2 oder TLSv1.3.

Secure Client Renegotiation (CVE-2011-1473): SSL/TLS Client-Neuaushandlungen ermöglichen es einem Client, neue Verschlüsselungsparameter für eine SSL/TLS-Verbindung innerhalb einer einzigen TCP-Verbindung neu auszuhandeln. Dies kann zum Beispiel erforderlich sein, um die Sicherheit der Verbindung anzupassen oder zu verbessern. Durch den höheren Rechenaufwand auf der Serverseite kann dies jedoch zu Denial-of-Service (DoS) Angriffen führen, welche die Verfügbarkeit der betroffenen Dienste einschränken kann.

Secure Renegotiation (CVE-2009-3555): Eine Designschwäche in TLS erlaubt es einem Angreifer, einen Klartext seiner Wahl in eine TLS-Sitzung eines Opfers zu injizieren. Ein Angreifer könnte hierdurch sensitive Informationen wie Authentifizierungstoken aus einer gesicherten Verbindung wiederherstellen.

LOGJAM (CVE-2015-4000): LOGJAM ist ein Downgrade-Angriff auf TLS, der es einem Angreifer ermöglicht, alle über eine verschlüsselte Verbindung übertragenen Daten zu lesen und zu verändern. Der Angriff betrifft Server, die DHE_EXPORT-Verschlüsselung unterstützen. Alternativ, wenn sogenannte Diffie-Hellmann (DH) „Common Primes“ kleiner 2048-bit zum Einsatz kommen.

Logjam Common Primes / Weak Diffie-Hellmann (DH): Der Einsatz eines schwachen Diffie-Hellmann (DH) Schlüssels mit nur 1024-bit kann es einem Angreifer erlauben, die Verschlüsselung durch eine Kryptanalyse zu brechen (je nach Modulusgröße und Ressourcen des Angreifers). Der Diffie-Hellman-Schlüsselaustausch mit Schlüsseln, die kleiner als 2048-bit sind, entsprechen nicht der PCI-Definition von starker Kryptografie, wie sie in der NIST Special Publication 800-57 festgelegt ist. Dies kann einem Angreifer ermöglichen, den Klartext wiederherzustellen oder möglicherweise die Integrität von Verbindungen zu verletzen.

ROBOT (Return Of Bleichenbacher’s Oracle Threat): ROBOT ist ein Angriff auf das RSA-Kryptosystem, das in vielen SSL/TLS-Implementierungen verwendet wird. Der Angriff nutzt eine Schwachstelle im sogenannten Padding-Verfahren, das in RSA-basierten Verschlüsselungsverfahren verwendet wird. Ein erfolgreicher ROBOT-Angriff kann es einem Angreifer ermöglichen, die Inhalte verschlüsselter SSL/TLS-Nachrichten auszuspähen und geheime Informationen wie Passwörter oder Cookies zu erlangen. Die Durchführung eines ROBOT-Angriffs erfordert jedoch eine signifikante Menge an Rechenleistung und kann daher für einen Angreifer schwierig sein. Trotzdem ist ROBOT ein kritischer Sicherheitsfehler, der in vielen SSL/TLS-Implementierungen auftreten kann und daher dringend behoben werden sollte.

Ticketbleed (CVE-2016-9244): Ticketbleed ist ein Sicherheitsfehler in der Implementation von SSL/TLS-Session-Resuming-Funktionen, die von vielen Websites und Anwendungen genutzt werden, um die Übertragungsgeschwindigkeit von SSL/TLS-Verbindungen zu verbessern. Der Fehler ermöglicht es einem Angreifer, Teile des Arbeitsspeichers des betroffenen Servers auszulesen, einschließlich sensibler Informationen wie Passwörter und Cookies. Da SSL/TLS-Session-Resuming eine weit verbreitete Funktionalität ist, kann Ticketbleed eine große Anzahl von Systemen und Anwendungen betreffen. Ein erfolgreicher Ticketbleed-Angriff kann die Integrität und Vertraulichkeit von Daten beeinträchtigen.

FREAK (CVE-2015-0204): FREAK steht für „Factoring Attack on RSA-EXPORT Keys“ und bezieht sich auf einen Angriff auf die RSA-Schlüsselaustauschverfahren in SSL/TLS-Protokollen. FREAK nutzt schwache RSA-Schlüssel (<= 512-bit), die für den Export in ältere Systeme mit beschränkter Kryptografie erstellt wurden, um eine Verbindung zu übernehmen und den Inhalt von verschlüsselten SSL/TLS-Verbindungen zu erkennen und auszulesen.  Da viele Systeme darauf programmiert sind, auf schwächere RSA-Schlüssel zurückzufallen, wenn sie mit einem älteren System kommunizieren müssen, kann FREAK auf vielen Systemen ausgeführt werden. FREAK beeinträchtigt die Vertraulichkeit von Daten, die über eine SSL/TLS-Verbindung übertragen werden.

CCS (CVE-2014-0224): CCS steht für „ChangeCipherSpec“-Angriff und bezieht sich auf eine Schwachstelle in der Implementierung von SSL/TLS-Protokollen. Durch eine fehlerhafte Handhabung des „ChangeCipherSpec“-Nachrichtentyps, der in SSL/TLS-Protokollen verwendet wird, kann ein Angreifer die Vertraulichkeit von Daten beeinträchtigen, die über eine SSL/TLS-Verbindung übertragen werden. Ein erfolgreicher CCS-Angriff kann es einem Angreifer ermöglichen, den Inhalt von verschlüsselten Nachrichten auszuspähen und geheime Informationen wie Passwörter oder Cookies zu erlangen. CCS ist ein kritischer Sicherheitsfehler, der in einer Vielzahl von SSL/TLS-Implementierungen auftreten kann.

TLS Fallback SCSV (RFC 7507): Hierbei handelt es sich um eine Sicherheitsmaßnahme, um sicherzustellen, dass ein Client, der eine Verbindung mit einem Server aufbauen möchte, nicht auf eine schwächere Verschlüsselungsstufe oder Protokollversion zurückgefällt (Downgrading). Dies verhindert Man-in-the-Middle (MitM) Angriffe, bei denen ein Angreifer versucht, die Verbindung auf eine schwächere oder sogar unsichere Kommunikation von SSL/TLS umzuleiten.

BREACH (CVE-2013-3587): Eine Schwäche in der Art und Weise, wie HTTP-Komprimierung (gzip oder deflate) verwendet wird, ermöglicht es Angreifern, sensible Daten wie Passwörter und Tokens aus einer gesicherten Verbindung abzufangen, indem sie große Mengen an verschlüsselten Daten analysieren. BREACH[2] basiert auf dem CRIME Exploit.

BEAST (CVE-2011-3389): BEAST (Browser Exploit Against SSL/TLS) nutzt Anfälligkeiten von CBC in TLS 1.0 aus. Es erlaubt einem Angreifer mit vorhergehendem MitM-Zugriff (Man-in-the-Middle), das SSL/TLS-geschützte HTTPS-Cookie eines Nutzers zu kompromittieren. Dies würde es einem Angreifer ermöglichen, die aktive HTTPS-geschützte Sitzung des Opfers zu stehlen oder den zuvor kryptographisch geschützten Netzwerkstrom abzuhören.

LUCKY13 (CVE-2013-0169): LUCKY13 ist ein Angriff auf die Timing-Sicherheit von CBC-Modus-Verschlüsselungsalgorithmen, die häufig bei SSL/TLS-Verbindungen verwendet werden. Dieser Angriff nutzt die Änderungen im Timing des Verschlüsselungsergebnisses aus, die durch den Einsatz von Padding-Informationen bei der Übertragung von Daten verursacht werden, um Informationen über den verschlüsselten Text zu gewinnen. Die Auswertung dieser Informationen kann es einem Angreifer ermöglichen, den Inhalt von verschlüsselten SSL/TLS-Kommunikationen zu erfassen. Um LUCKY13-Angriffe zu verhindern, sollten moderne Verschlüsselungsalgorithmen verwendet werden.

SWEET32 (CVE-2016-2183, CVE-2016-6329): SWEET32 ist eine Art von Geburtstagsangriff auf ältere Block-Cipher-Verschlüsselungsalgorithmen mit einer Blockgröße von 64 Bit, wie DES und 3DES. Diese Algorithmen sind bei langen Verbindungen anfällig für Bruteforce-Angriffe, bei denen ein Angreifer möglicherweise den gleichen Text mehrere Male verschlüsselt und den entschlüsselten Text mit einem bekannten Wert vergleicht, um den Schlüssel zu erraten. SWEET32 ist ein besonderes Problem für lange SSL/TLS-Verbindungen, bei denen ein Angreifer möglicherweise in der Lage ist, den gleichen Text über eine längere Zeit zu verschlüsseln und so den Schlüssel zu erraten. Um SWEET32-Angriffe zu verhindern, sollten moderne Verschlüsselungsalgorithmen mit längeren Blockgrößen verwendet werden, wie AES mit einer Blockgröße von 128 Bit oder mehr.

Null-Cipher: Null-Cipher sind eine Art von Verschlüsselungsalgorithmen, die keine Verschlüsselung bereitstellen. Diese Ciphers werden häufig bei SSL/TLS-Verbindungen verwendet, sind jedoch unsicher und sollten vermieden werden. Ein Angreifer, der in der Lage ist, eine Verbindung zu einem Server zu überwachen, der Null-Cipher verwendet, kann die gesamte Kommunikation mitlesen und vertrauliche Daten abfangen. Da Null-Cipher keine Verschlüsselung bereitstellen, sind sie in den meisten Fällen für moderne Sicherheitsanforderungen ungeeignet und sollten durch sicherere Ciphers ersetzt werden.

Anonymous Ciphers: Anonymous Ciphers sind eine Art von Verschlüsselungsalgorithmen, die keine Übertragung der Identität des Servers oder des Clients gewährleisten. Ein Angreifer, der in der Lage ist, eine Verbindung zu überwachen, kann sich zwischen die Kommunikation eines Clients und Servers schalten, wodurch ein erhöhtes Risiko für Man-in-the-Middle-Angriffe entsteht. Anonymous Ciphers sollten nur in besonderen Fällen verwendet werden und nur dann, wenn das erhöhte Sicherheitsrisiko akzeptabel ist. In den meisten Fällen sollten sicherere Ciphers verwendet werden, die sowohl Verschlüsselung als auch die Übertragung der Identität des Servers oder Clients gewährleisten.

Low Cipher Suites: Low Cipher Suites bezieht sich auf die Verwendung schwacher oder unsicherer Verschlüsselungsalgorithmen in SSL/TLS-Verbindungen wie 64-bit Chiffren oder 3DES/RC4. Diese Algorithmen sind häufig veraltet oder bekannt für ihre Schwachstellen und bieten keinen ausreichenden Schutz für sensitive Daten. Ein Angreifer kann leicht in der Lage sein, diese Verbindungen zu knacken und vertrauliche Daten einzusehen. Es ist daher wichtig, dass moderne und sichere Verschlüsselungsalgorithmen verwendet werden, um die Integrität und Vertraulichkeit von Daten in SSL/TLS-Verbindungen zu gewährleisten.

Weak Cipher Suites: Low Cipher Suites bezieht sich auf die Verwendung schwacher oder unsicherer Verschlüsselungsalgorithmen in SSL/TLS-Verbindungen wie 112-bit Chiffren oder 3DES/IDEA. Diese Algorithmen sind häufig veraltet oder bekannt für ihre Schwachstellen und bieten keinen ausreichenden Schutz für sensitive Daten. Ein Angreifer kann leicht in der Lage sein, diese Verbindungen zu knacken und vertrauliche Daten einzusehen. Es ist daher wichtig, dass moderne und sichere Verschlüsselungsalgorithmen verwendet werden, um die Integrität und Vertraulichkeit von Daten in SSL/TLS-Verbindungen zu gewährleisten.

[1] http://www.isg.rhul.ac.uk/tls/

[2] https://media.blackhat.com/us-13/US-13-Prado-SSL-Gone-in-30-seconds-A-BREACH-beyond-CRIME-Slides.pdf

Wir empfehlen die folgenden Einstellungen:

  • Nur starke TLS-Protokolle wie TLSv1.2 und TLSv1.3 unterstützen
  • Unterstützung für veraltete Protokolle wie TLSv1.0 und TLSv1.1 einstellen17
  • Unterstützung der unsicheren SSL-Protokollversionen SSLv2 und SSLv3 einstellen
  • 0-Kompression und HTTP-Kompression (gzip, deflate) deaktivieren
  • TLS Fallback SCSV unterstützen, um Downgrade-Angriffe zu verhindern
  • Forward Secrecy-Chiffren mittels DHE/ECDHE Algorithmus aktivieren, um Forward Secrecy in modernen Browsern zu unterstützen. Vorzugsweise moderne Chiffren (AES) und Modi (GCM) verwenden.
  • Nur starke kryptographische Verschlüsselungsverfahren unterstützen und Chiffren, welche veraltete oder sogar unsichere Algorithmen wie DES, 3DES, RC2, RC4, MD4 oder MD5 verwenden, deaktivieren.
  • Unterstützung für obsolete CBC-Chiffren einstellen, falls möglich
  • Einsatz einer Diffie-Hellmann (DH) Gruppe mit einer Schlüssellänge >= 2048-bit. Deaktivieren Sie alternativ DH und verwenden Sie lediglich elliptische Kurven (ECDH).
  • Unterstützung von „Secure Renegotiations“ auf der Serverseite aktivieren und die Möglichkeit für clientbasierte SSL/TLS-Neuaushandlungen, genannt „Secure Client Renegotiations“, einstellen.
  • OpenSSL auf die neueste Version mit aktuellen Patches aktualisieren
  • Den HTTP Strict Transport Security (HSTS) Header[1] aktivieren, um die Verwendung von SSL/TLS in modernen Browsern zu erzwingen

[1] https://owasp.org/www-project-secure-headers/#http-strict-transport-security

  • https://ssl-config.mozilla.org/

Die Website enthält Empfehlungen und Anleitungen für die Konfiguration von SSL/TLS auf Webservern, um eine optimale Sicherheit und Kompatibilität zu gewährleisten. Die Konfigurationsempfehlungen basieren auf den Best Practices der Industrie und sind in verschiedene Kategorien wie Server- und Client-Protokolle, Schlüsselaustauschalgorithmen, Chiffren und Hash-Algorithmen unterteilt.

 

Folgende Tools und Möglichkeiten können Ihnen helfen, die Schwachstellen zu identifizieren:
  • Qualys SSL Server Audit

Qualys SSL Server Audit ist ein Tool, das verwendet wird, um die Sicherheit von SSL/TLS-Verschlüsselungsprotokollen auf Webservern zu bewerten und zu verbessern. Das Tool führt automatische Tests durch, um die Konfiguration des SSL/TLS-Protokolls zu bewerten und potenzielle Schwachstellen zu identifizieren, die von Angreifern ausgenutzt werden können.

Das Tool kann über Ihren Browser unter folgenden Link genutzt werden:

SSL Server Test (Powered by Qualys SSL Labs)

  • TestSSL

testssl ist ein Open-Source-Tool, das verwendet wird, um die Sicherheit von SSL/TLS-Verschlüsselungsprotokollen auf Webservern zu überprüfen. Das Tool führt automatische Tests durch, um die Konfiguration des SSL/TLS-Protokolls zu bewerten und potenzielle Schwachstellen zu identifizieren, die von Angreifern ausgenutzt werden können.

Ein Beispiel zu überprüfen Ihrer Seite:

				
					# Installation unter (Debian/Ubuntu) Linux:
sudo apt install testssl.sh 
# Nutzung
testssl <URL>
				
			

Sichere HTTP-Response-Header nicht gesetzt

Eine schwache SSL/TLS-Konfiguration kann es einem Angreifer ermöglichen, sensible Daten abzufangen oder unautorisierte Aktionen durchzuführen. Die folgenden Schwachstellen wurden im Rahmen unseres Audits der SSL/TLS-Konfigurationen identifiziert. Die aufgelisteten IT-Systeme dienen als Beispiel dafür, dass eine Schwachstelle im internen Netzwerk vorhanden ist. Es werden ggf. nicht alle Systeme genannt, die für eine Schwachstelle in Ihrem Netzwerk anfällig sind.

Bemerkung:

  • Der „X-XSS-Protection“ Header gilt als obsolet und veraltet. Er bietet keinen ausreichenden Schutz vor XSS-Angriffen und kann bei gewissen Umständen XSS-Angriffe sogar begünstigen. Wir empfehlen den Header restlos zu entfernen.
  • Der „Permissions-Policy“ Header hieß ursprünglich „Feature-Policy“ und benötigt seit der Umbenennung eine neue Konfiguration. Der veraltete „Feature-Policy“ Header kann als Fallback für ältere Browser weiterhin angeboten werden, ist jedoch optional. 

Fehlende Response-Header sind keine direkte Schwachstelle. Sie können jedoch die allgemeine Sicherheit einer Webanwendung verbessern und sollten implementiert werden.

HTTP Strict Transport Security (HSTS): Der HSTS-Header kann Angriffe wie Man-in-the-Middle (MitM), Protokoll-Herabstufung und Cookie-Diebstahl verhindern.

X-Frame-Options (XFO): Der XFO-Header kann Angriffe wie Clickjacking verhindern, in dem die Einbindung von Webseitenressourcen auf fremden Domänen unterbunden wird.

X-Content-Type-Options (XTO): Der XTO-Header verhindert, dass der Browser Dateien oder Serverantworten als etwas anderes interpretiert als im Inhaltstyp des Headers angegeben.

Referrer-Policy: Dieser HTTP-Header ermöglicht es einer Webanwendung zu kontrollieren, wie viele Informationen der Browser bei der Navigation außerhalb der Website teilt.

Content-Security-Policy (CSP): Der CSP-Header schränkt den Browser beim Laden von externen Inhalten ein. Der Header ermöglicht es zu definieren, von welchen Quellen ein Browser eine Ressource laden darf (z.B. JavaScript, Fonts, Styles).

Permissions-Policy: Der Permissions-Policy Header wurde entwickelt, um Webseitenbetreibern und Entwicklern die Möglichkeit zu geben, Features auf Webseiten einzuschränken. Somit können bestimmte Features für spezifizierte Quellen zugelassen oder verboten werden. Der Header hieß ursprünglich „Feature-Policy“, wurde jedoch umbenannt und bedarf einer neuen Konfiguration. Als Fallback für ältere Browser können beide HTTP-Header simultan eingesetzt werden. Der neuere Permissions-Policy Header wird jedoch empfohlen.

Um die Sicherheit der Webanwendung zu verbessern, empfehlen wir bewährte Sicherheitspraktiken zu befolgen und die oben genannten Response-Header zu implementieren.

Testen Sie anschließend Ihre Konfiguration unter der Verwendung des folgenden Online-Tools:

  • https://securityheaders.com

Apache

Bearbeiten Sie Ihre Virtual-Host Konfigurationsdatei und fügen Sie die folgenden Inhalte hinzu:

#### Security headers

# HTTP Strict Transport Security (HSTS)

Header always set Strict-Transport-Security "max-age=31536000; includeSubdomains"

# X-Frame-Options

Header always set X-Frame-Options "SAMEORIGIN"

# X-Content-Type-Options

Header always set X-Content-Type-Options: nosniff

 

# TO BE ADJUSTED TO THE ENVIRONMENT – DO NOT JUST COPY & PASTE

# Referrer-Policy

Header always set Referrer-Policy "no-referrer"

# Content-Security-Policy

Header always set Content-Security-Policy "default-src 'self'"

# Permissions-Policy
Header always set Permissions-Policy "accelerometer=(), ambient-light-sensor=(), autoplay=(), camera=(), display-capture=(), document-domain=(), encrypted-media=(), fullscreen=(), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), midi=(), payment=(), picture-in-picture=(), speaker=(), sync-xhr=(), usb=(), vibrate=(), vr=()"

nginx

Bearbeiten Sie Ihre Konfigurationsdatei „nginx.conf“ und fügen Sie die folgenden Inhalte hinzu:

#### Security headers

# HTTP Strict Transport Security (HSTS)

add_header Strict-Transport-Security "max-age=31536000; includeSubdomains"

# X-Frame-Options

add_header X-Frame-Options SAMEORIGIN;

# X-Content-Type-Options

add_header X-Content-Type-Options "nosniff";




# TO BE ADJUSTED TO THE ENVIRONMENT – DO NOT JUST COPY & PASTE

# Referrer-Policy

add_header Referrer-Policy "no-referrer";

# Content-Security-Policy

add_header Content-Security-Policy "default-src 'self'";

# Permissions-Policy

add_header Permissions-Policy "accelerometer=(), ambient-light-sensor=(), autoplay=(), camera=(), display-capture=(), document-domain=(), encrypted-media=(), fullscreen=(), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), midi=(), payment=(), picture-in-picture=(), speaker=(), sync-xhr=(), usb=(), vibrate=(), vr=()";

Internet Information Services (IIS)

Folgende Tools und Möglichkeiten können Ihnen helfen, die Schwachstellen zu identifizieren:
  • securityheaders.com

“securityheaders.com” ist eine Website, die es ermöglicht, die Sicherheitskonfiguration von Webservern zu überprüfen und zu verbessern. Die Website bietet ein kostenloses Tool, welches automatisch die HTTP-Antworten von Webservern analysiert und eine Bewertung der Sicherheitsheader liefert, die der Server sendet. Die Bewertung basiert auf Industriestandards.

Analyse your HTTP response headers (securityheaders.com)

Verfügbare Dienste auf Netzwerkebene (Port-Scan)

Während unserer Tests identifizieren und analysieren wir die verfügbaren Netzwerkdienste aller Systeme im Prüfumfang. Öffentlich erreichbare Dienste stellen eine Plattform für Angriffe dar, sollten sie Schwachstellen beinhalten oder Angreifern ungewollt zur Verfügung stehen (z.B. fehlerhaft konfigurierte Firewall erlaubt Zugriff auf interne Anwendung mit sensitiven Daten).

Sollte ein unnötig oder ungewollt laufender Dienst von einem Angreifer erreicht werden können, der eine ausnutzbare Schwachstelle besitzt, so kann dies zum Verlust der Vertraulichkeit, Integrität und Verfügbarkeit von Daten, die von dem Dienst angeboten bzw. verarbeitet werden, führen.

Wir empfehlen lediglich benötigte Dienste öffentlich anzubieten. Dienste, die für den Geschäftszweck nicht benötigt werden, sollten geschlossen werden oder über einen separaten Kanal wie VPN zugänglich sein. Weiterhin ist es möglich, Dienste lediglich auf dem Host selbst bereitzustellen, indem der Dienst auf localhost oder der IP-Adresse „127.0.0.1“ betrieben wird.

Letztlich empfehlen wir die Notwendigkeit der von uns identifizierten Dienste und Ports erneut zu eruieren. Sollten Netzwerkdienste nicht benötigt werden, so empfehlen wir diese zu schließen bzw. von der öffentlichen IT-Infrastruktur zu entfernen (z.B. über Firewall-Rules oder der oben beschriebenen Möglichkeiten).

Folgende Tools und Möglichkeiten können Ihnen helfen, die Schwachstellen zu identifizieren:
  • nmap

“Nmap” (Network Mapper) ist ein Open-Source-Tool, das zur Netzwerk-Exploration und -Sicherheitsüberwachung verwendet wird. Das Tool scannt Netzwerke nach offenen Ports und Diensten, identifiziert Hosts und Betriebssysteme und ermittelt Schwachstellen in der Netzwerk-Konfiguration.

Mögliche Syntax:

 

Die Pentest Factory hat das Tool “nmap-bootstrap-xsl” angepasst, sodass die Ergebnisse des nmap-Scans nun in einer grafischen Auswertung dargestellt werden könne.

				
					nmap -sS -Pn --stylesheet https://raw.githubusercontent.com/Haxxnet/nmap-bootstrap-xsl/main/nmap-bootstrap.xsl <url>
				
			
This site is registered on wpml.org as a development site. Switch to a production site key to remove this banner.