Batch – Ermitteln der öffentlichen IP Adresse hinter einem NAT Router

Möchte man regelmäßig seine öffentlichen IP Adresse ermitteln und diese in einer Datei Protokollieren, so kann man einfach folgendes Windows Batch-Script verwenden:

echo off 
cls

::
:: ** Dies Script ermittelt die externe IP, sofern man hinter einem NAT Router sich befindet,
:: ** und schreibt diese in die Datei aus der Variablen "report"

:: **** ein paar Umgebungsvariablen zum anpassen
:: **
::
set report=c:\temp\oeff-ip.txt
set curlpath=curl.exe

:: **********************************************************************************************
:: **** Ab hier nichts mehr anpassen
:: **********************************************************************************************
::

:: Datum und Uhrzeit ermitteln und in Variablen sichern
for /f "tokens=1-3" %%a in ('cmd.exe /c "echo. | time"') do if %%a == Aktuelle set time=%%c
for /f "tokens=1-4" %%a in ('cmd.exe /c "echo. | date"') do if %%a == Aktuelles set date=%%d

echo|set /p="%date% - %time% - IP = " >> %report%
%curlpath% -s http://ip.tx2.net >> %report%
echo. >> %report%

Wer mag kann die Variable report entsprechend anpassen und mittels Aufgabenplanung das Script regelmäßig ausführen lassen.

MS SQL Server Zugriffe ausserhalb einer Domänenstruktur

Bei einer normalen Installation eines MS SQL – Servers ist als Standard der „Windows-Authentifizierungsmodus“ eingestellt. Dies hat zur Folge, dann nur Windows Gruppen oder Benutzer aus dem AD auf diesen zugreifen können. Selbst dann, wenn man einen Benutzer mit Option „SQL Server-Authentifizierung“ angelegt hat.

Nun eine kleine Bilderstrecke, wie man es am einfachsten mit dem SQL Server Management Studio einstellen kann.

Mehr ist auf Seite des Server erstmal nicht zu tun. Wenn man anschließend von einem „normalen“ PC eine ODBC Einrichtung vornimmt, muss man entsprechend auch die SQL Server Authentifizierung auswählen und die oben angelegten Credentials verwenden.

open DNS resolver

Durch schlecht konfigurierte Router/Firewalls ist es unter Umständen möglich, so genannte „DNS Amplification Attack“ durchzuführen. Dabei werden lokale DNS Server dazu verwendet einen  Denial-of-Service-Angriff (DOS) durchzuführen. (Genauer zum nachlesen KLICK)

Ob die eigene IP Adresse für solche Attacken „empfänglich“ ist, kann man unter Linux/OSX einfach mit dem Befehl DIG prüfen.

dig +short resolver.systemtechnics.de TXT @www.xxx.yyy.zzz

Die IP Adresse www.xxx.yyy.zzz ist natürlich durch die zu prüfende (eigene) IP-Adresse zu ersetzen. Ist ein offener DNS Vorhanden, dann wird der Text „open resolver detected“ ausgegeben. Wenn die Firewall korrekt arbeitet, dann erscheint eine Fehlermeldung (Siehe Bild)

Man kann natürlich auch Web-Dienste, wie etwa https://openresolver.com/ verwenden, um dies zu prüfen.

SECUREPOINT SSL VPN CLIENT NEU INSTALLIEREN – Variante 2

Wie in einem vorigen Artikel gezeigt, kann es unter Umständen passieren den Securepoint VPN Client neu installieren zu müssen. Mit folgender Variante müssen wir nur das MSI Paket von https://sourceforge.net/projects/securepoint/files/ herunter laden, eine Sicherung erzeugen und die Installation starten.

Ich gehe mal davon aus, dass das aktuelles MSI Paket sich im Ordner c:\temp befindet. Des weiteren müssen wir nur eine CMD-Box öffnen und nacheinander folgende Befehle ausführen:

set myDat=%date:~6,4%-%date:~3,2%-%date:~0,2%
xcopy "%appdata%\Securepoint SSL VPN\" "%appdata%\%myDat%-Securepoint SSL VPN.sik\" /S /y

Anschließend kann man den installierten Securepoint Client deinstallieren. Installiert man wieder exakt die gleiche Version, kann die Deinstallation übersprungen und direkt mit folgendem Befehl weiter gemacht werden.

msiexec /i c:\temp\openvpn-client-installer-2.0.33.msi /german

Vor dem ersten Start kopiert man die Sicherung wieder an den korrekten Platz. 

xcopy "%appdata%\%myDat%-Securepoint SSL VPN.sik\" "%appdata%\Securepoint SSL VPN\"  /S /y

Anschließend kann man den Securepoint Client starten und die Einstellungen prüfen. Mehr sollte nicht zu tun sein und bestenfalls sind alle weiteren Einstellungen noch vorhanden.

Automapping (Exchange) deaktivieren

Unter Umständen möchte man das Automapping für einen einzelnen Exchange Nutzer deaktivieren, damit man ein zusätzliches Postfach als Eigenständiges Postfach einrichten kann und dies nicht zweimal im Outlook erscheint.

Automapping ist die Funktion, die Postfächer automatisch in das Outlook einbindet auf die man Vollzugriff-Rechte hat.

Um bequem die Einstellung vorzunehmen und nicht die Powershell zu bemühen, muss man zuerst im Active Directory-Benutzer und -Computer Manager die erweiterten Funktionen aktivieren. Dies geht unter dem Menüpunkt „Ansicht“.
Im Anschluss muss man sich zu dem Postfach in der OU „durchhangeln“ bei diesem man das Automapping für den einen Nutzer ausschalten möchte.

