Tag Archives: SSL VPN

Trennung der SSLVPN- und Authentication Login-Seiten

WatchGuard hat mit Fireware 11.12.2 das Authentication Portal (üblicherweise auf Port 4100) noch weiter vom SSLVPN-Portal abgetrennt. Bei älteren Fireware Releases war es möglich, über https://[IP-der-Firebox]/sslvpn_logon.shtml die SSLVPN-Login-Seite aufzurufen und über https://[IP-der-Firebox]/logon.shtml die Login-Seite für die normale User Authentifizierung an der Firewall – unabhängig davon, welcher Port (4100/Authentification oder 443/SSLVPN bzw. anderer eingestellter Port) aufgerufen wurde. Die saubere Trennung der beiden Dienste führt nun einerseits zu einer erhöhten Sicherheit, ist aber möglicherweise für den einen oder anderen etwas hinderlich. Beispielsweise wenn jemand, der die Authentifizierung von External nutzen soll, an seinem aktuellen Internet-Zugang nicht über Port 4100 ins Internet hinaus darf. Hier war es extrem praktisch, die Authentifizierung eben auch auf dem üblicherweise in ausgehende Richtung offenen Port 443 ansprechen zu können.

Folgende Workarounds können nun eingerichtet werden:

  • Falls der Port 443 noch gar nicht verwendet wird: Einrichten eines SNAT von Any-External an IP:443 mit Weiterleitung an die interne IP der Firewall auf Port 4100!
  • Falls der Port 443 bereits für SSLVPN verwendet wird: Sekundäre IP für den o.g. SNAT verwenden, sofern vom Provider mehrere externe IPs zur Verfügung gestellt werden
  • Evtl. SSLVPN auf einem anderen Port als 443 betreiben, um den Port 443 für User Authentication freizuschalten. Hier verlagert man das Problem aber nur, denn wenn SSLVPN z.B. auf Port 444 umkonfiguriert wird, dann müssen eben mögliche SSLVPN-Nutzer an deren Standort eben auch über diesen Port 444 ins Internet hinaus können…

Falls der externe Port 443 bereits für Microsoft Outlook Web Access (OWA) oder einen anderen Dienst (interner Webserver mit HTTPS) für die Weiterleitung nach innen benutzt wird, hilft hierbei künftig eventuell ein für Fireware 12.x angekündigtes neues Feature: Host Header Redirection. Mit diesem Feature soll es möglich werden, auf der WatchGuard Firewall ein Multidomain/SAN-Zertifikat zu installieren und dann abhängig vom jeweiligen Hostnamen auf unterschiedliche interne IPs weiterzuleiten. Leider wird hier nach meinem Kenntnisstand SSLVPN außen vor bleiben.

XTM 330 soll HA (Cluster) fähig werden

Die Watchguard XTM 330 wird ab Werk bereits mit dem XTM Pro Upgrade und den damit verbundenen Funktionserweiterungen wie Multi-WAN, Policy Based Routing, Dynamic Routing, QoS und der Maximalzahl der vorgesehenen 55 SSLVPN-User ausgeliefert. Bei den größeren Modellen ab XTM 5 aufwärts ist bei XTM Pro auch die Cluster-Fähigkeit (HA) in den Versionen Active/Active und Active/Passive enthalten.
Derzeit wird jedoch bei der XTM 330 kein HA (Cluster) unterstützt!
In einer der künftigen Softwareversionen soll jedoch die Clusterfähigkeit auch für die XTM 330 freigeschaltet werden!

RSA SecurID Appliance verweigert User Authentication wegen falscher Systemzeit

Vor ein paar Wochen hatte ich den Fall, dass ein Kunde eine RSA SecurID Appliance (v3.0) zur Two-Factor Authentication seiner WatchGuard Mobile User VPN Verbindungen nutzen wollte. Trotz vermeintlich korrekter Konfiguration sowohl der WatchGuard XTM 510 als auch der RSA Appliance wollte es partout nicht klappen. Die eigentliche Ursache kam erst fast zufällig in einem Support Call mit RSA ans Tageslicht: weil NTP (Network Time Protocol), also der automatische Zeitabgleich mit Zeitservern im Internet auf der RSA Appliance fehlerhaft konfiguriert war, hatte die RSA Appliance eine um etwa 12 Stunden falsche Systemzeit, was eben zur Ablehnung der Usereinwahlen geführt hat… Mit korrekter Systemzeit auf der RSA Appliance war dann “alles gut”…

