====== Debian ======
Wir verwenden die aktuelle stabile Version von Debian GNU/Linux (10.x - Buster)
als Betriebssystem für die Gateways und Server.
===== Installation Minimalsystem =====
TODO BAUSTELLE!
Diese Anleitung bezieht sich auf die Installation eines bei einem Hoster angemieteten
dedizierten Servers.
Es werden nur die wirklich notwendigen Pakete installiert. Falls etwas fehlen sollte,
ist es sehr einfach, die Installation über die Paketverwaltung nachzuholen.
Falls es sich um ein Update von Wheezy auf Jessie handelt,
sollte man die folgende Datei anlegen:
Package: systemd-sysv
Pin: release o=Debian
Pin-Priority: -1
===== Vorbereitung =====
Die Rahmendaten sind an geeigneter Stelle, z.B. hier in der Gateway/Serverübersicht zu dokumentieren!
* Rechnername festlegen
* IP-Adressen für IPv4 und IPv6 festlegen
* Rechnernamen im DNS eintragen
* Dokumentation der bereitgestellten Funktion(en) und Dienste
===== Installationsdurchführung =====
* Hostnamen einstellen
* ''/etc/hosts'' anpassen
* Namen setzen
echo "" > /etc/hostname
/etc/init.d/hostname.sh
* Kontrolle: ''hostname %%--fqdn%%''
* Installationsquellen in ''/etc/apt/sources.list'' und ggf. Einträge im Verzeichnis ''/etc/apt/sources.list.d/'' überprüfen und korrigieren.
* Automatikauswahl für Paketabhängigkeiten einstellen
APT::Install-Recommends "0";
APT::Install-Suggests "0";
* System auf den aktuellen Stand bringen
apt-get update
apt-get upgrade
* Umstellen auf SysV-Init
apt-get install sysvinit-core
* neu starten: ''shutdown -r now''
* systemd entfernen: ''apt-get purge systemd''
* Aufräumarbeiten
deluser systemd-timesync
deluser systemd-network
deluser systemd-resolve
deluser systemd-bus-proxy
delgroup systemd-journal
* Installieren von einigen wichtigen Paketen
apt-get install aptitude at joe bzip2 perl python psmisc less ntpdate dnsutils \
vim htop sysv-rc-conf iptables-persistent sudo git postfix bsd-mailx \
screen pfqueue whois man-db manpages manpages-de net-tools
* Überflüssiges entfernen
aptitude purge tasksel tasksel-data vim-tiny laptop-detect os-prober \
tcpd nfs-common rpcbind
* Überprüfe, on die Namensauflösung in /etc/resolv.conf korrekt eingestellt ist. Falls ein lokaler Nameserver installiert ist wie bind oder unbound, sollte dieser als erstes verwendet werden.
* Anpassen der Datei ''/etc/hosts''. Der folgende Eintrag sollte entfernt werden, da er nur notwendig ist, wenn keine DNS Namensauflösung vorhanden ist. Wenn er nicht gelöscht wird, funktioniert z.B. der Bacula-Filedaemon nicht.
127.0.1.1 .rowa.int
* Benutzer / Administratoren einrichten
* In ''/etc/adduser.conf'' sollte eingestellt werden: ''DIR_MODE=0750''
* SSH-Zugang nur mit Schlüssel
# Debian-Konfigurationsdatei in Original unter
# /usr/share/openssh/sshd_config
Port 22
AddressFamily any
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
PubkeyAuthentication yes
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no
X11Forwarding no
PrintMotd yes
PrintLastLog yes
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
* TODO ''fail2ban''
* Erst einmal in der Standardkonfiguration belassen
* auf gate05 war eine spezielle Konfiguration für bind9, da dort extrem viele fehlerhafte Anfragen aufschlugen
* Konfiguration in ''/etc/fail2ban/jail.conf''
* Für die gängisten Daemons sind Konfigurationen vorbereitet
* Es kann die zu blockende Zeit (''bantime'') eingestellt werden
* Postfix
# /etc/pfqueue.conf
#
backend_name=postfix2
* Paketliste die ins Backup läuft zur Systemwiederherstellung, täglich erstellen
dpkg --get-selections | cut -f 1 > /root/`hostname -s`-selections.txt
===== Optionale Komponenten =====
Werkzeuge zur Wartung und zum Monitoring
aptitude install zabbix-agent
aptitude install nethogs iftop