Sicherheit OpenBSD vs. FreeBSD

quantumleeks

Anfänger
OpenBSD wirbt für sein OS u. a. mit dem Anspruch, in der Standardinstallation seit 8 Jahren kein remote hole entdeckt zu haben. Wie sieht es eigentlich mit der Verwundbarkeit von FreeBSD aus? Gibt es bekannt gewordene remote holes von FreeBSD in großen Installationen (Webserver, Datenbanken, Mailserver)?

Wegen fehlender Hardwareunterstützung bei OpenBSD in einem spezifischen Fall wechsle ich vielleicht zu FreeBSD. OpenBSD hat u. a. mit Stack-smashing und W^X sowie mit den kürzlichen Änderungen in den malloc Memory Management Funktionen ein beeindruckendes Portfolio an Sicherheitsimplementierungen, die in dieser Form bei FBSD (noch) nicht vorhanden sind. Wie haben sich diese "fehlenden" Sicherheitsmerkmale bisher in der Geschichte von FBSD bemerkbar gemacht? Wurden bisher FBSD Server aufgrund bestimmter Schwächen in dem OS gehackt? Von OBSD ist mir nicht bekannt, dass es (mit einer Ausnahme) jemals zu erfolgreichen Angriffen gekommen ist. Ist FBSD in der Praxis verwundbarer als OBSD, oder sind die erwähnten Features bei OBSD eher von akademisch-theoretischem Interesse?
 
Die Sicherheit eines Systems misst sich an dem paranoiden Verhaltens des Admins.

Ich habe nun nicht bei google unc Co. in der Vergangenheit geschnüffelt wo und wie viele "Lücken" es für welches OS gab und wie diese ausgenutzt werden, "sicher" ist immer relativ.
Wenn ein webserver, mailserver, $was-auch-immer-nicht-zum-base-gehört, eine Lücke hat, dann sieht das OS unter welchem es läuft alt aus.

Neben einer anständigen FW, sind sicherlich auch noch die securityflags und der securelevel von Bedeutung. Entsprechend hochgeschraubt kann auch root unter FBSD nichts mehr verändern. Dann noch alles in Jails packen und das eigentliche System ist noch etwas mehr abgesichert (neben dem Vorteil das man eine kompormittiere Jail schnell austauschen kann und die downtime gering bleibt).
 
kein betriebssystem ist sicher.
du kannst dir mit openbsd noch so eine festung hochzuechten wie du willst, mit w^x, pro-police und allem.
sobald du dein root-passwort auf deine homepage packst isses wieder fuer den arsch.

openbsd ist in der defaultinstallation deswegen so sicher, weil alle dienste deaktiviert sind, wie z.b. apache.

was ich sagen will ist: du musst dich in jedem fall mit deinem lieblingsbetriebssystem auseinandersetzen. es kommt 100% darauf an, womit du dich besser auskennst.
 
Ich finde schon, man kann sein root-Passwort ruhig veröffentlichen, ohne dass es die Sicherheit merklich beeinträchtigt: Wenn ich meinen SSH-Server anweise, keine root-Logins zuzulassen und die Passwortauthentisierung abschalte und nur Keys zulasse, nützt einem Angreifer das root-Passwort nichts (es sei denn, er hätte physikalischen Zugang zu der Maschine).

Ich denke mal, OBSD ist nicht nur deswegen so sicher, weil in der Standardinstallation alle Dienste abgeschaltet sind. Das hieße ja, Theo's Arbeit sei bisher umsonst gewesen. Er hat doch nicht einfach nur ein OS mit abgeschalteten Diensten entwickelt, sein BSD hat schon einige Vorzüg mehr.

Mich wundert nur, dass FreeBSD nicht auch damit wirbt, seit so und so vielen Jahren in der Standardinstalltion kein remote hole gehabt zu haben. Es gibt nur eine Erklärung dafür: Es gab tatsächlich mehrere remote holes in der Standardinstallation.
 
Hmm, das kann hier schnell zu einem flame ausarten...
Ob es diese gab oder nicht, spielt keine Rolle. Richtig ist, wie dettus auch schon sagte, das es keine 100%ige Sicherheit gibt.
Man kann ja das Netz durchforsten nach Löchern in der Vergangenheit der verschiedenen OS, aber was sagt einem das?
 
