Eine Ubuntu 24.x.x Standard Installation

(i) Für das Basissystem von Ubuntu 22.x.x werden mindestens 2 Kerne und 2 GB Arbeitsspeicher empfohlen. Die Festplatte sollte, wenn möglich, eine SSD sein, mit mindestens 40 GB. Für die Anwendungen, welche bereitgestellt werden sollen, müssen die entsprechenden zusätzlich benötigten Ressourcen auf die Basisempfehlung dazugerechnet werden.

Installation des Betriebssystems

  1. Installieren Sie das BS über die Ubuntu Server ISO-Datei.

  2. Stellen Sie sicher, dass die VM/Server, auf welchem die Installation stattfinden soll, auf die Repositorys zugreifen kann/darf. Also, der Internetzugriff ist erlaubt.

  3. Es wird empfohlen, bei der Netzwerkkonfiguration den Server auf DHCP zu belassen und im DHCP-Server einen statischen Eintrag zu setzen.

(i) Der Hostname kann später relativ einfach geändert werden, statisch gesetzte IP-Informationen auf der VM können Komplikationen verursachen, sollten diese geändert werden.

  1. Prinzipiell ist in Produktionsumgebungen empfohlen, eine Minimal-Installation durchzuführen und später nur die benötigten Abhängigkeiten manuell zu installieren. Dies verringert die Angriffsfläche erheblich. Für Testumgebungen kann auch eine “normale” volle Installation durchgeführt werden.

  2. Bei der Formatierung der Festplatte wird der standardmäßige Vorschlag vom Installer empfohlen (also mit LVM).

  3. Prinzipiell wird auch immer empfohlen, Open-SSH mitzuinstallieren. Außer, dies ist explizit nicht erwünscht.

  4. Nach Abschluss der Installation installiert der Installer noch automatisch ein paar Updates.

Geben Sie als Benutzernamen: opm ein. (operation manager) <br>

Initiale Konfiguration des Servers

Dauer: ca. 4 Minuten

  1. Melden Sie sich mittels SSH am Server an. Vergewissern Sie sich, dass die entsprechenden Firewall-Freigaben für SSH gesetzt sind.

  2. Installieren Sie alle noch ausstehenden Updates für den Server und starten Sie diesen anschließend neu.

sudo apt-get update -y && sudo apt-get upgrade -y && sudo apt-get autoremove -y && sudo reboot

(i) (Optional) Wählen Sie bei den neuzusartenden Services die 1 aus und bestätigen Sie mit Enter.

  1. Melden Sie sich nach dem Neustart wieder am Server mittels SSH an.

  2. Erstellen Sie einen Benutzer für den Notfallzugang sowie seine Gruppe und gewähren Sie alle Rechte:

sudo adduser notfalladmin
sudo usermod -aG sudo notfalladmin
  1. Es wird nahezu immer empfohlen, eine lokale Firewall zu installieren. Hier empfehlen wir die Verwendung des Programms ufw.
sudo apt-get install ufw -y
sudo ufw allow ssh

(i) Wenn die Firewall installiert wurde, ist diese bisher nicht aktiv. Hier sollten also als Erstes die benötigten Ports z.B. SSH freigegeben werden, bevor die Firewall aktiviert wird.

Zudem empfehlen wir, die Firewall erst am Ende zu aktivieren, wenn alles betriebsbereit ist und getestet wurde. Nach dem Aktivieren der Firewall sollte ein erneuter Funktionstest durchgeführt werden.

sudo ufw enable

(i) Bestätigen Sie eine eventuelle Meldung zu Verbindungsabbrüchen mit y.

  1. Installieren Sie die open-vm-tools, wenn es sich um eine virtuelle Maschine handelt, welche auf einer VMware-Infrastruktur läuft. Danach muss ein Neustart gemacht werden, damit der Daemon richtig läuft.
sudo apt-get install open-vm-tools -y
  1. Konfigurieren Sie die Zeitzone des Servers. Im Beispiel wird die Deutsche Zeitzone gewählt.
