Proxy mit 2 Netzwerkkarten hinter Router
aus JanaWiki, der freien Wissensdatenbank
Hier wird beispielhaft ein Netzwerkaufbau vorgestellt, mit dem Ziel den Clients aus dem LAN einen möglichst sicheren Internetzugriff zu ermöglichen. Sicher heißt dabei, dass die Clients unanfällig gegen Malware (Trojaner, Backdoors, ...) werden. Darüberhinaus sollen die Clients die vom Administrator vorgegebenen Einschränkungen möglichst nicht umgehen können.
Diese Seite setzt grundlegendes Netzwerk-Wissen und Kenntnisse bei der Jana-Konfiguration voraus.
Inhaltsverzeichnis |
Skizze
| |
|>--- |
| |>----<#Client2
DSL |>--- |
Internet}====<#Router#| |>----<#Client1
|>----<#JanaProxy#>-----<|
NIC1 NIC2 Switch
Legende:
>-- Netzwerkanschluss #>-- Netzwerkanschluss mit Firewall gesichert
TCP/IP-Konfiguration
Router
- IP-Adresse: 192.168.2.2 / 255.255.255.0
JanaProxy
NIC1:
- IP-Adresse: 192.168.2.1 / 255.255.255.0
- Gateway: 192.168.2.2
- DNS: 192.168.2.2
NIC2:
- IP-Adresse: 192.168.1.1 / 255.255.255.0
- Gateway: leer
- DNS: leer
Clients
- IP-Adresse: 192.168.1.x / 255.255.255.0
- Gateway: leer
- DNS: 192.168.1.1 (falls gewünscht)
Jana-Konfiguration
Grundeinstellungen – Benutzerverwaltung
Die Benuterverwaltung wird aktiviert. Tip: Freigaben per IP-Adresse lassen sich mit Benutzername/Passwort kombinieren, so dass z.B. nur wenige Stunden per IP-Adresse freigegeben werden und dann eine Anmeldung mit dem Benutzernamen erforderlich ist.
Grundeinstellungen – IP-Adressen
IP-Adressen:
- 127.0.0.1, 192.168.1.1
Die Router-seitige IP 192.168.2.1 wird nicht eingetragen.
Bindungen:
- HTTP/FTP-Proxy und DNS-Server an 192.168.1.1
- bei Bedarf das FTP-Gateway an 192.168.1.1
- die Administration kann (natürlich per Passwort und HTTPS geschützt) auch an 192.168.1.1 gebunden werden
- JanaAdmin.exe sollte auf keinen Fall an 192.168.1.1 gebunden werden!
Servertypen – DNS-Server
Beim DNS-Server des Providers (unter Servertypen -- Dns-Server) ist 192.168.2.2 (der Router) eingetragen. Um die Client-Konfiguration des Proxys zu vereinfachen kann er natürlich einen Offline-DNS-Eintrag erhalten.
Servertypen – Proxy-Server
Der passive FTP-Transfer muss aktiviert werden. Selbstverständlich ist unter ISAPI-Filtermodule der Jana Loopback Filter eingetragen! Soll der Zugriff von den Clients auf den Router verhindert werden, so muss die IP-Adresse des Routers (bzw. falls vorhanden, dessen DNS-Name) in die Proxy-Sperrliste.
Weitere Konfiguration
Clients
Bei den Anwendungen auf den Clients im Subnetz 2 wird als Proxy für HTTP/HTTPS und FTP 192.168.1.1:3128 eingetragen. FTP-Programme benötigen das Gateway mit 192.168.1.1:2121.
Firewall auf JanaProxy
Die Firewall, sollte im Idealfall alle eingehenden Verbindungen blocken, solange sie nicht auf Port 3128 (Proxy), 2121 (FTP-Gateway), 2506 (Administration) oder 53 (DNS) erfolgen.
Windows auf dem JanaProxy
Es empfiehlt sich ein NT4, 2000 oder XP auf einem NTFS-Dateisystem zu verwenden. Auf diesem Rechner sollten Der Microsoft-Netzwerk-Client von allen Netzwerkkarten entfernt werden; er wird für Jana nicht benötigt. Außerdem sollten alle unbenötigten Dienste (Server, Netzwerkumgebung, Workstation, ...) deaktiviert werden. SMB-Zugriff auf diesen Rechner soll unterbunden sein.
Jana kann unter NT4/2000/XP auch als Dienst unter einem eigenen Benutzeraccount, dessen Rechte gezielt eingeschränkt werden, laufen. Auf das wird hier nicht genauer eingegangen.
Der Proxy wird natürlich nicht als zusätzliche Workstation missbraucht. Somit sollte auch keine Benutzer-Anmeldung durchgeführt werden
Pro&Contra
Vorteil: Sicherheit
Alle Clients können ausschließlich über den Proxy mit dem Internet kommunizieren. Der Loopback Filter erschwert, dass Clients den HTTP/FTP-Proxy für andere Protokolle (z.B. zum direkten Mailabruf oder IRC) missbrauchen. Damit ist das LAN in Subnetz 2 nicht nur auf TCP/IP-Ebene vollständig vom Internet getrennt, sondern auch die verfügbaren Kommunikationsmöglichkeiten auf Anwendungsebene sind sinnvoll beschränkt.
Die Gefahr erfolgreicher Angriffe vom Internet auf das LAN ist damit gering (es müsste zunächst der Router, dann der Proxy "überwunden" werden). Angriffe auf Anwendungsebene, z.B. Browserschwachstellen, bleiben weiterhin möglich!
Nachteil: Einschränkung des Internet-Zugriffs
Der Hauptnachteil ist natürlich, dass für einige Anwendungen der Internet-Zugriff u.U. zu stark eingeschränkt ist. Speziell Homebanking-Software, Tauschbörsen und Instant Messenger könnten etwa auf einen SOCKS-Proxy angewiesen sein, der allerdings das hier vorgestellte Sicherheitskonzept untergräbt. Um die Benutzerverwaltung von Janas SOCKS-Proxys zumindest unabhängig vom HTTP-Proxy konfigurieren zu können, ist es vielleicht sinnvoll, eine zweite Jana-Instanz für den SOCKS-Proxy zu starten.
Weitere Anpassungen
Verzicht auf den Router
Selbstverständlich läßt sich der Aufbau auch ohne den vorgelagerten Router verwenden. Besonderes Augenmerk sollte dann aber den Firewalls auf dem JanaProxy gelten.
Die Verwendung eines Routers bietet neben dem zusätzlichen Schutz durch die NAT/PAT IP-Adressenumsetzung v.a. die Möglichkeit einzelnen Clients (kurzfristig) Vollzugriff auf das Internet zu gewähren. Außerdem besteht die Möglichkeit Dienste im Internet anzubieten. Dazu sollten die Server wenn möglich an einem DMZ-Port des Routers betrieben werden (siehe unten).
Bestimmt ist für die meisten sinnvoll, den eMail-Server von Jana auf JanaProxy zu aktivieren, um den Clients virengeprüften Zugriff auf ihre Post zu geben. Selbstverständlich muss dazu die Proxy-Firewall eingehende Verbindungen nach Ports 25 und 110 erlauben.
Server-Dienste im Internet anbieten
Für permanente Dienste (etwa ein öffentlicher Webserver) bietet es sich an, einen eigenen Rechner zu verwenden und ihn direkt an den Router zu hängen. Im Idealfall unterstützt der Router einen echten DMZ-Port, der eine Kommunikation zwischen den Ports auf der LAN-Seite des Routers verhindert. Soll dagegen dieser Server auch vom LAN aus angesprochen werden können, bietet es sich an entsprechende Offline-DNS-Einträge in Jana vorzunehmen.
Selbstverständlich könnten aber auch Clients hinter dem Proxy Serverdienste im Internet anbieten. Dazu wäre es nötig, einzelne Ports auf den Jana-Server zu tunneln (z.B. mit Janas Extra-Gateways). Empfehlenswert ist das allerdings kaum.
