2008-09-18 5 views
19

Ich möchte wissen, ob die Benutzer hier SELinux normalerweise in Installationen deaktivieren, in denen sie standardmäßig aktiviert ist? Wenn ja, kannst du erklären warum, welche Art von System es war, usw.?Deaktivieren Sie SELinux?

Ich möchte so viele Meinungen wie möglich zu erhalten.

+0

Dies sollte zu unix.stackoverflow.com oder zumindest SuperUser migriert werden, wo es sinnvoll ist. Und dann zur Diskussion geöffnet. –

Antwort

0

ich nicht viel zu hier beitragen, aber seit seinem unbeantwortet, ich dachte, ich meine zwei Cent in

Ich persönlich deaktivieren Boxen auf dev werfen würde. Und wenn ich den Umgang mit unwichtige Dinge. Wenn ich mit irgendeiner Produktion zu tun habe, oder die eine bessere Sicherheit erfordert, lasse ich sie eingeschaltet und/oder verbringe die Zeit damit, sie so zu verändern, dass sie mit den Dingen umgehen kann, die ich brauche.

Wetter oder nicht Sie verwenden es wirklich kommt auf Ihre Bedürfnisse, aber es wurde aus einem Grund geschaffen, also in Betracht ziehen, es zu verwenden, anstatt immer es zu schließen.

2

SELinux erfordert die Aufmerksamkeit des Benutzers und die manuelle Erlaubnis, die gewährt, wann immer (oh, gut) Sie keine Erlaubnis für etwas haben. Viele Leute finden, dass es in die Quere kommt und es ausschaltet.

In der letzten Version ist SELinux benutzerfreundlicher, und es gibt sogar Gespräche über das Entfernen der Möglichkeit, es auszuschalten oder es zu verbergen, so dass nur erfahrene Benutzer wissen, wie es geht - und es wird angenommen, dass nur Benutzer genau sind diejenigen, die die Konsequenzen verstehen.

Mit SELinux gibt es ein Henne-und-Ei-Problem: Um es ständig zu haben, müssen Sie als Benutzer Probleme an Entwickler melden, damit sie diese verbessern können. Aber Benutzer möchten es nicht verwenden, bis es verbessert wurde, und es wird nicht verbessert, wenn nicht viele Benutzer es verwenden.

Also, es ist standardmäßig eingeschaltet in der Hoffnung, dass die meisten Leute es lange genug verwenden würden, um zumindest einige Probleme zu melden, bevor sie es ausschalten.

Am Ende ist es Ihr Aufruf: Suchen Sie nach einer kurzfristigen Lösung oder einer langfristigen Verbesserung der Software, die dazu führen wird, dass solche Fragen eines Tages nicht mehr gestellt werden müssen.

13

Ich tat, vor drei oder vier Jahren, als definierte Richtlinien hatten viele Fallstricke und Erstellen von Richtlinien war zu schwer und ich hatte 'keine Zeit' zu lernen. Dies war natürlich auf nicht kritischen Maschinen.

heute zu Schiff distros mit vernünftiger Politik gemacht mit all der Arbeit, und die tools und tutorials das, was Sie schaffen hilft vorhanden ist, beheben und Richtlinien zu definieren, gibt es keine Entschuldigung zu deaktivieren.

+1

Puh !! Ich bin nicht alleine! –

+1

Ich bin bei dir, Kumpel! – Gabe

2

Ich höre, es wird besser, aber ich deaktiviere es immer noch. Für Server macht es keinen Sinn, es sei denn, Sie sind ein ISP oder ein großes Unternehmen, das feinstufige Zugriffssteuerungen für mehrere lokale Benutzer implementieren möchte.

Bei der Verwendung auf einem Webserver hatte ich eine Menge Probleme mit Apache-Berechtigungen. Ich müsste ständig

chcon -R -h -t httpd_sys_content_t /var/www/html 

ausführen, um die ACLs zu aktualisieren, wenn neue Dateien hinzugefügt wurden. Ich bin mir sicher, dass dies bereits gelöst wurde, aber SELinux ist eine Menge Schmerz für die begrenzte Belohnung, die Sie bekommen, wenn Sie es auf einer Standard-Website-Bereitstellung aktivieren.

+5

begrenzte Belohnung? auf einer Internet-Seite? In welcher Welt lebst du? –

+3

Ich stimme der "begrenzten Belohnung?" Frage. selinux hat meinen Webserver davor gehackt, dass er wegen eines Sicherheitsfehlers in einem Paket von httpd gehackt wurde, wo selinux das Funktionieren des Exploits verhindert hat. – Eddie

1

Ich deaktiviere es nicht, aber es gibt einige Probleme.

Einige Anwendungen funktionieren nicht besonders gut damit.

