OpenBSD Grundlagen – vom Systemaufbau zum täglichen Betrieb
Das System als Ganzes
OpenBSD ist ein Unix-Betriebssystem, dessen Bestandteile gemeinsam entwickelt und als zusammengehörendes System veröffentlicht werden. Zum Base-System gehören Kernel, Systemwerkzeuge, Bibliotheken und Konfiguration ebenso wie Netzwerkdienste wie httpd, smtpd, relayd und ntpd. Zusätzliche Software wird getrennt davon als Package installiert.
Sicherheitsmechanismen sind Teil dieses Systemaufbaus. Nicht benötigte Dienste sind im Auslieferungszustand deaktiviert. Viele Programme teilen Aufgaben durch Privilege Separation auf mehrere Prozesse auf. pledge(2) begrenzt die Systemoperationen, die einem Prozess zur Verfügung stehen, während unveil(2) dessen Sicht auf das Dateisystem einschränken kann. W^X trennt beschreibbaren und ausführbaren Speicher.
Die einzelnen Bereiche des Systems stehen nicht für sich allein. Dienste laufen mit bestimmten Rechten, greifen auf Dateien zu, verwenden Netzwerkinterfaces und werden durch die Systemkonfiguration gesteuert. Wer OpenBSD administriert, begegnet deshalb denselben Bestandteilen immer wieder in unterschiedlichen Zusammenhängen.
Vom installierten System zum laufenden Betrieb
Die Installation legt bereits Teile des späteren Systems fest: unter anderem die Datenträgeraufteilung, die Netzwerkkonfiguration und die installierten Sets. Danach wird das installierte System schrittweise für seinen Einsatzzweck eingerichtet.
Dazu gehören die lokale Systemkonfiguration, zusätzliche Packages, Benutzer und Berechtigungen, Netzwerk und Routing, Paketfilterung und schließlich die Dienste, die das System bereitstellen soll. Wartung und Aktualisierung begleiten den laufenden Betrieb.
Die einzelnen Bereiche greifen dabei ineinander. Die Netzwerkkonfiguration stellt Interfaces und Adressen bereit, über die ein Dienst erreichbar sein kann. Routing bestimmt, welche Wege Pakete nehmen können. PF kann den Verkehr filtern und dessen Routing beeinflussen. Ein Dienst wiederum läuft mit bestimmten Rechten und verwendet seine Konfiguration und Dateien.
Vorwissen und Begriffe
Allgemeine Unix-Grundlagen erklären wir dort, wo sie für den jeweiligen Zusammenhang notwendig sind. Themen, die über OpenBSD hinausgehen, werden bei Bedarf in eigenen Grundlagenartikeln ausführlicher behandelt.
So können wir Zusammenhänge erklären, ohne jeden Artikel mit allgemeinen Grundlagen zu überladen oder unbekannte Begriffe einfach vorauszusetzen.
Die OpenBSD-Grundlagen im Überblick
System-Grundlagen
OpenBSD Einleitung: Sicherheit beginnt im Design
Installation und erste Schritte: System einrichten
Konfiguration und Verwaltung
Systemkonfiguration: Netzwerk, Zeit, Berechtigungen
Paketverwaltung: pkg_add, Updates, Ports
Sicherheit und Netzwerk
Sicherheitsarchitektur: pledge, unveil, W^X
pledge(2), unveil(2), W^X und weitere Schutzmechanismen.
Netzwerk und Routing: Interfaces, IPv6, dhcpd
Firewall mit PF
Firewall-Grundlagen: PF und Filterregeln
pf.conf, Regeln und States sowie das Zusammenspiel von PF und Netzwerkstack.
NAT und Port-Forwarding mit PF
PF: weiterführende Konzepte
Dienste und Betrieb
Dienste und Daemons: httpd, smtpd, relayd
Benutzer und Automation: Verwaltung, cron, rc-Skripte
Virtualisierung und Wartung
Virtualisierung mit vmm
vmm(4), vmd(8) und vmctl(8) einrichten und in Netzwerk und Betrieb des Hostsystems einordnen.
Backups und Wartung
Verwandte Grundlagen
Einige Themen reichen über OpenBSD hinaus oder werden an anderer Stelle ausführlicher behandelt: