10 de septiembre de 2011

Root power a lo old school


Después de haber caído de nuevo en la tentación de dar preferencias a otros temas profesionales y personales por distintas causas antes que a este blog, aprovecho esta tarde de sábado, de un fin de semana de esos que estoy agotado físicamente por liarme a organización de eventos deportivos, concretamente de BTT, para escribir una de las entradas que hace tiempo que tenía ganas de escribir.

Bueno después de lavarme la conciencia con excusas vamos al lío.

Menciono de antemano que nadie se tome el contenido de esta entrada como una buena práctica, y menos para usuarios no catalogados como frikis de muchos de las distribuciones Linux que corren por ahí, sino como algo totalmente de gusto personal, aunque muchas de los aspectos los argumente desde un sentido que pueda parecer racional. Advertidos estáis, paso a meterme de lleno en el tema.

Todos sabemos que desde ya hace bastante tiempo en gran parte de las distribuciones de Linux viene con la herramienta sudo instalada y con una configuración básica que permite ejecutar cualquier comando del sistema desde el usuario que se crea en la instalación del SO.

A mi la herramienta me parece cojonuda, pero cuando me topé con ella sin haber consultado su documentación y habiendo enterado de ella cuando volví a la carga con un SO Linux, después de un tiempo sin usarlo, me saltaron chispas al ver que no podía entrar con la cuenta de root al sistema; en ese tiempo sabático que me tomé después de haber terminado la universidad y haber empezado lo que podríamos llamar entre comillas “mi vida completamente laboral/profesional”, no estuve muy al día sobre el mundo Linux y los recuerdos que me quedaron fueron los de la universidad, tiempo en el que la herramienta sudo o no existía, o yo no la conocía, y con las distribuciones que tocaba, no venía instalada y preconfigurada como ahora viene, es decir, que cuando instalabas un Linux, metía las contraseña de root y luego según si eras aplicado y te dejabas recomendar, optabas por crear una cuenta sin privilegios administrativos para usar el sistema tu día a día.

El momento inicial me jodí y adopte lo que venía dado, ejecutar todo lo que necesitaba derechos administrativos con sudo.

El tiempo ha ido pasando, y finalmente en mi mundo personal (el de trastear por casa con los equipos que más utilizo) opté por seguir cultivándome con Linux, ya que en el mundo profesional estaba y estoy inmerso en el mundo Microsoft (que esto no se tome como una discriminación entre ambos, cada uno, como todo en este mundo, tiene cosas buenas y otras malas, cosas que nos gustan y que no nos gustan, pero yo soy de los de según lo que necesitemos optar por la que mejor cumpla las necesidades de cada momento, sin casarme con nadie); eso si mi cultivo no era el de productor agrario sino el del típico dominguero que tiene un huerto en su segunda residencia, es decir que gran parte de mi tiempo libre me dedico a jugar en este inmenso mundo de la informática, con ojos de generar beneficio económico, pero si no lo hay, me divierto un poco según lo que me voy topando y también si me va viniendo en gana.

Hace algún tiempo, le tocó el turno a profundizar un poco en el tal sudo; algo que no vino antes, porque como mi evolución del uso personal de un Linux, cambió de distribución, de una Ubuntu a una Gentoo, perdí de manera intrínseca las cadenas que me ataban a no ser el amo del sistema, y que vino más tarde porque me metí un poco en aspectos de la seguridad, añadiéndola a la lista de curiosidades tecnológicas que me gustan, aprovechando que encima, eran importantes para mi posición profesional actual.