Beachte bitte auch das Webserver, Datenbanken und Co. Keine Bestandteile das Betriebssystems sind. Sondern eher zu den Third-Party Produkten gehoeren.

Wenn die Datenbank eine Lücke hat ändert dies an der Sicherheit eines OS wenig. Aber das wurde schon auch schon erwaehnt.

Und asg hat wohl recht, das kann wohl mehr zu einem Flame ausarten als zu einer sachlichen Diskussion.
 
Ich finde, der OP vergleicht hier ein bisschen Aepfel mit Birnen.
Wenn man keinen lokalen Zugang zu FreeBSD bekommt, ist dieses bei korrekter Administration genauso sicher, wie ein OpenBSD. Zugegeben, es muss evtl. das ein oder andere Feature an- oder abgeschaltet werden bei FreeBSD, da ist aber nichts, was einem nicht vollidiotischem Admin nicht total exotisch vorkaeme.

Zum einen liegt nun die Gefahr bei internetbasierten Systemen mittlerweile hautptseachlich nicht mehr am Betriebsystem, sondern an den verwendeten Diensten, und den Diensten die auf den Diensten laufen (PHP Programme auf apache).

Weiterhin sind viele der Features von OpenBSD auf hostbasierte, lokale Sicherheit ausgerichtet. Das macht es im Kontext eines Bibliotheksrechners durchaus sicherer, (und ich finde die Leistung die Leistung des OpenBSD-Teams ueberaus beachtlich), aber im Netz, bei den Mainstreamapplikationen, ist OpenBSD imo nicht sicherer als FreeBSD. (Es werden keine buggy PHP programme verwendet, (kein wuftpd), kein bind und solche Dinge setze ich hier mal als gegeben vorraus)
 
Meine unqualifizierten 0,02 €:
Ob OpenBSD im praktischen Einsatz sicherer ist? Keine Ahnung. Aber ein "Killerfeature" fehlt mir bei der OpenBSD-Paranoia ganz klar - Jails. Ich weiss - es gibt chroot, aber Jails sind einfach besser.
Und mir ist es allemal lieber, wenn ein 1337-h4x0r nur meine Jail plättet, als das er das mit dem Hauptsystem macht.

Gruß
 
Sicherlich ist der Admin mit dafür verantwortlich, wie sicher ein Server ist. D.h. keine unsichere Dienste laufen lassen und alle laufenden Dienste mit möglichst wenig Rechten. Das muß man halt bei den meisten Linuxdistributionen selber machen. Selbst bei Windows XP kann man da einiges tun. OpenBSD ist in der Hinsicht nur BEQUEMER. Was für mich wichtig ist, ist die Ausnutzbarkeit von Sicherheitslücken generell. Auf meinem Rechner bin ich der Hauptnutzer, es ist mir also schnurz, ob der root account gehackt wird, oder mein lokaler Login. Mein Horrorszenario ist: Ich öffne ein Bild, oder eine Email oder eine Internetseite und irgendwer nutzt nen Buffer-Overflow aus um meine Daten zu löschen. OpenBSD ist meines Wissens das einzige konventionelle System, das versucht mich davor zu schützen. Und für mich als Benutzer bleibt dies wiederum BEQUEM.
 
Ist der httpd Teil des OS? Zumindest ist er Teil der Basisinstallation, aber dann sind ja auch fish, hangman und worm Teile des OS und da komm ich irgendwie ins grübeln.
Da der Apache aber in der Basisinstallation zwar installiert, aber eben nicht gestart wird, sehe ich das nicht als Problem. Für das "apachectl start" bin ich ja dann selbst verantwortlich. Naja, hin oder her, sicher ist, wenn der Strom aus ist.

Der Satz "Only one remote hole in the default install, in more than 8 years!" ist irgendwie Marketing. Klingt halt gut. Wer sich als Admin später darauf beruft und im Katastropenfall ruft: "Aber die haben gesagt ...", hat trotzdem was falsch gemacht.
 
Welches OS mehr SAs hat, sagt direkt wenig über die "Sicherheit" aus.

