Skip to content

Ubuntu Server 18.04 LTS - Was ist der Unterschied zwischen der „live" und der "alternative" Version?

Mit dem Ubuntu LTS Server 18.04 wurde eine neue Langzeitversion der bekannten Distribution veröffentlicht.

Das Release wurde mit einem neuen Installer mit dem Namen Subiquity versehen und es wurden viele weitere Änderungen und Neuerungen gemacht. Die kompletten Release Notes zum Ubuntu Server 18.04 LTS gibt es hier.

Zusätzlich steht Ubuntu Server nun in einer Live ubuntu-18.04-live-server-amd64.iso und einer alternativen Version ubuntu-18.04-server-amd64.iso zur Verfügung. Der Standarddownload auf der Canonical Seite verweist auf das "live" Image. 

Doch worin unterscheiden sich die Versionen und warum hat man überhaupt zwei Server im Programm?

Der wesentliche Unterschied dieser Servervarianten besteht in den mitgelieferten Paketen und der damit verbundenen Ausrichtung. Wobei die live Variante auf Cloud Installationen ausgerichtet ist und die alternative Variante auf Standard Installationen. 

ubuntu-18.04-live-server-amd64

Die Cloud Variante beinhaltet beispielsweise das Paket cloud-init und den openssh-server. Beide werden mitausgeliefert und sind nach der Installation aktiv.

Das Paket cloud-init ist auf Anbieter wie DigitalOcean, Azure und Co Installationen spezialisiert (siehe Screenshot) , es läuft im Hintergrund und bezieht diverse Systemkonfigurationen über die Cloud.

Diverse Einstellungen lassen sich unter sudo /etc/cloud/cloud.cfg einsehen.

Eine interaktive Konfiguration ist ebenfalls möglich.

sudo dpkg-reconfigure cloud-init

cloud-init

Über cloud-config würden sich theoretisch wichtige Konfigurationen setzen lassen.

Die Notation ist in YAML gehalten, hier ein Beispiel:

 

#cloud-config
users:
  - name: Dr.Cloud
    ssh-authorized-keys:
      - ssh-rsa AAAAxxxxxx
    sudo: ['ALL=(ALL) NOPASSWD:ALL']
    groups: adm
    shell: /bin/bash
    write_files:
  - path: /etc/ssh/sshd_config
    content: |
         Port 22
         Protocol 2
         HostKey /etc/ssh/ssh_host_rsa_key
         HostKey /etc/ssh/ssh_host_ed25519_key
         PermitRootLogin no
         PubkeyAuthentication yes
         KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256
         …


Zusätzlich werden bei der live Installation noch andere Partitionen angelegt und weitere Änderungen gemacht, welche ich hier nicht im Detail erwähnen möchte.

Wichtig sollte sein, dass Einstellungen wie Hostname oder feste IPs via Cloud Konfiguration gesetzt werden und sich klassisch via hostnamectl  nicht dauerhaft ändern lassen, ohne die Cloudabfrage zu deaktivieren oder anzupassen.

Download

ubuntu-18.04-server-amd64

Die alternative Variante verhält sich etwas anders, sowohl bei der Installation, als auch bei der Konfiguration.

Canonical schreibt dazu:

The next generation Subiquity server installer, brings the comfortable live session and speedy install of Ubuntu Desktop to server users at last.

N.B., If you require LVM, RAID, multipath, vlans, bonds, or the ability to re-using existing partitions, you will want to continue to use the alternate installer which can be downloaded from http://cdimage.ubuntu.com/releases/18.04/release/

Neben klassischem LVM ist im Vergleich zur live Version beim Standardinstaller eine Language Pack language-pack-en vorinstalliert.

Für Fernwartungen muss der SSH Server manuell installiert werden.

Eine Konfiguration des Hostnamens wird auf dem bekannten Weg via hostnamectl  vorgenommen. Wie oben bereits erwähnt, würde die live Version diesen Eintrag wieder überschreiben.

Allerdings hat sich durch netplan die IP Konfiguration ebenfalls geändert und ist nun unter /etc/netplan/01-netcfg.yaml zu finden und wie der Name erkennen lässt, im YAML Format gehalten.

logo-ubuntuDownload

Fazit

Für eine normale Serverinstallation ist die Standardvariante ausreichend, denn das cloud-init Paket und einen SSH Server sollte jeder im Bedarfsfall selbst nachinstallieren können. 

Durch gängige Automatisierung bietet sich ein Cloud Initialisierung natürlich ebenfalls an, sollte die Infrastruktur dafür schon vorhanden sein.

