Benutzer-Werkzeuge

Webseiten-Werkzeuge


ubuntu:22-04_server_install

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ubuntu:22-04_server_install [2022/11/05 12:41] – [Timezone] NTP Sebastian Hetzelubuntu:22-04_server_install [2022/11/06 12:01] (aktuell) – [Konfiguration] Scheduled Task Sebastian Hetzel
Zeile 118: Zeile 118:
 Nov 25 11:29:01 backup systemd-timesyncd[16475]: Synchronized to time server 192.53.103.108:123 (ptbtime1.ptb.de). Nov 25 11:29:01 backup systemd-timesyncd[16475]: Synchronized to time server 192.53.103.108:123 (ptbtime1.ptb.de).
 </code> </code>
 +
 +===== Reaktivierung von ifupdown =====
 +
 +Um netplan.io zu deaktivieren, muss lediglich das Paket ifupdown installiert werden. **Die Deinstallation von netplan.io ist nicht empfehlenswert**, insbesondere dann nicht, wenn die Deaktivierung via SSH vorgenommen wird. Nach der Deinstallation ist ein Zugriff via IP nicht mehr möglich. Es muss auf die Konsole ausgewichen werden!
 +
 +<code>
 +aptitude install ifupdown
 +</code>
 +
 +Im Bootloader muss ebenfalls das Laden von netplan unterdrückt werden:
 +
 +<file | /etc/default/grub>
 +[...]
 +GRUB_CMDLINE_LINUX="netcfg/do_not_use_netplan=true"
 +</file>
 +
 +<code>
 +update-grub
 +</code>
 +
 +Um das klassische Verhalten von ifupdown wiederherzustellen, muss ebenfalls systemd-networkd ausgeschaltet werden. Dies geschieht folgendermaßen:
 +
 +<code>
 +systemctl disable systemd-networkd.service
 +systemctl mask systemd-networkd.service
 +systemctl stop systemd-networkd.service
 +</code>
 +
 +Die Netzwerkkonfiguration sollte nun komplett aus der interfaces-Datei übernommen werden. Eine Ausnahme stellen die DNS-Server dar. Damit diese ebenfalls aus interfaces übernommen werden, muss systemd-resolved ausgeschaltet und resolvconf aktiviert werden!
 +
 +<code>aptitude install resolvconf</code>
 +
 +<code>
 +systemctl disable systemd-resolved.service
 +systemctl stop systemd-resolved.service
 +systemctl mask systemd-resolved.service
 +</code>
 +
 +<code>
 +systemctl disable systemd-networkd-wait-online.service
 +systemctl stop systemd-networkd-wait-online.service
 +systemctl mask systemd-networkd-wait-online.service
 +</code>
 +
 +**Jetzt die ''/etc/network/interfaces'' final editieren, sonst kein Zugriff mehr!**
 +
 +===== Netzwerkkonfiguration =====
 +
 +**Beispiel:**
 +
 +<file |/etc/network/interfaces>
 +# The loopback network interface
 +auto lo
 +iface lo inet loopback
 +
 +# The primary network interface
 +
 +auto eth0
 +iface eth0 inet6 static
 +        address 1b2c:3d4e:0:0:0:0:0:123
 +        netmask 64
 +        dns-nameservers 2620:fe::fe 2606:4700:4700::1111
 +        pre-up echo 0 > /proc/sys/net/ipv6/conf/eth0/autoconf
 +        pre-up echo 0 > /proc/sys/net/ipv6/conf/eth0/accept_ra
 +        post-up /sbin/ip -6 route add default via 1b2c:3d4e:0:0:0:0:0:1
 +
 +iface eth0 inet static
 +        address 174.255.120.12
 +        netmask 255.255.255.0
 +        network 174.255.120.0
 +        broadcast 174.255.120.255
 +        gateway 174.255.120.1
 +        dns-nameservers 9.9.9.9 1.1.1.1
 +
 +auto eth0:smtp
 +iface eth0:smtp inet6 static
 +        address 1b2c:3d4e:0:0:0:0:0:124
 +        netmask 64
 +
 +iface eth0:smtp inet static
 +        address 174.255.120.110
 +        netmask 255.255.255.0
 +        broadcast 174.255.120.255
 +
 +</file>
 +
 +<code>reboot</code>
 +
 +===== Firewall =====
 +
 +==== Installation ====
 +
 +Die Pakete "''iptables-persistent''" und "''netfilter-persistent''" stehen in direkter Abhängigkeit und müssen daher beide installiert werden.
 +
 +<code>
 +apt-get update
 +aptitude install iptables-persistent netfilter-persistent
 +</code>
 +
 +Ubuntu kommt von Hause aus mit dem Paket ''ufw'', ebenfalls eine auf iptables-basierende Firewall. Den Job übernimmt nun netfilter-persistent, daher deinstalliere ich es:
 +
 +<code>
 +aptitude purge ufw
 +</code>
 +
 +==== Konfiguration / Regelwerk ====
 +
 +Um ein Regelwerk zu kreieren, empfehle ich, ein Bash-Skript mit iptables-Befehlen zu schreiben. Sobald dieses ausgeführt worden ist, muss das Regelwerk abgespeichert werden. Dies geschieht mit folgendem Befehl:
 +
 +<code>
 +netfilter-persistent save
 +</code>
 +
 +Netfilter erstellt nun unter ''/etc/iptables'' zwei Dateien, ''rules.v4'' und ''rules.v6''. Die Dateien add-blocked.ips sowie blocked.ips stammen von einem eigenen Erweiterungskript, mit dem sich IP-Adressen einfach einer Sperrliste hinzufügen lassen. Darauf werde ich hier nicht weiter eingehen.
 +
 +<code>
 +ll /etc/iptables/
 +insgesamt 24
 +drwxr-xr-x  2 root root 4096 Feb  7 23:47 ./
 +drwxr-xr-x 99 root root 4096 Feb  7 23:18 ../
 +-rwxr-xr-x  1 root root  742 Feb  7 23:43 add-blocked.ips*
 +-rw-r--r--  1 root root    0 Feb  7 23:18 blocked.ips
 +-rw-r-----  1 root root 4189 Feb  7 23:46 rules.v4
 +-rw-r-----  1 root root  183 Feb  7 23:46 rules.v6
 +</code>
 +
 +Die Firewall sollte nun bereits einsatzfähig sein.
 +
 +==== Logfile ====
 +
 +Dummerweise schreibt iptables das syslog voll, welches somit unübersichtlich wird. Mit Hilfe des rsyslogd leite ich die Ausgaben in eine eigene Datei um:
 +
 +<code>vi /etc/rsyslog.d/25-iptables.conf</code>
 +
 +Damit dieser Weg funktioniert, habe ich mittels des Parameters --log-prefix  von iptables der Ausgabe das Präfix "IPT:" hinzugefügt. Das könnnen wir uns als Filter zur Nutze machen.
 +
 +<file | /etc/rsyslog.d/25-iptables.conf>
 +:msg,contains,"IPT:" -/var/log/iptables.log
 +& ~
 +</file>
 +
 +Beim ersten Mal muss die Datei erstellt werden und mit Rechten für den rsyslogd versehen werden.
 +
 +<code>
 +touch /var/log/iptables.log
 +chown syslog.adm /var/log/iptables.log
 +</code>
 +
 +Die Änderungen werden erst nach einem Dienstneustart übernommen.
 +
 +<code>service rsyslog restart</code>
 +
 +Das Logfile wird schnell groß und sollter daher rotiert werden:
 +
 +<file | /etc/logrotate.d/iptables>
 +/var/log/iptables.log
 +{
 +        rotate 7
 +        daily
 +        missingok
 +        notifempty
 +        delaycompress
 +        compress
 +        create 640 syslog adm
 +        sharedscripts
 +}
 +</file>
 +
 +===== "Mini" Postfix =====
 +Der MTA Postfix soll nur dazu dienen Mails zu versenden. So können Informationen, zum Beispiel an den Admin, vom System versendet werden oder Webseiten können mit Ihren Benutzern kommunizieren, wenn beispielsweise ein Passwort zurückgesetzt werden soll.
 +
 +Zunächst sind die benötigten Pakete zu installieren.
 +
 +<code>
 +aptitude install postfix
 +Die folgenden NEUEN Pakete werden zusätzlich installiert:
 +  postfix ssl-cert{a}
 +0 Pakete aktualisiert, 2 zusätzlich installiert, 0 werden entfernt und 8 nicht aktualisiert.
 +1.164 kB an Archiven müssen heruntergeladen werden. Nach dem Entpacken werden 4.141 kB zusätzlich belegt sein.
 +Möchten Sie fortsetzen? [Y/n/?]
 +</code>
 +
 +{{:ubuntu:postfix-install-config.png|}}
 +
 +Hier die Default-Maildomäne eintragen:
 +
 +{{:ubuntu:postfix-install-config-2.png|}}
 +
 +Folgende Konfigurationsparameter anpassen:
 +
 +<file | /etc/postfix/main.cf >
 +smtp_generic_maps = hash:/etc/postfix/generic
 +mydestination = $myhostname, myhostname.mydomain.de, localhost
 +inet_interfaces = loopback-only
 +inet_protocols = ipv4
 +relayhost =  [smtp.myprovider.de]
 +</file>
 +
 +<file | /etc/postfix/generic>
 +root@myhostname.mydomain.de             something@mydomain.de
 +@myhostname.mydomain.de                 @mydomain.de
 +</file>
 +
 +<file | /etc/aliases>
 +# See man 5 aliases for format
 +postmaster:    root
 +root:   something@mydomain.de
 +</file>
 +
 +Die Konfigurationen anwenden:
 +
 +<code>
 +postmap hash:/etc/postfix/generic
 +newaliases
 +service postfix restart
 +</code>
 +
 +===== Apticron =====
 +
 +==== Installation ====
 +
 +<code>
 +apt-get update
 +aptitude install apticron
 +vi /etc/apticron/apticron.conf
 +</code>
 +
 +==== Konfiguration ====
 +
 +Gegebenenfalls sollte hier die Empfängeradresse angepasst werden:
 +
 +<file | /etc/apticron/apticron.conf>
 +# apticron.conf
 +#
 +# The values set in /etc/apticron/apticron.conf will override the settings
 +# in this file.
 +
 +#
 +# Set EMAIL to a space separated list of addresses which will be notified of
 +# impending updates. By default the root account will be notified.
 +#
 +EMAIL="root"
 +[...]
 +</file>
 +
 +==== Scheduled Task ====
 +
 +Wann Apticron ausgeführt wird, kann über Cron angepasst werden:
 +<code>vi /etc/cron.d/apticron</code>
ubuntu/22-04_server_install.1667648515.txt.gz · Zuletzt geändert: von Sebastian Hetzel

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki