Follow @Openwall on Twitter for new release announcements and other news
Owl homepage

Andere Sprachen:
Englisch, Russisch

Konzepte
Architekturen
Arbeitsumgebung
Installationsanweisungen

Download (HTTP, FTP, rsync, anoncvs, CVSweb)

Änderungen:
Änderungen in current
Änderungen in 3.1-stable
Änderungen in 3.1
Änderungen in 3.0-stable
Änderungen in 3.0
Änderungen in 2.0-stable
Änderungen in 2.0
Änderungen in 1.1-stable
Änderungen in 1.1
Änderungen in 1.0
Änderungen in 0.1-stable

Kunstwerk
Screenshots
Präsentationsfolien

Owl VPS-Hosting

"Owl", -- eine sicherheitsoptimierte Server-Plattform.

"Owl" (oder "Openwall GNU/*/Linux"; -- das "O" ist in jedem Fall gross zu schreiben) ist ein auf Sicherheit optimiertes Betriebssystem mit Linux und GNU-Software als Kern. Owl ist zu allen anderen grossen GNU/*/Linux Distributionen kompatibel und als Server- Plattform gedacht. Und es ist natürlich frei.

Features.

Weil wir inhaltliche Qualität über Features stellen, hält Owl einiges für die Sicherheit bereit. Owl versucht nicht nur sicher zu sein.

Einer der Vorteile von Owl ist, dass es als Basis für die Installation jeglicher Software, die für GNU/*/Linux verfügbar ist, genutzt werden kann. Owl bietet einige Kompatibilität (siehe unten) für Software-Pakete von anderen grossen Linux Distributionen, wie zum Beispiel Red Hat Linux.

Zusätzlich beinhaltet Owl eine wachsende Zahl von Internet Diensten für Server-Plattformen.

Mit Owl ist es möglich das komplette System aus den Quellen neu zu kompilieren. Und das ganze mit einem einzigen Befehl ("make buildworld") (Das ganze wird unten detaillierter erklärt.)

Owl unterstützt mehrere Architekturen (momentan x86, SPARC und Alpha). Dies hat den Vorteil, dass man es in mehr Situationen benutzen kann und es uns hilft Software-Fehler früher zu erkennen.

Sicherheit.

Owl kombiniert verschiedene Versuche die Anzahl der Schwächen in seinen Softwarekomponenten und denen von Dritt-Anbietern, die auf dem System installiert werden könnten, zu reduzieren.

Der primäre Versuch Sicherheit zu gewährleisten besteht darin, den Quelltext nach bestimmten Klassen von Sicherheitslücken zu durchsuchen. Wegen der riesigen Menge des Quelltextes gibt es ein bestimmtes Mass an "Wichtigkeit" von Software oder Teilen davon. Momentan werden nur Quelltextteile geprüft, die mit besonderen Privilegien arbeiten oder die mit dem Netzwerk kommunizieren. Dies beinhaltet relevanten Code in den meisten Systembibilotheken, allen SUID/SGID Programmen, allen Dämonen und Netzwerkdiensten. Alles andere wird, wenn es ein Teil von Owl ist, eventuell geprüft. Potentielle Probleme die während des Prüfens gefunden werden, werden meistens gelöst oder führen in einigen Fällen zum Ausschluss der Software aus Owl. Bei der Implementierung von Features wird in den meisten Fällen zwischen diesem und der Codequalität plus Sicherheit abgewogen. Je mehr das Projekt wächst, desto mehr Softwarekomponenten werden durch unsere eigenen ersetzt.

Wenn Pakete für Owl erstellt werden, wird die Software so konfiguriert, dass sie standardmässig sicher ist. In einzelnen Fällen wird die Software auch modifiziert um dieses Ziel zu erreichen. Da optionale und eventuell sicherheitsgefährdende Features explizit erlaubt werden müssen, können wir die Quelltextteile der Standard- konfiguration gründlicher durchsehen. Zusätzliche Administrations- möglichkeiten ("owl-control") werden zum Managen der SUID/SGID Binärpakete zur Verfügung gestellt. Diese sind unabhängig von der Paketinstallation. Da jedes Owl-Paket seinen Überprüfungsstatus dokumentiert, kann man abwägen, ob man es benutzt oder nicht.