Begrenzter Zeichensatz bei Active Directory Authentication

Puuuuh, nach mehr als einem halben Jahr komme ich endlich mal wieder dazu, hier einen Beitrag zu schreiben. Ich will nicht klagen, es waren einfach sehr viele und anspruchsvolle Projekte in den letzten Monaten. In den nächsten Wochen hoffe ich nun, hier wieder einige hilfreiche Postings schreiben zu können.

Ich fange mit einem “alten Schuh” an, allerdings in einer etwas anderen Ausprägung. Ich habe bereits ja empfohlen, sich in der WatchGuard XML Konfigurationsdatei, und insbesondere bei Passwörtern, Pre-Shared Keys etc. auf den Zeichensatz US-ASCII 7 zu beschränken, d.h. also insbesondere auf die Verwendung von äöüß und Sonderzeichen zu verzichten. Ich empfehle sogar, Kennwörter etc. gänzlich nur aus den klassischen Buchstaben A-Z, a-z und den Ziffern 0-9 zu bilden. Ganz ohne Sonderzeichen, lieber ein paar Stellen mehr…

Wenn nun User Authentication gegenüber Active Directory im Spiel ist, sollte diese Grundregel auch beherzigt werden, wenn die User ihre AD/Windows-Kennwörter festlegen. Ein Kunde berichtete von MUVPN-Einwahl-Problemen bei einem bestimmten User. Dieser hatte ein €-Zeichen in seinem Windows-Kennwort. Die Einwahl schlug fehl. Nach Änderung des AD/Windows-Kennworts (ohne €-Zeichen) war die Einwahl erfolgreich!

Der Kunde hat mir freundlicherweise eine Liste von Zeichen geschickt, die in einem AD/Windows-Kennwort vorkommen dürfen, damit eine MUVPN-Einwahl / User Authentication erfolgreich ist:

!#$%&()*+,-.0123456789:;<=>@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]_abcdefghijklmnopqrstuvwxyz{} und das “Leerzeichen”…

Diese Einschränkung dürfte dann auch gelten, wenn die Einwahl bzw. Authentication per PPTP-VPN (i.V. mit RADIUS), SSL-VPN (AD oder RADIUS) und auch in Verbindung mit Two-Factor Authentication Systemen wie VASCO oder RSA gegenüber AD erfolgt!

XTM: Mobile User verlieren Routing in das lokale Netzwerk

In einem Support Incident hatte ich in den letzten Wochen mit dem Problem zu kämpfen, dass Mobile User, die sich per MUVPN (NCP IPSec Client) oder WatchGuard SSL-VPN-Client einwählen, zwar eine augenscheinlich stabile VPN-Verbindung stehen haben – aber trotzdem nicht auf Resourcen im lokalen Netzwerk zugreifen können.
Die Besonderheit hierbei war jedoch, dass der Zugriff unmittelbar nach der Einwahl möglich war (z.B. Test per “ping -t”) – nach ein paar Sekunden jedoch plötzlich nicht mehr. Ein Vergleich der Routing Table des Einwahl-PCs (“route print”) sofort nach der Einwahl und später nach dem Auftreten des Problems zeigt, dass die Einwahl-Routen in das lokale Netzwerk plötzlich verschwinden, wodurch natürlich nicht mehr auf die internen Resourcen zugegriffen werden kann… Umfangreiche Fehlersuche zeigte auf, dass das beschriebene Problem nur in Kombination aus bestimmten Faktoren auftritt. Reproduzierbar war das Problem insbesondere, wenn auf dem betroffenen Client-PC:

  • Windows XP läuft als Betriebssystem
  • eine Broadcom-Netzwerkkarte eingebaut ist, die IEEE 802.1X Authentication unterstützt (oder ein anderer Hersteller)
  • eventuell begünstigt auch das Vorhandensein des “Novell-Client” auf dem gleichen PC das Problem.

