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

OpenBSD Einleitung: Sicherheit beginnt im Design

Die Einführung betrachtet OpenBSD als System: seine Herkunft, grundlegende Designentscheidungen und den Stellenwert von Sicherheit im Projekt.
Installation und erste Schritte: System einrichten

Installation und erste Schritte: System einrichten

Installation des Base-Systems, Datenträgeraufteilung, Netzwerkkonfiguration, Auswahl der Sets und die ersten Schritte im installierten System.

Konfiguration und Verwaltung

Systemkonfiguration: Netzwerk, Zeit, Berechtigungen

Systemkonfiguration: Netzwerk, Zeit, Berechtigungen

Grundlegende Systemkonfiguration mit den dafür vorgesehenen Dateien und Werkzeugen – von Netzwerk und Zeit bis zu Berechtigungen und lokalen Anpassungen.
Paketverwaltung: pkg_add, Updates, Ports

Paketverwaltung: pkg_add, Updates, Ports

Zusätzliche Software installieren, aktualisieren und entfernen sowie das Zusammenspiel von Packages, Paketwerkzeugen und Ports verstehen.

Sicherheit und Netzwerk

Sicherheitsarchitektur: pledge, unveil, W^X

Sicherheitsarchitektur: pledge, unveil, W^X

Sicherheitsmechanismen von OpenBSD und ihr Zusammenspiel – darunter Privilege Separation, pledge(2), unveil(2), W^X und weitere Schutzmechanismen.
Netzwerk und Routing: Interfaces, IPv6, dhcpd

Netzwerk und Routing: Interfaces, IPv6, dhcpd

Interfaces und Adressen konfigurieren, Routing verstehen und die Werkzeuge kennenlernen, mit denen OpenBSD Netzwerke einrichtet und untersucht.

Firewall mit PF

Firewall-Grundlagen: PF und Filterregeln

Firewall-Grundlagen: PF und Filterregeln

Grundlagen des Packet Filters, Aufbau von pf.conf, Regeln und States sowie das Zusammenspiel von PF und Netzwerkstack.
NAT und Port-Forwarding mit PF

NAT und Port-Forwarding mit PF

Adressumsetzung und Weiterleitung mit PF sowie ihre Einordnung in Paketfluss, Filterung und Routing.
PF: weiterführende Konzepte

PF: weiterführende Konzepte

Weiterführende Möglichkeiten von PF wie Tables und Anchors und ihr Einsatz in umfangreicheren Regelwerken.

Dienste und Betrieb

Dienste und Daemons: httpd, smtpd, relayd

Dienste und Daemons: httpd, smtpd, relayd

Dienste des Base-Systems, ihre Konfiguration und ihr Zusammenspiel mit Netzwerk, Rechten und dem übrigen System.
Benutzer und Automation: Verwaltung, cron, rc-Skripte

Benutzer und Automation: Verwaltung, cron, rc-Skripte

Benutzer und Gruppen verwalten, Rechte vergeben, Dienste steuern und wiederkehrende Aufgaben automatisieren.

Virtualisierung und Wartung

Virtualisierung mit vmm

Virtualisierung mit vmm

Virtuelle Maschinen mit vmm(4), vmd(8) und vmctl(8) einrichten und in Netzwerk und Betrieb des Hostsystems einordnen.
Backups und Wartung

Backups und Wartung

Datensicherung, Aktualisierung und regelmäßige Wartung eines laufenden OpenBSD-Systems.

Verwandte Grundlagen

Einige Themen reichen über OpenBSD hinaus oder werden an anderer Stelle ausführlicher behandelt:

  • Netzwerk-Grundlagen: TCP/IP-Konzepte und Zusammenhänge, die nicht an ein bestimmtes Betriebssystem gebunden sind (online)
  • Backup-Strategien: Grundlagen für die Planung von Datensicherungen (online)