Was guebbi zu den grundsätzlichen Sicherheitsmechanismen von OBSD gesagt hat,
die schon auf einem relativ tiefen Programm-Level greifen, halte ich für einen
grossen Vorteil von OBSD.

Dafür hat OBSD keine Jails, keine ACLs, und kann kaum ein MP effizient antreiben.
Dafür hat's eine Apache- und Bind-Version die von Hand einem Codeaudit unterzogen wurde.
Desweiteren gehen aus dem OBSD-Projekt selbst viele sehr gute Abkömmlinge hervor,
siehe OpenSSH, -CVS, -BGPD, -NTP, der DHCP-Client, PF usw.

Das das OBSD-Projekt aber nur nach technischen Meriten und nicht politisch motiviert entscheidet stimmt aber gar nicht.

All das hilft einem Admin, der es, aus welchem Grund auch immer, nicht einsetzt, nur wenig.

Daher sind solche Fragen weder kurz, noch abschliessend zu beantworten.

Daher muss jeder Admin selbst entscheiden, welches OS er in seinem Setting einsetzt. Und muss sich dementsprechend weiterbilden.

Kleiner Literaturhinweis:
http://www.amazon.de/exec/obidos/AS...8-1/ref=sr_8_xs_ap_i1_xgl/028-8590218-5417332
 
asg schrieb:
Wenn ein webserver, mailserver, $was-auch-immer-nicht-zum-base-gehört, eine Lücke hat, dann sieht das OS unter welchem es läuft alt aus.

Genau das ist nicht der Fall. ("Logische Bugs" in PHP und co mal aussen vor..)
Gerade W^X, random library offsets, random mmap/malloc, propolice..
All das zielt genau darauf hin: "ok, $server mag nen overflow haben, aber das
OS drunter macht es fast unmoeglich diesen auszunutzen"
 
Genauso wie double-p sehe ich die Sache auch. Aufgrund einer restriktiven Kodierung des OS wird dieses durch ein eventuell fehlerhaftes Third-Party-Programm nicht so leicht kompromittiert. Damit ist die Argumentation von asg einfach falsch. Und ob ein Thread in einen Flamewar ausartet, wie weiter oben befürchtet, hängt weniger vom Thema des Threads ab als vielmehr von den beteiligten Autoren. Diese Vorverurteilung eines Threads gefällt mir ganz und gar nicht.
 
Ich habe auch die Meinung alle BSDs sehr sichere System sind.
Sicher hat das ein oder anderen System mal hier und da ein Feature mehr.
Ausschlaggebend bleibt für mich aber immer noch der Admin.
Du kannst ein OpenBSD genauso unsicher fahren wie ein Free oder NetBSD.
Und die Entscheidung bleibt auch nicht immer bei Sicherheitsfrage hängen, sondern oft daran welches System dieser oder Jener Aufgabe besser gewachsen ist, ob das Treiber oder andere Implementierungen sind die ein System aufweisen muss.
Und wie Lars selber ja schon meinte. Viele Entwicklungen sind vom OpenBSD Projekt entwickelt worden und das darf man nicht unterschätzen was da an Arbeit geleistet worden ist! Aber vieles davon hat Einzug in andere BSDs genommen und ist somit nicht mehr nur noch den OpenBSDlers vergönnt.
Natürlich herrscht ein gewisser Konkurrenzkampf, aber zu guter letzt findet doch ein sehr Reger Austausch zwischen den BSDs statt.
Was ja auch genau mit der BSD-Lizens gewünscht ist.
Eins bleibt aber und das ist das was saintjoe zu Jails sagte. Diese vermisse ich tatsächlich ausserhalb von FreeBSD.
Und wie viel Dienste an oder abgeschaltet sind, ist für mich nicht Diktierwürdig. Da ein Admin beim Server-Aufsätzen das ja spätestens beheben könnte. Und wenn man sich ganz genau anschauen will was zB. bei FreeBSD nach einer Installation läuft , da findet man Sendmail und Syslog, beide lauschen sie aber nur auf localhost...

Auf der Deutschen FreeBSD ML wurde/wird gerade eine Ähnliche Unterhaltung geführt. Ich verlink das mal zu Oliver Frommes Mail, der das wie ich finde ganz gut zusammengefasst hat: http://www.freebsd.de/archive/de-bsd-questions/de-bsd-questions.200511/0173.html
 
