Autor: User

MongoDB Passwort erstellen

MongoDB erstellt keine Benutzeranmeldung nach der Installation.

Wir legen also einen Benutzer „admin“ mit einem Passwort „new_password_here“ als Root in der Datenbank „admin“ an.

use admin
db.createUser({user:"admin", pwd:"new_password_here", roles:[{role:"root", db:"admin"}]})
db.auth("admin", "new_password_here")

Dem Service müssen wir die Anmeldung über den Parameter „auth“ mitteilen.

sudo nano /lib/systemd/system/mongod.service

ExecStart=/usr/bin/mongod --auth --config /etc/mongod.conf

Oder wir setzen den Wert „authorization“ in der Konfiguration.

sudo nano /etc/mongod.conf

security:
  authorization: enabled

In der Kommandozeile ist der Aufruf per Parameter möglich.

mongo -u admin -p new_password_here --authenticationDatabase admin

Quellen: Mongodb Handbuch

Upstream DNS resolver ermitteln

Akamai als CDN betreibt eigene DNS Resolver. Sie bieten ein Möglichkeit den verwendetet DNS Server zu ermitteln.

Die Adresse lautet: whoami.(ipv4|ipv6|ds).akahelp.net

Mit dem Tool „dig“ kann man die IP Adresse ermitteln. Hier ein Beispiel für den Google DNS Resolver (IPv4/IPv6).

dig @8.8.8.8 whoami.ipv4.akahelp.net TXT +short
dig @2001:4860:4860::8888 whoami.ipv6.akahelp.net TXT +short

Kombiniert man die Ausgabe mit dem Tool „whois“, kann man den Anbieter Cloudflare ermitteln.

whois $(dig @1.1.1.1 whoami.ipv4.akahelp.net TXT +short | awk '{print $2}'| tr -d '"')
whois $(dig @2606:4700:4700::1111 whoami.ipv6.akahelp.net TXT +short | awk '{print $2}'| tr -d '"')

Hiermit wird der aktuelle DNS Resolver ausgegeben.

whois $(dig whoami.ds.akahelp.net TXT +short | awk '{print $2}'| tr -d '"')| grep -i 'netname:'

Quelle: Akamai

Weitere nützliche Links sind der Connection Test und DNSSEC Resolver Test sowie der GEO Location Test.

Email Server installieren

Ziel ist es ein Mail Server zum senden und empfangen von elektronischen Nachrichten zu installieren. Der Versand erfolgt per Simple Mail Transfer Protocol (SMTP). Die Nachrichten sollten einfach zu sichern sein und je Benutzer getrennt gespeichert. Der Abruf der Nachrichten erfolgt per Internet Message Access Protocol (IMAP). Die Nachrichten bleiben auf dem Server gespeichert. Als Betriebssystem dient Debian 10 (Buster) mit OpenSMTPD und Dovecot.
Andere Message Transfer Agent (MTA) wie Postfix oder Exim sollten zuvor entfernt werden.

Mit der Installation der Pakete geht es los.

sudo apt-get install -y opensmtpd dovecot-imapd dovecot-lmtpd

Die Verbindungen sollte nur verschlüsselt erfolgen. Deshalb brauchen wir ein Zertifikat.

Debian erzeugt automatich ein Zertifikat bei der Installation. Dieses Zertifikat können wir mit unseren Werten für den Common Name (CN) als Beispiel „mail.hostname.de“ ersetzen.

openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/ssl/private/ssl-cert-snakeoil.key \
  -out /etc/ssl/certs/ssl-cert-snakeoil.pem -days 365 \
  -subj "/C=DE/ST=Bundesland/L=Stadt/O=Firma/OU=Abteilung/CN=mail.hostname.de"

Sollten wir ein kostenloses Zertifikat von Letsencrypt haben, so kopieren wir es an die richtig Stelle. Die Erstellung von Zertifikat welche von Letsencrypt signiert werden, finden Sie in einem anderen Artikel.