Beispiel:

Benutzer Knut hat Vollzugriffsrechte auf das Postfach „Redaktion“.

Also „hangel“ ich mich im AD zu der OU in dem das Postfach „Redaktion“ enthalten ist und gehen in die Eigenschaften. In der Registerkarte Attribute-Editor muss ich den Wert msExchDelegateListLink suchen. Dort sucht an sich in der Auflistung den Nutzer (im obigen Beispiel „Knut“) heraus und entfernt diesen. Anschließend kann man das Dialogfenster schließen.

Im Outlook des Nutzers (Im Beispiel Knut) sollte das Postfach nicht mehr automatisch erscheinen und man kann dies als weiteres Exchange Postfach konfigurieren. 

Dies funktioniert meiner Erfahrung nach am besten im Online Modus, also den Outlook Cache im Outlook ausschalten!

Benutzerzugehörigkeiten schnell ermitteln

Um auf die Schnelle heraus zu finden zu welchen Nutzergruppen ein Benutzer gehört, kann folgender „net„-Befehl in der DOS-Box ausgeführt werden:

net user /domain {Benutzername}

Im Anschluß bekommt man eine sehr lange Liste mit nützlichen Informationen und natürlich auch die Gruppennamen.

Weiterhin kann man mit dem „find“-Befehl die Suche ein wenig eingrenzen:

net user /DOMAIN {Benutzer} | find /I "lw-r"
if not errorlevel 1 echo r: ...

ESXI Lieblings CLI Befehle

Zuerst meinen öffentlich SSH-Key hinzufügen. Das macht den Zugriff auf die Root-Konsole wesentlich einfacher:

echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCw70ZfkRAD4/EWSt9pN2agjEnY6eO16+pP+jKhZCtI621D80zeQP3MYCC88HLmojEnGeZg1QO7XWeObpqoHsYnJYT6uoxszkzQCUXuMP1n2pPSMnqb4MBZQauSfk8pDVF/riA5YcTQ7b2oUSuSzHPmURqELdVSv5EFek9HT9TdZf1NhEr2R8Z4gO9tgWVBndbrtgirk0Tyj+k2ctyiyGwkYHIQKRITjW1tmGwrl/TQAj5s2431yN8eL4YNWlCbv7uoS3PlIb3d5qjEZ4WDU4Rxm8MF3L+20emZ55WXDSEGj8qaKATsoN7q9bubrK7aIXQZomei/XchtqCkwMFGG/Fl herter" >> /etc/ssh/keys-root/authorized_keys 

SSH einschalten. (Das geht natürlich nur von der Konsole oder mittels IPMI aus.

vim-cmd hostsvc/enable_ssh 

Alle virtuellen Maschinen auflisten

vim-cmd vmsvc/getallvms

Derzeit laufende virtuelle Maschinen kann man mit folgendem Befehl auflisten

esxcli vm process list

Virtuelle Maschine starten

vim-cmd vmsvc/power.on {VMID}

Virtuelle Maschine herunterfahren bzw. hart ausschalten

vim-cmd vmsvc/power.shutdown {VMID}
vim-cmd vmsvc/power.off {VMID}

Viele weitere Parameter von vim-cmd gibt es mit

vim-cmd help

Wartungsmodus einschalten bzw. ausschalten

vim-cmd hostsvc/maintenance_mode_enter
vim-cmd hostsvc/maintenance_mode_exit

Host herunterfahren

poweroff

Host neustarten

reboot

Duply ohne Verschlüsselung verwenden

In manchen Fällen macht es Sinn, das Backup mit „Duply“ unschlüsselt auf den Backupserver zu sichern.
Dazu muss in der entsprechenden Konfigurationsdatei folgendes vorgenommen werden:

GPG_KEY='disabled'

und (hinzufügen von –no-encryption) :

Anschließend werden die zukünftigen Backups unverschlüsselt abgelegt. Die Übertragung sollte natürlich weiterhin mit sftp durchgeführt werden.

DUPL_PARAMS="$DUPL_PARAMS --full-if-older-than $MAX_FULLBKP_AGE --no-encryption"

Python-Paramiko Versionsproblem

Mit dem Modul Python-Paramiko kann man via Python SSH Befehle auf einem anderen Host ausführen lassen.
Bei manchen Scripten, wie zum Beispiel Duply, werden neuere Versionen verlangt. Es kommt dann zu folgenden Fehlermeldungen:

/usr/lib/python2.7/dist-packages/paramiko/ecdsakey.py:164: CryptographyDeprecationWarning: Support for unsafe construction of public numbers from encoded data will be removed in a future version. Please use EllipticCurvePublicKey.from_encoded_point
 self.ecdsa_curve.curve_class(), pointinfo
/usr/lib/python2.7/dist-packages/paramiko/kex_ecdh_nist.py:39: CryptographyDeprecationWarning: encode_point has been deprecated on EllipticCurvePublicNumbers and will be removed in a future version. Please use EllipticCurvePublicKey.public_bytes to obtain both compressed and uncompressed point encoding.

Abhilfe schafft das Python Modul aus den Buster Backports zu verwenden. Dazu muss entsprechend die sources.list bearbeitet werden.

pico /etc/apt/sources.list

Und eine weitere Zeile (sofern nicht schon vorhanden) hinzugefügt werden:

deb http://ftp.debian.org/debian buster-backports main

Wie immer müssen dann die Sourcen neu geladen werden und anschließend kann man von den Backports das aktuellere Modul installieren.

apt update && apt -t buster-backports install "python-paramiko"