Firewall / Proxy

FirewallProxy
Layer 3-4Layer 7
Packet filteringApplication filtering
Network-basedApplication-based
Can block IP addresses, ports, protocolsCan block specific URLs, content types
Can be hardware or softwareTypically software
udp, tcp, icmphttp, https, ftp, smtp
sehr schnellgroßer Ressourcenbedarf
transparentkonfiguration notwendig
graph LR
    Client --> Proxy
    Proxy --> Server
    Proxy --> Client
    Server --> Proxy

Problem

Der Proxy-Server kann bei Verschlüsselung (z.B. HTTPS) den Datenverkehr nicht mehr analysieren, da er die Inhalte nicht mehr lesen kann. Dies führt dazu, dass der Proxy-Server nicht mehr in der Lage ist, bestimmte Sicherheitsfunktionen wie das Blockieren von schädlichen Inhalten oder das Überwachen von Datenverkehr effektiv auszuführen.

Lösung

Früher war einfach der Datenverkehr zwischen dem Proxy und dem Server unverschlüsselt, sodass der Proxy die Inhalte analysieren konnte. Heute wird jedoch häufig HTTPS verwendet, wodurch der Datenverkehr verschlüsselt ist und der Proxy die Inhalte nicht mehr einsehen kann. Damit das funktioniert wird das Zertifikat des Proxy-Server auf dem Client installiert, damit der Proxy-Server als vertrauenswürdige Instanz fungieren kann. Der Proxy-Server entschlüsselt den Datenverkehr, analysiert ihn und verschlüsselt ihn dann erneut, bevor er ihn an den Server weiterleitet. Auf diese Weise kann der Proxy-Server weiterhin seine Sicherheitsfunktionen ausführen, auch wenn der Datenverkehr verschlüsselt ist.

graph LR
    Client --> Proxy
    Proxy --> Server
    Proxy --> Client
    Server --> Proxy
    Client -.->|HTTPS| Proxy
    Proxy -.->|HTTPS| Server

Reverse Proxy

examples: nginx, apache, haproxy

Aufgaben

  • Load Balancing
  • SSL Termination
  • Caching
  • Security (DDoS Protection, Web Application Firewall)
  • URL Rewriting
  • Compression

Firewall

Linux: auf kernelebene.

VT/NT auf Kernelebene

Vorteile:

  • sehr schnell

Nachteile:

  • gefährlich: kann system zerstören

Stateful vs Stateless

Stateful Firewall: behält den Zustand der Verbindungen im Auge, um zu entscheiden, ob ein Paket erlaubt oder blockiert werden soll. Sie analysiert den Datenverkehr und erkennt, ob es sich um eine legitime Verbindung handelt oder nicht.

Zustände:

  • NEW: neue Verbindung
  • ESTABLISHED: bestehende Verbindung
  • RELATED: Verbindung, die mit einer bestehenden Verbindung in Zusammenhang steht
  • INVALID: ungültige Verbindung

Stateless Firewall: trifft Entscheidungen basierend auf festen Regeln, ohne den Zustand der Verbindungen zu berücksichtigen. Sie ist einfacher und schneller, bietet jedoch weniger Sicherheit.

Navigation