Archiv der Kategorie: Workaround

UNBLOG Tutorials Usability and Addons Integration with Technical Workarounds and Tutorials for Professionals.

Namensauflösung über VPN mit Split Horizon DNS

Mit Split Horizon DNS in VPN-Verbindungen können Clients die Netzwerk Ressourcen oft nicht auflösen, mit diesen die VPN-Clients verbunden sind. Das ist vor allem bei einer Active Directory Domäne problematisch, weil die Clients dann keine Domänen-Controller zur Anmeldung erreichen können. Die Anmeldung erfolgt dann lediglich über den lokalen Lsass-Cache, die Gruppenrichtlinien und Anmeldeskripts werden dabei nicht ausgeführt.

In diesem Tutorial beschreibe ich, wie man bei VPN Clients die Namens Auflösung ermöglicht, innerhalb der Netzwerk Infrastruktur der Organisation.

Schnittstellenmetrik anpassen in Split Horizon DNS VPN-Verbindungen

Um die Windows Schnittstellenmetrik zu steuern und den DNS-Server nach der Einwahl der VPN-Verbindung zu bevorzugen, kann der VPN-Schnittstelle eine höhere Priorität und damit niedrigere Metrik zuweisen werden, über die TCP/IP-Einstellungen der Netzwerkadapter mit den Tasten Windows+R und der Eingabe ncpa.cpl

In den Eigenschaften des entsprechenden Netzwerkadapter öffnet man mit einem Doppelklick, Internetprotokoll, Version 4 (TCP/IPv4), dann über die Schaltfläche Erweitert, hier findet man das Feld für den Wert der Schnittstellenmetrik.

Split Horizon DNS VPN TCP/IP-Einstellung Schnittstellenmetrik

Hier sollte für die VPN-Schnittstelle „Automatische Metrik“ nicht aktiviert sein, es kann ein niedriger Wert eingetragen werden. Nach einer erneuten Imitierung sollte die Namensauflösung über das VPN-Netzwerk stattfinden.

Multicastnamensauflösung deaktivieren

Mit Windows 10 und 11 wurde Smart Multi-Homed Name Resolution (SMHNR) eingeführt, um die Namensauflösung zu beschleunigen werden die DNS-Anfragen an mehrere DNS-Server gleichzeitig gesendet.

Das hat einen unerwünschten Nebeneffekt, denn es werden die Anfragen zur internen Namensauflösung an externe DNS-Server („DNS Leakage“) gesendet. Deren Betreiber können hierdurch eine detaillierte Übersicht der IT-Ressourcen des Unternehmens erhalten.

Die betreffende Einstellung Multicastnamensauflösung deaktivieren („Turn off smart multi-homed name resolution“) unter Computer Configuration => Administrative Templates => Network > DNS Client.

GPO Multicastnamensauflösung deaktivieren

Schnittstellenmetrik in PowerShell anpassen

Die Schnittstellenmetriken der verschiedenen Netzwerk­verbindungen lassen sich in der PowerShell sortiert anzeigen, mit folgendem Befehl.

PS C:\> Get-NetIPInterface | Sort-Object Interfacemetric

Die PowerShell zeigt nun übersichtlich alle Schnittstellen Metriken.

Get-NetIPInterface Sort-Object Interfacemetric

Alternativ lassen sich die Metriken mit dem Dienstprogramm netsh.exe ausgeben, wenn auch nicht so detailiert wie in der PowerShell.

C:\> netsh int ip show interfaces

Idx     Met         MTU          State                Name
---  ----------  ----------  ------------  ---------------------------
  1          75  4294967295  connected     Loopback Pseudo-Interface 1
 10           5       65535  disconnected  OpenVPN Wintun
 12          40        1500  connected     WLAN
 15           5        1500  disconnected  Ethernet
  8          25        1500  disconnected  OpenVPN TAP-Windows6
 11          65        1500  disconnected  Bluetooth-Netzwerkverbindung
 17          25        1500  disconnected  OpenVPN Data Channel Offload
 16          25        1500  disconnected  LAN-Verbindung* 3
 22          25        1500  disconnected  LAN-Verbindung* 12
  4          35        1500  connected     VMware Network Adapter VMnet1
  6          35        1500  connected     VMware Network Adapter VMnet8

Die Schnittstellenmetrik wird in der PowerShell wie folgt geändert.

PS C:\> Set-NetIPInterface -InterfaceIndex <ifIndex Wert> -InterfaceMetric <Metrik>

Die Identifizierung des Netzwerkadapters erfolgt über den Parameter -InterfaceIndex, den man bei der Abfrage mit dem Cmdlet Get-NetIPInterface in der Spalte ifIndex erhält.

Fazit

In diesem Tutorial zeigen wir, wie die Namensauflösung bei VPN-Clients, über die getunnelte VPN-Verbindungen ermöglicht werden kann. Die Netzwerk Ressourcen werden aufgelöst und die Domänen-Controller zur Authentifizierung werden erreichbar. Die Anmeldung kann über Local Security Authority Subsystem Service (LSASS) erfolgen, dabei Gruppenrichtlinien und Anmeldeskripts ausgeführt werden.

MySQL root Passwort auf leer setzen

In manchen Situationen ist ein leeres MySQL-Root-Passwort nützlich, zum Beispiel bei der Bereitstellung von Tests, wenn mehrere Datenbankschemata importiert werden müssen oder einfach beim Bereitstellen von SQL-Datenbanken, die für Versuchszwecke bereitgestellt werden sollen.

Wie setzt man ein blankes MySQL-Root-Passwort?

MySQL root Passwort auf leer setzen

Öffne hierzu im Terminal zunächst MySQL mit dem Root-Konto.

$ sudo mysql

Bei einigen Konfigurationen muss möglicherweise der folgende Befehl ausgeführt werden, mit Root-Passwort Eingabe.

$ mysql -u root -p

Wenn man ein leeres Passwort für den Root-Benutzer festlegen muss, so kann dies mit diesem Befehl erstellt werden.

MariaDB> SET PASSWORD FOR 'root'@'localhost' = '';

Wenn das Passwort eines bereits bestehenden Benutzers auf leer gesetzt werden soll, kann folgender ALTER USER Befehl verwendet werden.

MariaDB> ALTER USER 'user'@'localhost' IDENTIFIED BY '';

Der folgende Befehl erstellt ein neuen Benutzer user und wird ein leeres Passwort festlegen.

MariaDB> CREATE USER 'user'@'localhost' IDENTIFIED BY '';

Alternativ kann mit mysqladmin das root Passwort leer gesetzt werden.

$ sudo mysqladmin -u root -pcurrent_password password ''

MySQL lässt sich auch in der grafischen Weboberfläche von phpMyAdmin einfach und übersichtlich verwalten.

Fazit

In diesem Beitrag zeige ich, wie ein leeres MySQL-Root-Passwort erstellt wird, für Situationen nützlich, wie beispielsweise bei der Bereitstellung von Tests, wenn mehrere Datenbankschemata importiert werden müssen, oder einfach, wenn SQL-Datenbanken zum Testen in Nicht-Produktionsumgebungen bereitgestellt werden sollen, hier sind Hürden nicht sehr sinnvoll und eine Vereinfachung kann angestrebt werden.

Relationale Datenbankmanagementsysteme wie MySQL, MariaDB und PostgreSQL gehören laut dem aktuellen DB-Engines-Ranking zu den populärsten. Da sie als sehr zuverlässig gelten und Inkonsistenzen in den Datensätzen vermeiden, sind sie seit Jahrzehnten als etablierter Standard für Datenbanken in den meisten Systemen gesetzt.

Um die Daten darin abzufragen und zu bearbeiten, kommt in der Regel die Datenbanksprache Structured Query Language (SQL) zum Einsatz. So kommunizieren Anwender beispielsweise über eine Maske für Produktsuche in einem Webshop mit einem Server. Dieser fragt wiederum eine Datenbank ab und spielt die erhaltenen Informationen an den Webshop als Suchergebnis zurück.

Auf diesem Weg sind die in der Datenbank gespeicherten Daten anfällig für sogenannte SQL-Injection (SQLi), die beliebigen Code in Abfragen einschleust. So ist es möglich, Informationen unerlaubt auszulesen oder zu verändern. Im schlimmsten Fall erlangen die Eindringlinge Kontrolle über die gesamte Datenbank.