Hosts-Datei schützen

Ich habe den Eindruck, dass es keine wirkliche Möglichkeit gibt, die Hosts-Datei vollständig zu schützen, ohne ein Nicht-Admin-Benutzerkonto auf meinem Mac zu erstellen und das Passwort des Admin-Kontos auf eines zu setzen, an das ich mich nicht erinnern werde.

Daher möchte ich als nächstbeste Alternative die Bearbeitung meiner Hosts-Datei erschweren .

Ich habe gelesen, dass es möglich ist, ein systemunveränderliches Flag für bestimmte Dateien zu setzen, das deaktiviert werden müsste, bevor die Dateien bearbeitet werden können.

Natürlich wäre es immer noch möglich, die Hosts-Datei zu bearbeiten, aber es würde es zumindest etwas kniffliger machen.

Ist dies eine empfehlenswerte Vorgehensweise? oder gibt es einen besseren Weg, es zu erreichen?

Wenn Sie verhindern möchten, dass Sie während der Arbeit Zeit auf Facebook usw. verschwenden, gibt es Anwendungen dafür :-)

Antworten (1)

Das Schützen mit „schg“, dem unveränderlichen Flag des Systems, ist eine mögliche Lösung, je nachdem, wie viel Schutz Sie benötigen. Sie können das schg-Flag mit setzen

sudo chflags schg /etc/hosts

Das Entfernen des Schutzes hängt von Ihrer Kernel-Sicherheitsstufe ab. Laufen sysctl kern.securelevel:

  • 1 bedeutet, dass Sie im Einzelbenutzermodus booten müssen, um auszuführen chflags noschg /etc/hosts,
  • 0 bedeutet, dass Sie einfach sudo chflags noschg /etc/hosts.

Anstelle von schg können Sie in El Capitan und höher das eingeschränkte Flag des Systemintegritätsschutzes verwenden. Sie können mit Recovery HD booten, um das Flag zu setzen chflags restricted /etc/hosts.

Dadurch wird die Datei vor Änderungen geschützt, während SIP aktiviert ist, was standardmäßig aktiviert ist und nur deaktiviert werden kann, indem die Recovery HD gestartet und ausgeführt wird csrutil disable.

Überprüfen Sie den Status von SIP, indem Sie Folgendes ausführen csrutil status: Wenn es aktiviert ist, können alle Dateien mit dem Restricted-Flag nicht geändert werden, ohne zuvor SIP von der Wiederherstellung zu deaktivieren, oder von Installern, die mit Apples Software-Update-Zertifikat signiert sind (selbst Root kann die Datei nicht ändern).

Danke! Ich verwende Yosemite, also sieht es so aus, als schgwäre dies die einzige Option. Meine Kernel-Sicherheit scheint auch auf eingestellt zu sein 0. Gibt es eine Möglichkeit, dies zu erhöhen?
Ich habe auch versucht, sudo chflags schg /etc/hostsim Terminal zu laufen, aber ich kann immer noch auf die Hosts-Datei zugreifen mit sudo nano /etc/hosts... ist das normal?
@pealo86 Leider habe ich keine Erfahrung mit dem Ändern der Sicherheitsstufe, vielleicht kann jemand anderes helfen, die Auswirkungen zu erklären, die dies haben könnte. Das Öffnen mit Nano verhindert nicht den Zugriff auf die Datei, sondern nur Änderungen – versuchen Sie, mit Nano in die Datei zu schreiben?
Ah, ich verstehe, was Sie damit meinen, dass Sie eigentlich keine Änderungen vornehmen können! Es gibt mir jetzt einen Fehler, wenn ich versuche, die Hosts-Datei zu schreiben ... das sollte dann gut funktionieren. Ich habe Mühe, den sudo chflags schgBefehl rückgängig zu machen, aber wenn ich ihn erneut ausführe, kann ich immer noch keine Hosts ändern?
@pealo86 Mit „vorherigem Befehl“ meinte ich den noschg-Befehl, den ich danach erwähne – ausführen, sudo chflags noschg /etc/hostsum den Schutz zu entfernen.
@grgarside Danke. Dieser Csrutil-Trick hilft Ihnen also, Änderungen zu verhindern, aber ein Angreifer kann die Datei trotzdem lesen, oder? Kann dies bei einer normalen, nicht benutzerdefinierten Hosts-Datei eine Bedrohung darstellen?
@grgarside Kann dieser Schutz mit csrutil auch dazu führen, dass einige Apps oder Dienste Fehler verursachen?
@Espressotron Eingeschränkte Dateien können weiterhin gelesen werden, SIP schützt nicht vor dem Lesen der Datei, da dies nicht der Zweck ist. Ich bin mir nicht sicher, ob ich verstehe, was Sie mit Bedrohung meinen – viele Prozesse lesen die Hosts-Datei und sollten nicht daran gehindert werden, aber das Schreiben ist eine andere Sache und muss selten durchgeführt werden. Apps sollten nur in sehr seltenen Fällen an Hosts schreiben, daher ist ein Fehler oder eine andere abgefangene Ausnahme Teil des Schutzes. Sollte Apple jemals die Datei in einem macOS-Update bearbeiten wollen, umgeht ihr SU-Zertifikat SIP wie vorgesehen, sodass dies kein Problem darstellt.
@grgarside ok großartig, vielen Dank, dass du dir die Zeit genommen hast, meine Fragen zu beantworten. Gibt es eine offizielle Hosts-Datei, mit der man vergleichen kann, wie die reguläre Hosts-Datei aussehen sollte?
csrutil@grgarside Wenn wir die von Ihnen erwähnte Technik anwenden , gibt es eine Möglichkeit zu überprüfen, ob der Schutz für diese Datei aktiviert wurde, wie beispielsweise beim Überprüfen der Berechtigungen für einen Ordner oder eine Datei?
@grgarside Wenn ich das Handbuch überprüfe, da chflagsdie Option nicht erwähnt wird restricted, gibt es eine Möglichkeit, ein detaillierteres Befehlshandbuch zu erhalten als das BSD General Commands Manual, das online weit verbreitet ist (einschließlich der Apple Developer Site)?