Skip to content

pgAdmin 4 v2.0 - Bessere Performance und PostgreSQL 10 Unterstützung

Seit gut einem Jahr ist pgAdmin in Version 4 verfügbar. Die komplett überarbeitete Version wurde damals neu geschrieben und Stand zu anfangs noch auf etwas wackeligen Beinen. Keine Wunder nach einer komplett neu geschriebenen Variante.

Mit der aktuellen Version 2.0 wurden daher bis zu 70 Bugs gefixed. Die Performance des JQuery UI wurde massiv verbessert und eine SSL Unterstützung integriert. Natürlich ist auch die Unterstützung für das aktuelle PostgreSQL 10 mit an Bord. 

Eine Konfiguration im Vorfeld soll nun wegfallen und das PostgreSQL Tool "out of the box" starten.

Alle Änderungen lassen sich im Blog Beitrag nachlesen.

pgadmin4-logo

Installation pgAdmin 4 unter Ubuntu 16.04. LTS

Es gibt mehrere Varianten das Tool auf Ubuntu zu installieren. Leider wird bis jetzt noch kein Repository unterstützt. 

Es kann auf die Python Wheel Variante zurückgegriffen werden.

sudo apt-get install virtualenv python-pip libpq-dev python-dev
virtualenv pgadmin

cd
virtualenv pgadmin
cd pgadmin
source bin/activate
pip install https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v2.0/pip/pgadmin4-2.0-py2.py3-none-any.whl

python ~/pgadmin4/lib/python2.7/site-packages/pgadmin4/pgAdmin4.py

Die Konfigurationsdatei dieser Installation ist unter lib/python2.7/site-packages/pgadmin4/config.py zu finden.

pgadmin-dashboard1

Installation pgAdmin 4 mit Docker Container

Wer lieber auf Docker setzt, der kann auch einen Container verwenden.

docker pull dpage/pgadmin4

docker run -p 80:80 -e "PGADMIN_DEFAULT_EMAIL=user@example.de" -e "PGADMIN_DEFAULT_PASSWORD=SuperSecret" -d dpage/pgadmin4


oder mit einer SSL Variante

docker pull dpage/pgadmin4
docker run -p 443:443 \
-v "/private/var/lib/pgadmin:/var/lib/pgadmin" \
-v "/path/to/certificate.cert:/certs/server.cert" \
-v "/path/to/certificate.key:/certs/server.key" \
-e "PGADMIN_DEFAULT_EMAIL=user@example.de" \
-e "PGADMIN_DEFAULT_PASSWORD=SuperSecret" \
-e "PGADMIN_ENABLE_TLS=True" \
-e "PGADMIN_SERVER_NAME=pgadmin.domain.com" \
-d pgadmin4

 

Fazit

Leider konnte ich die neue Version bis jetzt noch nicht auf Herz und Nieren testen. Allerdings ist trotz der Performance Verbesserungen, immer noch Luft nach oben. Detaillierte Fehler wie beispielsweise mit Postgis (siehe alter Artikel), kann ich adhoc nicht beurteilen.

Die nicht vorhandene Installation via Repository wird einige Ubuntu Nutzer an der Verwendung des Tools hindern, immerhin stehen mit RPM, PIP und Docker Alternativen zur Verfügung. 

Die alte Version 3 wird zwar nicht mehr offiziell unterstützt, kann aber alternativ weiterhin verwendet werden. 

PostgreSQL 10 - Neuerungen und Installation unter Ubuntu 16.04 LTS

Vor wenigen Tagen wurde PostgreSQL 10 veröffentlicht. Das Hauptaugenmerk der neuen Version liegt auf logischer Replikation, parallelen Queries und Stabilität bzw. Sicherheit.

postgres_logo

Die Neuerungen

Letzteres macht sich durch die Verabschiedung der veralteten MD5 Authentifizierung bemerkbar. Ab sofort kommt SCRAM-SHA-256 zum Einsatz.

Die Einführung der logischen Replikation verspricht schnelleres Übertragen inkrementeller Änderungen auf andere Nodes. Hier findet sich ein Beispiel zur Anwendung dieses neuen Feature.

Für die synchrone Replikation wurden Quorom Commits eingeführt. Diese, im Rahmen des "Zero Downtime" Plans, eingeführte Funktion erlaubt es dem Admin festzulegen wie viele Replikas erfolgreiche Änderungen melden müssen, damit übertragene Daten als sicher gelten.

Die mit PostgreSQL 9.6 vorgestellen parallelen Queries wurden weiter verbessert. So unterstützen nun Daten Scans wie Index Scans oder Merge Joins diese Funktion.

Die Datenbank Partitionierung wurde ebenfalls erweitert.

Weitere Details lassen sich der PostgreSQL 10 Release Ankündigung entnehmen. Änderungen im Detail sind im Wiki zu finden


Installation PostgreSQL 10 unter Ubuntu 16.04 LTS

Zwar hatte ich die Installation der Beta schon in einen Artikel gepackt
möchte aber dennoch schnell das Vorgehen darlegen.

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" >> /etc/apt/sources.list.d/pgdg.list' 

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | \
 sudo apt-key add -
      
sudo apt update

sudo apt install postgresql-10


 



Das könnte dich auch interessieren

PostgreSQL 9.6, pgAdmin 4 und Barman 2.0 - Die Neuerungen und Installation unter Ubuntu 14.04 und 16.04

pgAdmin4 - Installation und ein erster Blick auf die neue PostgreSQL Schaltzentrale

PGCenter - PostgreSQL Datenbank Statistiken und Leistungsdaten auf einen Blick

22 praktische PostgreSQL Befehle

Praktische PostgreSQL Tools und Links in der Übersicht

pgBadger 4.0 - PostgreSQL Logs analysieren und auswerten

PgTune - Performance Einstellungen für PostgreSQL Datenbanken automatisch erstellen

Linphone 4.1 - freier VoIP Client

Bereits vor ein paar Monaten ist Linphone 4.x erschienen. Der freie SIP Client hat eine dringend benötigte Oberflächenkur erhalten.

Die Telefonie Software für Linux, Mac OS X und Windows basiert auf Qt 5.9 und hat neben der modernen UI eine intelligente Suchleiste erhalten. Diese erlaubt es Kontakte zu suchen, Chats zu starten oder Anrufe zu tätigen.

Linphone-Suchleiste

Anrufe können nun auch via HD Video geführt werden, Konferenzen werden unterstützt, sowie Chats als Ergänzung zum Gespräch.
Zur Nachverfolgung wurde ein globaler Verlauf für Anrufe, Chats und Co integriert. Die Software steht weiterhin unter GPLv2 Lizenz und somit frei zur Verfügung.

Installation unter Ubuntu, Mint und Elementary OS

Für Debian Systeme steht ein Repository zur Verfügung, welches allerdings nicht auf einem aktuellen Stand ist und nur Version 3.9.x anbietet:

sudo add-apt-repository ppa:linphone/release

sudo apt-get update

sudo apt-get install linphone


Es besteht die Option das Programm selbst zu builden, bei mir sind allerdings die ersten Versuche gescheitert...in einer virtuellen Umgebung. Eventuell hat einer hier mehr Glück, mir fehlt dazu gerade etwas die Zeit.

sudo apt-get install git build-essential automake autoconf libtool   \
intltool libgtk2.0-dev libspeexdsp-dev libavcodec-dev libswscale-dev \
libx11-dev libxv-dev libgl1-mesa-dev libreadline-dev libgsm1-dev     \
libtheora-dev libsqlite3-dev libupnp-dev libsrtp0-dev open-vm-tools   \
open-vm-tools-dev cmake-* libmbedtls-dev libmbedtls-doc libmbedtls10   \
libcunit1 libcunit1-dev libantlr3c-dev libantlr3-runtime-java antlr3 \
libortp-dev libortp9 libmediastreamer-base3 libmediastreamer-dev     \
extra-cmake-modules yasm libv4l-dev libasound2-dev python-pip doxygen graphviz xcode ninja

