Autor Archiv

Mit Synology Cloudsync Nextcloud Dateien sichern

MIt eine Synology Diskstation kann man mit der App „Cloudsync“ sehr einfach seine Nextcloud Instanz sichern. Einen kleinen Kniff gibt es dabei, den ich hier kurz aufzeigen möchte.

Zuerst müssen wir in das Webinterface von unserem NextCloud und klicken wie auf dem Bild auf Einstellungen.

Die Einstellungen erweitern sich und man kann die WebDAV URL kopieren.

Wechseln wir nun in das Webinterface der Synology NAS.

Nachdem über dem Paketmanager Cloudsync installiert wurde starten wir die App. Anschließend klicken wir auf das Plus Symbol.

Es erscheint der Assistent mit diversen Anbietern. Wir scrollen ein wenig nach unten, wählen WebDAV aus und klicken weiter.

Die Serveradresse im folgenden Dialogfenster ist die WebDAV URL die wir uns oben bei den Nextcloud Einstellungen kopiert haben. Dabei ist zu achten, dass am Ende der „/“ entfernt werden muss. Ansonsten gibt die App Cloudsync ein Authentifizierungsfehler aus.

Benutzerkonto und Kennwort sollten klar sein. Anschließend bestätigen wir mir Weiter.

Im Nachfolgenden Bild wählen wir noch einen passenden „lokalen Pfad“ aus. Da ich mit der App Cloudsync nur Dateien sichern und nicht den der Synology NAS zu Nextcloud hochladen möchte, wähle ich unter SynchronisierungrichtungNur Remote-Änderungen herunterladen“ aus.

Die nächsten Dialogfenster könnten dann in den Standardeinstellungen bestätigt werden.

Im Anschluß verrichtet Cloudsync seine Arbeit und lädt die Dateien herunter. Wer mag kann die Konfiguration nach Erstellung editieren und z.B. den Zeitplan bearbeiten wann Cloudsync aktiv sein soll.

Merker: acme.sh

Um Zertifikate für Dienste zu erstellen, die keinen Webserver mitbringen, kann man auch wie folgt erstellen. Dazu ist es nötig, dass der Domainprovider bzw. DNS Anbieter eine Schnittstelle für die DNS-Challenge mitbringt. INWX tut dies :-)

Die unterstützten Provider kann man auf Github nachlesen: https://github.com/acmesh-official/acme.sh/tree/master/dnsapi

Erstellen kann man dann ein Zertifikat wie folgt:
(Pfade sollten natürlich vorhanden sein)

acme.sh \
  --issue \
  --cert-home /Users/knut/Downloads/SSL \
  --dns dns_inwx \
  -d amsel.systemtechnics.de \
  -d drossel.systemtechnics.de

Erneuern mit folgendem Befehl:

acme.sh \
  --renew \
  --cert-home /Users/knut/Downloads/SSL \
  --dns dns_inwx \
  -d amsel.systemtechnics.de \
  -d drossel.systemtechnics.de

Alle bestehenden Zertifikate (die unter /Users/knut/Downloads/SSL existieren ) erneuern:

acme.sh \
  --renew-all \
  --cert-home /Users/knut/Downloads/SSL \
  --dns dns_inwx 

Linux – Meldung vor Passwort Prompt ausgeben

Man kann unter Linux die Datei /etc/issue.net dazu verwenden, vor dem eigentlichen Passwort Prompt, eine Meldung auszugeben. Diese kann z.B. Nutzer warnen ein Login durchzuführen sofern sie nicht dazu berechtigt sind.

Die Umsetzung ist denkbar einfach. Zuerst müssen wir uns natürlich korrekt auf dem System anmelden und im Anschluss die Datei /etc/issue.net editieren.

pico /etc/issue.net

