SCW-Symbole
Held-Hintergrund ohne Trennlinie
Blog

코드 시리즈로 보안 인프라를 정복한 코더: 불충분한 전송 계층 보호

Matias Madou, Ph.D.
Veröffentlicht Jun 01, 2020
Zuletzt aktualisiert am 09. März 2026

Wenn Sie ein Entwickler sind, der mehr über die Schritte erfahren möchte, die Sie unternehmen können, um mit der Bereitstellung einer sicheren Infrastruktur als Code (IaC) in Ihrem Unternehmen zu beginnen, dann sind Sie hier genau richtig. Dies ist das nächste Kapitel unserer IaC-Reihe, das Sie in die Best Practices für IaC-Sicherheit einführen soll.

Bevor wir beginnen, wie sind Sie mit der Herausforderung aus der letzten Folge zurechtgekommen? Wenn Sie die unsichere Kryptografie beherrschen, lassen Sie uns sehen, wie Sie mit dem unzureichenden Schutz der Transportschicht zurechtkommen, bevor wir uns den Details widmen:

Möchten Sie mehr erfahren und eine perfekte Punktzahl erreichen? Lesen Sie weiter:

In unserem letzten Artikel haben wir darüber gesprochen, wie wichtig eine sichere Verschlüsselung ist, um alle wichtigen oder persönlichen Daten zu schützen, die von Anwendungen und Programmen gespeichert werden. Wenn Sie über eine starke Verschlüsselung verfügen, fungiert sie als perfekte letzte Verteidigungslinie. Selbst wenn ein Angreifer in der Lage ist, diese Daten zu stehlen, sind die in diesen Dateien gespeicherten Informationen geschützt, wenn sie stark verschlüsselt sind.

Der Schutz von Daten im Ruhezustand ist jedoch nur ein Teil einer vollständigen Datenverteidigung. Wann immer gültige Benutzer auf geschützte Daten zugreifen müssen, müssen diese an sie gesendet werden. Gelegentlich werden Anwendungen auch Daten mit anderen Programmen als Teil einer Gesamtarbeitslast austauschen. Wenn die Transportschicht nicht geschützt ist, ist sie sowohl für das Ausspähen von außen als auch für unautorisierte interne Zugriffe anfällig. Daher kann ein unzureichender Schutz der Transportschicht zu ernsthaften Problemen führen.

Es ist ein weit verbreitetes Problem. Die Sicherheitsorganisation OWASP unterhält sogar eine ganze Seite über unzureichenden Transportschichtschutz.

Warum ist ein unzureichender Schutz der Transportschicht gefährlich?

Wenn Sie Ihre Transportschichten nicht ausreichend schützen, ist es für geschickte Hacker relativ einfach, Informationen, die zwischen Ihren Benutzern und Ihren Anwendungen fließen, mit Techniken wie Man-in-the-Middle-Angriffen abzufangen. Der wahrscheinlich gefährlichste Aspekt dieser Art von Schnüffelei ist, dass sie für interne Cybersicherheitsplattformen oder Scans fast völlig unsichtbar ist, da sie außerhalb Ihres Netzwerks und Ihrer Kontrolle stattfindet.

Zum Beispiel in einer Docker-Umgebung, in der ein Nginx-Dienst bereitgestellt wird:

services:
nginx:
image: localhost:5000/scw_nginx
build: ./nginx
secrets:
- nginx_cert
- nginx_key
volumes:
- type: bind
source: ./nginx/nginx.conf
target: /etc/nginx/nginx.conf
read_only: yes
ports:
- 80:8443
networks:
- frontend
deploy:
restart_policy: *default-restart_policy
resources: *default-resources_policy

Die Nginx-Dienstkonfiguration verschlüsselt oder schützt die Verbindung nicht, wodurch alle über die Verbindung ausgetauschten Informationen anfällig für eine Vielzahl von Angriffen oder Schnüffeleien sind.

server {
       server_name scw-dev-blog.org;
       listen 8443;
       ssl_protocols TLSv1.2 TLSv1.3;
       ssl_ciphers EECDH+AESGCM:EDH+AESGCM;
       ssl_prefer_server_ciphers on;
       ssl_certificate /run/secrets/nginx_cert;
       ssl_certificate_key /run/secrets/nginx_key;
       access_log /dev/stdout;
       error_log /dev/stderr;
       location / {
           proxy_pass http://wordpress:8080;
           proxy_set_header Host $http_host;
           proxy_set_header X-Forwarded-Host $http_host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_set_header X-Forwarded-Proto $scheme;
       }
   }

Oftmals ist das erste Signal, dass jemand in Ihren Transportschichten schnüffelt, wenn eine große Anzahl gestohlener Benutzerpasswörter in nachfolgenden Angriffen verwendet wird. Wenn andere Daten wie Kundeninformationen, Finanzdaten oder wichtige Firmengeheimnisse über eine unsichere Transportschicht gestohlen werden, merken Sie vielleicht nicht einmal, dass Sie kompromittiert wurden.