git clone https://github.com/BelledonneCommunications/linphone-desktop.git
cd linphone-desktop
git submodule sync && git submodule update --init --recursive
./prepare.py

make
sudo make install

Linphone_VoIP


Fazit


Die Software hat mit der neuen Oberfläche eine riesen Schritt gemacht, auch die frischen Funktionen sind nicht zu verachten. Wie schon beim letzten Artikel über Linphone ist die Konkurrenz immer noch relativ klein. Ekiga 5 lässt weiterhin auf sich warten, X-Lite/Bria ist Closed Source. Lediglich Jitsi bietet ähnliche Funktionen. 

Wer sichere Kommunikation für wichtig hält, ist mit Linphone relativ gut beraten, da es moderne Technologien wie zRTP, TLS und SRTP unterstützt.

Bevor es keine Möglichkeit gibt Version 4.x via Repository zu beziehen, ist zumindest für Alltags Linux Nutzer die Einstiegshürde etwas hochgelegt. Windows und Mac Anwender, können allerdings bereits einen Installer laden, was ich für meinen ersten Test auch getan habe.

Download LinPhone

OpenVAS 9 - Installation des Schwachstellen-Management via Source, PPA oder Script unter Ubuntu 16.04

Wer nicht gerade BackBox Linux einsetzt oder andere Distributionen mit integriertem OpenVAS, der muss eine Installation eventuell von Hand vornehmen.
Darum habe ich die alte Installationsanleitung aktualisiert (siehe unten) und auf die neue Version 9 angepasst. Zusätzlich sind weitere Installationsmöglichkeiten hinzugekommen.

Die augenscheinlichste Neuerung von OpenVAS 9 ist die neue Oberfläche, an der fast 2 Jahre entwickelt wurde. (Changelog)
Als Basissystem dient Ubuntu 16.04 LTS

openvas9

Installation OpenVAS 9 via Source

Abhängigkeiten installieren

sudo apt-get install -y build-essential devscripts dpatch curl libassuan-dev libglib2.0-dev libgpgme11-dev libpcre3-dev libpth-dev libwrap0-dev libgmp-dev libgmp3-dev libgpgme11-dev libpcre3-dev libpth-dev quilt cmake pkg-config libssh-dev libglib2.0-dev libpcap-dev libgpgme11-dev uuid-dev bison libksba-dev doxygen libsql-translator-perl xmltoman sqlite3 libsqlite3-dev wamerican redis-server libhiredis-dev libsnmp-dev libmicrohttpd-dev libxml2-dev libxslt1-dev xsltproc libssh2-1-dev libldap2-dev autoconf nmap libgnutls28-dev gnutls-bin libpopt-dev heimdal-dev heimdal-multidev libpopt-dev texlive-full rpm alien nsis rsync python2.7 python-setuptools checkinstall

OpenVAS 9 Pakete herunterladen und entpacken

wget http://wald.intevation.org/frs/download.php/2420/openvas-libraries-9.0.1.tar.gz
wget http://wald.intevation.org/frs/download.php/2423/openvas-scanner-5.1.1.tar.gz
wget http://wald.intevation.org/frs/download.php/2426/openvas-manager-7.0.2.tar.gz
wget http://wald.intevation.org/frs/download.php/2429/greenbone-security-assistant-7.0.2.tar.gz
wget http://wald.intevation.org/frs/download.php/2397/openvas-cli-1.4.5.tar.gz
wget http://wald.intevation.org/frs/download.php/2377/openvas-smb-1.0.2.tar.gz
wget http://wald.intevation.org/frs/download.php/2401/ospd-1.2.0.tar.gz
wget http://wald.intevation.org/frs/download.php/2405/ospd-debsecan-1.2b1.tar.gz


