Proteger archivo de hosts

Tengo la impresión de que no hay una forma real de proteger el archivo de hosts por completo sin crear una cuenta de usuario que no sea administrador en mi Mac y establecer la contraseña de la cuenta de administrador en una que no recordaré.

Por lo tanto, me gustaría dificultar la edición de mi archivo de hosts como la siguiente mejor alternativa.

He leído que es posible establecer un indicador inmutable del sistema en archivos específicos que deberían desactivarse antes de poder editar los archivos.

Entonces, por supuesto, aún sería posible editar el archivo de hosts, pero al menos lo haría un poco más complicado.

¿Es este un enfoque recomendado? o hay una mejor manera de lograrlo?

Si desea evitar perder el tiempo en Facebook y todo mientras trabaja, hay aplicaciones para esto :-)

Respuestas (1)

La protección con 'schg', el indicador inmutable del sistema, es una posible solución, según la cantidad de protección que necesite. Puede configurar la bandera schg usando

sudo chflags schg /etc/hosts

La eliminación de la protección depende del nivel de seguridad de su kernel. ejecutar sysctl kern.securelevel:

  • 1 significa que necesita iniciar en modo de usuario único para ejecutar chflags noschg /etc/hosts,
  • 0 significa que simplemente puede sudo chflags noschg /etc/hosts.

En lugar de schg, puede usar el indicador restringido de System Integrity Protection en El Capitan y versiones posteriores. Puede iniciar Recovery HD para configurar el indicador usando chflags restricted /etc/hosts.

Esto protege el archivo de la modificación mientras SIP está habilitado, que está habilitado de forma predeterminada y solo se puede deshabilitar iniciando Recovery HD y ejecutando csrutil disable.

Verifique el estado de SIP ejecutando csrutil status: si está habilitado, los archivos con el indicador restringido no se pueden modificar sin deshabilitar SIP desde la Recuperación primero o mediante instaladores firmados con el certificado de Actualización de software de Apple (incluso la raíz no puede modificar el archivo).

¡gracias! Estoy ejecutando Yosemite, por lo que parece que schges la única opción entonces... la seguridad de mi kernel también parece estar configurada en 0, ¿hay alguna manera de aumentar esto?
También intenté ejecutar sudo chflags schg /etc/hostsen Terminal, pero aún puedo acceder al archivo de hosts con sudo nano /etc/hosts... ¿es esto normal?
@ pealo86 Desafortunadamente, no tengo experiencia con la modificación del nivel de seguridad, tal vez alguien más pueda ayudar a explicar cualquier impacto que esto pueda tener. En cuanto a la apertura con nano, esto no impide el acceso al archivo, solo las modificaciones. ¿Intenta escribir con nano en el archivo?
¡Ah, ya veo lo que quieres decir con que no puedes hacer modificaciones en realidad! ahora me da un error cuando trato de escribir el archivo de hosts... eso debería funcionar bien entonces. Estoy luchando por deshacer el sudo chflags schgcomando, sin embargo, si lo ejecuto de nuevo, ¿todavía no puedo modificar los hosts?
@ pealo86 Por "comando anterior" me refiero al comando noschg que menciono después: ejecutar sudo chflags noschg /etc/hostspara eliminar la protección.
@grgarside Gracias. Entonces, este truco de csrutil lo ayuda a evitar la modificación, pero un atacante aún puede leer el archivo, ¿verdad? ¿Puede esto representar una amenaza con un archivo de host normal no personalizado?
@grgarside ¿También puede esta protección usando csrutil causar errores en algunas aplicaciones o servicios?
Los archivos restringidos de @Espressotron aún se pueden leer, SIP no protege contra la lectura del archivo, ya que ese no es su propósito. No estoy seguro de entender lo que quiere decir con amenaza: muchos procesos leen el archivo de hosts y no se les debe impedir que lo hagan, pero escribir es algo diferente y rara vez es necesario realizarlo. Las aplicaciones no deberían estar escribiendo en los hosts, excepto en circunstancias muy excepcionales, por lo que tener un error u otra excepción detectada es parte de la protección. Si Apple alguna vez desea editar el archivo en una actualización de macOS, su certificado SU omite SIP como se diseñó, por lo que esto no es un problema.
@grgarside ok genial, muchas gracias por tomarse el tiempo para responder a mis preguntas. ¿Existe un archivo de hosts oficial con el que comparar para ver cómo debería ser el archivo de hosts normal?
@grgarside cuando hacemos la csrutiltécnica que mencionó, ¿hay alguna forma de verificar que la protección en ese archivo se haya activado como cuando se verifican los permisos para una carpeta o archivo, por ejemplo?
@grgarside cuando reviso el manual porque chflagsno mencionan la restrictedopción, ¿hay alguna manera de obtener un manual de comandos más detallado que el Manual de comandos generales de BSD ampliamente utilizado en línea (incluido el sitio de desarrolladores de Apple)?