Und es ist nicht nur die Transportschicht zwischen Benutzern und Anwendungen, die geschützt werden muss. Am Backend kommunizieren viele Anwendungen untereinander und mit Servern, die weiter hinten in der Workflow-Kette stehen. Diese interne Kommunikation ist zwar in der Regel nicht anfällig für das Ausspähen von außen, kann aber Daten für Benutzer offenlegen, die zwar Zugang zum Netzwerk haben, aber nicht autorisiert sind, bestimmte streng geschützte oder sensible Informationen einzusehen.

Ordnungsgemäße Sicherung der Transportschichten für vollständigen Datenschutz

Der Schutz von Transportschichten wird am besten während der Erstellung von Anwendungen vorgenommen. Dieser Prozess beginnt damit, eine sichere Backend-Infrastruktur zu haben. Für Websites sollte alles über HTTPS erfolgen. Mischen Sie niemals HTTP- und HTTPS-Infrastruktur. Sie sollten Ihre Websites sogar so einstellen, dass ungesicherte HTTP-Anfragen automatisch an die HTTPS-Infrastruktur weitergeleitet werden.

In dem Beispiel von oben wäre eine korrekte Methode zum Schutz der Transportschicht folgende:

server {
       server_name scw-dev-blog.org;
       listen 8443 ssl;
       ssl_protocols TLSv1.2 TLSv1.3;
       ssl_ciphers EECDH+AESGCM:EDH+AESGCM;
       ssl_prefer_server_ciphers on;
       ssl_certificate /run/secrets/nginx_cert;
       ssl_certificate_key /run/secrets/nginx_key;
       access_log /dev/stdout;
       error_log /dev/stderr;
       location / {
           proxy_pass http://wordpress:8080;
           proxy_set_header Host $http_host;
           proxy_set_header X-Forwarded-Host $http_host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_set_header X-Forwarded-Proto $scheme;
       }
   }

In diesem Beispiel sind alle Verbindungen mit dem Nginx-Dienst stark verschlüsselt. Der Server-Abschnitt der Nginx-Konfiguration enthält nur listen 8443 ssl , um SSL zum Schutz der Verbindungen zu erzwingen.

Um Ihre Daten vor Insider-Bedrohungen zu schützen, sollten Entwickler ein starkes Transportschicht-Verschlüsselungsprotokoll wie TLS 1.2 verwenden. Sobald Sie TLS 1.2 oder ein gleichwertiges Protokoll einsetzen, sollten schwächere Protokolle wie SSL v2 vollständig aus Ihrer Infrastruktur entfernt und automatisch von der Verwendung ausgeschlossen werden.

Und denken Sie immer daran, dass die Absicherung einer Anwendung erst dann vollständig ist, wenn sowohl die Daten im Ruhezustand als auch die Transportschichten ausreichend geschützt sind. Auf diese Weise können Sie einen vollständigen Ende-zu-Ende-Schutz für Daten sowohl intern als auch bei der Weitergabe an autorisierte externe Benutzer gewährleisten.
Besuchen Sie die Secure Code Warrior Blog-Seiten, um mehr über diese Schwachstelle zu erfahren und zu erfahren, wie Sie Ihr Unternehmen und Ihre Kunden vor den Folgen anderer Sicherheitslücken schützen können. Sie können auch eine Demo der Schulungsplattform Secure Code Warrior ausprobieren, um alle Ihre Cybersecurity-Kenntnisse zu schärfen und auf dem neuesten Stand zu halten.

Ressourcen anzeigen
Ressourcen anzeigen

때때로 애플리케이션은 전체 워크로드의 일부로 다른 프로그램과 데이터를 공유하기도 합니다.전송 계층이 보호되지 않으면 외부 스누핑과 내부 무단 보기 모두에 취약해집니다.

Sind Sie an weiteren Informationen interessiert?

Matias Madou, Ph.D., ist Sicherheitsexperte, Forscher, CTO und Mitbegründer von Secure Code Warrior. Matias promovierte an der Universität Gent im Bereich Anwendungssicherheit und konzentrierte sich dabei auf statische Analyselösungen. Später wechselte er zu Fortify in den USA, wo er erkannte, dass es nicht ausreicht, nur Codeprobleme zu erkennen, ohne den Entwicklern beim Schreiben von sicherem Code zu helfen. Dies inspirierte ihn dazu, Produkte zu entwickeln, die Entwickler unterstützen, den Aufwand für die Sicherheit verringern und die Erwartungen der Kunden übertreffen. Wenn er nicht an seinem Schreibtisch im Team Awesome sitzt, steht er gerne auf der Bühne und hält Vorträge auf Konferenzen wie der RSA Conference, BlackHat und DefCon.

mehr erfahren

Secure Code Warrior ist für Unternehmen da, um den Code während des gesamten Softwareentwicklungszyklus zu schützen und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Unabhängig davon, ob Sie AppSec-Manager, Entwickler, CISO oder in einem anderen Bereich der Sicherheit tätig sind, können wir Ihnen dabei helfen, die Risiken zu reduzieren, die mit unsicherem Code verbunden sind.

Demo-Termin vereinbaren
Freigabeziel:
LinkedIn-MarkenSozialx Logo
Verfasser
Matias Madou, Ph.D.
Veröffentlicht Jun 01, 2020

