Windows Server RRAS VPN mit NPS Einstellung „IP Filter“ fehlt (in der Konsole)

Problem

Die Einstellung „IP-Filter“ fehlt in der NPS-Konsole 😱

Lösung

Die Konsole „Als Administrator“ starten 💩 Hint: Das geht auch nicht aus de RRAS-Konsole heraus. Dieser Inkonsistente Mist kann einen Admin Wahnsinnig machen 🤪

„GParted Bug: Eine Partition kann nicht (xxx) nach dem Ende des Laufwerks enden (%2)“

Problem

GParted beschwert sich bei der Anpasung von Partitionsgrößen: „GParted Bug: Eine Partition kann nicht (xxx) nach dem Ende des Laufwerks enden (%2)“

Die gleiche Meldung gibt es auch auf Englisch: „GParted Bug: A partition cannot end after the end of the device (%2)“

Das tritt beim resizing oder verschieben einer Partition auf, obwohl noch genug Platz da ist und das Ende des Laufwerks noch nicht erreich scheint.

Lösung

Der Fehler (Bug) liegt in der Berechnung der Partitionsgrenzen bei der Verwendung des Binärpräfixe gemäß IEC (MiB/KiB …). Man stelle den Dialog also einfach einfach auf „Zylinder“ (Cylinder) um, schon funktioniert die selbe Operation fehlerfrei.

Windows Server 2016/2019 RDS (extrem) langsame Benutzeranmeldung

Gewisse „Eigenheiten“ in den Windows Server 2016/2019 RDS Diensten (früher „Terminaldienste“) reißen nicht ab.

Problem

In vielen Setups klagen Benutzer, wie Administratoren, über sehr langsame Anmeldevorgänge. Man nur einen schwarzen Bildschirm mit seiner Maus darauf und wartet lange bis der Desktop erscheint.

Das können 20 Sekunden sein, wir haben aber auch bis zu 4 Minuten (!) gesehen. An der Leistung der Maschine liegt es nicht.

Der gemeinsame Nenner scheint aber der Einsatz der Sessionhost-Rolle zusammen mit dem Broker/Gateway zu sein und -vor allem- die „User Profile Disks“. So sinnvoll die Erfindung der Benutzereigenen VHDX-Festplattencontainer auch erscheinen mag, der Einsatz der Profilplatten scheint den Anmeldezeit extrem zu verlängern.

Lösung

Es sind zwar nicht direkt die UPDs, aber eine Eigenheit des ShellExperienceHost im Zusammenhang mit der automatischen Ausführung durch den Dienst „App-Vorbereitung“ (AppReadiness). Es hilft diese Ausführung einfach zu deaktivieren:

  1. Den Dienst „App-Vorbereitung“ stoppen
    • Stop-Service AppReadiness
  2. Registry öffnen: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Config
  3. Dirt den Schlüssel „Microsoft.Windows.ShellExperienceHost_*******“ umbenennen (zum Beispiel ein „.backup“ anhängen oder den Schlüssel exportieren und löschen)
  4. Die „App-Vorbereitung“ wieder starten
    • Start-Service AppReadiness

Maschine rebooten und neu anmelden. Die Wartezeit sollte nun der Vergangenheit angehören.

Alternativ

Es gibt auch Software, die sich hier mit mehr oder weniger korrekten Schlüsseln verewigt. Ein Test der Schlüssel (anch und nach entfernen und die Anmeldung testen).

Besagter Dienst hat schon einige Probleme, Patches und Probleme hinter sich. Mal durch selbstgemachte Schwierigkeiten, mal durch Anpassungen Dritter. Es scheint hier zumindest größeres Fehlerpotential vorzuliegen …

Stempel für den Adobe Acrobat Reader erstellen („Eingescannte Unterschrift stempeln“)

Manchmal möchte man schnell ein Dokumuent unterschrieben, das als PDF vorliegt. Das PDF auszudrucken, zu unterschrieben und wieder einzuscannen ist heute glücklicherweise nicht mehr nötig.

So scannt man seine Unterschrift ein, um diese im Adobe reader als „Stempel“ zu verwenden.

1. Unterschrift einscannen

Das Autogramm muss natürlich einmal digitalisiert werden. Das geht durch das einscannen oder auch direkt digital, zum Beispiel mit einem Stift auf einem Tablet.

2. Unterschrift freistellen

Mit einem Grafikprogramm muss die Unterschrift von ihrem „Untergrund“ befreit werden. Wenn beispielsweise ein weißes Stück Papier mit eingescannt wurde, muss dies entfernt werden. Andernfalls würde der Stempel auch das weiße Rechteck „mitstempeln“, aber wir benötigen ja nur die Unterschrift. Das Speicherformat muss hinterher ein transparentes PNG oder GIF sein.

