Hace unas semanas salió la noticia de que Panda Antivirus había llegado a un acuerdo con Canonical para ofrecer un antivirus gratuito para linux, en este caso Ubuntu. En principio es una buena noticia, siempre es buen o estar protegido. Pero después de leer las peripecias de dosydoscuatro… no se como de buena es la noticia:

  • por lo visto resulta que el programa es muy pesado
  • por lo visto resulta dificil que funcione

y ahora viene la gran pregunta: ¿Es necesario instalar un antivirus en Linux? Pues buscando en internet he encontrado una página extensa, completa y en inglés sobre los virus en linux. Y me he permitido traducir algunos de sus puntos fuertes. Aquí lo tenéis:

¿Debería instalar un antivirus para mi máquina Linux?

El problema de contestar esta pregunta a gente que sólo ha usado Sistemas Operativos donde los virus, troyanos, gusanos, controles ActiveX peligrosos, etc son una constante amenaza a su uso del sistema. Por tanto, se niegan a creer que Linux pueda ser distinto, a pesar de todo lo que se les diga.

Cualquier programa que se ejecute en Linux, virus incluidos, no pueden hacer nada que el usuario que lo ejecuta no pueda hacer. Los usuarios reales no tienen permiso para dañar el sistema: sólo puede hacerlo el root. Por tanto, tampoco los programas que ellos ejecuten podrán dañar al sistema.

Debido a la distinción entre procesos con privilegios (los que ejecuta el root) y los procesos de usuario, un ejecutable hostil no puede infectar ni manipular de ninguna manera el sistema en conjunto. Igual que tu puedes borrar sólamente tus propios archivos (es decir, los archivos para los que tienes permiso de escritura), los ejecutables que tu ejecutes no pueden afectar los archivos de otros usuarios o del root. Por tanto, aunque puedes crear o encontrar y ejecutar un virus, gusano o troyano, no puede hacer mucho. A menos que lo hagas como root. Algo que es fácil de evitar: nunca ejecutes ejecutables que no sean de confianza mientras estás logueado como root.

El primer virus para Linux fue “Bliss”, creado en 1996 como prueba de concepto. Si un usuario ejecutaba un archivo infectado, el virus se adhería a otros archivos para los que el usuario tuviera permiso de escritura, pero no otros. Por tanto no podía ir a ningún otro sitio ni infectar a ningún otro usuario. Ningún otro virus conocido hasta ahora (diez años después) ha sido capaz de hacerlo.

La mayor parte de la gente a que se hace esta pregunta (si debemos instalar un antivirus) no tiene experiencia con auténticos sistemas operativos multiusuario construidos con un sólido modelo de seguridad. En los sistemas operativos que usan, los procesos de usuario, directa o indirectamente pueden destruir o modificar cualquier parte del sistema. Esto es cierto incluso para Microsoft Windows XP, que pretende ser multiusuario, sin llegar a serlo. Se podrá discutir que hay cuentas de administrador y cuentas que no son de administrador, pero esto corresponde a un modelo TODO/NADA donde no hay término medio. O lo haces todo como administrador, o no puedes hacer casi nada.

El artículo sigue, y es muy bueno, pero creo que con esto basta, quedando claro por qué en Linux es difícil que haya virus. Al realizar cosas como root sabemos que estamos corriendo un riesgo, y por tanto, tenemos que ser conscientes de que no podemos tomarnos la cuenta de superusuario a la ligera, siendo preferible realizar todo como usuario normal y en el momento en que sea necesario hacer algo como root ejecutarlo como usuario con privilegios. Y siempre siendo conscientes de que el riesgo existe cuando se es root, por tanto, piensa si puedes fiarte del ejecutable que vas a abrir como root antes de hacerlo.

Distribuciones como ubuntu lo ponen aún más difícil, escondiendo el root, que a priori no puede iniciar una sesión como administrador. Además, el hecho de que las aplicaciones se instalen desde repositorios, permite que los usuarios se aseguren de que el material que instalan es fiable, ya que lo descargan desde sitios oficiales. Por último, los paquetes de los repositorios deben ser firmados para asegurar su fiabilidad, de forma que siempre puedes comprobar si es contenido arriesgado o no.