Obwohl die Überprüfung des Quelltextes der bevorzugte Weg ist, um mit Softwarefehlern umzugehen, kann es nicht in allen Fällen angewandt werden. Wenn unsichere Dritt-Software auf ein sonst sicheres System installiert wird, ist "das Spiel" verloren. Das Einzige was ein Betriebssystem garantieren kann, ist dass der mögliche unauthorisierte Zugriff auf die von der Software bereitgestellten Privilegien limitiert bleibt. In den letzten Jahren wurden einige Versuche unternommen um die erfolgreichen Attacken auf unsichere Dritt-Software einzudämmen. Owl wird einige von diesen "Versuchen" in verschiedenen Teilen des Systems benutzen.

Owl benutzt "starke" Kryptographie in den Kern-Komponenten und enthält einige sicherheitssteigernde Regeln (aktives Überprüfen des Passwortes mit "pam_passwdqc", Ablaufen des Passwortes und des Kontos, Adressbasierte Zugriffskontrolle des Netzwerkes) und das Überprüfen der Integrität ("mtree"). Es ist eines unserer Ziele, eine grosse Palette von Sicherheits-Tools zur Verfügung zu stellen, die auch "out of the box" benutzt werden können.

Die Arbeitsumgebung und das Paket-Management.

Im Gegensatz zu anderen "Linux Distributionen" enthält Owl eine komplette Arbeitsumgebung um das ganze System aus den Quelltexten neu zu kompilieren. Und das mit einem einzigen Kommando ("make buildworld"). Die Implementation des "make buildworld" ist jedoch unter Owl komplett anders als die von *BSD. Es ist eigentlich mehr mit den *BSD ports/packages vergleichbar, da sie die komplette Owl-Benutzersoftware beinhaltet (alles ausser dem Linux Kernel).

Der Owl-Benutzersoftware Quelltext besteht aus zwei Verzeichnis- bäumen, wobei jedes Owl-Paket zwischen den beiden Bäumen aufge- teilt werden kann. Ein Verzeichnisbaum besteht aus den Original Softwarearchiven, wie sie von den Besitzern der jeweiligen Software herrausgegeben werden. Der andere Baum, den wir in einem CVS Archiv verwalten, enthält die Spezifikationen, Patches und andere Owl- spezifische Zusätze zu den Paketen. Einige Pakete wurden als Teil von Owl entwickelt und sind deswegen komplett in den CVS Archiven verfügbar.

Auf diesen zwei Verzeichnisbäumen basierend, werden die Binär- pakete erstellt. Diese können installiert werden, um das ganze System zu updaten (mit "make installworld") oder um eine neue Owl-Installation zu erstellen (die ROOT= Einstellung). Sie können auch über das Netzwerk transferiert und irgendwo anders installiert werden.

Wir benutzen das RPM-Format für Binärpakete, weil es uns erlaubt Abhängigkeiten von Paketen zu regeln, die von einem Red Hat Linux oder einem anderen System auf ein Owl-System installiert werden.

Kompatibiliät.

Ausser einigen Ausnahmen, wo dieses Ziel mit unseren wichtigeren Zielen kollidiert, versucht Owl Binär- und Paketkompatibel mit diversen grossen GNU/*/Linux Distributionen zu sein. In den meisten Fällen ist es möglich eine Applikation, die für eine aktuelle Version von Fedora Core oder Red Hat Enterprise Linux erstellt worden ist, auf Owl zu installieren (für Owl 2.0 trifft das auf FC3 und RHEL4 zu).

$Owl: Owl/doc/de/CONCEPTS,v 1.9 2006/02/03 08:53:27 schmidt Exp $