Dort kann man die gewünschte Meldung eingeben und entsprechend speichern. Im Anschluss müssen die den SSH-Daemon dazu bringen diese auch zu verwenden. Dazu editieren wie die Datei /etc/ssh/sshd_config und suchen nach der Zeile Banner

pico /etc/ssh/sshd_config

Diese dann wie folgt einstellen. (In der Regel ist die Zeile auskommentiert)

# no default banner path

Banner /etc/issue.net

Nach dem Neustart des SSH-Daemon wird bei der Anmeldung vor dem Passwort Prompt die Meldung ausgegeben. (Siehe Bild oben)

service ssh restart

Bei der Authentifizierung mittels SSH-Keys (welches ich empfehle und bevorzuge), gibt es natürlich kein Passwort Prompt. Die Meldung wird dann aber trotzdem ausgegeben.

PGP Alternative age

Bei Twitter bin ich auf ein Verschlüsselungsprogramm (age) aufmerksam geworden. Verschlüsselt wird wie bei PGP auch über ein Public-/Secret- Key Verfahren.

Die Installation und Handhabung ist recht einfach. Ich möchte hier ein paar davon (für OSX) beschreiben. Wer es genauer nachlesen möchte kann dies gerne unter https://github.com/FiloSottile/age tun.

Die Installation mittels brew ist denkbar einfach. Mit folgendem Befehl wird age und age-keygen installiert.

brew install age

Zuerst muss ein geheimer und öffentlicher Schlüssel generiert werden. Dies funktioniert wie folgt:

age-keygen > key.txt

Wer seinen privaten Schlüssel mit einem Passwort versehen möchte kann dies mit folgenden Befehl tun. Der öffentliche Schlüssel der dabei angezeigt wird sollte man sich anschließend in einer Datei merken!

age-keygen | age -p > key.age

Nun hat man eigentlich schon alles was man benötigt, dass einem eine Verschlüsselte Datei zugesendet werden kann. Das Public-Key-Verfahren beruht ja darauf, dass jemand mit meinem öffentlichen Schlüssel für mich etwas verschlüsselt, was nur ich mit meinem privaten Schlüssel wieder entschlüsseln kann.

Wer selbst eine Domain betreibt und die dort Möglichkeit besitzt einen TXT Eintrag zu erstellen, der kann seinen öffentlichen Schlüssel auch dort ablegen. Mein aktueller Schlüssel liegt im TXT Eintrag zu knut.systemtechnics.de .

Diesen kann man mit dem Befehl dig auch ganz einfach aus der Konsole auslesen.

dig +short TXT knut.systemtechnics.de | tr -d \"

Kommen wir nun zum eigentlichen, dem verschlüsseln einer Datei. Die Einfachste Variante ist mit age eine Datei zu verschlüsseln und diese mit einem Passwort zu versehen. Dies funktioniert die folgt:

age -p meine-datei.txt > meine-datei.age

Nach der Eingabe des Passworts (zweimal) ist die Datei verschlüsselt.

Zum entschlüsselt (mit einem Passwort) kann folgender Befehl verwendet werden:

age -d meine-datei.age > neue-datei.txt

Nach Eingabe des Passwortes, welches beim Verschlüsseln verwendet wurde, ist die Datei wieder im Klartext. Im Beispiel auf dem Bild habe ich dieser einen anderen Dateinamen vergeben. (Ohne Umleitung in eine Datei wir der Standard Output verwendet)

Nun aber zum eigentlichen Public-Key Verfahren. Dazu muss derjenige meinen öffentlichen Schlüssel zum verschlüsseln verwenden. Entweder hat er diesen bei mir aus dem DNS ausgelesen (siehe oben dig) oder direkt übermittelt bekommen.

Verschlüsseln wir die Datei von oben nochmals mit meinem öffentlichen Schlüssel:

cat meine-datei.txt | age -a -e -r age1486ysemz2yg9zasd8wrdxz3kjpjv7jl7fdqpvgm3vag40jv0n5mskmcgwm > meine-datei.age 