Después de ver de manera general como funciona la herramienta, no es que sea un gurú de ésta, la configuré sobre mi Gentoo, para evitar tener que ir cambiando de cuenta cuando a la vez que administraba el sistema, por ejemplo lo actualizaba, tuviese que estar constantemente cambiando de sesión con mi cuenta de usuario cuando la tarea administrativa toma algún tiempo, ya que la opción de usar el sistema de manera convencional (navegar por internet, etc.) desde un Dios, no me gusta nada, porque ya somos muy vulnerables para encima meter más leña al fuego. No obstante la configuración no fue como la que acostumbra a venir por defecto en la instalación de varias de las distribuciones disponibles, sino que limité las aplicaciones y/o comandos a ejecutar como root desde el usual usuario, así creo que hay menos riesgo si me usurpan la contraseña de éste.

Mi vida con Gentoo fue tirando así, pero ya hace bastante menos tiempo, que decidí cambiar la configuración de sudo del Ubuntu que tengo instalado en mi netbook, máquina que uso para llevármela por ahí y para estar tirado en algún lugar de casa haciendo el ganso, como ahora mientras escribo este post, es decir que necesito que esté estable de manera fácil lo máximo posible y que el hardware esté disponibles sin tener que romperme mucho la cabeza, sin perder lo que ya he mencionado, estar inmerso en el mundo y filosofía Linux en mi tiempo libre. La configuración que establecí partió del mismo concepto que la de Gentoo pero como root continuaba sin ser accesible mediante una sesión tuve que investigar el porque, ya que hasta entonces lo ignoraba, descubriendo el porque no se podía iniciar sesión, que concretamente es porque la cuenta root es bloqueada con la opción --lock, comando passwd.

Descripción de la opción --lock del comando passwd

Así que activé la cuenta root con la manera tan fácil como asignándole un nuevo password ya que entiendo que al no haberme pedido ninguno en el momento de la instalación la cuenta estaba bloqueada pero no tenía ninguno asignado y si lo tenía lo desconocía, y desde ese momento ya podía hacer lo que siempre había deseado, que si quiero dedicarme a solo administrar la máquina no tenga que estar constantemente ejecutando sudo.

Bueno ya acabando con esto voy a responder algunas de las preguntas que yo mismo me hice.
  1. Con el cambio que he hecho en la configuración de sudo ¿mi sistema es más vulnerable?
    Yo entiendo que no, incluso menos, porque habiendo quitado la configuración estándar de sudo, que viene por defecto en la instalación de Ubuntu, he eliminado aspectos, como el tiempo que se guarda la autorización, cambiándola a 0 segundos, es decir que cada ejecución de sudo siempre me pide el password, independientemente del tiempo que haga de la última ejecución, y además he limitado que V solo autorice un número limitado de comandas y/o aplicaciones en vez de poder ejecutar cualquiera de estos.

  2. Ahora que root puede logearse en el sistema mi equipo ¿es más vulnerable?
    Podría ser lo si no le hemos asignado ningún password, o si hacemos mal uso de ella, utilizándola para otros menesteres que no sean los de administrar. Además, aunque tenga poco impacto, y sea una paranoia personal, teniendo otra cuenta con otro password que nos permita administrar la máquina, considero que es más seguro porque también exponer mucho menos el password, ya que usando sudo cada vez que ejecutas aplicaciones con derechos administrativos necesitas proporcionar el password de usuario exponiendo esté continuamente.

  3. ¿Es aplicable esta configuración a todos los distintos perfiles/tipos de usuarios?
    Considero que no, que la configuración por defecto de la instalación del SO es más aceptable para un usuario si no conocemos a que tipo pertenece, ya que los usuarios que no son unos frikis de los sistemas, no les gusta hacer muchos esfuerzos en mantener dos cuentas de usuarios, teniendo que recordar dos passwords distintos, así que configurándolo como a mi me mola, creo que una parte de estos caería en la tentación de utilizar la cuenta de root como la habitual, dejando olvidado la de usuario, corriendo el riesgo que se corre ejecutando la mayor parte de las aplicaciones con derechos administrativos, y más concretamente hoy en día, con la manera masiva en que utilizamos los navegadores conjuntamente con Internet.



Hasta la próxima enfermos.

No hay comentarios:

Publicar un comentario