cd /etc/letsencrypt/live/mail.hostname.de/
sudo cp cert.pem /etc/ssl/certs/ssl-cert-snakeoil.pem
sudo cp privkey.pem /etc/ssl/private/ssl-cert-snakeoil.key

Lesen Sie weiter

Webserver per LTE Mobilfunk über SSH Tunnel bereitstellen

In diesem Artikel wollen wir einen Web-Server ohne öffentliche IP Adresse mit einem LTE Stick im Internet betreiben. Dazu brauchen wir zusätzlichen einen virtuellen Server mit einer festen öffentlichen IP Adresse. Ein virtuellen Server (1 vCPU + RAM 512MB + SSD 10G) gibt es ab 1,- EUR pro Monat. Der vServer sollte eine feste IPv4 und IPv6 Adresse haben.

+=============================+          +=========+         +==========+
| Privater Server + LTE Stick |--dyn.IP--| vServer |-fixe IP-| Internet |
+=============================+          +=========+         +==========+

Bei einer Verbindung mit dem Mobilfunknetz per LTE Stick wird dem Teilnehmer eine private IPv4 (10.xx.xx.xx) dynamisch zugewiesen. Diese IP wird per NAT mit einer öffentlichen IPv4 Adresse verbunden. Nur einige Mobilfunkanbieter verteilen schon IPv6 Adressen, jedoch kein Anbieter bietet eine feste IP Adresse an. Der private Server soll jedoch immer unter der gleichen Adresse erreichbar sein.

Auf die Einrichtung vom LTS Stick, Mobil- und SSH-Verbindung werde ich nicht weiter eingehen. Es soll hier nur kurz und kompakt die Einrichtung eine SSH Tunnel beschrieben werden.

Lesen Sie weiter

VPN Wireguard mit Ubuntu 20.04 in drei Schritten

Mit Ubuntu LTS 20.04 wird das Kernel Modul für Wireguard ausgeliefert. Eigentlich ist Wiregaurd erst in Kernel 5.6 enthalten, jedoch verwendet Ubuntu 20.04 den Long Term Kernel 5.4. Das Kernel Modul für Wireguard wurde extra von Kernel 5.6 in 5.4 zurück portiert und ist somit sofort nutzbar.

In diesem Artikel beschreibe ich die Einrichtung von Wireguard für den Client und Server.

Wir installieren die Wiregard Tools und einen Programm zur Erzeugung von QR-Codes.

sudo apt-get install wireguard-tools qrencode

Für die Konfiguration legen wir zwei Verzeichnisse an.

sudo mkdir -p /etc/wireguard /root/wireguard

Lesen Sie weiter

Automatischer Neustart von Apache

Systemd erlaubt es einen Dienst wie Apache im Fehlerfall automatisch neu zu starten. Dafür bietet Systemd ein Drop-In Replacement von Konfiguration an.

Die Erweiterung eine bestehenden Konfiguration ist recht einfach.

Wir legen ein Verzeichnis mit dem Names des Service (apache2.service) an.

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

In diesem Verzeichnis wird eine neue Konfigruationsdatei angelegt.

sudo vim /etc/systemd/system/apache2.service.d/restart.conf

Der Inhalt der Konfiguration steuter den Neustart (Restart=on-failure) vom Dienst im Fehlerfall. Der Neustart erfolgt nach einer Wartezeit von 5 Sekunden (RestartSec=5s) mit maximal 10 Versuchen (StartLimitBurst=10). Wird der Dienst manuell gestoppt, so erfolgt kein automatischer Neustart (RemainAfterExit=no).

Lesen Sie weiter

Samba unter Linux einrichten

Wir wollen unter Linux eine Freigabe für Dateien einrichten, damit von Windows oder Linux daraug zugeriffen werden kann.

Dafür brauchen wir den Samba Server, welchen wir zuerst installieren müssen.

sudo apt install samba

