Eine Einführung 1.1 Was bedeutet es Administrator zu sein? 1.2 Warum FreeBSD? 1.3 Das Ziel dieses Buchs 1.4 Neuerungen in FreeBSD 9 1.5 Der neue Installer 1.6 High Availability Storage 1.7 Ressourcenbeschränkungen 1.8 Kernel-Dumps auf andere Systeme 1.9 Das Sandbox-Framework Capiscum
FreeBSD installieren
Erste Schritte im neuen System 3.1 Arbeiten mit dem Server 3.2 Das richtige Passwort 3.3 Die Verzeichnisstruktur von FreeBSD 3.4 Die Editoren vi und ee 3.4.1 vi 3.4.2 ee 3.5 sudo - weil es nicht immer root sein muss 3.6 Die Shell anpassen 3.7 SSH absichern 3.7.1 Gefühlte Sicherheit erhöhen 3.7.2 Tatsächliche Sicherheit erhöhen 3.8 Zeitsynchronisation per NTP 3.9 E-Mails für root an ein Postfach weiterleiten
Erste Gedanken zur Sicherheit 4.1 Die Benutzerverwaltung 4.2 Das Berechtigungsmodell 4.3 Der Systemaufbau in diesem Buch
Das System aktuell halten 5.1 System-Updates installieren 5.2 Release-Wechsel durchführen
Software installieren 6.1 Der Portstree 6.1.1 Den Portstree installieren 6.1.2 Den Portstree aktualisieren 6.1.3 Den Portstree durchsuchen 6.1.4 Ports installieren 6.1.5 Der Compiler-Cache ccache 6.1.6 Installierte Software verändern 6.1.7 Ports aktualisieren 6.1.8 Ports deinstallieren 6.1.9 Unsichere Ports erkennen 6.2 pkg als Alternative zum Portstree 6.2.1 Ein Paket installieren 6.2.2 Ein Paket aktualisieren 6.2.3 Ein Paket deinstallieren 6.3 Überflüssige Ports aufspüren
Die Firewall konfigurieren 7.1 Brauche ich eine Firewall auf dem Server? 7.2 Firewall mit pf 7.2.1 Der Firewall-Airbag 7.2.2 Grundlegende Optimierungen 7.2.3 Firewallregeln 7.2.4 Eine Beispielkonfiguration 7.2.5 pf aktivieren 7.2.6 pf steuern 7.3 Spezielle pf-Konfigurationen 7.3.1 Dienste mit sshguard schützen 7.3.2 Brute-Force-Schutz mit expire-Table 7.4 Firewall-Monitoring mit pftop 7.5 Packet Queueing und Priorisierung 7.5.1 Priority Based Queueing 7.5.2 Class Based Queueing 7.5.3 Scheduler Optionen 7.5.4 Queues zuweisen
Arbeiten mit Jails 8.1 Was sind Jails? 8.2 Das System für Jails vorbereiten 8.2.1 IP-Aliase anlegen 8.2.2 Firewallregeln anpassen 8.2.3 FreeBSD-Quellcode auschecken 8.3 Das Jail-Framework ezJail 8.4 Jails anlegen, starten und konfigurieren 8.4.1 Jail-Vorlage anpassen 8.4.2 Jail anlegen 8.4.3 Jail starten 8.4.4 Jail betreten und verlassen 8.4.5 Jail stoppen 8.4.6 Jail löschen 8.4.7 Jail deaktivieren und aktivieren 8.5 Backup einer Jail anlegen und wiederherstellen 8.6 ccache-Konfiguration anpassen 8.7 Binary-Update für die Basejail 8.8 Ressourcenbeschränkungen für Jails 8.8.1 RCTL-Unterstützung aktivieren 8.8.2 Obergrenzen festlegen 8.8.3 Ressourcennutzung anzeigen 8.8.4 Einschränkungen entfernen
Appliances konfigurieren 9.1 Datenbankserver 9.1.1 MySQL 9.1.2 MySQL-Server-Tuning 9.1.3 MariaDB 9.1.4 Drizzle 9.1.5 Replikation von MySQL- und MariaDB-Datenbanken 9.1.5.1 Master/Slave-Replikation 9.1.5.2 Master/Master-Replikation 9.2 Webserver 9.2.1 nginx 9.2.1.1 Installation und Konfiguration 9.2.1.2 vHosts anlegen 9.2.1.3 Die location-Direktive 9.2.1.4 Ein vollständiger vHost 9.2.1.5 Berechtigungen richtig setzen 9.2.1.6 Passwortschutz für Verzeichnisse 9.2.1.7 SSL-Verschlüsselung für vHosts 9.2.1.8 nginx gegen (D)DoS-Attacken rüsten 9.2.2 PHP 5 per FastCGI 9.2.2.1 Installation 9.2.2.2 PHP-FPM als FastCGI-Manager 9.2.2.3 Benutzer und Gruppen anlegen 9.2.2.4 PHP 5 absichern 9.2.2.5 PHP 5-Prozesse konfigurieren und starten 9.2.2.6 PHP 5 im vHost konfigurieren 9.2.3 Webapplication-Firewall mit nginx 9.2.3.1 Das NAXSI-Modul installieren 9.2.3.2 Den vHost für NAXSI konfigurieren 9.2.3.3 Die Whitelist erstellen 9.2.3.4 Die Whitelist aktivieren 9.3 FTP-Server mit Pure-FTPd 9.3.1 FTP-Benutzer anlegen 9.3.2 Firewall anpassen 9.4 Mailserver mit IMAP und POP3 9.4.1 Die Mailserverkomponenten 9.4.2 Der MTA: Postfix 9.4.2.1 sendmail deaktivieren 9.4.2.2 Postfix installieren 9.4.2.3 Die MySQL-Datenbank pflegen 9.4.2.4 Postfix konfigurieren 9.4.2.5 Weitere Verzeichnisse und Zertifikate erstellen 9.4.3 Der MDA: Dovecot 9.4.4 Berechtigungen setzen 9.4.5 Firewall anpassen 9.4.6 Postfächer und E-Mail-Adressen verwalten 9.4.6.1 SQL-Befehle zur Benutzerverwaltung 9.4.6.2 PostfixAdmin installieren 9.4.7 E-Mail-Clients konfigurieren 9.4.8 Spam- und Virenabwehr 9.4.8.1 Blacklists 9.4.8.2 Spam-Filter und Virenscanner per DSPAM integrieren 9.4.8.3 Sender Policy Framework 9.4.8.4 Dovecot-Antispam 9.4.8.5 Spam-Bekämpfung auf Firewallebene 9.4.8.6 Greylisting mit SQLgrey 9.4.9 E-Mails mit Sieve sortieren 9.4.9.1 E-Mails mit Sieve sortieren 9.4.9.2 Die Syntax von Sieve 9.4.9.3 Sieve-Plugin installieren 9.4.10 Jails anpassen 9.4.11 DNS-Einstellungen vornehmen 9.5 Cache-Server 9.5.1 Memcached 9.5.2 Redis 9.6 Subversion-Server 9.6.1 Repositories anlegen 9.6.2 Repositories sichern 9.6.2 Repositories wiederherstellen 9.7 Virtual Private Network (VPN) 9.7.1 Client/Server-Verbindung 9.7.2 Server/Server-Verbindung 9.7.2.1 Die Funktionsweise von tinc 9.7.2.2 Tinc installieren 9.7.2.3 Den VPN-Server konfigurieren 9.7.2.4 Den VPN-Client konfigurieren 9.8 Samba-Server für Intranets 9.8.1 Öffentliche Freigaben 9.8.2 Geschützte Freigaben 9.8.3 Benutzer verwalten 9.8.4 Samba starten
Daten sichern 10.1 Backups erstellen 10.1.1 Backup-Profil anlegen 10.1.2 GPG-Verschlüsselung konfigurieren 10.1.3 Backup-Profil konfigurieren 10.1.4 Verzeichnisse ausschliessen 10.1.5 Befehle vor oder nach dem Backup-Prozess ausführen 10.1.6 Backup anlegen 10.1.7 Dateien wiederherstellen 10.1.8 Backup-Speicher bereinigen 10.2 Datensicherung mit Snapshots 10.2.1 Snapshot erstellen 10.2.2 Snapshots anzeigen 10.2.3 Snapshots mounten 10.2.4 Snapshots automatisieren 10.3 Datenbanken sichern mit AutoMySQLBackup
Serverüberwachung 11.1 Hardware-Monitoring 11.1.1 Festplatten überwachen 11.1.2 Die CPU überwachen 11.2 Service-Monitoring 11.2.1 Monitoring mit monit 11.2.1.1 Allgemeine Einstellungen 11.2.1.2 Überwachungsaufgaben konfigurieren 11.2.1.3 Überwachung von Services in einer Jail 11.2.1.4 Webinterface für monit 11.2.2 Der Logfile-Parser logwatch 11.2.3 Der Logging-Daemon rsyslog 11.2.3.1 syslog ersetzen 11.2.3.2 MySQL-Server konfigurieren 11.2.3.3 rsyslog konfigurieren 11.3 Kombinierte Überwachung mit munin 11.3.1 Den Master konfigurieren 11.3.2 Clients konfigurieren 11.4 Einbruchsversuche erkennen und abwehren 11.4.1 Ports überwachen mit portsentry 11.4.2 Einfache Integritätsprüfung mit freebsd-update
Für Fortgeschrittene 12.1 Software-RAID1 mit gmirror 12.1.1 Partitionstabellen abgleichen 12.1.2 Partitionen spiegeln 12.1.3 RAID-Verbund wiederherstellen 12.2 Loadbalancer und Reverse Proxies 12.2.1 pound (ohne Caching) 12.2.2 HAproxy (ohne Caching) 12.2.2.1 Session-Persistence 12.2.2.2 Access Control Lists (ACL) 12.2.2.3 HAproxy starten 12.2.3 nginx (mit Caching) 12.2.3.1 Installation 12.2.3.2 Konfiguration mit Festplatten-Cache 12.2.3.3 Konfiguration mit Memcached 12.3 Loadbalancing mit Failover für TCP-Verbindungen 12.4 Port-Knocking 12.5 FreeBSD abhärten 12.5.1 Zugriffsrechte beschränken 12.5.2 Sysctl-Flags setzen 12.5.3 Sicherheitsstufen anpassen 12.5.4 Dateien vor Veränderung schützen 12.5.5 Sicherheitsstufe per Passwort heruntersetzen 12.5.6 Sicherheitsstufen in Jails 12.5.7 Logrotation trotz "append-only"-Markierung 12.6 Device-Polling für Netzwerkkarten aktivieren 12.6.1 Den Kernel konfigurieren und installieren 12.6.2 Konfiguration der Netzwerkkarten anpassen 12.7 IPv6 auf dem Hostsystem konfigurieren 12.8 Einen eigenen Kernel kompilieren 12.8.1 Den Quellcode aktualisieren 12.8.2 Den Kernel konfigurieren 12.8.3 Den Kernel kompilieren 12.8.4 Den neuen Kernel testen 12.8.5 Den neuen Kernel installieren