Matias Madou, Ph.D., ist Sicherheitsexperte, Forscher, CTO und Mitbegründer von Secure Code Warrior. Matias promovierte an der Universität Gent im Bereich Anwendungssicherheit und konzentrierte sich dabei auf statische Analyselösungen. Später wechselte er zu Fortify in den USA, wo er erkannte, dass es nicht ausreicht, nur Codeprobleme zu erkennen, ohne den Entwicklern beim Schreiben von sicherem Code zu helfen. Dies inspirierte ihn dazu, Produkte zu entwickeln, die Entwickler unterstützen, den Aufwand für die Sicherheit verringern und die Erwartungen der Kunden übertreffen. Wenn er nicht an seinem Schreibtisch im Team Awesome sitzt, steht er gerne auf der Bühne und hält Vorträge auf Konferenzen wie der RSA Conference, BlackHat und DefCon.

Matias ist ein Forscher und Entwickler mit mehr als 15 Jahren praktischer Erfahrung im Bereich der Softwaresicherheit. Er hat Lösungen für Unternehmen wie Fortify Software und sein eigenes Unternehmen Sensei Security entwickelt. Im Laufe seiner Karriere hat Matias mehrere Forschungsprojekte zur Anwendungssicherheit geleitet, die zu kommerziellen Produkten geführt haben, und kann auf über 10 Patente verweisen. Wenn er nicht am Schreibtisch sitzt, ist Matias als Ausbilder für fortgeschrittene Anwendungssicherheitstrainings courses tätig und hält regelmäßig Vorträge auf globalen Konferenzen wie RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec und BruCon.

Matias hat einen Doktortitel in Computertechnik von der Universität Gent, wo er die Sicherheit von Anwendungen durch Programmverschleierung untersuchte, um die innere Funktionsweise einer Anwendung zu verbergen.

Freigabeziel:
LinkedIn-MarkenSozialx Logo

Wenn Sie ein Entwickler sind, der mehr über die Schritte erfahren möchte, die Sie unternehmen können, um mit der Bereitstellung einer sicheren Infrastruktur als Code (IaC) in Ihrem Unternehmen zu beginnen, dann sind Sie hier genau richtig. Dies ist das nächste Kapitel unserer IaC-Reihe, das Sie in die Best Practices für IaC-Sicherheit einführen soll.

Bevor wir beginnen, wie sind Sie mit der Herausforderung aus der letzten Folge zurechtgekommen? Wenn Sie die unsichere Kryptografie beherrschen, lassen Sie uns sehen, wie Sie mit dem unzureichenden Schutz der Transportschicht zurechtkommen, bevor wir uns den Details widmen:

Möchten Sie mehr erfahren und eine perfekte Punktzahl erreichen? Lesen Sie weiter:

In unserem letzten Artikel haben wir darüber gesprochen, wie wichtig eine sichere Verschlüsselung ist, um alle wichtigen oder persönlichen Daten zu schützen, die von Anwendungen und Programmen gespeichert werden. Wenn Sie über eine starke Verschlüsselung verfügen, fungiert sie als perfekte letzte Verteidigungslinie. Selbst wenn ein Angreifer in der Lage ist, diese Daten zu stehlen, sind die in diesen Dateien gespeicherten Informationen geschützt, wenn sie stark verschlüsselt sind.

Der Schutz von Daten im Ruhezustand ist jedoch nur ein Teil einer vollständigen Datenverteidigung. Wann immer gültige Benutzer auf geschützte Daten zugreifen müssen, müssen diese an sie gesendet werden. Gelegentlich werden Anwendungen auch Daten mit anderen Programmen als Teil einer Gesamtarbeitslast austauschen. Wenn die Transportschicht nicht geschützt ist, ist sie sowohl für das Ausspähen von außen als auch für unautorisierte interne Zugriffe anfällig. Daher kann ein unzureichender Schutz der Transportschicht zu ernsthaften Problemen führen.

Es ist ein weit verbreitetes Problem. Die Sicherheitsorganisation OWASP unterhält sogar eine ganze Seite über unzureichenden Transportschichtschutz.

Warum ist ein unzureichender Schutz der Transportschicht gefährlich?

Wenn Sie Ihre Transportschichten nicht ausreichend schützen, ist es für geschickte Hacker relativ einfach, Informationen, die zwischen Ihren Benutzern und Ihren Anwendungen fließen, mit Techniken wie Man-in-the-Middle-Angriffen abzufangen. Der wahrscheinlich gefährlichste Aspekt dieser Art von Schnüffelei ist, dass sie für interne Cybersicherheitsplattformen oder Scans fast völlig unsichtbar ist, da sie außerhalb Ihres Netzwerks und Ihrer Kontrolle stattfindet.

Zum Beispiel in einer Docker-Umgebung, in der ein Nginx-Dienst bereitgestellt wird:

services:
nginx:
image: localhost:5000/scw_nginx
build: ./nginx
secrets:
- nginx_cert
- nginx_key
volumes:
- type: bind
source: ./nginx/nginx.conf
target: /etc/nginx/nginx.conf
read_only: yes
ports:
- 80:8443
networks:
- frontend
deploy:
restart_policy: *default-restart_policy
resources: *default-resources_policy

Die Nginx-Dienstkonfiguration verschlüsselt oder schützt die Verbindung nicht, wodurch alle über die Verbindung ausgetauschten Informationen anfällig für eine Vielzahl von Angriffen oder Schnüffeleien sind.

