Artikel mit Tag Anleitung

MERGE: PostgreSQL 14 Cluster auf PostgreSQL 15 aktualisieren

Wie jedes Jahr im Herbst wurde auch 2022 eine neue PostgreSQL Version veröffentlicht.

postgres_logo

Zu den größten Neuerungen von Version 15 zählt sicherlich die Einführung des MERGE Befehls. Zusätzlich wurde die logische Replikation um das Filtern nach Zeilen erweitert. Ebenfalls erwähnenswert ist die Einführung von zstd. Der Datenkompressionsalgorithmus aus dem Hause Facebook spart Zeit und Plattenplatz.

Alle Neuerungen lassen sich dem Release Log entnehmen.

Installation und Update auf PostgreSQL 15 unter Debian/Ubuntu

# Create the file repository configuration:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

# Import the repository signing key:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

# Update the package lists:
sudo apt-get update

# Install the latest version of PostgreSQL.
sudo apt-get -y install postgresql-15

# Sicherung erstellen
sudo su postgres
pg_dumpall > Sicherung
exit

#Vorhandene Cluster anzeigen
pg_lsclusters

#Neues Cluster anhalten
sudo pg_dropcluster --stop 15 main

#Vorhandenes Cluster aktualisieren
sudo pg_upgradecluster 14 main

# Neues Cluster prüfen
sudo pg_ctlcluster 15 main status
sudo pg_isready

#Altes Cluster verwerfen
sudo pg_dropcluster 14 main

Kali Linux mit Desktop unter Windows über WSL2 installieren

WSL2, besser bekannt als Windows Subsystem Linux erlaubt es verschiedene Linux Distributionen unter Windows zu installieren. Normalerweise werden diese Installationen über die Kommandozeile bedient. Seit einiger Zeit unterstützt Kali Linux Win-KeX, was es erlaubt auf dem System wie auf einem Desktop zu arbeiten.
Win-Kex tut dies, indem es einen VNCServer mit der Xfce-Desktop-Umgebung innerhalb der Kali Linux WSL-Instanz startet. Danach startet ein TigerVNC-Windows-Client und übergibt automatisch die Befehle zur Verbindung mit dem VNC-Server.
Soweit so schön, bei der Installation gibt es dennoch einige Fallstricke.

Installation WSL2

Zunächst wird eine WSL2 Installation unter Windows benötigt.

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
wsl --set-default-version 2

Installation und Update von Kali Linux via WSL

wsl –-install -d kali-linux

Nach der Vergabe des Benutzernamens und eines Passworts sollte das System stehen.

Nun tauchen allerdings die ersten Probleme auf. Denn eine apt update zeigt zunächst einen Keyring Fehler an, dieser kann einfach nachinstalliert werden.

wget --no-check-certificate -O kali-archive-keyring_2022.1_all.deb https://http.kali.org/pool/main/k/kali-archive-keyring/kali-archive-keyring_2022.1_all.deb

dpkg -i  kali-archive-keyring_2022.1_all.deb

sudo apt update

Beim kommenden Upgrade Vorgang (sudo apt upgrade) treten die nächsten Probleme auf.

Setting up libc6:amd64  ...
Checking for services that may need to be restarted...
Checking init scripts...
Nothing to restart.
sleep: cannot read realtime clock: Invalid argument
dpkg: error processing package libc6:amd64 (--configure):
 installed libc6:amd64 package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 libc6:amd64
E: Sub-process /usr/bin/dpkg returned an error code (1)

Dieses Problem führt dazu, dass der Upgrade-Vorgang abbricht und ein sudo mit dem zuvor eingerichteten User ab sofort scheitert.

Sorry, try again.
Sorry, try again.
sudo: 3 incorrect password attempts

Die Lösung für dieses Problem ist ein manuelles Installieren von libcrypt1.

