SUDO hasta en la sopa

Hace ya muchos años, cuando comencé con esto de la administración de sistemas en GNU/Linux, aunque existía y se conocía SUDO, no tenía la sobre-importancia que se le da hoy día.

SUDO es una herramienta con un fin concreto y esencial en su cometido. El problema es que hoy día se pretende homogeneizar como el estándar de facto para cualquier acción que requiera privilegios root en el sistema, otorgando una supuesta capa de seguridad extra. Y esto es falso, en el momento en que puedes ejecutar una shell con privilegios root mediante sudo, la seguridad extra se queda solo en apariencia. Incluso la posible utilidad de logear qué acción con privilegio ha sido ejecutada por qué usuario quedará en nada.

Si mal no recuerdo, fue Ubuntu la distribución que comenzó a popularizar su uso, y como capa de protección para usuarios de escritorio que realizan acciones específicas necesitando privilegios y utilizando una ventanita de autenticación para tal evento concreto es interesante utilizarlo pues permiten a un usuario inexperto realizar las acciones concretas sin saber casi ni lo que está haciendo (¿ os suena aquí Win… ?).

Pero no nos confundamos, si vas a trabajar en shell teniendo que realizar acciones con privilegios de forma rutinaria, sudo no es el camino. Es una pérdida de tiempo y un sin sentido. El administrador de sistemas ha tenido y debe tener la importancia y responsabilidad que merece y si le tiemblan los dedos por estar en una shell root a la que ha accedido con el veterano su o directamente con una llave ssh, pues mejor que se dedique a otra cosa.

Incluso me atrevería a decir que puede resultar peligroso su uso rutinario en sistemas. Si como administrador sabes que tienes sobre tus espaldas la responsabilidad de root no te descuidas, estás atento a cada tecla que pulsas y haces el micro-segundo de reflexión antes de pulsar el irrebocable «intro». Pero con «sudo» la cosa cambia, te puedes creer que estás protegido por él, pero las acciones pueden ser igual de desastrosas, esa falsa sensación de seguridad te puede hacer relajarte (aparte de acabar mareado leyendo sudo por todos lados) y cometer errores garrafales.

SUDO puede resultar muy útil si por ejemplo quieres otorgar a un desarrollador la posibilidad de reiniciar un servicio que requiere privilegios root de forma autónoma, y nada mas. Aquí su cometido es el correcto y para eso fue diseñado, no para reemplazar una shell root.

Finalmente también hay que considerar lo siguiente, cualquier aplicación extra en el sistema que permita escalada de privilegios, por su propia naturaleza es un vector de riesgo pues en si misma no está exenta de posibles bugs de seguridad que permitan comprometer el sistema (https://www.sudo.ws/sudo/security.html).

Cada cual es libre de gestionar sus sistemas como mejor entienda, personalmente salvo que sea realmente necesario para un uso concreto y justificado, prefiero tener sudo fuera de mis sistemas.