• Securizar macOS con el root

    Tengo la intención de que este artículo sea una referencia en este asunto. Sobre todo porque probablemente sea la única referencia relacionada con éste tema que encuentres en toda Internet. Si bien es cierto que hay otros artículos que muestran como activar el root, ninguno indica que hay que borrar la cuenta que se crea por defecto al instalar el SO. Plus nadie considera este asunto como un paso extra para securizar macOS.  La verdad es que todavía no he encontrado ni un sólo blog de seguridad que toque estos temas así que intentaré explicarlo lo más claro que me sea posible. Si prestas atención y usas un poco la lógica, al acabar de leer el artículo y al haber puesto en práctica los pasos que detallaré a continuación, habrás aprendido como securizar macOS de la forma más sencilla y efectiva posible. Vamos allá:

    Preferencias del sistema >> Usuarios y grupos >> Opciones inicio >> Haz click en el candado para realizar cambios >> Pon la contraseña >> Botón «Acceder» del Servidor de cuentas de red >> Botón «Abrir utilidad de directorios» >> Haz click en el candado para realizar cambios >> Menu «Edición» >> Activar Usuario root.

    Nos pedirá una contraseña dos veces. Le ponemos una contraseña bien fuerte, la repetimos y cerramos la sesión que hemos iniciado con el usuario en el que estamos en ese momento.

    Una vez cerrada la sesión y ya en la pantalla de logueo, iniciamos sesión con el usuario root (sin contraseña), abrimos una terminal y ejecutamos en ella las siguientes órdenes (donde UsuarioViejo es el nombre de la cuenta del usuario viejo desde la que nos acabamos de desloguear):

    dseditgroup -o edit -d UsuarioViejo -t user staff
    dseditgroup -o edit -d UsuarioViejo -t user com.apple.access_screensharing
    dseditgroup -o edit -d UsuarioViejo -t user everyone
    dseditgroup -o edit -d UsuarioViejo -t user _appstore
    dseditgroup -o edit -d UsuarioViejo -t user localaccounts
    dseditgroup -o edit -d UsuarioViejo -t user _appserverusr
    dseditgroup -o edit -d UsuarioViejo -t user admin
    dseditgroup -o edit -d UsuarioViejo -t user _appserveradm
    dseditgroup -o edit -d UsuarioViejo -t user _lpadmin
    dseditgroup -o edit -d UsuarioViejo -t user _lpoperator
    dseditgroup -o edit -d UsuarioViejo -t user _developer
    dscl . delete /users/UsuarioViejo

    Una vez realizados los pasos anteriores el mac te quedará con un único usuario con todos los privilegios, el usuario root. Pero no es aconsejable utilizar ese usuario para nuestras tareas habituales por el riesgo que ello conlleva. Además muchas aplicaciones no funcionan siendo ejecutadas como root. Lo que vamos a hacer entonces es crear un usuario sin privilegios que será el usuario que utilizaremos habitualmente y no vamos a hacerlo gráficamente porque si bien todavía funciona, puede que en un futuro Apple cape la funcionalidad de agregar usuarios sin privilegios desde desde las preferencias del sistema y sólo te permita agregar usuarios con privilegios sudo si no hay otro usuario con privilegios sudo ya creado. Ello dejaría obsoleto este minitutorial y haría que tenga que re-escribirlo. Así que agregaremos el usuario sin privilegios desde la terminal. Para ello abrimos una terminal  y ejecutamos:

    sysadminctl -addUser NombreDeUsuario -password Contraseña

    Ahora sería aconsejable borrar el historial del shell para que no quede constancia de la contraseña en ningún archivo de texto plano. Lo hacemos con:

    history -c

    Completados todos los pasos de arriba ya podremos utilizar el sistema con nuestra cuenta sin privilegios recién creada.  Cuando la utilicemos por primera vez le ponemos nuestra cuenta de Apple y no tendríamos tener problemas para usar el mac como lo hacemos habitualmente. Eso si, cada vez que nos pida una cuenta de administrador para hacer alguna tarea será tendremos que utilizar la cuenta cuenta del usuario root.