quantumleeks schrieb:
Mich wundert nur, dass FreeBSD nicht auch damit wirbt, seit so und so vielen Jahren in der Standardinstalltion kein remote hole gehabt zu haben. Es gibt nur eine Erklärung dafür: Es gab tatsächlich mehrere remote holes in der Standardinstallation.

Die anderen haben ja schon wichtige Sachen gesagt, aber ich möchte dennoch an dieser Stelle noch mal ein paar Dinge deutlich machen, einfach weil diese Frage immer und immer wieder auftaucht.

Ich finde die Arbeit des OpenBSD Teams total klasse. Und ich finde den Ansatz "secure by default" absolut richtig.

Aber man darf das auch nicht überbewerten. Jeder auf Sicherheit bedachte Admin installiert und konfiguriert ein System offline oder nur mit Zugriff auf ein geschütztes Netz und verbindet das neue System erst dann mit einem öffentlichen Netz, wenn es soweit ist und nicht früher. Eine sichere Defaultkonfiguration mag ihm vielleicht ein wohliges Gefühl verschaffen, aber das Deaktivieren unnötiger Dienste benötigt auch nur zwei Minuten zusätzliche Zeit.

Dieser oft zitierte OpenBSD Spruch hat leider so gut wie keine Aussagekraft. Denn in der Standardinstallation laufen halt eben nur sehr wenige Netzwerkdienste. Im wesentlichen betrifft das nur die Sicherheit von OpenSSH, denn das ist AFAIR der einzige komplexe Dienst, der bei OpenBSD in der Standardinstallation lauscht. Im übrigen hat es durchaus noch die eine oder andere zusätzliche ferne Root-Verwundbarkeit in Diensten des Basissystems gegeben (konkret erinnern kann ich mich an die Root-Lücke beim ftpd). Diese Dienste wurden jedoch in der Standardkonfiguration nicht automatisch gestartet und zählten daher nicht für den Spruch. Ganz schön spitzfindig. Ach ja, noch etwas: Es hat auch durchaus einige Sicherheitslücken in OpenSSH gegeben, die die Ausführung beliebigen Codes ermöglicht haben, aber nur einen klaren Fall von "remote root hole". Dieser Fall konnte unmöglich geleugnet werden, weil damals reihenweise OpenBSD-Systeme kompromittiert worden sind. Ich weiß nicht genau, warum die anderen Lücken, die die Ausführung beliebigen Codes ermöglicht haben nicht gezählt haben, kann mir aber denken, daß die anderen Lücken entweder keine Root-Rechte ermöglicht haben (etwa wegen privsep) oder weil die anfällige OpenSSH-Release nicht bei einer OpenBSD-Release verwendet worden ist. Wie auch immer, auch das ist ziemlich spitzfindig.

Dabei ist das mit den wenigen lauschen Ports überhaupt nichts besonderes. Wenn ich mich recht erinnere, hat NetBSD in der Standardinstallation ohne X überhaupt keine lauschenden Ports. Und bei FreeBSD wird man während der Installation darauf aufmerksam gemacht, daß standardmäßig gestartete Dienste ein Sicherheitsrisiko bedeuten können. Man hat dann an dieser Stelle die Möglichkeit, eine Konfiguration zu wählen, bei der kein Dienst von außen erreichbar ist.

Und nur mal, um die Gemüter noch weiter anzuheizen: Gentoo Linux hat ebenfalls 0 lauschende Ports in der Standardinstallation. Kein Dienst wird automatisch gestartet, wenn er installiert worden ist. Ein weiteres Kommando ist nötig, um den Dienst zu starten. Und noch ein anderes Kommando ist nötig, um den Dienst automatisch beim Systemstart starten zu lassen. Beides geschieht nicht automatisch, sondern erst nach einer bewussten Entscheidung des Benutzers.

Zusammenfassung:

