Kategorie: Ubuntu

Docker mit Cockpit steuern

Mit dem Cockpit hat man die Möglichkeit, die Auslastung eines Server zu prüfen. Über zusätzliche Module kann man auch Docker steuern.

Der Cockpit ist Teil von Ubuntu 18.04 (bionic).

sudo apt install -t bionic-backports cockpit cockpit-docker

Damit der Benutzer „USER“ auch Zugriff auf Docker erhält, muss er in die Gruppe von Docker hinzugefügt werden.

sudo usermod -aG docker USER

Der Zugriff auf das Cockpit erfolgt per Internet unter Port 9090.

http://localhost:9090/

Quelle: UbuntuBackports

Docker mit Proxy

Kommt Docker in einer Umgebung mit HTTP Proxy Server zum Einsatz, so muss der Proxy vor dem Start von Docker in den Umgebungsvariablen gesetzt werden.

Dazu erweitern wir Systemd von Docker um ein Drop-In.

Wir legen ein Verzeichnis an in dem das Drop-In hinterlegt werden soll.

sudo mkdir /etc/systemd/system/docker.service.d

Wir erzeugen eine Drop-In für die Proxy Einstellungen.

sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf

[Service]
Environment="HTTP_PROXY=http://otto:pass123@proxy-server:8080/"

Der Aufbau von der Proxy URL lautet http://[user]:[password]@[hostname]:[port]/.

Diese Werte können gesetzt werden.

HTTP_PROXY „http://127.0.0.1:8080“
HTTPS_PROXY „https://127.0.0.1:8080“
NO_PROXY „*.test.example,*.example“

Festplatte kopieren

Aktuelle Festplatten haben einen Selbstmonitoring (S.M.A.R.T) eingebaut. Mit den SMART-Tools kann man die Informationen abfragen.

sudo apt install smartmontools

Nach der Installtion können wir die akutellen Werte von SMART abfragen.

sudo smartctl -A /dev/sda

Meine Festplatte zeigt an, das es zu einem Fehler kommen wird. So ein Hinweis sollte ein Weckruf sein. Es wird höchste Zeit, die Festplatte zu gegen ein neueres Modell zu tauschen.

Wenn man eine Festplatte kopieren möchte, kann man natürlich dd if=/dev/sda of=/dev/sdb verwenden. Besser geht es mit dem Programm ddrescue.

sudo apt install ddrescue

Wir kopieren von der Quelle /dev/sda auf das Ziel /dev/sdb.

sudo ddrescue /dev/sda /dev/sdb

Quellen: SMART Wiki, Wiki gddrescue

Ungenutzte Pakete entfernen

Über die Zeit können sich unter Ubuntu einige überflüssige Paket ansammeln. Mit dem Programm Deborphan kann man die verweisten Bibliotheken anzeigen.

Die Installation ist mit einem Kommando erledigt.

sudo apt install deborphan

Mit dem Aufruf werden alle Paket ohne Verwendung angezeigt.

deborphan

Es gibt auch ein Programm zu Löschung dieser Pakete.

sudo orphaner

Kernel Module entfernen und RAM sparen

Mit einer kleinen Änderung kann man „etwas“ Speicher einsparen. Wer einen Raspberry Pi mit dem Ubuntu Image betreibt, kann ein paar Megabyte RAM sparen. Im normalen Betrieb von Ubuntu spiel diese Änderung keine Rolle.

In der Datei initramfs.conf wird einen Wert geändert.

sudo vim /etc/initramfs-tools/initramfs.conf

Den Defaultwert wird von MODULES=most in MODULES=dep geändert.

Anschließend wird ein Update des initramfs-Image erstellt.

Wir können es für den aktuellen Kernel erstellen.

sudo update-initramfs -u

Oder für alle vorhandenen Kernel ein neues Image erstellen.

sudo update-initramfs -uk 'all'

Nach einem Neustart werden nur alle notwendigen Kernel Module geladen.

Dateien verschlüsseln

Wenn man Dateien in die Cloud überträgt, sollte man die Daten verschlüsseln. Mit GoCryptFS werden die Inhalte und Dateinamen verschlüsselt.

Die Anwendung ist schnell installiert.

sudo apt install gocryptfs

Jetzt sollte GoCryptFS arbeiten.

gocryptfs -version

Wir legen zwei Verzeichnisse für die Daten an.

mkdir cipher plain

Zuerst müssen wir die Verschlüsslung initialisieren.

Weiterlesen

SSH mit Zwei Faktor Authentifizierung

Wir möchten unsere SSH Zugang mit einer Zwei Faktor Authentifizierung absichern.

Zur Erzeugung des zweiten Faktor verwenden wir ein Smartphone mit der App FreeOTP oder Google Authenticator. Diese Apps generieren ein Token, welcher nur für eine bestimmte Zeit gültig ist. Damit wir der SSH Zugang zusätzlich abgesichert.

Zuerst müssen wir das SSH Modul für Google Authenticator installieren.

sudo apt install libpam-google-authenticator

Jetzt müssen wir den Server mit der App verbinden. Dazu rufen wir die Anwendung als Benutzer auf.

google-authenticator

Den QS Code können wir mit dem Smartphone in der App Google Authenticator einlesen. Die Emergency Codes sollten wir uns an einem sicheren Ort speichern.