Der Workaround, der das Problem bei dem betreffenden Kunden zunächst umschifft hat (ohne dabei jedoch das eigentliche Problem zu beheben) basiert darauf, unter Systemsteuerung > Netzwerkverbindungen in dem virtuellen Netzwerkadapter, der von dem MUVPN-IPSec-Client (NCP) erzeugt wird, auf dem Tab “Authentication” das Häkchen entfernen bei Enable IEEE 802.1X Authentication:

Das o.g. Häkchen scheint auch bei virtuellen Adaptern automatisch aktiviert zu sein (wie dem IPSec MUVPN-Client und dem WatchGuard SSLVPN-Client), wenn der darunter liegende physikalische Netzwerk-Adapter diese Funktion unterstützt. Nachdem die VPN-Software die Verbindung hergestellt hat, greift offenbar die 802.1X Authentication ein und unterbricht für kurze Zeit die Netzwerkverbindung. Anschließend kommt offenbar zwar die Netzwerkverbindung zurück, aber die Routen sind aus der Routingtabelle verschwunden…

SSL 100: One Time Password per SMS

Die einfachste Form der User Authentication an einer WatchGuard SSL 100 ist die Kombination aus Benutzername und Kennwort, WatchGuard SSL Password. Die User und Kennwörter können auf der SSL100 selbst gepflegt werden oder es erfolgt ein Mapping zu einer externen Benutzerdatenbank, z.B. einem Active Directory. Damit nicht die unbefugte Weitergabe der Zugangsdaten an Dritte die Sicherheit der internen Daten und Programme gefährdet, kann eine zweite Komponente die Sicherheit erhöhen: eine Two-Factor Authentication, also die Kombination aus Wissen und Besitz oder Biometrie). Neben der Kenntnis von Benutzername und Kennwort ist auch noch eine zweite Komponente erforderlich, z.B. ein OTP Token als Schlüsselanhänger, der zeitgesteuert z.B. alle 60 Sekunden eine neue 6-stellige Zahl anzeigt, die bei der Anmeldung zusätzlich abgefragt wird. Hersteller sind u.a. RSA und VASCO. Alternativ ist es auch möglich, das Einmal-Kennwort per E-Mail (z.B. an BlackBerry Handhelds, iPhone oder andere Mobile E-Mail Devices) zu versenden – oder per SMS auf ein beliebiges Mobiltelefon.
Wenn das One Time Password (OTP) per SMS versendet werden soll, bedient man sich in der Regel eines SMS-Providers, bei dem man ein gewisses Kontingent an SMS einkauft. Ein möglicher Anbieter ist Clickatell. Nach der Aktivierung eines Accounts und dem Kauf eines SMS-Kontingents (hier 400 SMS für 17,60 EUR = 4,4 ct pro SMS) bekommt man von Clickatell drei Zugangsinformationen zugewiesen: USERNAME, PASSWORD und API_ID. Diese drei Angaben ersetzen die Platzhalter in folgender URL: https://api.clickatell.com/http/sendmsg?user=USER&password=PASSWORD&api_id=API&to=[$user-mobile]&text=[$message].
In der Konfiguration der WatchGuard SSL100 wird diese URL an folgender Stelle eingetragen: Manage System > Notification Settings > SMS Channel > Add SMS Channel > Plugin = HTTP-Plugin > URL > Save > Save (!!!) > Publish (!!!)
Außerdem muss sichergestellt sein, dass WatchGuard SSL Mobile Text generell als Authentication Methode enabled ist und auch in den entsprechenden Userkonten, die dieses Verfahren nutzen sollen. Dort muss ebenfalls die Mobilfunknummer eingetragen werden, an die die SMS geschickt werden soll (hier im Format 49171xxxxxxx). Die Nutzung des SMS-OTP macht natürlich nur dann Sinn, wenn in den betreffenden User-Accounts die Anmeldemethode WatchGuard SSL Password disabled wird, denn sonst wäre ja nach wie vor die einfache Anmeldung nur mit Benutzername und Kennwort möglich. Beim Aufruf der Anmeldeseite wählt der User also WatchGuard SSL Mobile Text aus und meldet sich zunächst mit seinem regulären Benutzernamen und Kennwort an:

