-
Wer im Internet nach dem Ubuntu-Server-Betriebssystem sucht,
wird recht schnell die Seite von Ubuntu finden.
Dort bekommt man die sogenannte Live-Version.
Sie zeichnet sich durch die eingebaute Cloud-Init Funktion aus.
Will man hingegen nicht die Live-Version haben,
so sollte man die Seite der Legacy-Version aufrufen.
Für diese Beschreibung wurde die Live-Version verwendet.
-
Server sollen Headless, also ohne Monitor, Maus oder Tastatur, laufen.
Normal werden sie per SSH von einem anderen Gerät aus gewartet.
Sicherlich lässt sich auch das Betriebssystem schon Headless installieren,
allerdings ist das eher etwas für richtige Profies und übersteigt meine Fähigkeiten.
Für die Installation von Ubuntu 20 LTS schließe ich einen Monitor und eine Tastatur an den Rechner an.
Eine Maus wird nicht benötigt und würde auch nicht funktionieren.
Der Rechner wird somit per Tastatur gesteuert.
Da sind die Tasten Tab, Enter bzw. Return und die Pfeiltasten extrem wichtig.
Da hier nur eine beispielhafte Installation beschrieben wird,
müssen einzelne Eingaben an die persönlichen Einstellungen angepasst werden.
Zuerst wird man nach der Sprache für die Installation gefragt.
Standardmäßig ist Englisch ausgewählt.
Mit den Pfeiltasten nach Deutsch navigieren und Return drücken ist wirklich kein Problem.
2
Als nächstes geht es um die Tastatur.
Englische Tastaturen haben ein anderes Layout.
So fehlen dort z.B. die Tasten für ö, ä oder ü.
Auch die Tasten Z und Y sind im Vergleich zum deutschen Layout vertauscht.
Man sollte hier schon seine Tastatur richtig einstellen.
Dann wird nach einem Netzwerkadapter geschaut und dieser auch direkt konfiguriert.
Achtung !!!
In der Standardversion nutzt Ubuntu nur eine LAN-Verbindung.
Will man zusätzlich auch eine WLAN-Verbindung nutzen, so muss diese nachträglich konfiguriert werden.
Dazu müssten auch ein paar Software-Pakete nachinstalliert werden.
2
Wird ein Proxy verwendet ?
Wenn Nein, einfach Return drücken und die Zeile leer lassen.
Weltweit gibt es für Ubuntu über 500 Spiegelserver.
Das sind Quellen von denen man Software für Ubuntu und Systemaktualisierungen erhalten kann.
Eine Liste der offiziellen Spiegelserver für Ubuntu findet man z.B. auf https://launchpad.net/ubuntu/+archivemirrors.
Wenn man die Adresse eines in der Nähe befindlichen Spiegelservers kennt, so sollte man sie hier eintragen.
Man kann diese Zeile aber auch unverändert lassen und einfach Return drücken.
Nun geht es um die Partitionierung der Festplatte.
Bei mir soll die komplette Festplatte genutzt werden.
In einer Zusammenfassung werden die Änderungen an der Festplatte aufgeführt.
Noch ist nichts passiert und man könnte die Installation ohne Änderungen an der Festplatte abbrechen.
Es erscheint noch eine Sicherheitsabfrage.
Name des Nutzers, sein Passwort und der Name des Servers werden festgelegt.
Alle drei Informationen sollte man sich gut merken.
Will man später den Server headless warten, so sollte bereits hier der OpenSSH-Server installiert werden.
Das geht zwar auch noch später, doch warum umständlich wenn es auch bequem geht ?
Neben dem OpenSSH-Server kann noch eine ganze Reihe weiterer Software direkt mit installiert werden.
Was das alles genau ist, weiß ich gar nicht. Bei mir wird hier kein x gesetzt.
Alle Vorbereitungen sind abgeschlossen und das System kann installiert werden.
Bitte Geduld haben und warten.....
Recht schnell wird oben die Installation als komplett bezeichnet,
doch unten steht etwas von "Aktualisierung abbrechen".
Die Installation scheint doch noch nicht wirklich fertig zu sein.
Warten .....
Jetzt steht auch unten nichts mehr von abbrechen.
Die Installation ist fertig und der Rechner kann neu gestartet werden.
Achtung !!!
So präsentiert sich das neu installierte Ubuntu 20 LTS auf einem angeschlossenen Monitor.
Von nun an kann der Computer aber auch headless von einem anderen Gerät aus bedient werden.
Bei einem Linux-Computer öffnet man das Terminal und gibtssh benutzername@servername
Nutzt man auf dem anderen Gerät Windows, so wird zusätzliche Software benötigt.
Ein mögliches Programm wäre PuTTY.
Damit wird auf dem Windows-Computer ein Terminal erzeugt
und man kann sich per SSH mit dem Server zu verbinden.
-
Wie bei jedem Betriebssystem gibt es auch bei Ubuntu gelegentliche Updates.
Alle möglichen Updates vollkommen automatisch machen lassen ist zwar möglich,
doch es birgt die Gefahr, dass sich immer mehr Fehler einschleichen.
Bei einem Update des Systems sollte man schon dabei sein,
um im Fall der Fälle eingreifen zu können.sudo apt update sudo apt upgrade -y sudo apt autoremove -y
Mit dem zweiten werden die Updates dann installiert.
Durch das "-y" am Ende der Zeile werden alle Fragen,
die während des Updates auftreten,
mit "y" für Yes (bzw. Ja) beantwortet.
Schließlich wird das Sytem mit dem dritten Befehl aufgeräumt.
Alle ungenutzten Abhängigkeiten (inklusive Pakete) werden deinstalliert.
Das schafft etwas Platz auf der Festplatte.
Man kann diese drei Befehle auch in eine Zeile schreiben.sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y
Diesen müssen dann (von Hand) nachträglich aktualisiert werden.sudo apt upgrade dateiname
Zuvor muss das alte vorhandene System mit den obigen Befehlen auf den neuesten Stand gebracht werden.
Erst danach kann das Upgrade auf die neue Version gestartet werden.sudo do-release-upgrade
Bitte nicht erschrecken wenn eine Meldung, wie diese, erscheint.
Sind Sie sicher das Upgrade machen zu wollen ?
Der Vorgang kann mehrere Stunden dauern und darf nicht unterbrochen werden.
Keine Panik,
im Normalfall sollte das Upgrade nach spätestens einer Stunde erledigt sein.
-
Ab Ubuntu 18.04 verfügt die live Version dieses Betriebssystems über eine Cloud-Funktion.
Damit soll die Installation bzw. Nutzung bestimmter Funktionen wesentlich leichter sein.
Allerdings wird dafür ein Account benötigt.
Ich habe es bisher nicht ausprobiert und kann dazu nicht viel sagen.
In jedem Fall dauert der Startvorgang mit so einer Cloud extrem lange.
Unmittelbar nach der Installation von Ubuntu deaktiviere (1. oder 2.) und lösche (3.) ich den Zugriff auf diese Cloud.
1. Cloud-Init deaktivieren
Dies ist der sicherste und auch einfachste Weg.
Dazu wird lediglich eine leere Datei angelegt und der Rechner neu gestartet.sudo touch /etc/cloud/cloud-init.disabled sudo reboot now
Die Datei grub wird editiert.sudo nano /etc/default/grub
GRUB_CMDLINE_LINUX="cloud-init=disabled"
mit strg+x nano beenden
Die Boot-Funktion aktualisieren und den Computer neu starten.sudo update-grub sudo reboot now
sudo apt purge cloud-init -y sudo rm -rf /etc/cloud sudo rm -rf /var/lib/cloud/ sudo reboot now
Danach werden noch Reste in /etc/cloud und in /var/lib/cloud gelöscht.
Schließlich wird der Computer neu gestartet.
-
In iSCSI und FC SAN Umgebungen gibt es,
abhängig vom Server-seitig verwendeten Betriebssystem und vom Storage-System,
unterschiedliche Möglichkeiten und Technologien um ein Multipathing zu erreichen.
Im Storage-Umfeld spricht man von Multipathing,
wenn ein Server mehrere unabhängige Pfade zu einem Storage-System hin nutzen kann.
Je nach Technologie kann damit die Performance bzw. der Datendurchsatz erhöht werden.
Bei einem einfachen Home-Computer (bzw. -Server) wird Multipathing nicht benötigt.
Im Gegenteil, es kann auch zu vielen Fehlermeldungen führen.
Diese sind zwar harmlos, aber eben auch nervend.
Aus diesem Grund wird im Internet empfohlen es zu deinstallieren, wenn man es nicht benötigt.
Die Deinstallation ist recht schnell erledigt.sudo systemctl stop multipathd.service sudo systemctl disable multipathd.service sudo apt remove multipath-tools -y sudo apt purge multipath-tools -y
-
1. Feste IP
Ein Server sollte möglichst eine feste IP-Adresse haben.
Nur so kann er immer unter der identischen Adresse gefunden werden.
Im angeschlossenen Router sollte es dazu eine recht einfache Möglichkeit geben.
Eine feste IP-Adresse sollte möglichst immer im Router festgelegt werden.
Zwar geht es auch direkt am Rechner, doch das kann zu Adress-Konflikten führen
und der Rechner wäre dann gar nicht mehr erreichbar.
2. SSH Zugang
Normal wird der openSSH-Server bereits bei der Betriebssytem Installation mit installiert.
Hat man es vergessen, oder absichtlich nicht gemacht,
kann der Service jederzeit nachträglich installiert werden.sudo apt install openssh-server
Der Rechner ist dann perssh nutzername@servername
ssh servername
Bei der Installation des System wird bereits eine Sprache festgelegt.
Doch diese Einstellung gilt nur für die Installation.
Danach ist das System wieder in Englisch.
Will man die Systemsprache ändern, so hilft dieser Befehl:sudo dpkg-reconfigure locales
Hier können Sprachpakete hinzu gefügt, oder gelöscht, werden.
Für die deutsche Sprache reicht "de_DE.UTF-8".
Ich aktiviere normal die Pakete
de_DE.ISO-8859-1
de_DE.UTF-8
de_DE.ISO-8859-15(at)euro
Hat man mehrere Pakete aktiviert, so wird nach dem Standard gefragt.
Spätestens hier sollte "de_DE.UTF-8" gewählt werden.
Verschiedene Cloud-Software benötigt das Sprachpaket en_US.UTF-8, deshalb sollte auch das aktiviert werden.
4. Zeitzone
Mit dem Befehlsudo dpkg-reconfigure tzdata
Europa -> Berlin wäre für Deutschland richtig.
5. Tastatur
Hier muss man unterscheiden ob man direkt am Gerät oder per ssh arbeitet.
Direkt am Gerätsudo dpkg-reconfigure keyboard-configuration
per sshsudo nano /etc/default/keyboard
6. etwas Farbe
Normal wird die Ausgabe von Ubuntu 20 LTS in weisser Farbe auf schwarzem Hintergrund angezeigt.
Das ist zwar recht gut lesbar, doch erscheint nach einer Eingabe ein längerer Text,
so findet man dessen Anfang nur sehr schlecht.
Wesentlich einfacher wäre es, wenn zumindest jede Eingabezeile farblich hervor gehoben wäre.
Unter Linux (Ubuntu ist ja auch eine Linux-Distrobution) lässt sich alles irgendwie einstellen.
Mit dem Befehlsudo nano .bashrc
Dort sucht man die Zeile#force_color_prompt=yes
Wie üblich wird die Datei mit strg+o gespeichert und dann mit strg+x nano verlassen.
Nach einem Neustart des Computers sollte jede Eingabezeile nun farblich hergehoben sein
Das sieht doch viel besser aus.
Bei längeren Textausgaben findet nun deren Anfang recht leicht.
Wer seinen Server ausschließlich per SSH bedient, braucht diese Einstellung nicht.
-
Bei einem Desktop-Computer schließt man eine USB-Festplatte an und sie wird automatisch erkannt.
Unter Ubuntu 20.04 (Server-Edition) funktioniert das nicht.
Hier muss das System mit verbundener USB-Festplatte neu gestartet werden.
Mit dem Befehlblkid
Das kann so aussehen:/dev/sdc2: UUID="51f712dc-a756-4ba3-9339-a3dc97861bff" TYPE="ext4" PARTUUID="b4e47785-fb9e-42e4-bed1-1574c3094565" /dev/sda1: LABEL="platte1" UUID="8a761d54-b1e6-4bb3-b1c4-f62fdaff1c23" TYPE="ext4" PARTUUID="101cd0d1-01" /dev/sdb1: LABEL="platte2" UUID="e5821f11-0c39-4d21-b460-cca1c72468ba" TYPE="ext4" PARTUUID="d1f2556d-01"
Um sie dauerhaft ins System einzubinden wird zuerst jeweils ein Ordner erstellt.sudo mkdir /mnt/platte1 sudo mkdir /mnt/platte2
sudo chmod 0777 /mnt/platte1 sudo chmod 0777 /mnt/platte2
sudo nano /etc/fstab
PARTUUID=101cd0d1-01 /mnt/platte1 auto nosuid,nodev,nofail,x-gvfs-show 0 0 PARTUUID=d1f2556d-01 /mnt/platte2 auto nosuid,nodev,nofail,x-gvfs-show 0 0
Muss eine Festplatte neu partitioniert und/oder formatiert werden, so geht das natürlich auch:
Im Beisiel wird auf der Festplatte sda eine neue Partition sda1 erstellt und diese dann formatiert.
Aushängensudo umount /dev/sda
sudo parted /dev/sda mktable msdos mkpart primary ext4 0% 100% quit
sudo mkfs.ext4 /dev/sda1
-
Ein Computer, der als Server dient, sollte 24 Stunden am Tag laufen
und höchsten mal zu Wartungszwecken neu gestartet werden.
Da er nicht unbedingt in unmittelbarer Nähe es eigenen Schreibtisches stehen muss,
sollte man ihn notfalls auch aus der Ferne starten können.
Genau dazu dient die Funktion "Wake On Lan".
Zuerst muss ethtool installiert werden, was aber meist schon Bestandteil des Betriebssystems ist.sudo apt install ethtool
ip link
WOL aktivierensudo ethtool -s enp4s0 wol g
sudo nano /etc/systemd/system/wol.service
[Unit] Description=Configure Wake-up On LAN [Service] Type=oneshot ExecStart=/sbin/ethtool -s enp4s0 wol g [Install] WantedBy=basic.target
sudo systemctl enable wol.service
sudo systemctl daemon-reload
Wake On Lan muss auch im BIOS des Rechners aktiviert sein.
Wie das funktioniert ist vom Rechner abhängig und kann hier nicht erklärt werden.
Beispiel:
BIOS -> Power --> Power On By PME (Enabled)
-
Jeder Desktop-Computer lässt sich über die Energie-Einstellungen,
unter bestimmten Bedingungen, herunterfahren.
Server hingegen sollen immer erreichbar sein, doch es gibt Ausnahmen.
Wozu sollte ein Firmenserver rund um die Uhr laufen,
wenn er garantiert nur zu den normalen Bürozeiten genutzt wird ?
Hier könnte man sicherlich eine zeitgesteuerte Lösung finden.
Ein Desktop-Computer schaltet sich nach einer gewissen Zeit der Untätigkeit aus.
Zumindest lässt sich das so einstellen.
Auch ein Server kann sich abschalten, wenn er eine bestimmte Zeit lang nicht genutzt wird.
Zuerst wird ein neuer Cron-Job angelegt.
Dazu wird eine Datei erstellt.sudo nano /etc/cron.d/checkshutdown
# Auto shutdown */2 * * * * root /usr/local/sbin/checkshutdown.sh
* * * * * Befehl der ausgeführt werden soll - - - - - | | | | | | | | | +----- Wochentag (0 - 7) (Sonntag ist 0 oder Namen, siehe unten) | | | +------- Monat (1 - 12) | | +--------- Tag (1 - 31) | +----------- Stunde (0 - 23) +------------- Minute (0 - 59; oder Namen, siehe unten)
Für die Wochentage und die Monate können die drei ersten Buchstaben des englischen Namen benutzt werden,
z. B. "Sun" für Sonntag.
Groß-/Kleinschreibung spielt dabei keine Rolle, allerdings sind keine Angaben von Zeiträumen erlaubt,
dazu müssen Ziffern verwendet werden.
In meinem Beispiel wird eine Datei alle 2 Minuten aufgerufen.
Diese Datei wird nun angelegt.sudo nano /usr/local/sbin/checkshutdown.sh
Ihr Inhalt:
#!/bin/bash # #set -x . /etc/autoshutdown.conf logit() { logger -p local0.notice -s -- AutoShutdown: $* } IsOnline() { for i in $*; do ping $i -c1 if [ "$?" == "0" ]; then logit PC $i is still active, auto shutdown terminated return 1 fi done return 0 } IsRunning() { for i in $*; do if [ $(pgrep -c $i) -gt 0 ] ; then logit $i still active, auto shutdown terminated return 1 fi done return 0 } IsDamonActive() { for i in $*; do if [ $(pgrep -c $i) -gt 1 ] ; then logit $i still active, auto shutdown terminated return 1 fi done return 0 } IsPortInUse() { for i in $*; do LANG=C netstat -an | grep -q "${myIp}:${i}.*ESTABLISHED$" Err=${?} if [ ${Err} -eq 0 ] ; then logit "Port ${i} is still in use, auto shutdown terminated" return 1 fi done return 0 } IsBusy() { # Samba if [ "x$SAMBANETWORK" != "x" ]; then if [ $(/usr/bin/smbstatus -b | grep $SAMBANETWORK | wc -l) != "0" ]; then logit samba connected, auto shutdown terminated return 1 fi fi #damons that always have one process running IsDamonActive $DAMONS if [ "$?" == "1" ]; then return 1 fi #backuppc, wget, wsus, .... IsRunning $APPLICATIONS if [ "$?" == "1" ]; then return 1 fi # check network-ports if [ "x${NETWORKPORTS}" != "x" ]; then myIp=$(LANG=C /sbin/ifconfig | sed -n "/inet addr/ { s|^[a-z ]*:\([0-9\.]*\).*$|\1|p }" | head -n 1) IsPortInUse ${NETWORKPORTS} if [ "$?" == "1" ]; then return 1 fi fi # Read logged users USERCOUNT=$(who | wc -l); # No Shutdown if there are any users logged in test $USERCOUNT -gt 0 && { logit some users still connected, auto shutdown terminated; return 1; } IsOnline $CLIENTS if [ "$?" == "1" ]; then return 1 fi return 0 } COUNTFILE="/var/spool/shutdown_counter" OFFFILE="/var/spool/shutdown_off" # turns off the auto shutdown if [ -e $OFFFILE ]; then logit auto shutdown is turned off by existents of $OFFFILE exit 0 fi if [ "$AUTO_SHUTDOWN" = "true" ] || [ "$AUTO_SHUTDOWN" = "yes" ] ; then IsBusy if [ "$?" == "0" ]; then # was it not busy already last time? Then shutdown. if [ -e $COUNTFILE ]; then # shutdown rm -f $COUNTFILE logit auto shutdown caused by cron /sbin/halt -p exit 0 else # shut down next time touch $COUNTFILE logit marked for shutdown in next try exit 0 fi else rm -f $COUNTFILE #logit aborted exit 0 fi fi logit malfunction exit 1
Diese Datei muss ausführbar gemacht werden.
sudo chmod a+x /usr/local/sbin/checkshutdown.sh
Schließlich fehlt noch eine Konfigurations-Datei.
sudo nano /etc/autoshutdown.conf
Ihr Inhalt
# Funktion einschalten AUTO_SHUTDOWN=yes # Damons, bei denen immer ein Prozess ausgeführt wird, # nur wenn mehr als ein Prozess aktiv ist, verhindern wir das Herunterfahren. # Die Werte werden mit grep verwendet, sodass nur ein eindeutiger Teil ausreicht DAMONS="rsync BackupPC_" # Wichtige Anwendungen, die das Herunterfahren verhindern sollen. # Die Werte werden mit grep verwendet, sodass nur ein eindeutiger Teil ausreicht APPLICATIONS="BackupPC_nightly BackupPC_dump wsus wget screen mlnet" # Netzwerk-IP-Bereich zum Überprüfen offener Samba-Verbindungen # Der Wert wird mit grep verwendet, sodass nur ein eindeutiger Teil ausreicht SAMBANETWORK="192.168.1." # Namen oder IP für Computer, die das Herunterfahren verhindern sollen # Wir pingen diese Computer in der Liste an, um zu überprüfen, ob sie aktiv sind. CLIENTS="sonne mond stern 192.168.1.10 192.168.1.11 192.168.1.12" # Liste der Ports # Wir überprüfen alle, falls vorhanden NETWORKPORTS="22"
Die eingetragenen Einstellungen sind Beispiele und sollten an die eigenen Bedürfnisse angepasst werden.
Das vom Cron Job aufgerufene Script prüft, ob- bestimmte Programme laufen
- bestimmte Dämonen aktiv sind
- noch Samba Verbindungen aktiv sind
- User eingeloggt sind
- andere PCs noch eingeschaltet sind
Nur wenn zwei mal hintereinander keine Aktivität mehr vorhanden ist,
wird per "Halt"-Befehl der Server abgeschaltet.
-
Um in Linux administrative Aufgaben auszuführen, benötigt man einen root-Zugang (auch superuser-Zugang genannt).
In den meisten Linux-Distributionen ist es üblich einen separaten root-Account zu haben.
Dieser wird normal bei der Installation eingerichtet.
Ubuntu deaktiviert den root-Account standardmäßig.
Damit sollen Fehler einfacher Benutzer verhindert werden.
Zusätzlich wird es so möglichen Eindringlingen schwerer gemacht.
Will man einen Befehl ausführen, der root-Zugang erfordert, so verwendet man sudo.
Beispiel:nano /etc/fstab
sudo nano /etc/fstab
Das sudo (Super User do) gehört an den jeweiligen Zeilenanfang
Bevor der Befehl ausgeführt wird, muss das Passwort eingegeben werden.
Damit man nicht ständig das Passwort eingeben muss,
merkt Linux es sich bei jeder sudo-Eingabe neu für 15 Minuten.
Weiß man was man macht und möchte längerfristig root-Rechte haben, so kann man in den root-Account wechseln.sudo -i
Legt man für den root-Account ein Passwort an, so kann man sich auch direkt als root anmelden.sudo passwd root
su -
Bitte das Minuszeichen am Ende nicht vergessen.
Ein Anmeldung per ssh als root ist damit allerdings noch nicht möglich.
Damit das funktioniert muss die Datei sshd_config editiert werden.sudo nano /etc/ssh/sshd_config
#PermitRootLogin prohibit-password
PermitRootLogin yes
Die Aktivierung des root-Account stellt immer ein Risiko dar.
Es wird dringend empfohlen, es nicht zu tun.
-
Eine Firewall schirmt einen Computer nach Außen hin ab.
Nur erlaubte Programme haben Zugriff.
Das gilt von Innen nach Außen, als auch umgekehrt.
Erlaubt man in einer aktiven Firewall den SSH-Zugriff nicht, so wäre dieser Computer nicht mehr erreichbar.
Eine UFW (uncomplicated Firewall) ist Bestandteil des Ubuntu-Betriebssystems, allerdings ist sie deaktiviert.
Schritt 1 - Verwenden von IPv6 mit UFW
Wer einen Webserver betreiben möchte, der sollte in der UFW unbedingt IPv6 aktivieren.
Man öffnet die Einstellungsdateisudo nano /etc/default/ufw
Schritt 2 - Einstellen der Standardregeln
Man kann die UFW-Regeln auf eine Art Standard zurücksetzen.
Die Befehlesudo ufw default deny incoming sudo ufw default allow outgoing
Schritt 3 - SSH-Verbindungen erlauben
Das Zurücksetzen der Einstellungen unter Schritt 2 sollte man nur machen,
wenn man direkt am Gerät arbeitet, oder man genau weiß, dass die UFW deaktiviert ist.
Man verbietet ja alle eingehenden Verbindungen und SSH wäre somit nicht mehr möglich.
Den Status überprüfen kann man mitsudo ufw status
Der Befehlsudo ufw app list
Schließlich werden mitsudo ufw allow ssh
Eine SSH-Verbindung erfolgt im Normalfall über den Port 22.sudo ufw allow 22
Hat man den SSH-Dämon so konfiguriert, dass er einen anderen Port verwendet,
müsste man diesen entsprechend freischalten.
Schritt 4 - Konfiguration
Bevor man in Schritt 5 die UFW aktiviert, sollten alle Einstellungen gemacht sein.
Mitsudo ufw app list
Das kann SAMBA, Apache, Nginx oder weitere Software sein.
Nun erlaubt man alles, was man erlauben möchte.sudo ufw allow samba
Apache öffnet Port 80 für den normalen, nicht verschlüsselten Webverkehr Apache Secure öffnet Port 443 für den mit TLS/SSL verschlüsselten Webverkehr Apache Full öffnet Port 80 und Port 443
Für manche Webapplikationen werden bestimmte offene Port benötigt.
Auch diese müssen natürlich in der UFW geöffnet werden.
Schritt 5 - UFW aktivieren
Um UFW zu aktivieren, verwendet man den Befehlsudo ufw enable
Da eine entsprechende Regel bereits erstellt wurde, kann man UFW unbesorgt aktivieren.
Natürlich lässt sich die UFW auch wieder deaktivieren.sudo ufw disable
Schritt 6 - Weitere Einstellungsmöglichkeiten
Spezifische Portbereichesudo ufw allow 6000:6007/tcp sudo ufw allow 6000:6007/udp
sudo ufw allow from 192.168,178,111
Spezifische Netzwerkschnittstelle
Mitip addr
Bei einem normalen Computer dürfte das nur eine sein.
Bei Laptops sind es in der Regel zwei. (WLAN und LAN)
Bei Servern können mehrere Netzwerkkarten verbaut sein.
Damit lassen sich zum Beispiel Datenverkehr und Administration des Servers trennen.sudo ufw allow ssh on eth0 sudo ufw deny ssh on eth1
Schritt 7 - Ablehnen von Verbindungen
Unter Schritt 2 wurden bereits alle eingehenden Verbindungen untersagt.
Das hat den Vorteil, dass man nur Regeln erstellen muss, die bestimmte Verbindungen explizit zulassen.
Trotzdem kann es sein, dass man auch bestimmte Verbinungen untersagen möchte.
Wird man, als Beispiel, von einer bestimmten IP-Adresse ständig angegriffen, so könnte man sie sperren.sudo ufw deny from IP-Adresse
Zu wissen, wie man Regeln erstellt, ist wichtig.
Genauso wichtig ist aber auch zu wissen, wie man sie wieder löscht.
Bei UFW gibt es zwei Möglichkeiten Regeln zu löschen.
A) nach tatächlicher Regel
Die mitsudo ufw allow samba
sudo ufw delete allow samba
B) nach Regelnummer
Mit dem Befehlsudo ufw status numbered
Das funktioniert allerdings nur wenn UFW auch tatsächlich aktiv ist.Status: active To Action From -- -------- ------ [ 1] 22/tcp ALLOW IN Anywhere [ 2] Samba ALLOW IN Anywhere [ 3] 22/tcp (v6) ALLOW IN Anywhere (v6) [ 4] Samba (v6) ALLOW IN Anywhere (v6) sudo ufw delete Nummer
ACHTUNG !!!
UFW ist nur eine Firewall auf dem verwendeten Computer.
Die erstellten Regeln gelten nur auf diesem Gerät.
Hat ein verwendeter Router seine eigene Firewall, so sollten die Einstellungen abgeglichen werden.
Das geschieht nicht automatisch.