ubuntu:20-04_server_install
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| ubuntu:20-04_server_install [2020/10/11 13:12] – [Timezone] Zeitzone umstellen Sebastian Hetzel | ubuntu:20-04_server_install [2021/10/03 15:21] (aktuell) – [IPv6 abschalten] IPv6 statisch (alternativ) Sebastian Hetzel | ||
|---|---|---|---|
| Zeile 8: | Zeile 8: | ||
| * die Locale auf de_de | * die Locale auf de_de | ||
| * das Keyboard-Layout auf " | * das Keyboard-Layout auf " | ||
| + | * Hostname | ||
| + | ===== Handwerkszeug installieren ===== | ||
| + | |||
| + | **aptitude** | ||
| + | < | ||
| + | # apt-get install aptitude | ||
| + | </ | ||
| + | |||
| + | **VIMnox** | ||
| + | < | ||
| + | # aptitude install vim-nox | ||
| + | </ | ||
| + | |||
| + | **Midnight Commander** | ||
| + | < | ||
| + | # aptitude install mc | ||
| + | </ | ||
| + | |||
| + | **Net-Tools (ifconfig, etc.)** | ||
| + | < | ||
| ===== Timezone ===== | ===== Timezone ===== | ||
| Zeile 38: | Zeile 58: | ||
| NTP service: active | NTP service: active | ||
| RTC in local TZ: no | RTC in local TZ: no | ||
| + | </ | ||
| + | |||
| + | ===== NTP Client ===== | ||
| + | |||
| + | <file | / | ||
| + | # This file is part of systemd. | ||
| + | # | ||
| + | # systemd is free software; you can redistribute it and/or modify it | ||
| + | # under the terms of the GNU Lesser General Public License as published by | ||
| + | # the Free Software Foundation; either version 2.1 of the License, or | ||
| + | # (at your option) any later version. | ||
| + | # | ||
| + | # Entries in this file show the compile time defaults. | ||
| + | # You can change settings by editing this file. | ||
| + | # Defaults can be restored by simply deleting this file. | ||
| + | # | ||
| + | # See timesyncd.conf(5) for details. | ||
| + | |||
| + | [Time] | ||
| + | NTP=ptbtime1.ptb.de | ||
| + | FallbackNTP=ptbtime3.ptb.de ptbtime2.ptb.de | ||
| + | </ | ||
| + | |||
| + | Momentane Systemzeit ansehen: | ||
| + | |||
| + | < | ||
| + | timedatectl | ||
| + | </ | ||
| + | < | ||
| + | Local time: So 2018-11-25 11:26:59 CET | ||
| + | Universal time: So 2018-11-25 10:26:59 UTC | ||
| + | RTC time: So 2018-11-25 10:27:00 | ||
| + | Time zone: Europe/ | ||
| + | | ||
| + | systemd-timesyncd.service active: yes | ||
| + | RTC in local TZ: no | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | systemctl restart | ||
| + | systemctl status | ||
| + | ● systemd-timesyncd.service - Network Time Synchronization | ||
| + | | ||
| + | | ||
| + | Docs: man: | ||
| + | Main PID: 16475 (systemd-timesyn) | ||
| + | | ||
| + | Tasks: 2 (limit: 2319) | ||
| + | | ||
| + | | ||
| + | |||
| + | Nov 25 11:29:00 backup systemd[1]: Starting Network Time Synchronization... | ||
| + | Nov 25 11:29:00 backup systemd[1]: Started Network Time Synchronization. | ||
| + | Nov 25 11:29:01 backup systemd-timesyncd[16475]: | ||
| </ | </ | ||
| ===== Reaktivierung von ifupdown ===== | ===== Reaktivierung von ifupdown ===== | ||
| Zeile 84: | Zeile 158: | ||
| < | < | ||
| + | ===== IPv6 abschalten ===== | ||
| + | |||
| + | <file | / | ||
| + | [...] | ||
| + | #disable ipv6 | ||
| + | net.ipv6.conf.all.disable_ipv6 = 1 | ||
| + | net.ipv6.conf.default.disable_ipv6 = 1 | ||
| + | net.ipv6.conf.lo.disable_ipv6 = 1 | ||
| + | </ | ||
| + | |||
| + | ===== IPv6 statisch (alternativ) ===== | ||
| + | |||
| + | <file | / | ||
| + | net.ipv6.conf.default.accept_ra=0 | ||
| + | net.ipv6.conf.default.autoconf=0 | ||
| + | net.ipv6.conf.all.accept_ra=0 | ||
| + | net.ipv6.conf.all.autoconf=0 | ||
| + | </ | ||
| + | |||
| + | <file | / | ||
| + | iface ens3 inet6 static | ||
| + | address 2001: | ||
| + | netmask 64 | ||
| + | gateway 2001: | ||
| + | dns-nameservers 2620:fe::fe 2606: | ||
| + | </ | ||
| + | ===== Firewall ===== | ||
| + | |||
| + | ==== Installation ==== | ||
| + | |||
| + | Die Pakete "'' | ||
| + | |||
| + | < | ||
| + | apt-get update | ||
| + | aptitude install iptables-persistent netfilter-persistent | ||
| + | </ | ||
| + | |||
| + | Ubuntu kommt von Hause aus mit dem Paket '' | ||
| + | |||
| + | < | ||
| + | aptitude purge ufw | ||
| + | </ | ||
| + | |||
| + | ==== 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: | ||
| + | |||
| + | < | ||
| + | netfilter-persistent save | ||
| + | </ | ||
| + | |||
| + | Netfilter erstellt nun unter ''/ | ||
| + | |||
| + | < | ||
| + | ll / | ||
| + | insgesamt 24 | ||
| + | drwxr-xr-x | ||
| + | drwxr-xr-x 99 root root 4096 Feb 7 23:18 ../ | ||
| + | -rwxr-xr-x | ||
| + | -rw-r--r-- | ||
| + | -rw-r----- | ||
| + | -rw-r----- | ||
| + | </ | ||
| + | |||
| + | 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: | ||
| + | |||
| + | < | ||
| + | |||
| + | Damit dieser Weg funktioniert, | ||
| + | |||
| + | <file | / | ||
| + | : | ||
| + | & ~ | ||
| + | </ | ||
| + | |||
| + | Beim ersten Mal muss die Datei erstellt werden und mit Rechten für den rsyslogd versehen werden. | ||
| + | |||
| + | < | ||
| + | touch / | ||
| + | chown syslog.adm / | ||
| + | </ | ||
| + | |||
| + | Die Änderungen werden erst nach einem Dienstneustart übernommen. | ||
| + | |||
| + | < | ||
| + | |||
| + | Das Logfile wird schnell groß und sollter daher rotiert werden: | ||
| + | |||
| + | <file | / | ||
| + | / | ||
| + | { | ||
| + | rotate 7 | ||
| + | daily | ||
| + | missingok | ||
| + | notifempty | ||
| + | delaycompress | ||
| + | compress | ||
| + | create 640 syslog adm | ||
| + | sharedscripts | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ===== Fail2Ban ===== | ||
| + | |||
| + | Fail2Ban sollte meiner Meinung nach auf jeder Maschine laufen, die über SSH im Internet administriert wird. Natürlich ist die Absicherung weiterer Dienste wie SMTP, FTP, usw. ebenso sinnvoll. | ||
| + | |||
| + | ==== Installation und erste Konfiguration ==== | ||
| + | |||
| + | < | ||
| + | # aptitude install fail2ban | ||
| + | </ | ||
| + | |||
| + | <file > | ||
| + | [...] | ||
| + | |||
| + | # " | ||
| + | # will not ban a host which matches an address in this list. Several addresses | ||
| + | # can be defined using space (and/or comma) separator. | ||
| + | #ignoreip = 127.0.0.1/8 ::1 | ||
| + | ignoreip = 127.0.0.1/8 | ||
| + | |||
| + | [...] | ||
| + | |||
| + | # External command that will take an tagged arguments to ignore, e.g. <ip>, | ||
| + | # and return true if the IP is to be ignored. False otherwise. | ||
| + | # | ||
| + | # ignorecommand = / | ||
| + | ignorecommand = | ||
| + | |||
| + | # " | ||
| + | bantime | ||
| + | |||
| + | # A host is banned if it has generated " | ||
| + | # seconds. | ||
| + | findtime | ||
| + | |||
| + | # " | ||
| + | maxretry = 6 | ||
| + | |||
| + | [...] | ||
| + | |||
| + | # | ||
| + | # JAILS | ||
| + | # | ||
| + | |||
| + | # | ||
| + | # SSH servers | ||
| + | # | ||
| + | |||
| + | [sshd] | ||
| + | enabled = true | ||
| + | # To use more aggressive sshd modes set filter parameter " | ||
| + | # normal (default), ddos, extra or aggressive (combines all). | ||
| + | # See " | ||
| + | #mode = normal | ||
| + | port = 4444 | ||
| + | logpath = %(sshd_log)s | ||
| + | backend = %(sshd_backend)s | ||
| + | |||
| + | [...] | ||
| + | </ | ||
| + | ==== IP entsperren ==== | ||
| + | |||
| + | < | ||
| + | # fail2ban-client set < | ||
| + | </ | ||
| ===== " | ===== " | ||
| Der MTA Postfix soll nur dazu dienen Mails zu versenden. So können Informationen, | Der MTA Postfix soll nur dazu dienen Mails zu versenden. So können Informationen, | ||
ubuntu/20-04_server_install.1602414722.txt.gz · Zuletzt geändert: von Sebastian Hetzel