Es ist mir allerdings ein Rätsel, warum Canonical dies auf der Downloadseite nicht klar unterscheidet und nur kurz im Text erwähnt, anstatt gleich zwei Downloadvarianten anzubieten. So werden sich die meisten erst einmal die gepushte Cloudvariante laden, um sich danach noch einmal zu belesen bzw. das cloud-init Paket wieder entfernen oder eine andere Variante laden.
Sicher gut als Lerneffekt, aber wenig zielführend.

Jitsi Videobridge und Jitsi Meet - eigene Web und Videokonferenzen via Browser

Vor ca.3 Jahren hatte ich bereits über Jitsi Meet berichtet. Mittlerweile ist das Thema WebRTC und Web Videokonferenzen ein alter Hut und es wird nicht mehr jeden Tag eine neue Sau durchs Dorf getrieben.

jitsi-meet-2018

Jitsi Meet

Jitsi wurde inzwischen von Atlassian übernommen und die Entwicklung an der Webkonferenzlösung still und heimlich weitergeführt.

Es wurden stets stabile Releases der Software veröffentlicht, diese waren bisher allerdings etwas schwerer zu erkennen, die hat sich nun geändert.

Die aktuellste stabile Version trägt die Nummer 2988 und der aktuelle Changelog kann auf Github eingesehen werden.

Installation unter Ubuntu

Zunächst möchte ich kurz zeigen, wie sich die neueste Version installieren lässt, dieser Vorgang wurde im Vergleich zu früher stark vereinfacht.

Ausgangsystem ist ein Ubuntu 16.04 (ja ich weiß 18.04 ist schon verfügbar)

wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add 
sudo sh -c "echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list"

sudo apt-get -y update
sudo apt-get -y install jitsi-meet

Ein Lets Encrypt Zertifikat kann nun ebenfalls automatisch erstellt werden:

/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

Aufrufen lässt sich die fertige Installation über https://meineServerAdresse.de

Die Software selbst hat einige Schritte nach vorne gemacht, nicht nur das Design ist besser, auch die Stabilität wurde um einiges verbessert. Neben dem eingebauten Chat lassen sich YouTube Videos oder der eigene Bildschirm teilen. Auch verschiedene Sprachen werden nun unterstützt.

jitsi-meet-2018Für Tastaturfreunde wurden ausreichend Kürzel implementiert.

jitsi-tastaturbefehle

Fazit

Wer einen eigenen Videokonferenzserver betreiben möchte, ist mit Jitsi Meet sicherlich gut bedient, die Software bietet genügend Funktionen für einen Jour fixe. 

Die schnelle und einfache Installation spricht für sich, sowie die Unterstützung für Lets Encrypt.

Falls kein Server zur Installation vorhanden ist, kann die offizielle Variante unter meet.jit.si verwendet werden.

Seit letztem Jahr wird zusätzlich auf Mobile Clients gesetzt, für Android oder für iOS stehen stabile Veröffentlichungen zur Verfügung.

Auch im Hinblick auf unsichere Programme, wie Skype und Co, bietet Jitsi Meet mit ZRTP und OTR Verschlüsselung die richtige und sichere Alternative für Videotelefonie an.

https://github.com/jitsi/jitsi-meet

Den Linux Bootvorgang mit systemd analysieren

Systemd läuft sys-v-init nach und nach den Rang hab. Das heißt bei der Untersuchung des Bootvorgangs können andere Wege gegangen werden und es muss nicht auf altbekannte Tools wie Bootcharts zurückgegriffen werden.

Systemd bringt ein eigenes Analysetool auf pythonbasis mit, welches ähnliche Möglichkeiten bietet.

Der Aufruf kann zunächst ohne Parameter getestet werden. Dieser liefert einen groben Überblick.

systemd-analyze

Startup finished in 7.239s (kernel) + 30.762s (userspace) = 38.001s

Das gleiche Ergebnis wirft auch der Parameter "time" aus.

Die Ausgabe gibt anders als auf den ersten Blick vermutet nicht den gesammten Bootvorgang wieder, sondern nur die Zeit zum Starten der Dienste und Co.

systemd-analyze-chain

Der Parameter "critical-chain" liefert hier schon einen detaillierten Blick auf mögliche Nachzügler.

systemd-analyze critical-chain

Eine Liste aller Units kann wie folgt ausgegeben werden.

systemd-analyze blame

systemd-analyze-blame

Um nun eine ähnliche grafische Ausgabe wie bei Bootcharts zu erhalten bietet systemd-analyze eine SVG Ausgabe. Diese kann mit einem herkömmlichen Browser geöffnet werden.

systemd-analyze plot > /home/itrig/systemd.svg

systemd-analyze-svg

Eine weitere grafische Ausgabe kann mit "dot" erzielt werden. Dabei werden die Abhängigkeiten aller Aufrufe dargestellt.

systemd-analyze dot | dot -Tsvg > /home/itrig/systemdplot.svg

Soll die Grafik auf einen Dienst beschränken werden, muss dieser einfach mit angegeben werden.

systemd-analyze dot 'docker*' |dot -Tsvg > /home/itrig/docker.svg

systemd-analyze-dot

Alle weiteren Befehle lassen sich mit "man" oder "help" einsehen.
 

systemd-analyze [OPTIONS...] {COMMAND} ...

Profile systemd, show unit dependencies, check unit files.

  -h --help               Show this help
     --version            Show package version
     --no-pager           Do not pipe output into a pager
     --system             Operate on system systemd instance
     --user               Operate on user systemd instance
  -H --host=[USER@]HOST   Operate on remote host
  -M --machine=CONTAINER  Operate on local container
     --order              Show only order in the graph
     --require            Show only requirement in the graph
     --from-pattern=GLOB  Show only origins in the graph
     --to-pattern=GLOB    Show only destinations in the graph
     --fuzz=SECONDS       Also print also services which finished SECONDS
                          earlier than the latest in the branch
     --man[=BOOL]         Do [not] check for existence of man pages

Commands:
  time                    Print time spent in the kernel
  blame                   Print list of running units ordered by time to init
  critical-chain          Print a tree of the time critical chain of units
  plot                    Output SVG graphic showing service initialization
  dot                     Output dependency graph in dot(1) format
  set-log-level LEVEL     Set logging threshold for manager
  set-log-target TARGET   Set logging target for manager
  dump                    Output state serialization of service manager
  verify FILE...          Check unit files for correctness

 

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

Nach kurzer Pause möchte ich den Betrieb hier langsam wieder etwas anfahren. Ich hoffe ihr habt die Auszeit nicht bemerkt.

Kali Linux 2017-1 - OpenVAS 9, KLCP und neue Treiber

Durch die Pause hat sich bei den forensischen Distributionen etwas getan. 

So wurde Ende April eine neues Kali Rolling-Release veröffentlicht. Die Entwickler haben einen speziellen WLAN Treiber für RTL8812AU Karten mitgeliefert, welcher Injections erlaubt.

Der Treiber muss jedoch extra installiert werden

apt-get install realtek-rtl88xxau-dkms

Zusätzlich unterstützt Kali nun die Cloud in Form von AWS (Amazon) und Azure (Microsoft) in Verbindung mit CUDA GPU cracking (Details)

Netterweise wurde auch das frische OpenVAS 9 Paket in das Release mit aufgenommen und lässt sich einfach installieren (Ein ausführliche Installationsanleitung für Version 8 hatten wir bei ITrig bereits)

apt-get install openvas

 

Kali_Linux

 

Neben den technischen Neuerungen wurde für Juli ein Buch "Kali Linux Revealed" angekündigt.

Ebenso für Leseratten und Lernwillige wurde die Kalizertifizierung "Kali Linux Professional Certification (KLCP)" vorgestellt.
Weitere Infos sind hier zu finden.

Ein Update auf die neueste Kali Version ist mit einem Dist Upgrade schnell erledigt

apt-get update
apt-get dist-upgrade
reboot

Kali

Parrot Security 3.6

Nach ein paar Monaten Entwicklungszeit wurde ebenfalls eine neue Version 3.6 von Parrot Sec veröffentlicht.

parrot

Hier haben die größten Änderungen unter Haube stattgefunden, um das bestehende System zur verschlanken und die Performance zu verbessern. So wurde hauptsächlich an der Lite und der Studio Version getüftelt.

Schon ein paar Tage länger verfügbar ist Parrot AIR, diese Veröffentlichung ist speziell für drahtlose Geräte ausgelegt, aber bist jetzt nur ein Proof of Concept.

Parrot


Übersicht forensische Distributionen 05/17

 

