1. 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
  2. FreeBSD installieren
  3. 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
  4. Erste Gedanken zur Sicherheit
    4.1 Die Benutzerverwaltung
    4.2 Das Berechtigungsmodell
    4.3 Der Systemaufbau in diesem Buch
  5. Das System aktuell halten
    5.1 System-Updates installieren
    5.2 Release-Wechsel durchführen
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. Server läuft - was jetzt?