Wir richten den Benutzer „Otto“ ein, welche Teil der Gruppe „sambashare“ wird, sich aber nicht an dem Linux anmelden darf. Ein Home-Verzeichnis (/home/otto) braucht der Benutzer nicht. Diese Verzeichnis legen wir auf seine zukünftiges Freigabeverzeichnis.

sudo useradd -M -d /mnt/data/nas -s /usr/sbin/nologin -G sambashare otto

Damit der Benutzer „Otto“ auf seine Freigabe zugreifen kann, müssen wir noch ein Kennwort vergeben. Der Benutzer muss in Linux hinterlegt sein, sonst gibt es jetzt einen Fehler.

sudo smbpasswd -a otto

Die Freigabe mit dem Namen „nas“ für Benutzer „Otto“ und Gruppe „sambashare“ auf Verzeichnis „/mnt/data/nas“ wird in der Datei „smb.conf“ hinzugefügt.

sudo vim /etc/samba/smb.conf

[nas]
comment = NAS black box
path = /mnt/data/nas
read only = no
browsable = yes
force create mode = 0600
force directory mode = 0700
valid users = otto @sambashare

Nun noch ein Neustart der Samba Dienste „smbd“ und Netbios Dienste „nmbd“.

sudo systemctl restart smbd nmbd

Lesen Sie weiter

BtrFS – Erste Schritte

Btrfs (B-tree FS) ist ein neuen Dateisystem für Linux und möchte den gleichen Funktionsumfang wie ZFS bieten. Ein Vorteil von Btrfs ist, dass es Teil jedes aktuellen Linux Kernel ist. Ziel ist es, einen Überblick der wichtigen Kommandos zu erhalten.

sudo apt install btrfs-tools

RAID 1 (Spieglung) ist mit Btrfs sehr einfach möglich. Man gibt einfach die Partitionen der Festplatten (sdb1,sdc1) an.

sudo mkfs.btrfs -m raid1 -d raid1 -L "BTRFS_RAID" /dev/sdb1 /dev/sdc1

Damit ist die Spieglung der Festplatten erstellt. Die BlockID kann man sich mit ganz einfach anzeigen lassen.

sudo blkid

Die UUID von dem RAID1 tragen wir in die Startdatei ein.

sudoedit /etc/fstab

UUID=2f633613-45b4-36cf-b4be-90a1748f4753   /mnt/data   btrfs  defaults,subvol=/,compress,autodefrag,inode_cache   0  0

Lesen Sie weiter

Check_mk im Docker Container

Es gibt von Check_mk RAW eine offizielle Version auf dem Docker Hub.

Die Installation von Check_mk ist damit sehr einfach.

sudo docker container run -dit -p 8080:5000 --name monitoring \
-v /omd/sites -v /etc/localtime:/etc/localtime \
-e CMK_SITE_ID=mysite -e MAIL_RELAY_HOST='mailrelay.mydomain.com' \
--restart always checkmk/check-mk-raw:1.6.0-latest

Das Kennwort für den Zugang wird automatisch generiert. Zu sehen ist es in den Logs.

sudo docker logs monitoring

Mit dem Benutzer und Kennwort kann man sich zu Check_mk verbinden.

http://localhost:8080/mysite/check_mk/

Das Image basiert auf Debian. Das kann man im Container überprüfen.

sudo docker exec -it monitoring bash

Auf der CheckMK Seite kann man sich das Docker Image auch laden.

wget https://checkmk.com/support/1.6.0p9/check-mk-raw-docker-1.6.0p9.tar.gz

Nach dem Download wird das Image in Docker geladen.

sudo docker load -i check-mk-raw-docker-1.6.0p9.tar.gz

Das Docker Image hat den Namen „checkmk/check-mk-raw:1.6.0p9“ und entspricht dem Image vom Docker Hub.

Weitere Informationen gibt es auf den offiziellen Seiten.

Quelle: Docker Hub, Mathias Kettner, CMD Docker

Copyright © 2022 NEU.lu

Theme von Anders Norén↑ ↑