sudo tar zxvf openvas-*
sudo tar zxvf greenbone*
sudo tar zxvf ospd*

Redis Server konfigurieren

cp /etc/redis/redis.conf /etc/redis/redis.orig
sudo sh -c 'echo "unixsocket /tmp/redis.sock" >> /etc/redis/redis.conf'


OpenVAS Libraries installieren

cd openvas-libraries-9.0.1
sudo mkdir source
cd source
sudo cmake ..
sudo make
sudo make install


OpenVAS Manager installieren

cd openvas-manager-7.0.2
sudo mkdir source
cd source
sudo cmake ..
sudo make
sudo make install


OpenVAS Scanner installieren

cd openvas-scanner-5.1.1
sudo mkdir source
cd source
sudo cmake ..
sudo make
sudo make install

OpenVAS CLI und SMB installieren

cd openvas-cli-1.4.5
sudo mkdir source
cd source
sudo cmake ..
sudo make
sudo make install

cd openvas-smb-1.0.2
sudo mkdir source
cd source
sudo cmake ..
sudo make
sudo make install

Greenbone Security Assistant (GSA) Oberfläche installieren

cd greenbone-security-assistant-7.0.2
sudo mkdir source
cd source
sudo cmake ..
sudo make
sudo make install

Solltet ihr den default Port 4000 der GSA Oberfläche anpassen wollen, ist dies unter (/etc/default/openvas-gsa) möglich.

Ob ihr die Zusatzpakete via Open Scanner Protocol installiert, bleibt euch überlassen. Nun folgen die Schritte der Erstkonfiguration.

Greenbone-Security-Assistant

 

Zertifikate einrichten

Anstatt openvas-mkcert kommt bei OpenVAS 9 ein neuer Befehl zum Einsatz. Mit dem Schalter -a werden alle benötigten Zertifikate installiert.

sudo openvas-manage-certs -a


OpenVAS Benutzer anlegen

openvasmd --create-user=admin --role=Admin
openvasmd --user=admin --new-password=NewPW


Update der NVT und Cert Datenbank

Die alten Befehle haben sich hier ebenfalls geändert.

greenbone-nvt-sync
greenbone-scapdata-sync
greenbone-certdata-sync

Troubleshooting

OpenVAS neu aufbauen

openvasmd --rebuild --progress

OpenVAS Installation prüfen

wget https://svn.wald.intevation.org/svn/openvas/trunk/tools/openvas-check-setup --no-check-certificate
sudo chmod +x openvas-check-setup
sudo ./openvas-check-setup --v9

System starten

sudo /usr/local/sbin/gsad start
sudo /usr/local/sbin/openvassd
sudo /usr/local/sbin/openvasmd



OpenVAS 9 via Script installieren

Auf Github befindet sich ein Script, welches viele der oben erwähnten Aufgaben für OpenVAS 8 und 9 automatisiert.

sudo wget https://raw.githubusercontent.com/leonov-av/openvas-commander/master/openvas_commander.sh
sudo chmod +x openvas_commander.sh

Folgende Befehle bescheren euch eine vollständige Installation ohne viel Handarbeit

./openvas_commander.sh  --install-dependencies

./openvas_commander.sh  --show-releases
OpenVAS-8
OpenVAS-9

./openvas_commander.sh --download-sources "OpenVAS-9" 
./openvas_commander.sh --create-folders
./openvas_commander.sh --install-all
./openvas_commander.sh --configure-all
./openvas_commander.sh --update-content
./openvas_commander.sh --rebuild-content
./openvas_commander.sh --start-all


OpenVAS 9 via PPA installieren

Falls doch lieber ein Repository zur Installation verwendet werden soll, bietet sich das PPA von mrazavi an.

sudo add-apt-repository ppa:mrazavi/openvas
sudo apt-get update
sudo apt-get install openvas9

openvas9-scan

Mit einer erfolgreichen Installation des Open Vulnerability Assessment Systems sollte einem ersten Schwachstellen-Management eigentlich Nichts mehr im Weg stehen.