Das geht beispielsweise mit Photoshop – und hier kann man das Ergebnis auch direkt als transparentes PNG aufspeichern.

3. Die Signatur als PDF ablegen

Da das in keine Programm (außer dem Acrobat) direkt zu funktionieren scheint, nutzen wir diesen recht zuverlässigen Weg :

  1. Die Unterschrift in Microsoft Word einfügen (sonst nichts tun)
  2. Das neue Dokument „Als PDF speichern“

4. Dieses PDF im Adobe Acrobat Reader als Stempel einfügen

  1. Reader öffnen
  2. Oben auf den Tab „Werkzeuge“ wechseln, dann „Stempel“ öffnen
  3. „Benutzerdefinierte Stempel“ -> „Durchsuchen“ und die PDF-Datei auswählen
  4. Namen und wenn gewünscht Kategorie vergeben, fertig.

Ab jetzt steht der Stempel zur Auswahl beim einfügen zur Verfügung.

Installation RRAS (Routing und Ras) schlägt fehl: „Der Vorgang kann nicht abgeschlossen werden, da der angegebene Server neu gestartet werden muss.“

Problem

Die Rolle „Routing und RAS“ als Kernkomponente für den sicheren Fernzugriff via VPN hat seit Windows Server 2016 einen schlechten Ruf. Leider ist dieser unter Server 2019 noch mehr gerechtfertigt; die RRAS Services und deren Konfiguration sind bis zur Unbenutzbarkeit mit Fehlern behaftet.

Neu ist für uns aber der Installationsfehler: Fügt man via „Install-WindowsFeature Routing“ oder dem Server-Manager den RRAS Service hinzu („Remotezugriff“), beschwert sich der Server nach einer erfolglosen Installation:

Der Vorgang kann nicht abgeschlossen werden, da der angegebene Server neu gestartet werden muss.

Ein Neustart hilft hier (natürlich) nicht weiter.

Lösung

Die Installation scheitert an der WID, der „Internen Windows Datenbank“. WID ist eine SQL Express Instanz, die „Als Dienst anmelden“ Berechtigungen benötigt. Etwas ungeschickt ist hier, das der Dienst als „NT SERVICE“ starten will, der diese Rechte auf DCs (und einigen anderen Rollen) nicht (mehr) hat.

Also muss man die Default Domain Controllers Policy (bei DCs), die Default Domain Policy (bei „Hardened Networks“) oder die jeweils zutreffende Policy anpassen. Das macht man am besten nach einem sauberen Neustart.

Computerkonfiguration > Richtlinien > Windows-Einstellungen > Sicherheitseinstellungen > Lokale Richtlinien > Zuweisen von Benutzerrechten > Anmelden als Dienst

Hier müssen die folgenden Identities Mitglied sein:

  • DIENST
  • NETZWERK
  • Netzwerkdienst
  • IIS_WPG (wenn SSTP oder DirectAccess genutzt werden soll)

Schliessen, GPUPDATE /FORCE udn schon läuft die Installation fehlerfrei durch.

Sonicwall FRITZ!Box Site-to-Site VPN einrichten

Das VPN mit einer Fritz!Box aufzubauen war irritierend umständlich. Die Fritz!Box kann überraschend viel, zeigt das nur leider nicht und ist zumindest in Richtung VPN-Settings nicht wirklich gut dokumentiert. Zugegeben, die Box ist kein „Unternehmensrouter“, aber in Corona-Homeoffice Zeiten muss man nehmen was man kriegen kann 🙂 Auf die Details was und warum ehe ich nicht ein, das hier ist nur die „working config“, wie von uns gewohnt.

In diesem Fall: Sonicwall NSA 3650 und eine aktuelle Fritz!Box. Welche genau weiss ich nicht, aber das ist in weiten Teilena auch egal.

Wichtig: Keines der zu verbindenden Netze darf identisch oder ein Subnetz des anderen sein. Die Fritzbox mag sowas nicht routen und für ein Homeoffice dann noch NAT-Pools einrichten ist … übertrieben.

  • Unternehmen: 192.168.0.0 /16
  • Homeoffice: 10.0.178.0 /24

Sonicwall Seite

Ich nutze der Einfachheit halber eine VPN-Policy, kein Tunnelinterface. Das schöne daran ist, das der Tunnel seine SA’s sofort in die Routingtabelle einträgt, wenn also der Tunnel steht direkt das IP-Netzwerk verfügbar ist.

Ich gehe davon aus, das alle beteiligten Netzwerkobjekte bereits als solche angelegt sind.

