Inhaltsverzeichnis

Proxy-Infoseite im Stil eine Captive Portals

Problem:

In einem Netzwerk, von dem aus man nur mit einem Proxy in „das Internet“1) kommt, finden sich immer wieder Rechner (meist durch B Y O D), die keinen Proxy konfiguriert haben und im Browser nur nichtssagende Fehlermeldungen über den nicht erreichbaren Server erhalten.

Idee:

Rechner, die einen direkten HTTP-Request (nicht via Proxy) lossenden, sollen eine Infoseite zurück geliefert bekommen.
Die direkten HTTP-Requests werden an die Firewall gerichtet, das sie das IP-Gateway zum Internet ist. Anstatt den Request zum Zielserver zu schicken, leitet man ihn an einen Webserver auf der Firewall weiter. Dieser antwortet mit einer (temporären) HTML-Redirect-Seite - also einer gefälschten Antwort. Diese Seite gibt dem Browser das Kommando eine andere Seite zu laden - die Infoseite. Für HTTPS-Requests funtioniert so eine Lösung natürlich nicht - die Fälschung würde nicht akzeptiert werden. Jedoch starten viele Browser/Betriebssystem bei einem frisch konfigurierten WLAN von sich aus einen HTTP-Zugriff auf entsprechende Seiten, damit diese Funktion für sogenannte Captive-Portals genutzt werden kann, also den Seiten, bei denen man sich z.B. in einem Hotel anmelden muss.

Realisierung:

1. Infoseite

2. Redirect-Seite

    <VirtualHost *:8888>
      # Der Server, der nur einen Redirect macht
      ServerAdmin webmaster@localhost
      RewriteEngine On
      RewriteRule ^ http://intranet.example.de/proxyinfo.html [L,R=302]
      ErrorLog ${APACHE_LOG_DIR}/error.log
      CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>

3. Firewallkonfiguration

  #ACTION   SOURCE          DEST      PROTO DPORT   SPORT   ORIGDEST
  REDIRECT  leh,kwl,lwl     8888      tcp   www     -       !10.0.0.0/8

Test:

  telnet checkip.dyndns.org 80
1)
gemeint ist natürlich das per HTTP und HTTPS erreichbare WWW
2)
z.B. die IP des Internetrouters, der meist auf Port 80 reagiert