Name Version Tools Besonderes Basis GUI
Autopsy 4.0 ??? The Sleuth Kit Windows  
BackBox 4.7 70+ eigenes Repo Ubuntu Xfce
BackTrack 5 300+ out of date Ubuntu Gnome
BlackArchLinux 2017-03 1700+ ArchLinux ArchLinux Gnome
CaINE 5 100+ WinUFO Ubuntu Mate
DracOS 2.1 100+ CLI LFS DWM
DEFT Zero 250+ Dart2 Lubuntu 14.04 Lxde
Kali Linux 2017.1 300+ ARM fähig Debian Multi
LionSec 5.0 ???   Ubuntu  
Matriux v3 RC1 300+ out of date Debian Gnome
NST 24 ??? Server integriert Fedora  
NetSecLOS 6.0 50+   OpenSuse Lxde
Paladin 6.0 30+   Ubuntu  
Parrot Security 3.6 700+ Cloud fähig Debian Jessie MATE
Pentoo 2015.0 RC5 ??? 64bit Gentoo Xfce
Ronin   150+ out of date Lubuntu Lxde
Sans SIFT 3.0 20+   Ubuntu  

Glances - modernes Linux Performance Monitoring Tool

Unter Linux gibt es viele Möglichkeiten Performance oder andere Systemdaten zu messen. Den meisten wird wohl top als erstes in den Sinn kommen, andere nutzen eventuell free, bmon, vmstat, tcdump, htop, netstat oder lsof.

Glances geht einen ähnlichen Weg, versucht allerdings noch mehr Werte wie beispielsweise CPU Last, Speicherverbrauch, Load, Prozesse, Netzwerkdaten, Festplatten I/O Daten, IRQ / Raid Daten, Batteriesensor, Dateisysteme, Docker Container, Wifi, Alarmierung, Systeminfos oder Uptime unter einem Dach zu vereinen.

Man könnte Glances somit als eierlegende Wollmilchsau bezeichnen. Zusätzlich sieht es schick aus und weist den Anwender mit vordefinierten Farbcodes auf bestehende Systemprobleme hin.

Grün: Gut
Blau: Obacht
Violett: Warnung
Rot: Kritisch

Hier zeigt sich ein Vorteil zum bekannten top Befehl, welcher kein Highlighting kennt.

Glances basiert auf Python und greift auf psutil zurück, um Informationen aus dem System zu lesen.

glancesDie Installation kann via wget oder pip vorgenommen werden.

Installation unter Ubuntu/Mint

sudo apt-get install python-pip
pip install --upgrade pip
pip install glances

Alternative Installationsmethode

wget -O- http://bit.ly/glances | /bin/bash

Für Containerfreunde gibt es ebenfalls einen Docker Container

docker pull nicolargo/glances
docker run -v /var/run/docker.sock:/var/run/docker.sock:ro --pid host -it docker.io/nicolargo/glances

Bedienung

Glances lässt sich mit diversen Parametern starten und beherrscht ebenfalls eine Remoteauswertung.

Hier ein paar praktische Startkommandos (alle können mit glances --help gelistet werden)

  • Der Client Server Modus kann mit glances -s gestartet werden, wobei auf der Serverseite glances -c 192.168.0.1 aufgerufen werden sollte.
  • Der ebenfalls mitgelieferte Webserver Modus kann mit glances -w gestartet werden, dazu wird allerdings das modul bottle benötigt (sudo pip install bottle). Der Server ist dann via http://127.0.0.1:61208/ erreichbar 

Weiter praktische Shortcuts, welche im Programm selbst anwendbar sind:

a – Sort processes automatically
c – Sort processes by CPU%
m – Sort processes by MEM%
p – Sort processes by name
i – Sort processes by I/O rate
d – Show/hide disk I/O stats ols
f – Show/hide file system statshddtemp
n – Show/hide network stats
s – Show/hide sensors stats
y – Show/hide hddtemp stats
l – Show/hide logs
b – Bytes or bits for network I/Oools
w – Delete warning logs
x – Delete warning and critical logs
1 – Global CPU or per-CPU stats
h – Show/hide this help screen
t – View network I/O as combination
u – View cumulative network I/O
q – Quit (Esc and Ctrl-C also work)

glances

Fazit

Top ist sicherlich die erste Wahl, wenn es um eine schnelle Systemanalyse geht. Das Tool ist in nahezu jedem System integriert und benötigt keine extra Dateien.
Für eine ausführliche, farblich abgegrenzte und einfache Auswertung ist Glances aber eine gute Alternative. Dank der vielen Zusatzfunktionen (Remote, Docker Container) ist das Anwendungsspektrum ebenfalls relativ groß. 
Administratoren, welche regelmäßig mit top oder htop arbeiten, können allerdings getrost weitergehen. Der hippe Look sticht zwar ins Auge, viele Werte lassen sich allerdings auch mit systemeigenen Tools auslesen
 

Download Glances