Die Frage können wir mit Yes, Yes, Yes, No, Yes beantworten.

Do you want authentication tokens to be time-based (y/n) y
Do you want me to update your "/home/user/.google_authenticator" file (y/n)? y
 
The app provides you with a secret key, verification code, and recovery codes. Keep these in a secure, safe location. The recovery codes are the only way to access your server if you lose your mobile phone.
 
Do you want to disallow multiple uses of the same authentication token? This restricts you to one login about every 30s, but it increases your chances to notice or even prevent man-in-the-middle attacks (y/n) y
By default, tokens are good for 30 seconds. In order to compensate for possible time-skew between the client and the server, we allow an extra token before and after the current time. If you experience problems with poor time synchronization, you can increase the window from its default size of +-1min (window size of 3) to about +-4min (window size of 17 acceptable tokens). 
Do you want to do so? (y/n) n
 
If the computer that you are logging into isn't hardened against brute-force login attempts, you can enable rate-limiting for the authentication module. By default, this limits attackers to no more than 3 login attempts every 30s.
Do you want to enable rate-limiting (y/n) y

Das PAM Modul muss noch konfiguriert werden.

sudo vim /etc/pam.d/sshd

Ende der Datei fügen wir eine Zeile hinzu.

auth required pam_google_authenticator.so

In den Einstellungen vom SSH-Server müssen ggf. noch Einstellunge geändert werden.

sudo vim /etc/ssh/sshd_config

Prüfen Sie ob diese Werde gesetzt sind.

ChallengeResponseAuthentication yes
PasswordAuthentication no

Nach dem Neustart vom SSH-Server sollte die Zwei Faktor Authentifizierung arbeiten.

sudo systemctl restart sshd.service

Apache2 status Error www-browser not found

Man kann den Status eines Apache Server per Kommandozeile abfragen.

apachectl status

Dabei erhalten Sie jedoch diese Fehlermeldung:

/usr/sbin/apachectl: 113: /usr/sbin/apachectl: www-browser: not found
'www-browser -dump http://localhost:80/server-status' failed.
Maybe you need to install a package providing www-browser or you
need to adjust the APACHE_LYNX variable in /etc/apache2/envvars

Um den Fehler zu beheben, müssen wir noch ein Text-Browser installieren.

sudo apt install w3m

Systemd DNS Resolver

Wenn die Namensauflösung mit Systemd nicht richtig funktioniert, dann muss man vielleicht einen Resolver manuelle einrichten.

Zuerst legen wird das Verzeichnis an.

sudo mkdir /etc/systemd/resolved.conf.d/

Jetzt hinterlegen wird den DNS Resolver.

sudo vim /etc/systemd/resolved.conf.d/dns_servers.conf

[Resolve]
DNS=1.1.1.1 8.8.8.8
DNSSEC=true
DNSOverTLS=opportunistic

Nach einem Neustart von Systemd-resolver sollte die Namensauflösung wieder funktionieren.

sudo systemctl restart systemd-resolved

Jetzt kann der DNSSEC Test beginnen.

systemd-resolve sigok.verteiltesysteme.net

Für weitere Abfragen kann man das Tool „dig“ installieren.

sudo apt-get install dnsutils

Mit diesem Tool ist die Ausgabe der Signaturen von Localhost (127.0.0.1) von Port 53 (DNS) möglich.

dig -p 53 @127.0.0.1 com. SOA +dnssec

Ein DNSSEC Beispiel für die Abfrage vom Cloudflare DNS (1.1.1.1).

dig @1.1.1.1 whois.arin.net SOA +dnssec

Spracheinstellung von Ubuntu und Debian auf Deutsch umstellen

Wir wollen die Sprache von Englisch auf Deutsch in Ubuntu oder Debian ändern.

Dazu installieren wird die Sprachen.

sudo apt install locales

Wir können uns die aktuellen Einstellung ansehen.

locale -a

Sollte die Sprache „Deutsch“ mit UTF-8 nicht nicht erzeugt sein, so sollten wir es jetzt vornehmen.

sudo locale-gen de_DE.UTF-8

Die Einstellungen für die Sprache können wir mit einem grafischen Tool einfach ändern.

sudo dpkg-reconfigure locales

Nach der Umstellung sollten nur Einträg welche ausgewählt wurden in der Datei enthalten sein.

cat /etc/locale.gen

de_DE.UTF-8 UTF-8

Für unsere Umgebung müssen wir ggf. noch die Einstellungen hinterlegen.

sudo vim /etc/default/locale

LANG=de_DE.UTF-8
LANGUAGE=de_DE.UTF-8
LC_MESSAGES=de_DE.UTF-8

sudo vim /etc/environment

LC_ALL=de_DE.UTF-8
LANG=de_DE.UTF-8

Nach dem Update sollten alle Einstellung wie Datum und Währung und Sprache auf Deutsch umgestellt sein.

sudo update-locale

Sollten zu viele Sprachen installiert sein, sollte die Einträge im Verzeichnis /var/lib/locales/supported.d/local/ überprüfen.

Überflüssige Sprachen können entfernt werden und im Anschluss neu generiert werden.

sudo locale-gen

Diese Anleitung funktioniert mit Debian und Ubuntu.

Copyright © 2024 Weiter.info

Theme von Anders Norén↑ ↑