====== 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