server {
       server_name scw-dev-blog.org;
       listen 8443;
       ssl_protocols TLSv1.2 TLSv1.3;
       ssl_ciphers EECDH+AESGCM:EDH+AESGCM;
       ssl_prefer_server_ciphers on;
       ssl_certificate /run/secrets/nginx_cert;
       ssl_certificate_key /run/secrets/nginx_key;
       access_log /dev/stdout;
       error_log /dev/stderr;
       location / {
           proxy_pass http://wordpress:8080;
           proxy_set_header Host $http_host;
           proxy_set_header X-Forwarded-Host $http_host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_set_header X-Forwarded-Proto $scheme;
       }
   }

Oftmals ist das erste Signal, dass jemand in Ihren Transportschichten schnüffelt, wenn eine große Anzahl gestohlener Benutzerpasswörter in nachfolgenden Angriffen verwendet wird. Wenn andere Daten wie Kundeninformationen, Finanzdaten oder wichtige Firmengeheimnisse über eine unsichere Transportschicht gestohlen werden, merken Sie vielleicht nicht einmal, dass Sie kompromittiert wurden.

Und es ist nicht nur die Transportschicht zwischen Benutzern und Anwendungen, die geschützt werden muss. Am Backend kommunizieren viele Anwendungen untereinander und mit Servern, die weiter hinten in der Workflow-Kette stehen. Diese interne Kommunikation ist zwar in der Regel nicht anfällig für das Ausspähen von außen, kann aber Daten für Benutzer offenlegen, die zwar Zugang zum Netzwerk haben, aber nicht autorisiert sind, bestimmte streng geschützte oder sensible Informationen einzusehen.

Ordnungsgemäße Sicherung der Transportschichten für vollständigen Datenschutz

Der Schutz von Transportschichten wird am besten während der Erstellung von Anwendungen vorgenommen. Dieser Prozess beginnt damit, eine sichere Backend-Infrastruktur zu haben. Für Websites sollte alles über HTTPS erfolgen. Mischen Sie niemals HTTP- und HTTPS-Infrastruktur. Sie sollten Ihre Websites sogar so einstellen, dass ungesicherte HTTP-Anfragen automatisch an die HTTPS-Infrastruktur weitergeleitet werden.

In dem Beispiel von oben wäre eine korrekte Methode zum Schutz der Transportschicht folgende:

server {
       server_name scw-dev-blog.org;
       listen 8443 ssl;
       ssl_protocols TLSv1.2 TLSv1.3;
       ssl_ciphers EECDH+AESGCM:EDH+AESGCM;
       ssl_prefer_server_ciphers on;
       ssl_certificate /run/secrets/nginx_cert;
       ssl_certificate_key /run/secrets/nginx_key;
       access_log /dev/stdout;
       error_log /dev/stderr;
       location / {
           proxy_pass http://wordpress:8080;
           proxy_set_header Host $http_host;
           proxy_set_header X-Forwarded-Host $http_host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_set_header X-Forwarded-Proto $scheme;
       }
   }

In diesem Beispiel sind alle Verbindungen mit dem Nginx-Dienst stark verschlüsselt. Der Server-Abschnitt der Nginx-Konfiguration enthält nur listen 8443 ssl , um SSL zum Schutz der Verbindungen zu erzwingen.

Um Ihre Daten vor Insider-Bedrohungen zu schützen, sollten Entwickler ein starkes Transportschicht-Verschlüsselungsprotokoll wie TLS 1.2 verwenden. Sobald Sie TLS 1.2 oder ein gleichwertiges Protokoll einsetzen, sollten schwächere Protokolle wie SSL v2 vollständig aus Ihrer Infrastruktur entfernt und automatisch von der Verwendung ausgeschlossen werden.

Und denken Sie immer daran, dass die Absicherung einer Anwendung erst dann vollständig ist, wenn sowohl die Daten im Ruhezustand als auch die Transportschichten ausreichend geschützt sind. Auf diese Weise können Sie einen vollständigen Ende-zu-Ende-Schutz für Daten sowohl intern als auch bei der Weitergabe an autorisierte externe Benutzer gewährleisten.
Besuchen Sie die Secure Code Warrior Blog-Seiten, um mehr über diese Schwachstelle zu erfahren und zu erfahren, wie Sie Ihr Unternehmen und Ihre Kunden vor den Folgen anderer Sicherheitslücken schützen können. Sie können auch eine Demo der Schulungsplattform Secure Code Warrior ausprobieren, um alle Ihre Cybersecurity-Kenntnisse zu schärfen und auf dem neuesten Stand zu halten.

Ressourcen anzeigen
Ressourcen anzeigen

Um den Bericht herunterzuladen, füllen Sie bitte das folgende Formular aus.

Wir bitten um Ihre Zustimmung, Ihnen Informationen zu unseren Produkten und/oder verwandten Themen der Sicherheitscodierung zukommen zu lassen. Wir behandeln Ihre personenbezogenen Daten stets mit größter Sorgfalt und verkaufen sie niemals zu Marketingzwecken an andere Unternehmen.

Einreichung
scw Erfolgssymbol
scw-Fehlersymbol
Um das Formular zu senden, aktivieren Sie bitte das „Analytics“-Cookie. Nach Abschluss können Sie es jederzeit wieder deaktivieren.