Dadurch wird die Erzeugung des SMS-OTP angestoßen und wenige Sekunden später kommt eine SMS an. Als Absender der SMS tritt bei Clickatell eine +44 Nummer in Erscheinung, da das Gateway wohl in Großbritannien betrieben wird. Der Standard-Text der SMS lautet: Your OTP is xxxxxx. Enter it to login with Mobile Text. Anschließend steht die gewohnte Portaloberfläche mit den freigegebenen Icons zur Verfügung.

SSL 100 Feature Key wrong

Bei der Inbetriebnahme einer WatchGuard SSL 100 SSL-VPN Appliance musste ich heute feststellen, dass der nach Produkt-Registrierung auf der WatchGuard Website heruntergeladene Feature Key korrupt war und die SSL 100 sich mit dem Fehler “Wrong Feature Key” verweigerte. Anders als bei den klassischen WatchGuard Produkten steckt in einem SSL 100 Feature Key u.a. auch der Firmenname und die E-Mail-Adresse des Ansprechpartners, so wie sie im betreffenden Account hinterlegt sind. Wurden bei der erstmaligen Erzeugung des Accounts im Firmennamen Sonderzeichen, Umlaute etc. verwendet, kann dies zu diesem Fehlerbild führen. Im vorliegenden Fall war das &-Zeichen der Übeltäter (eine GmbH & Co. KG…)
Leider kann man den Firmennamen im Account NICHT selbst ändern. Hierzu muss ein Support Incident geöffnet werden oder die Customer Care Abteilung in USA anderweitig informiert werden. Diese entfernt dann verdächtige Zeichen aus der Datenbank. Dieses Verhalten ist von WatchGuard als Bug bestätigt, es gibt aber noch keine Aussage, wann dieser Fehler beseitigt wird.

Fireware XTM v11 und Windows 2000 Active Directory User Authentication

Die Release Notes von WSM und Fireware XTM v11 enthalten den lapidaren Satz “We no longer support Microsoft Windows 2000”. Eine damit zusammenhängende Erscheinung hat mir die Tage etwas Kopfzerbrechen beschert: User Authentication gegenüber einer nativen Windows 2000 Domäne. Nach dem Upgrade von WSM/Fireware 10.2.7 auf 11.2.1 funktionierte sowohl die Web Authentication über Port 4100 nicht mehr (“user name or password invalid”) als auch die MUVPN-Einwahl über den IPSec-Client (“admd ADM auth Firewall user [xxxxx@Active Directory] Error, Reason – Generic error id=”1100-0012” bzw. “wgcgi Firewall user xxxxx@Active Directory from [IP] rejected – all other error”).
Das liegt daran, dass eine Firebox mit Fireware XTM v11 “anders” in das Active Directory abfragt als die bisherige Fireware 10. Zum Auslesen von Gruppenmitgliedschaften werden jetzt tokenGroups_get Abfragen ins AD gestellt. Damit kann ein natives Windows 2000 Active Directory aber noch nichts anfangen. Erst ein Windows 2003 Domänencontroller kommt damit zurecht. Natürlich sollte heutzutage die AD-Migration kein Problem mehr sein, will aber natürlich trotzdem gut vorbereitet sein. Für die Übergangszeit kann daher mit einem Trick gearbeitet werden, der zwar nicht offiziell supported wird, aber trotzdem funktioniert: anstelle der direkten Active Directory Authentication auf LDAP umstellen – mit ansonsten identischen Einstellungen:

In der Pulldown-Liste von Login Attribute findet sich bei LDAP jedoch nicht das klassische Windows-Attribut sAMAccountName. Dies kann dort aber händisch über die Tastatur eingegeben werden… Natürlich müssen dann ggfs. noch die in Firewallregeln verwendeten Gruppennamen unter Setup > Authentication > Authorized Users and Groups nachgezogen werden. Und unter VPN > Mobile VPN muss auch an den entsprechenden Stellen von Active Directory auf LDAP umgestellt werden.