Folgende Links könnten dich auch interessieren

Update Security Distributionen – Kali Linux mit OpenVAS 9 und Parrot Security 3.6

Ubuntu - OpenVAS 8.0 installieren, konfigurieren und ein Netzwerk scannen

ssh_scan – Sicherheits- und Konfigurationsscanner für SSH Einstellungen

ssh_scan – Sicherheits- und Konfigurationsscanner für SSH Einstellungen

Mit SSH Audit hatte ich bereits vor einiger Zeit ein Tool im Programm, welches SSH auf Einstellungen und Konfiguration testet (Artikel).

Mozilla hat mit ssh_scan ein ähnliches Tool im Portfolio. Das Tool bezieht sich auf die eigenen SSH Guidelines und prüft hinterlegte Ciphers, MACs, und Kex Algorithmen.

Laut eigener Aussage zählt zu den Vorteilen des Tools die einfache Installation ohne allzu viele Abhängigkeiten. Das Programm ist portabel, lässt sich mit eigenen Regeln konfigurieren und wirft am Ende einen Report im JSON Format aus.

Zunächst muss ssh_scan aber erst einmal den Weg auf die Festplatte finden.

Installation unter Ubuntu 16.04 LTS

Für die Installation steht neben einem ssh_scan gem Paket auch ein Docker Container zur Verfügung.

sudo apt-get install ruby gem
sudo gem install ssh_scan

oder via Docker

docker pull mozilla/ssh_scan
docker run -it mozilla/ssh_scan /app/bin/ssh_scan -t example.com

oder froM Source

git clone https://github.com/mozilla/ssh_scan.git
cd ssh_scan

gem install bundler
bundle install

./bin/ssh_scan

SSH Scan im Einsatz

Die SSH-Prüf-Anwendung ist denkbar einfach zu bedienen, es lassen sich einzelne Host scannen, ganze Ranges oder weitere Parameter angeben.

Eine IP scannen

ssh_scan -t ip-addresse

Mehrere IPs scannen

ssh_scan -t ip-addresse1,ip-addresse2,ip-addresse3

ssh_scan

Adressen aus einer Datei scannen

ssh_scan -f ip-addressen.txt

IP Adressen mit bestimmten Port scannen

ssh_scan -t ip-addresse -p 666

Eigene Policy verwenden

ssh_scan -P intermediate -t ip-addresse

In den Standardeinstellungen wird die Mozilla Modern Policy als Prüfvorlage verwendet. Es lässt sich aber mit der oben erwähnten Option P auch auf Intermediate oder andere Richtlinien prüfen.

Hier als Beispiel die Intermediate Richtlinie:


cat intermediate

# Host keys the client accepts - order here is honored by OpenSSH
HostKeyAlgorithms ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,ssh-rsa,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521,ecdsa-sha2-nistp384,ecdsa-sha2-nistp256

Alle SSH_scan Befehle lassen sich über die Hilfe einsehen

ssh_scan -h

 

Fazit

Mozilla bietet mit ssh_scan eine praktische Methode um SSH Einstellungen zu prüfen und zu härten. Dank eigener Policies und vieler weiterer Optionen, wie Reports würde ich das Tool vorziehen, alleine weil das eingangs erwähnte SSH-Audit seit 2016 nicht mehr aktualisiert wurde.

Allerdings empfinde ich die Masse an Paketen, welche mit ruby gem auf dem System landen nicht unerheblich, da ist ein einfaches Python Script schon handlicher. 
Zusätzlich setzt ssh_scan wohl weiterhin auf NIST Kurven wie ecdh-sha2-nistp521,ecdh-sha2-nistp384 und ecdh-sha2-nistp256 welchen ich eher kritisch gegenüber stehe.

Schlussendlich sollte bei solchen Tests immer das Ergebnis genau hinterfragt werden. Das Prüfen von SSH Konfigurationen vereinfachen beide Programme dennoch merklich.

 

ssh_scan