Ich finde den OpenBSD Spruch spitzfindig und irreführend. Im Internet gibt es extrem viele Leute, die den Spruch nicht richtig verstehen und ihm wesentlich mehr Bedeutung beimessen, als er eigentlich besitzt. Sie nehmen das dann als Zeichen für die Sicherheit von OpenBSD und denken irgendwie, daß das die Gesamtzahl aller sicherheitskritischen Bugs betrifft oder so etwas in der Art. Dabei hat der Spruch eine sehr geringe Aussagekraft und bezieht sich nur auf eine ganz spezielle sportliche Disziplin ("Minimierung der Anzahl der lauschenden Ports in der Standardkonfiguration nach der Installation"). In dieser Disziplin wird es obendrein noch von NetBSD und Gentoo ganz klar geschlagen. Und diese Systeme posaunen es nicht so wie OpenBSD hinaus.

Ich finde diesen Spruch also peinlich und ärgerlich, insbesondere deswegen, weil die OpenBSD Leute schon eine ganze Reihe sehr ehrgeiziger und krasser Sachen gemacht haben. Der Spruch ist nicht nur irreführend, sondern lenkt auch von den wirklichen Leistungen ab.
 
quantumleeks schrieb:
Wegen fehlender Hardwareunterstützung bei OpenBSD in einem spezifischen Fall wechsle ich vielleicht zu FreeBSD. OpenBSD hat u. a. mit Stack-smashing und W^X sowie mit den kürzlichen Änderungen in den malloc Memory Management Funktionen ein beeindruckendes Portfolio an Sicherheitsimplementierungen, die in dieser Form bei FBSD (noch) nicht vorhanden sind. Wie haben sich diese "fehlenden" Sicherheitsmerkmale bisher in der Geschichte von FBSD bemerkbar gemacht? Wurden bisher FBSD Server aufgrund bestimmter Schwächen in dem OS gehackt? Von OBSD ist mir nicht bekannt, dass es (mit einer Ausnahme) jemals zu erfolgreichen Angriffen gekommen ist. Ist FBSD in der Praxis verwundbarer als OBSD, oder sind die erwähnten Features bei OBSD eher von akademisch-theoretischem Interesse?

Ich denke, man könnte das auf die Frage reduzieren, bei welchen Sicherheitslücken Propolice, W^X usw. einen erfolgreichen Exploit verhindern, der andernfalls möglich gewesen wäre.

Ich denke, das wird man nicht definitiv beantworten können. Klar ist wohl nur, daß viele Standard-Exploits nicht funktionieren. Was aber nicht bedeutet, daß es keine anderen Möglichkeiten gibt, die Lücke auszunutzen.

Das Patchen des Systems ist immer noch am wichtigsten.
 
Wie dem auch sei, ich bleibe bei dem Standpunkt das ein OS nur so sicher ist wie sein Admin paranoid.
Was nun W^X und Co angeht, dazu habe ich mich bisher zu wenig mit OBSD beschäftigt (wenngleich ich das Bestreben von OBSD in Punkto Security mehr als nur begrüsse - FBSD hat ja so auch PF "bekommen") um sagen zu können das dies einen erheblich Vorteil bietet, der praktisch nachweisbar ist, bei Fehlern in third party software.
Rein von der Theorie, ja, da ist OBSD dann vorne, praktische Erfahrung kann ich mangels Nutzung von OBSD dabei aber nicht zu Grunde legen.
 
@asg
>FBSD hat ja so auch PF "bekommen"

Welche Firewall kann ich denn überhaupt mit dem GENERIC FreeBSD Kernel (5.4/6.0) nutzen?
Ich kann zwar das pf-LKM laden, aber wenn ich es nutzen will, dann kommen Meldungen, dass ALTQ NICHT im Kernel vorhanden sei!
 
@tib
Du kannst PF nutzen ohne einen neuen Kernel zu bauen. Die Module reichen. Wenn Du ALTQ nutzen willst, musst Du tatsächlich einen neuen kernel mit dem entsprechenden Optionen bauen.
 
@asg
Danke!
Dann muss ich noch mal das Ganze testen.
Ich war irritiert, das bei pfctl ständig diese Meldungen kamen und ich den Eindruck hatte das es nicht so ganz funktioniert.
Wie aktuell ist die FreeBSD-Implementierung in Verhältnis zu OpenBSD?
 
Im Moment ist pf auf dem Stand von OpenBSD 3.7, das wird sich aber in nährere Zukunft ändern und die pf Version von OpenBSD 3.8 wird eingepflegt.

MFG

Dennis
 
Zurück
Oben