sudo timedatectl set-timezone Europe/Berlin
sudo apt-get install locales -y
sudo locale-gen de_DE.UTF-8
sudo update-locale LANG=de_DE.UTF-8
  1. Installieren Sie einen Editor, z.B. nano.
sudo apt-get install nano -y
  1. Sichern Sie den RAM ab, indem Sie den geteilten Speicher deaktivieren. Editieren Sie dazu die Datei /etc/fstab. Und fügen Sie ganz unten Folgendes hinzu tmpfs /run/shm tmpfs defaults,noexec,nosuid 0 0.
sudo nano /etc/fstab
tmpfs /run/shm tmpfs defaults,noexec,nosuid 0 0

Starten Sie abschließend den Server einmal neu.

SSH absichern

Dauer: ca. 7 Minuten

  1. Stellen Sie sicher, dass es nicht möglich ist, sich direkt als root über SSH anmelden zu können. Editieren Sie dazu die Datei /etc/ssh/sshd_config und überprüfen Sie, dass der Wert PermitRootLogin auf no gesetzt ist.
sudo nano /etc/ssh/sshd_config
  1. Spezifizieren Sie in der SSH-Konfiguration, welche Benutzer sich anmelden dürfen und von welchen IP-Adressen. Verweigern Sie allen anderen den Log-in. Schreiben Sie dazu am Ende der Datei für jeden Benutzer eine neue Zeile mit AllowUsers sit@10.1.0.128. Ersetzen Sie die Beispielangaben durch Ihren Benutzer und IP. Sie können auch nur Benutzer angeben, dann gibt es keine IP-Einschränkungen. Bsp. AllowUsers sit smith jones
sudo nano /etc/ssh/sshd_config

(i) Sie können auch ganze IP-Netze freigeben. AllowUsers sit@10.1.0.*.

  1. Deaktivieren Sie das Log-in von Accounts ohne Passwort AUCH, wenn es keine gibt. Suchen Sie dazu nach der Zeile PermitEmptyPasswords und stellen Sie sicher, dass no hinten dran steht.
sudo nano /etc/ssh/sshd_config
  1. Installieren Sie fail2ban um den SSH-Zugang abzusichern.
sudo apt-get install fail2ban -y
  1. Kopieren Sie die Datei jail.conf zu jail.local.
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
  1. Editieren Sie die Datei jail.local. Und passen Sie folgende Werte entsprechend an:
sudo nano /etc/fail2ban/jail.local
[DEFAULT]
bantime = 10m
findtime = 10m
maxretry = 5
backend = systemd
enabled = true
action = %(action_)s

[sshd]
enabled = true
port = 22
filter = sshd
logpath = /var/log/auth.log
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

(i) Wichtig ist es, das Backend bei den DEFAULT Einstellungen auf systemd umzustellen, sonst stürzt fail2ban ab. <br> (i) Geben Sie Folgendes ein, um zu überprüfen, ob fail2ban läuft:

sudo systemctl status fail2ban

(i) Mit folgendem Befehl können Sie sich eine Auskunft über die blockierten IPs geben:

sudo fail2ban-client status sshd

(i) Um eine IP aus der Bannung zu entfernen, geben Sie folgenden Befehl ein. Ersetzen Sie IP-ADDRESS durch den entsprechenden Wert.

sudo fail2ban-client set sshd unbanip IP-ADDRESS

Starten Sie den Server neu.

Prüfen Sie, ob ein mehrfacher, falscher Log-in gesperrt wird.

Installieren des Ninja-Remote Agents

Dauer: ??

  1. Installieren Sie die Abhängigkeiten von Ninja.
sudo apt-get update -y && sudo apt-get install cron parted network-manager net-tools file -y
  1. Laden Sie sich über das Ninja-Portal die Linux-Debian x86_64 Installationsdatei herunter und übertragen Sie diese mittels des curl Befehls. Beginnen Sie mit curl fügen Sie dann Ihren Link ein und beenden Sie die Zeile mit –output ninja.deb
curl WEBLINK --output ninja.deb
  1. Installieren Sie anschließend Ninja mit folgendem Befehl.
sudo dpkg -i ninja.deb
  1. Nach der Installation entfernen Sie die Datei ninja.deb
sudo rm ninja.deb
  1. Starten Sie den Server nach Abschluss der Installation einmal neu.
sudo reboot

Installieren des SNMP Agents

Dauer: ca. 4 Minuten

  1. Installieren Sie die benötigten Pakete für SNMP.
sudo apt-get update -y && sudo apt-get install -y snmp snmpd libsnmp-dev
  1. Stoppen Sie den SNMP-Server Dienst, um im nächsten Schritt den Benutzer anlegen zu können.
sudo service snmpd stop
  1. Erstellen Sie den Benutzer für den SNMP-Zugriff. Ersetzen Sie PASSWORT und BENUTZERNAME durch die entsprechenden Einträge aus der Passwortdatenbank.
sudo net-snmp-config --create-snmpv3-user -ro -A PASSWORT -X PASSWORT -a SHA -x AES BENUTZERNAME
  1. Öffnen Sie folgende Datei
sudo nano /etc/snmp/snmpd.conf

Und ersetzen Sie die Zeile agentaddress … durch folgendes. Dadurch wird ein SNMP-Zugriff über alle IP-Interfaces auf dem Host ermöglicht über Port 161.

agentaddress udp:161
  1. Erstellen Sie die Freigabe in der Firewall (falls konfiguriert).
sudo ufw allow 161
  1. Mit folgendem Befehl wird der SNMP-Server-Dienst wieder gestartet.
sudo service snmpd start

(i) Verschlüsselung: – SHA – AES

Mit folgendem Befehl kann getestet werden, ob die SNMP-Verbindung funktioniert

snmpwalk -D ALL -v3 -u BENUTZERNAME -l authPriv -a SHA -A PASSWORT -x AES -X PASSWORT localhost

Sollte das Script: sudo net-snmp-config einen Fehler ausspucken, muss eventuell der Ordnerpfad angepasst werden:

sudo nano /usr/bin/net-snmp-create-v3-user

Suche nach der Zeile, in der /snmp/snmpd.conf referenziert wird, und ändere diese zu /etc/snmp/snmpd.conf

Installieren eines Syslog Agents

Dauer: ca. 2 Minuten

  1. Installieren Sie einen syslog Dienst:
sudo apt update
sudo apt install rsyslog -y
  1. Editieren Sie die Konfigurationsdatei.
sudo nano /etc/rsyslog.d/50-default.conf
  1. Fügen Sie am Ende der Datei den folgenden Eintrag hinzu. Ersetzen Sie syslog-server-ip durch die IP Ihres syslog Servers.
*.* @syslog-server-ip:514

(i) das @ steht für UDP, zwei @@ stehen für TCP

  1. Starten Sie den Dienst neu.
sudo systemctl restart rsyslog
  1. Überprüfen Sie auf dem syslog-Server, ob Protokolle ankommen.

Installieren von sftp

  1. Erstellen Sie die benötigten Ordner und vergeben Sie die Rechte.
sudo mkdir /backups
sudo chown root:root /backups
sudo chmod 755 /backups
  1. Editieren Sie die SSH-Konfigurationsdatei
sudo nano /etc/ssh/sshd_config
  1. Fügen Sie unten an die Datei Folgendes an. Achtung, denken Sie daran, den neuen Benutzer bei „AllowUsers sit sftpuser„` hinzuzufügen.
Match Group sftpgroup
    ChrootDirectory /backups
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp
  1. Starten Sie den SSH-Dienst neu.
sudo systemctl restart sshd
  1. Erstellen Sie den neuen Benutzer und seine Gruppe.
sudo groupadd sftpgroup
sudo useradd -g sftpgroup -d /backups -s /sbin/nologin sftpuser
sudo passwd sftpuser
  1. Erstellen Sie die benötigten Ordner und starten Sie das System neu.
sudo mkdir /backups/sftpuser
sudo chown sftpuser:sftpgroup /backups/sftpuser
sudo reboot
Schreibe einen Kommentar 0

Deine E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind mit * markiert


Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden.