Upload
donhi
View
221
Download
3
Embed Size (px)
Citation preview
EinleitungDas ProjektDas Produkt
Bemerkungen
Das OpenBSD Projekt
Alexander von Gernler
3. Erlanger Linuxtage, 15./16. Januar 2005
Alexander von Gernler Das OpenBSD Projekt
EinleitungDas ProjektDas Produkt
Bemerkungen
Inhaltsubersicht
1 EinleitungUber den VortragEinordnung von OpenBSD
2 Das ProjektGeschichteStrukturZieleVerwandte Projekte
3 Das ProduktTechnische DatenUnterschiede zu LinuxSafety und SecurityLetzte Neuigkeiten
4 BemerkungenAusblickeLiteraturAbout
Alexander von Gernler Das OpenBSD Projekt
EinleitungDas ProjektDas Produkt
Bemerkungen
Uber den VortragEinordnung von OpenBSD
Inhaltsubersicht
1 EinleitungUber den VortragEinordnung von OpenBSD
2 Das ProjektGeschichteStrukturZieleVerwandte Projekte
3 Das ProduktTechnische DatenUnterschiede zu LinuxSafety und SecurityLetzte Neuigkeiten
4 BemerkungenAusblickeLiteraturAbout
Alexander von Gernler Das OpenBSD Projekt
EinleitungDas ProjektDas Produkt
Bemerkungen
Uber den VortragEinordnung von OpenBSD
Uber den Vortrag
Dieser Vortrag ist...eine Vorstellung des OpenBSD-Projekteseine Vorstellung des OpenBSD Betriebssystemsein (teilweise subjektiver) Erfahrungsbericht
Er ist nicht...ein Installations-HOWTO fur OpenBSDeine technische Referenzein heiliger Kreuzzug
Der Autor...benutzt OpenBSD seit Version 2.9hat im OpenBSD Translation Projectmitgearbeitetbetreibt den OpenBSD Mirror an der UniErlangen
Alexander von Gernler Das OpenBSD Projekt
EinleitungDas ProjektDas Produkt
Bemerkungen
Uber den VortragEinordnung von OpenBSD
Die BSD Flavors
FreeBSDhttp://www.FreeBSD.org/Stabilitat, Performance, Vielzahl vonAnwendungen
NetBSDhttp://www.NetBSD.org/Portabilitat – lauft auf uber 55Plattformen
OpenBSDhttp://www.OpenBSD.org/Sicherheit, Kryptographie, korrekteImplementation
Alexander von Gernler Das OpenBSD Projekt
EinleitungDas ProjektDas Produkt
Bemerkungen
Uber den VortragEinordnung von OpenBSD
Terminologie
Kern z. B. Linux oder BSD-basiert
Flavors Unterscheidung der BSD-GeschmacksrichtungenFree-, Net- und OpenBSD
Distributionen Anzahl der ausgelieferten Systeme (Kern +Userland + Installer) pro Kern
GNU/Linux Entsteht aus GNU (Userland) + Linux (Kern)
Kern Linux FreeBSD NetBSD OpenBSD# Distributionen > 342 1 1 1
Alexander von Gernler Das OpenBSD Projekt
EinleitungDas ProjektDas Produkt
Bemerkungen
GeschichteStrukturZieleVerwandte Projekte
Inhaltsubersicht
1 EinleitungUber den VortragEinordnung von OpenBSD
2 Das ProjektGeschichteStrukturZieleVerwandte Projekte
3 Das ProduktTechnische DatenUnterschiede zu LinuxSafety und SecurityLetzte Neuigkeiten
4 BemerkungenAusblickeLiteraturAbout
Alexander von Gernler Das OpenBSD Projekt
EinleitungDas ProjektDas Produkt
Bemerkungen
GeschichteStrukturZieleVerwandte Projekte
Geschichte der BSD-Unices
1969 Entwicklung des Ur-UNIX an den BellLabs durch Ken Thompson undDennis M. Ritchie
1974 Weitergabe des Quellcodes an Universitaten, darunter auchdie UC Berkeley (Berkeley Software Distribution)
1992 Rechtsstreit AT&T ./. UC Berkeley et al., Entwicklung von386BSD ohne strittigen Code
1993 Erscheinen von NetBSD 0.8 und FreeBSD 1.0
1994 Streit im NetBSD Core-Team
1995 Theo de Raadt wird aus demNetBSD Team ausgeschlossen undgrundet OpenBSD als abgespaltenesProjekt
Alexander von Gernler Das OpenBSD Projekt
EinleitungDas ProjektDas Produkt
Bemerkungen
GeschichteStrukturZieleVerwandte Projekte
Strukturen im Projekt
Project Leader Theo de Raadt als freundlicher Diktator
Committers Team der Entwickler mit CVS-Schreibzugriff
Contributors Jeder, der vernunftigen Code mit freier Lizenzeinreicht, kann beitragen
Mirrors Server, von denen OpenBSD gezogen werden kann
Translators Team der Ubersetzer auf steelix.kd85.com
Merchandise Wim Vandeputte furVersand in ganz Europa –http://www.kd85.com
Hackathon Jahrliches Treffen der Entwickler in Calgary
Alexander von Gernler Das OpenBSD Projekt
EinleitungDas ProjektDas Produkt
Bemerkungen
GeschichteStrukturZieleVerwandte Projekte
Organigramm
Alexander von Gernler Das OpenBSD Projekt
EinleitungDas ProjektDas Produkt
Bemerkungen
GeschichteStrukturZieleVerwandte Projekte
Philosophie von OpenBSD
So frei wie moglich sein: Lizenz erlaubt jedem, den Quellcodefur jeden Zweck zu verwenden
Oberste Prioritat auf Sicherheit: Auf Sicherheitsproblemeachten und sie beheben, bevor irgendjemand anders es tut
Integration starker Kryptographie (IPsec, Kerberos, AFS,Hashfunktionen, Verschlusselung, gute PRNGs) mit derMoglichkeit, sie uberall hin zu exportieren (Projektsitz inKanada, keine Exportbeschrankungen)
Die beste Entwicklungsplattform uberhaupt bereitstellen –Zugriff auf den OpenBSD CVS-Baum inklusive
Standards verfolgen und korrekt implementieren (POSIX,ANSI, X/OPEN etc.)
Politikfrei bleiben – technischer Fortschritt zahlt
Alexander von Gernler Das OpenBSD Projekt
EinleitungDas ProjektDas Produkt
Bemerkungen
GeschichteStrukturZieleVerwandte Projekte
Verwandte Projekte
OpenSSH Freie Implementation der Secure Shell von ssh.com.Breiter Einsatz auf praktisch allenLinux-Distributionen und den anderen BSDs
OpenBGPD Freie Implementation des Border Gateway Protokolles.Entwickelt von Henning Brauer, dem CISCO zuatzend war und den die Alternativen (GNU Zebra,quagga, . . . ) nicht zufrieden gestellt haben
OpenNTPD Freie Implementation des Network Time Protokolls.Deckt die Bedurfnisse von 90% der Anwender ab, nurSpezialfunktionen (noch?) nicht implementiert. Werwill schon was anderes, als seine Uhr stellen?
OpenCVS Momentan laufende Anstrengung, einen sicheren undfreien Ersatz fur das uralte und schlecht gewarteteVersionsmanagement-System zu schreiben
Alexander von Gernler Das OpenBSD Projekt
EinleitungDas ProjektDas Produkt
Bemerkungen
Technische DatenUnterschiede zu LinuxSafety und SecurityLetzte Neuigkeiten
Inhaltsubersicht
1 EinleitungUber den VortragEinordnung von OpenBSD
2 Das ProjektGeschichteStrukturZieleVerwandte Projekte
3 Das ProduktTechnische DatenUnterschiede zu LinuxSafety und SecurityLetzte Neuigkeiten
4 BemerkungenAusblickeLiteraturAbout
Alexander von Gernler Das OpenBSD Projekt
EinleitungDas ProjektDas Produkt
Bemerkungen
Technische DatenUnterschiede zu LinuxSafety und SecurityLetzte Neuigkeiten
Technische Daten
Freies Open Source UNIX, basierend auf den 4.4BSD Quellen
Eigenes Binarformat, aber Emulation fur Linux, FreeBSD,Solaris (SVR4), BSD/OS, SunOS und HP/UX
Lauft auf folgenden Plattformen: i386, amd64,macppc, sparc, sparc64, alpha, vax, mac68k, sgi,hp300, hppa, mvme68k, mvme88k, cats, luna88k
Standardmaßig IPv6- und IPsec-fahig
Minimalinstallation ca. 100 MB,Standardinstallation bei ca. 300 MB,Desktop-System des Autors bei 1.6 GB
Software installierbar als Binarpakete oder ausPorts Collection. Derzeit uber 2822 Portsverfugbar.
Alexander von Gernler Das OpenBSD Projekt
EinleitungDas ProjektDas Produkt
Bemerkungen
Technische DatenUnterschiede zu LinuxSafety und SecurityLetzte Neuigkeiten
OpenBSD beziehen
Auslieferung auf 3 CDs jedes halbeJahr (feste Releasezyklen im Maiund November)
Schickes Artwork mit AufklebernNeuer OpenBSD Release SongKostenpunkt ca. EUR 45,-Erhaltlich von openbsd.org oderuber Buchhandel
Per Diskette, CD oder PXE bootbar, Installation der Paketeaus dem Netz kostenlos
Großes Netz an tagesaktuellen Mirrors weltweit verfugbar
Bereitstellung von Security-Patches und Bekanntgabe [email protected]
Alexander von Gernler Das OpenBSD Projekt
EinleitungDas ProjektDas Produkt
Bemerkungen
Technische DatenUnterschiede zu LinuxSafety und SecurityLetzte Neuigkeiten
Lizenzdiskussion: GNU GPL vs. BSD-style
GNU GPLWill großtmogliche Freiheit fur die CommunityWeitergabe der Software nur mit Weitergabe des Quellcodes,dies muss ebenfalls unter GPL erfolgenHalt die Quellen rechtlich gesehen fur immer offenAber: Prozess gegen Router-Hersteller zeigt, dass GPL auchvon Firmen absichtlich missachtet wird
BSD-styleWill großtmogliche Freiheit fur den EinzelnenWeitergabe der Software unter jeder beliebigen Lizenz, auchClosed Source moglichWichtig nur: Wahrung des CopyrightsGroße Verbreitung von BSD Code bis zu Windows (TCPStack)
Alexander von Gernler Das OpenBSD Projekt
EinleitungDas ProjektDas Produkt
Bemerkungen
Technische DatenUnterschiede zu LinuxSafety und SecurityLetzte Neuigkeiten
Technische Gemeinsamkeiten
“BSD = Linux with a twist” (Christian Weisgerber)
Oberflachlich: Rechner einschalten, Bootloader, Kernel, Init,Textkonsole mit Login, X11 moglichAlle bekannten Standardbefehle vorhanden (ps(1), top(1),ifconfig(8), ping(8), vi(1), ...)Wichtige Internet-Daemons bereits im Basissystem:httpd(8), sshd(8), ftpd(8), named(8),sendmail(8), ntpd(8), isakmpd(8), bgpd(8),rtadvd(8), identd(8), nfsd(8), inetd(8)Breite Hardwareunterstutzung, auch spezielle Cryptohardware(Beschleuniger, z. B. hifn)Gangige Softwarepakete als Ports vorhanden: MySQL,PostgreSQL, nmap, Gimp, xmms, MPlayer, Mozilla, KDE,GnuPG, mutt
Alexander von Gernler Das OpenBSD Projekt
EinleitungDas ProjektDas Produkt
Bemerkungen
Technische DatenUnterschiede zu LinuxSafety und SecurityLetzte Neuigkeiten
Technische Unterschiede
BSD Fast Filesystem ffs statt Linux ext2/ext3
Erweiterung SoftUpdates sorgt fur Geschwindigkeit undKonsistenz bei Absturz, ist aber nicht mit Journaling (vgl.ext3) gleichzusetzen
Die meisten Linux Distros haben ein System V init mitRunlevels, die BSDs haben das einfachere BSD-style init
Kernel und Userland bilden feste Einheit und konnen nurgemeinsam aktualisiert werden. Sie passen deshalb immerzusammen. Keine Probleme wie:
lvmtools passen nicht zum Kernel LVMiptables will andere Netfilter Version im Kernreiserfsck hat mit dem alten Kern doch noch getan?!
Alexander von Gernler Das OpenBSD Projekt
EinleitungDas ProjektDas Produkt
Bemerkungen
Technische DatenUnterschiede zu LinuxSafety und SecurityLetzte Neuigkeiten
OpenBSD ist einfach!
nur ein Runlevel, dazu Reboot, Single-User und Halt
exzellente und aktuelle Manpages
motivierende Starthilfen: man afterboot, man intro
Immer zwei Versionen von OpenBSD verfugbar:
-stable Stand der halbjahrlichen Release-Version mitaktuellen Sicherheitspatches. Geeignet fur denProduktionsbetrieb
-current Front der aktuellen Entwicklung, andert sichpermanent und ist kaum weniger stabil. Geeignet furneugierige und enthusiastische Anwender (z. B. derAutor), sowie Entwickler
Alexander von Gernler Das OpenBSD Projekt
EinleitungDas ProjektDas Produkt
Bemerkungen
Technische DatenUnterschiede zu LinuxSafety und SecurityLetzte Neuigkeiten
Software besorgen – woher?
Von OpenBSD aus verfugbarInstallieren als Binarpaket vom Mirror, oderselber bauen aus der Ports Collection:
# cd /usr/ports/editors/vim/stable# make install
Nicht in Ports-Collection, aber Quellcode verfugbar
Entweder gute Software, dann:
# ./configure && make && make install
Oder halt per Hand kompilieren nach README
Nicht im Quellcode verfugbar, aber als Linux-Binary derselben Plattform, z. B. fur i386: Acrobat Reader
Binaremulation einschalten, lauft:
# sysctl kern.emul.linux=1
Alexander von Gernler Das OpenBSD Projekt
EinleitungDas ProjektDas Produkt
Bemerkungen
Technische DatenUnterschiede zu LinuxSafety und SecurityLetzte Neuigkeiten
Sicherheitsmerkmale von OpenBSD
Swapspace verschlusselbar
/dev/random nutzt viele verschiedene Entropiequellen furguten Zufall: Interrupts von Maus, Tastatur, Netzwerk,Festplatte
Zufall wird verwendet, um Systemverhalten fur Angreiferunvorhersagbar zu machen, ohne Verletzung von Standards:Prozeß-IDs, IP Datagramm IDs, DNS Query-IDs,Inode-Erzeugungs-Nummern,
ProPolice Stack Protection erschwert Buffer Overflows durchsetzen eines Canarys (GCC Erweiterung).
WˆX (Write XOR Execute) fur Speicherseiten bzw. Segmenteverhindert weitere Gemeinheiten
Alexander von Gernler Das OpenBSD Projekt
EinleitungDas ProjektDas Produkt
Bemerkungen
Technische DatenUnterschiede zu LinuxSafety und SecurityLetzte Neuigkeiten
Sicherheit – still more
Firewalling unter OpenBSD mit pf(4)Machtiger regelbasierter Paketfilter, stateful filteringKann Traffic normalisieren (z. B. Verschleierung von NAT mitscrub reassemble tcp)Kann Entscheidungen aufgrund des OS der Gegenstelle treffen(Passive OS Fingerprinting)altq(9) erlaubt regelbasierte BandbreitenbegrenzungCARP (Common Address Redundancy Protocol) erlaubtHA-Firewalling: Zustande auf der aktiven Firewall werden aufdie Backup-Firewall ubertragen
Secure by default als Motto: Installation ist standardmaßigschlank und sicher. Tragt der Tatsache Rechnung, dassRechner, die mal laufen, nicht mehr beruhrt werden
Unterstutzung von Kryptohardware (Hifn, Broadcom, Intel,3com) kinderleicht: Einstecken, geht.
Alexander von Gernler Das OpenBSD Projekt
EinleitungDas ProjektDas Produkt
Bemerkungen
Technische DatenUnterschiede zu LinuxSafety und SecurityLetzte Neuigkeiten
Sicherheit – BSD Securelevels
kern.securelevel=1Securelevel kann nicht mehr gesenkt werden, ausser durchshutdown(8)/dev/mem, /dev/kmem nicht mehr schreibbarPartitionen, die gemountet sind, konnen nicht roh geschriebenwerdenDateiflags wie immutable oder append-only greifen undkonnen nicht entfernt werdenKernelmodule konnen weder geladen, noch entfernt werden
kern.securelevel=2Alle Beschrankungen von Level 1 geltenRaw Disks durfen uberhaupt nicht mehr geschrieben werdenDie Systemzeit kann nicht mehr zuruckgestellt werdenPaketfilter- und NAT-Regeln konnen nicht mehr verandertwerdenDer Kerneldebugger kann nicht mehr eingeschaltet werden
Alexander von Gernler Das OpenBSD Projekt
EinleitungDas ProjektDas Produkt
Bemerkungen
Technische DatenUnterschiede zu LinuxSafety und SecurityLetzte Neuigkeiten
Sicherheit – praktische Paranoia
authpf(8) erlaubt Benutzern im lokalen Netz, die Firewallnach Authentifikation durch ssh(1) zu benutzen
systrace(1) erlaubt Aufstellen und Durchsetzen vonSyscall-Profilen fur einzelne Programme
Die meisten Dienste in OpenBSD
laufen in chroot(8)fuhren privilege revocation durch: ping, ping6, portmap,rpc.rstatd, rpc.rusersd, pppoe, traceroute,traceroute6, rwalld, pppd, spamd, afsd, authpf,ftpd, tftpd, httpd, dhcpd, mopd, rbootdsind privilege separated: sshd, syslogd, pflogd,isakmpd, bgpd, ntpd, tcpdump, named, X server,xdm, dhclientNur ganz wenige Programme sind setuid root.
Alexander von Gernler Das OpenBSD Projekt
EinleitungDas ProjektDas Produkt
Bemerkungen
Technische DatenUnterschiede zu LinuxSafety und SecurityLetzte Neuigkeiten
Eingebaute Spam-Behandlung
spamd(8) ist der Spam-Daemon im Basissystem
kann durch Andern der pf.conf(5) und einem Schalter inder rc.conf(8) ganz einfach aktiviert werden
beherrscht drei Arbeitsmodi, die unabhangig voneinanderaktiviert werden konnen
Whitelisting Rechner, die immer mit dem SMTP Port redendurfen (ob die Mail angenommen wird, ist eineandere Frage)
Blacklisting Rechner, die nie mit dem echten SMTP Daemonverbunden werden (“Pleased to be wasting yourtime”)
Greylisting Nur Rechner, die “es ernst meinen”, konnenMail ausliefern, denn die Mail wird zunachstabgelehnt.
Alexander von Gernler Das OpenBSD Projekt
EinleitungDas ProjektDas Produkt
Bemerkungen
Technische DatenUnterschiede zu LinuxSafety und SecurityLetzte Neuigkeiten
OpenNTPD
freie Implementation einesNetwork Time ProtocolDaemons (RFC 1305)
ersetzt die Version von ntp.orgDesignziele:
Sicherheit Privilege Separation, nur bounded bufferOperationen, strenge Prufung der Antworten ausdem Netz
Einfachkeit Schlanke Implementation, einfacheKonfiguration
Performance naturlich!
NTPD aufsetzen
# echo ’ntpd_flags=""’ >> /etc/rc.conf.local# reboot
Alexander von Gernler Das OpenBSD Projekt
EinleitungDas ProjektDas Produkt
Bemerkungen
Technische DatenUnterschiede zu LinuxSafety und SecurityLetzte Neuigkeiten
OpenBGPD
freie Implementation des BorderGateway Protokolls, v4 (RFC1771)
wird von Internet Service Providern benutzt, um sichgegenseitig Netze zu propagieren und Routen festzulegen
Designziele
Sicherheit, Resistenz gegen Buffer Overflows, PrivilegeSeparationKeine BGP Sessions verlieren! Verwendung einer eigenen,unabhangigen Session EnginePerformanz und Speichereffizienzgut durchdachte Konfigurations- und Filtersprache
Alexander von Gernler Das OpenBSD Projekt
EinleitungDas ProjektDas Produkt
Bemerkungen
AusblickeLiteraturAbout
OpenBSD ist interessant fur Firmen
Universitaten Alberta/Canada, Minnesota, Michigan(CITI), Lund, Italian Institute of NuclearPhysics
Firmen Adobe, CORE SDI, Network SecurityTechnologies (NST), Alteon Networks
Provider Calyx, BSWS, Globalwire Communications
Non-Profit Universitat Helsinki Zentralkrankenhaus, ForcefieldArt Installation, Universitat Uppsala Krankenhaus
Geheimdienste oft behauptet, nicht nachprufbar. OpenBSD wurdemal finanziell von der DARPA gefordert
Alexander von Gernler Das OpenBSD Projekt
EinleitungDas ProjektDas Produkt
Bemerkungen
AusblickeLiteraturAbout
Schwachpunkte von OpenBSD
Moglicherweise nicht so performant wieLinux oder FreeBSD
Ports-Tree kleiner als der von FreeBSD
Updates von Version zu Version nichtvollautomatisch – erfordern Sachverstand
Kein bzw. unzureichendes Energiemanagement fur portableGerate
Kein ACPI Support
Filesystemchecks gecrashter ffs Partitionen dauern noch solange wie bei ext2, obwohl SoftUpdates einen fsck imHintergrund ermoglichen wurden (vgl. FreeBSD)
Alexander von Gernler Das OpenBSD Projekt
EinleitungDas ProjektDas Produkt
Bemerkungen
AusblickeLiteraturAbout
Bucher zu OpenBSD
Absolute OpenBSDvon Michael Lucasgutes Kompendium, sehr humorvollISBN 1-886411-99-9
Secure Architectures with OpenBSDvon Brandon Palmer und Jose Nazariokein stringentes Werk, aber gutes KochbuchISBN 03-21193-66-0
Building Firewalls with OpenBSD and PF[2nd edition]
von Jacek Artymiakdeckt ein Spezialthema abISBN 83-916651-1-9
Alexander von Gernler Das OpenBSD Projekt
EinleitungDas ProjektDas Produkt
Bemerkungen
AusblickeLiteraturAbout
Noch Fragen?
1 Folien erstellt mit LATEX, latex-beamer, make und CVSunter OpenBSD/i386
2 Folien erhaltlich unter http://pestilenz.org/~grunk/vortraege/2005/erlug/openbsd.pdf
3 Quellcode der Folien auf Anfrage: <[email protected]>
Alexander von Gernler Das OpenBSD Projekt