Die Datei meine-datei.age ist nun verschlüsselt und kann mir gefahrlos übermittelt werden. Nur ich kann diese wieder entschlüsseln.

Das Entschlüsseln geht ebenfalls sehr einfach. Datei wird mein geheimer Schlüssel benötigt und funktioniert wie folgt:

age -i Keys/age-key.txt -d meine-datei.age > neue-datei.txt

Die Datei ist nun wieder entschlüsselt. Auf ein Passwort habe ich bei mir im geheimen Schlüssel verzichtet. Ich bin der Meinung, dass wenn jemand an diesem auf meinem verschlüsselten MacBook kommt, der kann auch jeweils die Originale auch direkt anschauen.

Wer mag kann öffentliche Schlüssel der „Verschlüsselungspartner“ natürlich auch in Umgebungsvariablen speichern um diese öfters zu verwenden.

echo "export Karsten_AGE_KEY=age1486ysemz2yg9zasd8wrdxz3kjpjv7jl7fdqpvgm3vag40jv0n5mskmcgwm" >> /Users/knut/.bashrc

Nutzen kann man dies dann z.B. wie folgt:

cat meine-datei.txt | age -a -e -r $Karsten_AGE_KEY > meine-datei.age 

Auch an mehrere „Verschlüsselungspartner“ gleichzeitig kann man Dateien verschlüsseln. In diesem Beispiel kann jeweils Karten, Martin und German mit den jeweiligen geheimen Schlüsseln diese entschlüsseln:

cat meine-datei.txt | age -a -e -r $Karsten_AGE_KEY -r $Martin_AGE_KEY -r $German_AGE_KEY > meine-datei.age 

Auch direkt meinen Key mittels dig auslesen und gleich verschlüsseln ist möglich:

cat meine-datei.txt | age -a -e -r $(dig +short TXT knut.systemtechnics.de | tr -d \") > meine-datei.age 

…und da ist sicherlich noch vieles mehr möglich.

OSX – Fingerabdruck im Terminal verwenden

Um den Fingerabdruck zur Authentifizierung im Terminal zu verwenden ist die Bearbeitung der Datei /etc/pam.d/sudo notwendig.

Am einfachsten ist es mit folgenden zwei Zeilen:

sudo su

Es wird nach nach dem Passwort des Administratornutzers gefragt. Nach Eingabe des Passwortes befindet sich das Terminal im „root“-Modus.

Mit dem zweiten Befehl wird in die Datei /etc/pam.d/sudo die Zeile auth sufficient pam_tid.so eingefügt. Evtl. muss der Zugriff in einem Sicherheitsfenter zusätzlich erlaubt werden.

cp /etc/pam.d/sudo /tmp/sudo.$(date +"%Y%m%d") && awk 'NR==2{print "auth       sufficient     pam_tid.so"}3' /tmp/sudo.$(date +"%Y%m%d") > /etc/pam.d/sudo && rm -f /tmp/sudo.$(date +"%Y%m%d") 

Anschließend werden wir, sofern wir im Terminal höhere Rechte (su / sudo) benötigen mit der klassischen Fingerabdruck-Abfrage begrüßt.

Outlook connect zu Office365 verhindern

Unter Umständen kommt es vor, dass sich das lokale Outlook mit einem Office365 Account bei Microsoft verbinden will. Mit folgenden zwei Registry Einträgen kann man dies unterbinden:

ExcludeExplicitO365Endpoint
und
ExcludeHttpsRootDomain

Am einfachsten ist es mit einer DOS Box folgende zwei Befehle auszuführen:

reg add HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Outlook\AutoDiscover /t REG_DWORD /v ExcludeExplicitO365Endpoint /d 1
reg add HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Outlook\AutoDiscover /t REG_DWORD /v ExcludeHttpsRootDomain /d 1

Anschließend sollte „Das Problem“ behoben sein.

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.