Zum Beispiel, glaube ich, dass ich Smartd aktiviert habe, um zu versuchen, meine RAID-Platten s.m.a.r.t. status, aber selinux würde verwirrt über die neue /dev/sda* Knoten beim Booten erstellt werden (ich glaube, das ist, was das Problem war)

Sie müssen die Quelle zu den Regeln herunterladen, um Dinge zu verstehen.

Überprüfen Sie einfach /var/log/messages für die "AVC verweigert" Nachrichten und Sie können decodieren, was verweigert wird.

google "selinux faq" und Sie werden eine Fedora selinux FAQ finden, die Ihnen sagen wird, wie man durch diese Probleme arbeitet.

7

Ich habe letztes Jahr für ein Unternehmen gearbeitet, wo wir es mit der auf CentOS 5.x-Systemen aktivierten "zielgerichteten" Richtlinie durchgesetzt haben. Es hat den Webanwendungscode, an dem unsere Entwickler gearbeitet haben, nicht beeinträchtigt, da Apache in der Standardrichtlinie enthalten war. Es hat einige Probleme für Software verursacht, die von Nicht-Red Hat (oder CentOS) -Paketen installiert wurde, aber wir haben es geschafft, das mit dem Konfigurationsmanagement-Tool Puppet zu umgehen.

Wir haben die Puppet-Vorlagenfunktion verwendet, um unsere Richtlinien zu erstellen. Siehe SELinux Enhancements for Puppet, Überschrift "Future stuff", Artikel "Policy Generation".

Hier sind einige grundlegende Schritte von der Art, wie wir dies implementiert haben. Beachten Sie, dass dies alles außer dem audit2allow automatisiert war.

Erstellen Sie eine SELinux-Vorlagendatei für einen Dienst namens $ {name}.

sudo audit2allow -m "${name}" -i /var/log/audit/audit.log > ${name}.te 

Erstellen Sie ein Skript, /etc/selinux/local/${name}-setup.sh

SOURCE=/etc/selinux/local 
BUILD=/etc/selinux/local 

/usr/bin/checkmodule -M -m -o ${BUILD}/${name}.mod ${SOURCE}/${name}.te 
/usr/bin/semodule_package -o ${BUILD}/${name}.pp -m ${BUILD}/${name}.mod 
/usr/sbin/semodule -i ${BUILD}/${name}.pp 

/bin/rm ${BUILD}/${name}.mod ${BUILD}/${name}.pp 

Das heißt, die meisten Menschen sind besser dran, nur SELinux zu deaktivieren und Härten ihres Systems durch andere allgemein akzeptierten Konsens Best Practices wie The Center for Internet Security's Benchmarks (beachten sie SELinux empfehlen :-)).

-1

Unter Red-Hat können Sie /etc/sysconfig/selinux bearbeiten und SELINIX=disabled einstellen.

Ich denke, unter allen Versionen von Linux können Sie selinux=0 noselinux der Boot-Zeile in lilo.conf oder grub.conf hinzufügen.

+0

Sie beantworten die Frage nicht wirklich. – Saustrup

5

Meine Firma stellt ein Produkt der CMS/Integrationsplattform her. Viele unserer Kunden verfügen über Legacy-Systeme von Drittanbietern, die noch wichtige operative Daten enthalten, und die meisten möchten diese Systeme weiterhin verwenden, weil sie einfach funktionieren. Also hängen wir unser System an, um Daten für die Veröffentlichung oder Berichterstattung etc. auf verschiedene Art und Weise herauszuziehen. Da jede Menge Client-Specific auf jedem Server ausgeführt wird, ist die Konfiguration von SELinux eine schwierige und kostspielige Aufgabe.

Viele Kunden möchten zunächst die beste Sicherheit, aber wenn sie die Kostenschätzung für unsere Integrationslösung hören, erscheinen die Worte "SELinux deaktiviert" ziemlich schnell im Projektplan.

Es ist eine Schande, als Verteidigung in Tiefe ist eine gute Idee. SELinux ist nie erforderlich für die Sicherheit, obwohl, und dies scheint sein Untergang sein. Wenn der Kunde fragt: "Können Sie es ohne SELinux sichern?", Was sollen wir beantworten? "Ähm ... wir sind nicht sicher"?

Wir können und wir werden, aber wenn die Hölle zufriert, und einige neue Schwachstellen gefunden werden, und die Updates einfach nicht rechtzeitig da sind und Ihr System Pech hat, der Ground Zero zu sein ... SELinux könnte nur deinen Arsch retten.

Aber das ist ein harter Verkauf.

+0

Sie meinen, wie sich herausstellt, Emacs C-M M-C M-Schmetterling Ziele Remote-Maschinen Festplatten ebenso wie lokale? – Joshua