Wenn Sie ein Entwickler sind, der mehr über die Schritte erfahren möchte, die Sie unternehmen können, um mit der Bereitstellung einer sicheren Infrastruktur als Code (IaC) in Ihrem Unternehmen zu beginnen, dann sind Sie hier genau richtig. Dies ist das nächste Kapitel unserer IaC-Reihe, das Sie in die Best Practices für IaC-Sicherheit einführen soll.

Bevor wir beginnen, wie sind Sie mit der Herausforderung aus der letzten Folge zurechtgekommen? Wenn Sie die unsichere Kryptografie beherrschen, lassen Sie uns sehen, wie Sie mit dem unzureichenden Schutz der Transportschicht zurechtkommen, bevor wir uns den Details widmen:

Möchten Sie mehr erfahren und eine perfekte Punktzahl erreichen? Lesen Sie weiter:

In unserem letzten Artikel haben wir darüber gesprochen, wie wichtig eine sichere Verschlüsselung ist, um alle wichtigen oder persönlichen Daten zu schützen, die von Anwendungen und Programmen gespeichert werden. Wenn Sie über eine starke Verschlüsselung verfügen, fungiert sie als perfekte letzte Verteidigungslinie. Selbst wenn ein Angreifer in der Lage ist, diese Daten zu stehlen, sind die in diesen Dateien gespeicherten Informationen geschützt, wenn sie stark verschlüsselt sind.

Der Schutz von Daten im Ruhezustand ist jedoch nur ein Teil einer vollständigen Datenverteidigung. Wann immer gültige Benutzer auf geschützte Daten zugreifen müssen, müssen diese an sie gesendet werden. Gelegentlich werden Anwendungen auch Daten mit anderen Programmen als Teil einer Gesamtarbeitslast austauschen. Wenn die Transportschicht nicht geschützt ist, ist sie sowohl für das Ausspähen von außen als auch für unautorisierte interne Zugriffe anfällig. Daher kann ein unzureichender Schutz der Transportschicht zu ernsthaften Problemen führen.

Es ist ein weit verbreitetes Problem. Die Sicherheitsorganisation OWASP unterhält sogar eine ganze Seite über unzureichenden Transportschichtschutz.

Warum ist ein unzureichender Schutz der Transportschicht gefährlich?

Wenn Sie Ihre Transportschichten nicht ausreichend schützen, ist es für geschickte Hacker relativ einfach, Informationen, die zwischen Ihren Benutzern und Ihren Anwendungen fließen, mit Techniken wie Man-in-the-Middle-Angriffen abzufangen. Der wahrscheinlich gefährlichste Aspekt dieser Art von Schnüffelei ist, dass sie für interne Cybersicherheitsplattformen oder Scans fast völlig unsichtbar ist, da sie außerhalb Ihres Netzwerks und Ihrer Kontrolle stattfindet.

Zum Beispiel in einer Docker-Umgebung, in der ein Nginx-Dienst bereitgestellt wird:

services:
nginx:
image: localhost:5000/scw_nginx
build: ./nginx
secrets:
- nginx_cert
- nginx_key
volumes:
- type: bind
source: ./nginx/nginx.conf
target: /etc/nginx/nginx.conf
read_only: yes
ports:
- 80:8443
networks:
- frontend
deploy:
restart_policy: *default-restart_policy
resources: *default-resources_policy

Die Nginx-Dienstkonfiguration verschlüsselt oder schützt die Verbindung nicht, wodurch alle über die Verbindung ausgetauschten Informationen anfällig für eine Vielzahl von Angriffen oder Schnüffeleien sind.

server {
       server_name scw-dev-blog.org;
       listen 8443;
       ssl_protocols TLSv1.2 TLSv1.3;
       ssl_ciphers EECDH+AESGCM:EDH+AESGCM;
       ssl_prefer_server_ciphers on;
       ssl_certificate /run/secrets/nginx_cert;
       ssl_certificate_key /run/secrets/nginx_key;
       access_log /dev/stdout;
       error_log /dev/stderr;
       location / {
           proxy_pass http://wordpress:8080;
           proxy_set_header Host $http_host;
           proxy_set_header X-Forwarded-Host $http_host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_set_header X-Forwarded-Proto $scheme;
       }
   }

Oftmals ist das erste Signal, dass jemand in Ihren Transportschichten schnüffelt, wenn eine große Anzahl gestohlener Benutzerpasswörter in nachfolgenden Angriffen verwendet wird. Wenn andere Daten wie Kundeninformationen, Finanzdaten oder wichtige Firmengeheimnisse über eine unsichere Transportschicht gestohlen werden, merken Sie vielleicht nicht einmal, dass Sie kompromittiert wurden.

Und es ist nicht nur die Transportschicht zwischen Benutzern und Anwendungen, die geschützt werden muss. Am Backend kommunizieren viele Anwendungen untereinander und mit Servern, die weiter hinten in der Workflow-Kette stehen. Diese interne Kommunikation ist zwar in der Regel nicht anfällig für das Ausspähen von außen, kann aber Daten für Benutzer offenlegen, die zwar Zugang zum Netzwerk haben, aber nicht autorisiert sind, bestimmte streng geschützte oder sensible Informationen einzusehen.

Ordnungsgemäße Sicherung der Transportschichten für vollständigen Datenschutz

Der Schutz von Transportschichten wird am besten während der Erstellung von Anwendungen vorgenommen. Dieser Prozess beginnt damit, eine sichere Backend-Infrastruktur zu haben. Für Websites sollte alles über HTTPS erfolgen. Mischen Sie niemals HTTP- und HTTPS-Infrastruktur. Sie sollten Ihre Websites sogar so einstellen, dass ungesicherte HTTP-Anfragen automatisch an die HTTPS-Infrastruktur weitergeleitet werden.

In dem Beispiel von oben wäre eine korrekte Methode zum Schutz der Transportschicht folgende:

server {
       server_name scw-dev-blog.org;
       listen 8443 ssl;
       ssl_protocols TLSv1.2 TLSv1.3;
       ssl_ciphers EECDH+AESGCM:EDH+AESGCM;
       ssl_prefer_server_ciphers on;
       ssl_certificate /run/secrets/nginx_cert;
       ssl_certificate_key /run/secrets/nginx_key;
       access_log /dev/stdout;
       error_log /dev/stderr;
       location / {
           proxy_pass http://wordpress:8080;
           proxy_set_header Host $http_host;
           proxy_set_header X-Forwarded-Host $http_host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_set_header X-Forwarded-Proto $scheme;
       }
   }

In diesem Beispiel sind alle Verbindungen mit dem Nginx-Dienst stark verschlüsselt. Der Server-Abschnitt der Nginx-Konfiguration enthält nur listen 8443 ssl , um SSL zum Schutz der Verbindungen zu erzwingen.

Um Ihre Daten vor Insider-Bedrohungen zu schützen, sollten Entwickler ein starkes Transportschicht-Verschlüsselungsprotokoll wie TLS 1.2 verwenden. Sobald Sie TLS 1.2 oder ein gleichwertiges Protokoll einsetzen, sollten schwächere Protokolle wie SSL v2 vollständig aus Ihrer Infrastruktur entfernt und automatisch von der Verwendung ausgeschlossen werden.

Und denken Sie immer daran, dass die Absicherung einer Anwendung erst dann vollständig ist, wenn sowohl die Daten im Ruhezustand als auch die Transportschichten ausreichend geschützt sind. Auf diese Weise können Sie einen vollständigen Ende-zu-Ende-Schutz für Daten sowohl intern als auch bei der Weitergabe an autorisierte externe Benutzer gewährleisten.
Besuchen Sie die Secure Code Warrior Blog-Seiten, um mehr über diese Schwachstelle zu erfahren und zu erfahren, wie Sie Ihr Unternehmen und Ihre Kunden vor den Folgen anderer Sicherheitslücken schützen können. Sie können auch eine Demo der Schulungsplattform Secure Code Warrior ausprobieren, um alle Ihre Cybersecurity-Kenntnisse zu schärfen und auf dem neuesten Stand zu halten.

Webinar ansehen
Beginnen
mehr erfahren

Klicken Sie auf den folgenden Link und laden Sie die PDF-Datei dieser Ressource herunter.

Secure Code Warrior ist für Unternehmen da, um den Code während des gesamten Softwareentwicklungszyklus zu schützen und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Unabhängig davon, ob Sie AppSec-Manager, Entwickler, CISO oder in einem anderen Bereich der Sicherheit tätig sind, können wir Ihnen dabei helfen, die Risiken zu reduzieren, die mit unsicherem Code verbunden sind.

Bericht anzeigenDemo-Termin vereinbaren
Ressourcen anzeigen
Freigabeziel:
LinkedIn-MarkenSozialx Logo
Sind Sie an weiteren Informationen interessiert?

Freigabeziel:
LinkedIn-MarkenSozialx Logo
Verfasser
Matias Madou, Ph.D.
Veröffentlicht Jun 01, 2020

Matias Madou, Ph.D., ist Sicherheitsexperte, Forscher, CTO und Mitbegründer von Secure Code Warrior. Matias promovierte an der Universität Gent im Bereich Anwendungssicherheit und konzentrierte sich dabei auf statische Analyselösungen. Später wechselte er zu Fortify in den USA, wo er erkannte, dass es nicht ausreicht, nur Codeprobleme zu erkennen, ohne den Entwicklern beim Schreiben von sicherem Code zu helfen. Dies inspirierte ihn dazu, Produkte zu entwickeln, die Entwickler unterstützen, den Aufwand für die Sicherheit verringern und die Erwartungen der Kunden übertreffen. Wenn er nicht an seinem Schreibtisch im Team Awesome sitzt, steht er gerne auf der Bühne und hält Vorträge auf Konferenzen wie der RSA Conference, BlackHat und DefCon.

Matias ist ein Forscher und Entwickler mit mehr als 15 Jahren praktischer Erfahrung im Bereich der Softwaresicherheit. Er hat Lösungen für Unternehmen wie Fortify Software und sein eigenes Unternehmen Sensei Security entwickelt. Im Laufe seiner Karriere hat Matias mehrere Forschungsprojekte zur Anwendungssicherheit geleitet, die zu kommerziellen Produkten geführt haben, und kann auf über 10 Patente verweisen. Wenn er nicht am Schreibtisch sitzt, ist Matias als Ausbilder für fortgeschrittene Anwendungssicherheitstrainings courses tätig und hält regelmäßig Vorträge auf globalen Konferenzen wie RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec und BruCon.

Matias hat einen Doktortitel in Computertechnik von der Universität Gent, wo er die Sicherheit von Anwendungen durch Programmverschleierung untersuchte, um die innere Funktionsweise einer Anwendung zu verbergen.

Freigabeziel:
LinkedIn-MarkenSozialx Logo

Wenn Sie ein Entwickler sind, der mehr über die Schritte erfahren möchte, die Sie unternehmen können, um mit der Bereitstellung einer sicheren Infrastruktur als Code (IaC) in Ihrem Unternehmen zu beginnen, dann sind Sie hier genau richtig. Dies ist das nächste Kapitel unserer IaC-Reihe, das Sie in die Best Practices für IaC-Sicherheit einführen soll.

Bevor wir beginnen, wie sind Sie mit der Herausforderung aus der letzten Folge zurechtgekommen? Wenn Sie die unsichere Kryptografie beherrschen, lassen Sie uns sehen, wie Sie mit dem unzureichenden Schutz der Transportschicht zurechtkommen, bevor wir uns den Details widmen:

Möchten Sie mehr erfahren und eine perfekte Punktzahl erreichen? Lesen Sie weiter:

In unserem letzten Artikel haben wir darüber gesprochen, wie wichtig eine sichere Verschlüsselung ist, um alle wichtigen oder persönlichen Daten zu schützen, die von Anwendungen und Programmen gespeichert werden. Wenn Sie über eine starke Verschlüsselung verfügen, fungiert sie als perfekte letzte Verteidigungslinie. Selbst wenn ein Angreifer in der Lage ist, diese Daten zu stehlen, sind die in diesen Dateien gespeicherten Informationen geschützt, wenn sie stark verschlüsselt sind.

Der Schutz von Daten im Ruhezustand ist jedoch nur ein Teil einer vollständigen Datenverteidigung. Wann immer gültige Benutzer auf geschützte Daten zugreifen müssen, müssen diese an sie gesendet werden. Gelegentlich werden Anwendungen auch Daten mit anderen Programmen als Teil einer Gesamtarbeitslast austauschen. Wenn die Transportschicht nicht geschützt ist, ist sie sowohl für das Ausspähen von außen als auch für unautorisierte interne Zugriffe anfällig. Daher kann ein unzureichender Schutz der Transportschicht zu ernsthaften Problemen führen.

Es ist ein weit verbreitetes Problem. Die Sicherheitsorganisation OWASP unterhält sogar eine ganze Seite über unzureichenden Transportschichtschutz.

Warum ist ein unzureichender Schutz der Transportschicht gefährlich?

Wenn Sie Ihre Transportschichten nicht ausreichend schützen, ist es für geschickte Hacker relativ einfach, Informationen, die zwischen Ihren Benutzern und Ihren Anwendungen fließen, mit Techniken wie Man-in-the-Middle-Angriffen abzufangen. Der wahrscheinlich gefährlichste Aspekt dieser Art von Schnüffelei ist, dass sie für interne Cybersicherheitsplattformen oder Scans fast völlig unsichtbar ist, da sie außerhalb Ihres Netzwerks und Ihrer Kontrolle stattfindet.

Zum Beispiel in einer Docker-Umgebung, in der ein Nginx-Dienst bereitgestellt wird:

services:
nginx:
image: localhost:5000/scw_nginx
build: ./nginx
secrets:
- nginx_cert
- nginx_key
volumes:
- type: bind
source: ./nginx/nginx.conf
target: /etc/nginx/nginx.conf
read_only: yes
ports:
- 80:8443
networks:
- frontend
deploy:
restart_policy: *default-restart_policy
resources: *default-resources_policy

Die Nginx-Dienstkonfiguration verschlüsselt oder schützt die Verbindung nicht, wodurch alle über die Verbindung ausgetauschten Informationen anfällig für eine Vielzahl von Angriffen oder Schnüffeleien sind.

server {
       server_name scw-dev-blog.org;
       listen 8443;
       ssl_protocols TLSv1.2 TLSv1.3;
       ssl_ciphers EECDH+AESGCM:EDH+AESGCM;
       ssl_prefer_server_ciphers on;
       ssl_certificate /run/secrets/nginx_cert;
       ssl_certificate_key /run/secrets/nginx_key;
       access_log /dev/stdout;
       error_log /dev/stderr;
       location / {
           proxy_pass http://wordpress:8080;
           proxy_set_header Host $http_host;
           proxy_set_header X-Forwarded-Host $http_host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_set_header X-Forwarded-Proto $scheme;
       }
   }

Oftmals ist das erste Signal, dass jemand in Ihren Transportschichten schnüffelt, wenn eine große Anzahl gestohlener Benutzerpasswörter in nachfolgenden Angriffen verwendet wird. Wenn andere Daten wie Kundeninformationen, Finanzdaten oder wichtige Firmengeheimnisse über eine unsichere Transportschicht gestohlen werden, merken Sie vielleicht nicht einmal, dass Sie kompromittiert wurden.

Und es ist nicht nur die Transportschicht zwischen Benutzern und Anwendungen, die geschützt werden muss. Am Backend kommunizieren viele Anwendungen untereinander und mit Servern, die weiter hinten in der Workflow-Kette stehen. Diese interne Kommunikation ist zwar in der Regel nicht anfällig für das Ausspähen von außen, kann aber Daten für Benutzer offenlegen, die zwar Zugang zum Netzwerk haben, aber nicht autorisiert sind, bestimmte streng geschützte oder sensible Informationen einzusehen.

Ordnungsgemäße Sicherung der Transportschichten für vollständigen Datenschutz

Der Schutz von Transportschichten wird am besten während der Erstellung von Anwendungen vorgenommen. Dieser Prozess beginnt damit, eine sichere Backend-Infrastruktur zu haben. Für Websites sollte alles über HTTPS erfolgen. Mischen Sie niemals HTTP- und HTTPS-Infrastruktur. Sie sollten Ihre Websites sogar so einstellen, dass ungesicherte HTTP-Anfragen automatisch an die HTTPS-Infrastruktur weitergeleitet werden.

In dem Beispiel von oben wäre eine korrekte Methode zum Schutz der Transportschicht folgende:

server {
       server_name scw-dev-blog.org;
       listen 8443 ssl;
       ssl_protocols TLSv1.2 TLSv1.3;
       ssl_ciphers EECDH+AESGCM:EDH+AESGCM;
       ssl_prefer_server_ciphers on;
       ssl_certificate /run/secrets/nginx_cert;
       ssl_certificate_key /run/secrets/nginx_key;
       access_log /dev/stdout;
       error_log /dev/stderr;
       location / {
           proxy_pass http://wordpress:8080;
           proxy_set_header Host $http_host;
           proxy_set_header X-Forwarded-Host $http_host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_set_header X-Forwarded-Proto $scheme;
       }
   }

In diesem Beispiel sind alle Verbindungen mit dem Nginx-Dienst stark verschlüsselt. Der Server-Abschnitt der Nginx-Konfiguration enthält nur listen 8443 ssl , um SSL zum Schutz der Verbindungen zu erzwingen.

Um Ihre Daten vor Insider-Bedrohungen zu schützen, sollten Entwickler ein starkes Transportschicht-Verschlüsselungsprotokoll wie TLS 1.2 verwenden. Sobald Sie TLS 1.2 oder ein gleichwertiges Protokoll einsetzen, sollten schwächere Protokolle wie SSL v2 vollständig aus Ihrer Infrastruktur entfernt und automatisch von der Verwendung ausgeschlossen werden.

Und denken Sie immer daran, dass die Absicherung einer Anwendung erst dann vollständig ist, wenn sowohl die Daten im Ruhezustand als auch die Transportschichten ausreichend geschützt sind. Auf diese Weise können Sie einen vollständigen Ende-zu-Ende-Schutz für Daten sowohl intern als auch bei der Weitergabe an autorisierte externe Benutzer gewährleisten.
Besuchen Sie die Secure Code Warrior Blog-Seiten, um mehr über diese Schwachstelle zu erfahren und zu erfahren, wie Sie Ihr Unternehmen und Ihre Kunden vor den Folgen anderer Sicherheitslücken schützen können. Sie können auch eine Demo der Schulungsplattform Secure Code Warrior ausprobieren, um alle Ihre Cybersecurity-Kenntnisse zu schärfen und auf dem neuesten Stand zu halten.

Inhaltsverzeichnis

PDF herunterladen
Ressourcen anzeigen
Sind Sie an weiteren Informationen interessiert?

Matias Madou, Ph.D., ist Sicherheitsexperte, Forscher, CTO und Mitbegründer von Secure Code Warrior. Matias promovierte an der Universität Gent im Bereich Anwendungssicherheit und konzentrierte sich dabei auf statische Analyselösungen. Später wechselte er zu Fortify in den USA, wo er erkannte, dass es nicht ausreicht, nur Codeprobleme zu erkennen, ohne den Entwicklern beim Schreiben von sicherem Code zu helfen. Dies inspirierte ihn dazu, Produkte zu entwickeln, die Entwickler unterstützen, den Aufwand für die Sicherheit verringern und die Erwartungen der Kunden übertreffen. Wenn er nicht an seinem Schreibtisch im Team Awesome sitzt, steht er gerne auf der Bühne und hält Vorträge auf Konferenzen wie der RSA Conference, BlackHat und DefCon.

mehr erfahren

Secure Code Warrior ist für Unternehmen da, um den Code während des gesamten Softwareentwicklungszyklus zu schützen und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Unabhängig davon, ob Sie AppSec-Manager, Entwickler, CISO oder in einem anderen Bereich der Sicherheit tätig sind, können wir Ihnen dabei helfen, die Risiken zu reduzieren, die mit unsicherem Code verbunden sind.

Demo-Termin vereinbarenDownload
Freigabeziel:
LinkedIn-MarkenSozialx Logo
Ressourcen-Hub

Hilfreiche Ressourcen für den Einstieg

Weitere Beiträge
Ressourcen-Hub

Hilfreiche Ressourcen für den Einstieg

Weitere Beiträge