VPN Policy auf der Sonicwall hinzufügen

Manage > VPN > Base Settings > Add

  • Security Policy
    • Policy-Type: Site to Site
    • Authentication Method: IKE using Preshared Secret
    • Name: FBox-VPN-42
    • Psec Primary Gateway Name or Address: <IP/DNS der Homeoffice FBox>
  • IKE Authentication
    • Shared Secret: <Supergeheimeskennwort>
    • Local IKE ID: Domain Name : <IP/FQDN der Sonicwall>
    • Peer IKE ID: Domain Name : <IP/FQDN der Fritz!Box>
  • Network
    • Local Networks
      • Choose local network from list: <Objektgruppe der/des Unternehmens-Netzwerke>
    • Remote Networks
      • Choose destination network from list: <Objektgruppe des Homeoffice-Netzes>
  • Proposals
    • IKE (Phase 1) Proposal
      • Exchange: Aggressive Mode
      • DH Group: Group 2
      • Encryption: AES-256
      • Authentication: SHA1
      • Life Time (seconds): 28800
    • Ipsec (Phase 2) Proposal
      • Protocol: ESP
      • Encryption: AES-256
      • Authentication: SHA1
      • Enable Perfect Forward Secrecy Einschalten (!)
      • DH Group: Group 2
      • Life Time (seconds): 3600

FRITZ!Box Seite

Man nutze nicht den „Firmen“ Assistenten, sondern lade die Konfiguration vie „Datei importieren“ hoch. Das geht unter Internet > Freigaben > VPN.

Eine laufende CFG Configfile sieht so aus:

 vpncfg {
        connections {
                enabled = yes;
                conn_type = conntype_lan;
                name = "Tunnel to Northkorea";
                always_renew = yes;
                reject_not_encrypted = no;
                dont_filter_netbios = yes;
                localip = 0.0.0.0;
                local_virtualip = 0.0.0.0;
                remoteip = 0.0.0.0;
                remote_virtualip = 0.0.0.0;
                remotehostname = "<IP/FQDN Sonicwall>";
                localid {
                        fqdn = "<IP/FQDN FRITZ!Box>;
                }
                remoteid {
                        fqdn = "<IP/FQDN Sonicwall>";
                }
                mode = phase1_mode_aggressive;
                phase1ss = "all/all/all";
                keytype = connkeytype_pre_shared;
                key = "<Supergeheimeskennwort>";
                cert_do_server_auth = no;
                use_nat_t = no;
                use_xauth = no;
                use_cfgmode = no;
                phase2localid {
                        ipnet {
                                ipaddr = <NetzID FritzBox-Netzwerk>;
                                mask = <Subnetzmaske FritzBox-Netzwerk>;
                        }
                }
                phase2remoteid {
                        ipnet {
                                ipaddr = <NetzID Unternehmensnetzwerk>;
                                mask = <Subnetzmaske Unternehmensnetzwerk>;
                        }
                }
                phase2ss = "esp-all-all/ah-none/comp-all/pfs";
                accesslist =    "permit ip any <NetzID FritzBox-Netzwerk> <Subnetzmaske FritzBox-Netzwerk>",
                                "permit ip any <NetzID Unternehmensnetzwerk> <Subnetzmaske Unternehmensnetzwerk>";
        }
        ike_forward_rules = "udp 0.0.0.0:500 0.0.0.0:500", 
                            "udp 0.0.0.0:4500 0.0.0.0:4500";
} 

SSTP VPN unter Apple MacOS X nutzen

Leider liefert Apple standartmäßig immer noch keinen SSTP-Client mit, daher muss man einen selber installieren. Der SSTP-Client von sstp-client.sourceforge.net wurde eigentlich für Linux gebaut, aufgrund des statischen Bianaries läuft der aber auch perfekt unter MacOS.

L2TP ist im Lieferumfang von MacOS enthalten, aber wegen der NAT Probleme klappt das meist nicht zuverlässig. Wir raten auch zu SSTP, das geht immer. Wenn man nicht grade OpenVPN, CyberGhost oder andere fiese System-Hackereien installiert hat.

  1. Terminal öffnen
  2. https://brew.sh/ Installieren:
    • /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
  3. brew install sstp-client
  4. sudo touch /etc/ppp/options
  5. sudo /usr/local/sbin/sstpc --log-stderr --cert-warn --user <[email protected]> --password <PASSWD> <SERVER-FQDN> usepeerdns require-mschap-v2 noauth noipdefault defaultroute refuse-eap noccp

Split-Tunneling, also die eigene Defaultroute weiter nutzen, kann man indem man den Parameter defaultroute weglässt.

Und schon steht die Verbindung 🙂