2

Leider schalte ich SELinux auch die meiste Zeit aus, weil eine gute Menge von Anwendungen von Drittanbietern, wie Oracle, nicht gut mit SELinux funktioniert und/oder nicht auf Plattformen mit SELinux unterstützt werden.

Beachten Sie, dass das eigene Satellite-Produkt von Red Hat das Ausschalten von SELinux erfordert, was - wiederum leider - viel über Schwierigkeiten bei der Ausführung komplexer Anwendungen auf SELinux-fähigen Plattformen aussagt.

Anwendungstipps, die für Sie nützlich sein können oder nicht: SELinux kann zur Laufzeit mithilfe von setenforce ein- und ausgeschaltet werden (verwenden Sie getenforce, um den aktuellen Status zu überprüfen). restorecon kann in Situationen hilfreich sein, in denen chcon umständlich ist, aber ymmv.

0

Ich habe Selinux nie deaktiviert, mein Auftragnehmer muss es verwenden. Und, wenn/wann einige Daemon (mit OSS-Lizenz btw) keine Sicherheitsrichtlinie haben, ist es zwingend notwendig, eine (gute) zu schreiben. Dies ist nicht, weil ich glaube, dass selinux ein unverwundbarer MAC unter Linux ist - nutzlos, um ein Beispiel zu geben -, sondern weil es die Sicherheit des Betriebssystems auf jeden Fall erhöht. Für die Web-App ist die bessere OSS-Sicherheitslösung mod_security: also benutze ich beide. Das meiste Problem mit selinux liegt in der kleinen oder kompromittierbaren Doku, obwohl sich die Situation in den letzten Jahren stark verbessert hat.

1

Ja. Es ist hirntot. Es kann zu einem Bruch von Standarddämonen führen, der kaum zu diagnostizieren ist. Es kann auch eine Tür schließen, aber ein Fenster offen lassen. Das heißt, aus irgendeinem Grund bei neuen CentOS-Installationen blockierte smbd den Start von "/etc/init.d/smb". Aber es hat nicht verhindert, dass es gestartet wird, wenn es als "sh /etc/init.d/smb" oder "smbd -D" aufgerufen wird oder die init.d/smb-Datei in ein anderes Verzeichnis verschoben wird, von wo es nur smbd starten würde fein.

Also was auch immer es dachten, es zu tun, um unsere Systeme zu sichern - indem wir sie zerbrachen - es machte nicht einmal konsequent. Einige ernstzunehmende CentOS-Gurus werden von ihnen auch nicht inkonsistent behandelt. Es wurde entwickelt, damit Sie sich sicher fühlen. Aber es ist eine Fassade der Sicherheit. Es ist ein Ersatz für die eigentliche Aufgabe, die Systemsicherheit zu reduzieren.

+0

Sie machen es falsch. Der richtige Weg ist 'run_init service '. Und vermasseln Sie Ihre Etiketten nicht mit _moving_ Dateien herum; Kopiere sie stattdessen. –

-1

Wenn es standardmäßig aktiviert ist, lasse ich es eingeschaltet, bis es etwas unterbricht, und dann geht es los.

Ich persönlich sehe es als keine Sicherheit bieten und ich werde mich nicht damit beschäftigen.

0

Eine CENTOS-Box, die ich als Entwicklungsmaschine hatte, hatte sie an und ich schaltete sie aus. Es hielt einige Dinge an, die ich versuchte, um die Web-App zu testen, die ich gerade entwickelte. Das System war (natürlich) hinter einer Firewall, die den Zugriff von außerhalb unseres LANs vollständig blockierte und eine Menge anderer Sicherheit vor Ort hatte, so dass ich mich selbst mit SELinux einigermaßen sicher fühlte.

3

Ich arbeitete für einen großen Computerhersteller in der 3rd-Level-Unterstützung für RedHat Linux (sowie zwei andere Varianten), die auf den Servern dieses Unternehmens laufen. In den allermeisten Fällen hatten wir SELinux ausgeschaltet. Mein Gefühl ist, dass, wenn Sie wirklich SeLinux brauchen, Sie wissen, dass Sie es brauchen und können spezifisch erklären, warum Sie es brauchen. Wenn Sie es nicht brauchen, oder nicht klar artikulieren können, warum, und es standardmäßig aktiviert ist, erkennen Sie ziemlich schnell, dass es ein Schmerz im hinteren Ende ist. Geh mit deinem Bauchgefühl.

1

Ich schalte es auf allen meinen cPanel-Boxen aus, da cPanel nicht damit läuft.

+0

Wenn Sie cPanel verwenden, sind Sie wahrscheinlich nicht die Zielgruppe von SELinux. – Saustrup