apt -y download libcrypt1
dpkg-deb -x libcrypt1_1%3a4.4.28-2_amd64.deb .
cp -av lib/x86_64-linux-gnu/* /lib/x86_64-linux-gnu/
apt -y --fix-broken install
apt upgrade

Nun sollte das System aktuell sein und stabil laufen. Im letzten Schritt wird jetzt Win-Kex installiert.

kali

Win-Kex installieren

Dieser Schritt ist denkbar einfach.

sudo apt install -y kali-win-kex

Jetzt kann Win-Kex gestartet werden, achtet darauf, dass es mit sudo Rechten gestartet wird.

sudo kex --win

#Session wiederaufnehmen

sudo kex --win --start-client

Die wichtigste Taste dürfte F8 sein. Damit kann das Kontextmenü nach dem Start geladen werden, um zum Beispiel zwischen Vollbild und Fenstermodus zu wechseln.
Sollte es zu Verbindungsproblemen beim Start und Verbinden des VNC Servers kommen, kontrolliert eure Firewall Einstellungen.

Seit Kali 2022.2 wird Kin-Kex unterstützt, welches das Ausführen von Anwendungen mit sudo Rechten erlaubt.

vnc

Fazit


Es ist möglich, Kali unter Windows mit WSL2 zu installieren. Der Weg dahin ist aber weiterhin etwas steinig und wird Windows Nutzern sicher nicht leicht von der Hand gehen. Da bietet sich wohl weiterhin ein VirtualBox Image an, denn damit ist die Installation um einiges flüssiger.

 

PostgreSQL 13 Cluster auf PostgreSQL 14 aktualisieren

Die neue Version 14 der Datenbanksoftware ist bereits einige Tage verfügbar.

Es gibt dazu einen ausführlichen Release Log, den ihr euch gerne zu Gemüte führen dürft.

postgres

Installation und Update auf PostgreSQL 14 unter Debian/Ubuntu

# Create the file repository configuration:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

# Import the repository signing key:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

# Update the package lists:
sudo apt-get update

# Install the latest version of PostgreSQL.
sudo apt-get -y install postgresql-14

# Sicherung erstellen
sudo su postgres
pg_dumpall > Sicherung
exit

#Vorhandene Cluster anzeigen
pg_lsclusters

#Neues Cluster anhalten
sudo pg_dropcluster --stop 14 main

#Vorhandenes Cluster aktualisieren
sudo pg_upgradecluster 13 main

 postgres14_updateNachdem die Datenbanken aktualisiert und getestet wurden, kann die alte Version gelöscht werden.

sudo pg_ctlcluster 14 main status

pg_ctl: server is running (PID: 60700)
/usr/lib/postgresql/14/bin/postgres "-D" "/var/lib/postgresql/14/main" "-c" "config_file=/etc/postgresql/14/main/postgresql.conf"

sudo pg_isready

/var/run/postgresql:5433 - accepting connections
sudo pg_dropcluster 13 main

 

Security: GVM 21.04 - mit Docker in 15 Minuten zum OpenVAS Schwachstellen Scanner

OpenVAS bzw. Greenbone Vulnerability Manager ist nicht ganz einfach zu installieren, da viele Abhängigkeiten und Pakete gebaut werden müssen.
Eine etwas ältere Anleitung ist noch auf ITrig zu finden.

Mithilfe von Docker kann der Installationsprozess stark beschleunigt werden.
Händische Konfigurationen und Updates fallen weg und innerhalb kurzer Zeit steht ein vollständig eingerichtetes Schwachstellenmanagement zur Verfügung.

Greenbone_Security_Assistant

GVM 21.04 mit Docker Compose installieren

Zunächst sollte Docker installiert werden.

Docker Debian installieren

apt remove docker docker-engine docker.io containerd runc
apt update
apt install apt-transport-https ca-certificates curl gnupg lsb-release git

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

apt update
apt install docker-ce docker-ce-cli containerd.io

Docker Ubuntu installieren

sudo apt remove docker docker-engine docker.io containerd runc 
sudo apt update
sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release git

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

sudo echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io

Docker Compose darf ebenfalls nicht fehlen

Docker Compose Debian/Ubuntu installieren

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

docker-compose --version

Installation GVM 21.04 mit Docker

# Clonen/Installieren
cd /opt
sudo git clone https://github.com/immauss/openvas.git

# Admin pw anpassen
cd openvas/
nano docker-compose.yml

# System starten
docker-compose up -d
#Logs anschauen
docker-compose logs -f
#Server überprüfen
ss -lntp |grep 8080

Der erste Start kann recht lange dauern, da im Hintergrund alle NVTs geladen werden.

Der Installationsfortschritt kann mit docker-compose logs -f verfolgt werden.

Sollten Fehler passieren, hilft meist ein Neustart des Vorgangs. Gleiches gilt für ein Update der Signaturen.

openvas-docker

#Neustart oder Signaturen aktualisieren
cd /opt/openvas
sudo docker-compose down && docker-compose up -d

#Neueste Logs prüfen
sudo docker-compose logs --tail="50"


Schlussendlich ist das Tool unter http://localhost:8080/login erreichbar und einsatzfähig.


Allerdings empfehle ich einen Proxy mit HTTPS vorzuschalten und den Port 8080 auf Localhost umzubiegen.

Ein Proxy könnte im Docker-Compose File integriert oder direkt installiert werden.

Docker-Compose anpassen

Das Umbiegen auf Localhost, kann im Docker Compose File vorgenommen werden.

#Beispiel für eine Anpassung der docker-compose.yml

version: "3"
services:
  openvas:
    ports:
      - "127.0.0.1:8080:9392"
    environment:
      - "PASSWORD=notyouradmin!"
      - "USERNAME=admin"
      - "RELAYHOST=172.17.0.1"
      - "SMTPPORT=25"
      - "REDISDBS=512" # number of Redis DBs to use
      - "QUIET=false"  # dump feed sync noise to /dev/null
      - "NEWDB=false"  # only use this for creating a blank DB
      - "SKIPSYNC=false" # Skips the feed sync on startup.
      - "RESTORE=false"  # This probably not be used from compose... see docs.
      - "DEBUG=false"  # This will cause the container to stop and not actually start gvmd
      - "HTTPS=false"  # wether to use HTTPS or not
      - "GMP=false"    # to enable see docs
    volumes:
      - "openvas:/data"
    container_name: openvas
    image: immauss/openvas
volumes:
  openvas:

Nginx Proxyserver einrichten

Hier ein Beispiel für einen Nginx Proxyserver (ohne Docker)

apt install nginx
sudo rm /etc/nginx/sites-enabled/default

Ein Zertifikat erstellen

 sudo openssl req -x509 -newkey rsa:4096 -sha256 -days 365 -nodes   -keyout gvm.itrig.key -out gvm.itrig.crt -subj "/CN=gvm.itrig.de"   -addext "subjectAltName=DNS:security.itrig.de,DNS:gvm.itrig.de,IP:192.168.0.111"
#Beispiel für eine Nginx Proxy Config

nano /etc/nginx/sites-available/openvas

server {
  server_name localhost;
   listen 443 ssl http2;
   ssl_certificate     /etc/ssl/gvm.itrig.de.crt;
   ssl_certificate_key /etc/ssl/gvm.itrig.de.key;
   ssl_session_timeout 1d;
   ssl_session_cache shared:MozSSL:10m;  # about 40000 sessions
   ssl_session_tickets off;
   ssl_protocols TLSv1.2 TLSv1.3;
   ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
   ssl_prefer_server_ciphers off;
   resolver 127.0.0.1;
   

    location / {
        proxy_pass http://localhost:8080;
    }
}
# Symlink setzen
cd /etc/nginx/sites-enabled/
ln -s ../sites-available/openvas openvas

#Neustart Nginx
systemctl restart nginx

#Kontrolle mit
systemctl status nginx
#oder
ss -lntp

Der Scanner ist nun via https://localhost/login erreichbar.

 

Fazit

Für einen schnellen Test und dem Lernen am System ist GVM via Docker von github.com/immauss/openvas sicherlich geeignet. Die Builds werden übrigens wöchentlich aktualisiert und beinhalten zusätzlich auch die neuesten Feed-Updates.

Um Docker, Container, Images und Co besser im Blick zu behalten, verweise ich an dieser Stelle auf Lazydocker. Das Tool bietet einen grafischen Überblick, über alle aktiven und inaktiven Docker Komponenten.

 

10 wichtige Befehle um Windows schnell und einfach zu reparieren

Für Windows gibt es verschiedene Varianten, um ein System auf Schäden zu prüfen und zu reparieren. Die bekannteste dürfte der Befehl DISM (Deployment Image Servicing and Management) sein. Diese befindet sich unter c:\windows\system32  kann aber einfach über die Kommandozeile oder PowerShell aufgerufen werden.

dism

Windows – Reparatur bei Problemen mit DISM und SFC

Voraussetzung für die Verwendung von DISM oder sfc ist eine Kommandozeile oder eine PowerShell mit Administratorrechten. Ansonsten erhaltet ihr den Fehler: 740.

Prüfung von Windows auf Beschädigungen

Dism /Online /Cleanup-Image /ScanHealth

Windows auf beschädigte Systemdateien testen

Dism /Online /Cleanup-Image /CheckHealth

Wiederherstellung von Windows und Prüfung auf beschädigte Systemdateien

Dism /Online /Cleanup-Image /RestoreHealth

Wiederherstellung von Windows und Prüfung auf beschädigte Systemdateien mithilfe eines sauberen Images

Dism /Image:C:\offline /Cleanup-Image /RestoreHealth /Source:c:\test\windowimage
#alternativ geht dies auch im Online Modus
Dism /Online /Cleanup-Image /RestoreHealth /Source:c:\test\windowimage /LimitAccess

Start des System File Checkers  (ein etwas älteres Tool zu Systemreparatur)

sfc /scannow

Bootphasen Reparatur

Sollte sich das System schon so weit verabschiedet haben, dass ein Bootvorgang scheitert, können zusätzlich Maßnahmen ergriffen werden, um zum Beispiel den Boot Sektor zu reparieren. Mit dem Wiederherstellungsmodus ist das aus einer bestehenden Windows Installation möglich.

Computerreparaturoptionen -> Problembehandlung -> Erweiterte Optionen -> Eingabeaufforderung.

Ist auch der Wiederherstellungsmodus nicht erreichbar, sollte von einem extra Windows Stick gebootet werden.

Microsoft selbst beschreibt 4 Bootphasen, welche teilweise mit verschiedenen Befehlen repariert werden können.

Bootphasen

Bootloader Phase reparieren

Boot Codes und Boot Sektor der Systempartition reparieren

bootrec /fixmbr
bootrec /fixboot

Suche nach verwaisten Windows Installationen im Bootmanager

bootrec /scanos

Windows Boot Konfigurationsdaten neu aufbauen

bootrec /rebuildbcd

# Sollte kein verwaistes System gefunden werden kann wie folgt weit gesucht werden (windows installation: 0)
bcdedit /export c:\bcdbackup
attrib c:\\boot\\bcd -r –s -h
ren c:\\boot\\bcd bcd.old
bootrec /rebuildbcd

#Scanning all disks for Windows installations. Please wait, since this may take a while ...
#Successfully scanned Windows installations. Total identified Windows installations: 1
#D:\Windows  
#Add installation to boot list? Yes/No/All:

Als letzten Befehl noch der Klassiker um eine defekte Festplatte zu reparieren

Festplatte prüfen und reparieren

chkdsk /f /r