Mi trabajo, mi carrera y mis amigos, hacen que a menudo me plantee por qué Linux es mejor, o si lo es realemente. Yo estoy convencido de ello pero... ¿Realmente lo es? ¿Es Linux mejor que Windows? Un gran amigo, con el que hablo de esto, me hizo ya en su día plantearme como optimizar Windows. Pero ahora quiero ir más allá. Comienzo en este post con una serie de no sé cuantos post en los que el objetivo no es más que el de informar. ¿Es Linux más seguro? Vamos a ver la respuesta.
Voy a explicar un par de cosas antes. Cualquier usuario de Linux, desde que empieza a usarlo, se da cuenta de que es más seguro que Windows... pero no sabe como explicarlo. Esto es lo que yo prentendo hacer hoy.
Este post, y la información que en él se encuentra, está debidamente contrastada con información de Internet, y de libros de seguridad informática.
Como no sé muy bien como estructurar esto para que tenga fundamento, vamos a ir paso a paso. Voy a dar primero una lista de ventajas y desventajas... y luego, a contrastar todo con hechos reales, de la vida, relacionados con empresas y organizaciones que todos conocemos, y que tienen una opinión muy difícil de cambiar respecto a este tema. Comencemos pues.
¿Qué es la seguridad?
Es necesario responder a esta pregunta antes de continuar. Mucha gente cree que es correcto decir que un producto como tal, es seguro, pues es un producto, y no una mezcla de varios. De esta forma, Windows sería más seguro que Linux. En realidad, la seguridad no es un producto, algo que viene ya "para llevar". Se trata, más bien, de un proceso en la que el usuario juega un rol central. En otras palabras, la seguridad es un estado que debe ser mantenido activamente a través de una interacción adecuada y responsable entre el usuario y el software y/o sistema operativo instalado.Ningún software o sistema operativo es capaz de aportar ningún tipo de seguridad si el administrador pone claves tontas como "12345", o si no toma las prevenciones necesarias. Dicho esto, sí es cierto que hay programas y SO más seguros que otros en tanto tienen menos "agujeros" o vulnerabilidades, se actualizan más rápido y, en términos generales, le hacen la vida más difícil a los atacantes.
En este sentido podemos decir que Linux es más seguro que Windows. Ahora bien, ¿qué es lo que hace que Linux sea más difícil de vulnerar? Bueno, una respuesta que he leído tiene que ver con el "security through obscurity" o "seguridad por oscuridad". Básicamente, lo que argumentan muchos supuestos "expertos en seguridad" cuando se les pregunta por qué Linux es más seguro es que, como la mayor parte del mercado de SO está en manos de Microsoft Windows, y los hackers malos quieren hacer el mayor daño posible, atacan a Windows. La mayor parte de los hackers quieren robar la mayor cantidad de información posible o realizar alguna acción que los destaque por sobre los demás y les dé "prestigio" dentro de su círculo. En la medida en que Windows es el SO más usado, realizan todos los esfuerzos para crear hacks y virus que afecten ese SO, dejando de lado los demás.
Me parece muy importante destacar que hoy prácticamente nadie cuestiona que efectivamente Linux sea más seguro que Windows. En lo que se equivocan los supuestos "expertos" (ojo, si los pongo entre comillas, es que son los típicos enterados, pero no expertos reales) es en la fundamentación. Los expertos reales, no lo atribuyen a esto, pero sigamos para no dejarnos nada.
Los "expertos", como decía, sólo se basan en un mero dato estadístico para explicar por qué Linux es más seguro: existen menos virus y malwares (programas malintencionados) para Linux en comparación con la enorme cantidad que hay para Windows. Por tanto, Linux es más seguro... por ahora. Claro, al basar toda su argumentación en este mero dato, en cuanto más usuarios se pasen a Linux, los hackers malos van a concentrarse cada vez más en crear utilidades y herramientas malignas para explotar todas y cada una de las vulnerabilidades de Linux. La supuesta seguridad de Linux, si estamos de acuerdo con el análisis de los "expertos", sería una gran mentira. Linux no sería seguro, sino utilizado por poca gente. Nada más... En cambio, creo y he leído en fuentes verdaderamente expertas que la mayor seguridad que aporta Linux se basa en algunos aspectos fundamentales de su diseño y arquitectura de datos.
Otro dato estadístico basta para empezar a darnos cuenta de que esos primeros "expertos" no lo son en realidad. El servidor web Apache (un servidor web es un programa que se encuentra alojado en un computador remoto que aloja y envía las páginas a tu explorador web cuando el visitante pide acceso a esas páginas), que es software libre y corre generalmente bajo Linux, tiene la cuota de mercado más grande (mucho mayor que la del servidor IIS de Microsoft) y a pesar de ello sufre muchos menos ataques y tiene menos vulnerabilidades que los de Microsoft. En otras palabras, en el mundo de los servidores donde la historia es al revés (Linux + Apache poseen la mayor cuota del mercado), Linux ha demostrado ser más seguro que Windows. Las empresas de software más grandes del mundo, los proyectos científicos más ambiciosos, incluso los gobiernos más importantes, todos eligen Linux para almacenar y proteger la información de sus servidores y cada vez más son aquellos que lo están empezando a elegir como sistema de escritorio.
¿Qué hace a Linux más seguro?
Ya he dicho que, al final, se demuestra que Linux es más seguro en cuanto a su uso (mucho más usado en empresas y organizaciones importantes), pero... ¿qué cosas lo hacen más seguro? Vamos a ver una enumeración de las características que hacen a Linux tan seguro, unas 8 o 9, según me explaye escribiendo y según vea por aquí y por allá en la web. Y en esto, muchas revistas de seguridad, libros, webs, blogs y demás, coinciden.1- Es un sistema multiusuario avanzado
Linux se basa en Unix, un sistema originalmente diseñado para su uso en redes, lo cual explica algunas de sus ventajas en cuanto a seguridad con respecto a Windows. El usuario con más privilegios en el SO (Sistema Operativo) es el administrador o root, que puede hacer CUALQUIER cosa en el SO. El resto de usuarios, comunes, no tienen estos privilegios, y necesitan del permiso del administrador para realizar ciertas operaciones. Si por ejemplo, mientras un usuario común está usando un PC con Linux, es infectado con un virus, únicamente afectaría a la porción del SO a la que el usuario puede acceder. Por tanto, como mucho, accedería a sus datos (su /home) y configuraciones, sin llegar a afectar al sistema en sí, pues en la ejecución del usuario común, no puede acceder a las partes críticas del sistema. Además, el root podría eliminar el virus fácilmente.En comparación, por ejemplo en Windows 7, las aplicaciones de usuario, como Internet Explorer o el propio explorador de archivos de Windows, tienen acceso a todo el sistema operativo. Es decir, supongamos que IE se vuelve loco y quiere borrar archivos críticos del sistema... pues nada, lo hace, nos jodemos, y todo sin enterarnos de nada. En Linux, en cambio, el usuario tendría que configurar explícitamente la aplicación para que se ejcutase como root para introducir el mismo nivel de vulnerabilidad. Lo mismo sucede con los propios usuarios. Supongamos que una persona inicia un PC con Windows XP o 7. Va a C:\Windows y borra todo. Lo mismo. Lo borra, y lo hace sin problemas (esto mismo lo he probado yo, en unas de mis idas de cabeza probando cosas). Los problemas vendrán la próxima vez que iniciemos el sistema, claro está. En Windows el usuario y cualquier programa que él instale tienen acceso para hacer prácticamente cualquier cosa en el SO. En Linux esto no sucede. Linux utiliza una administración de privilegios inteligente por el cual siempre que el usuario quiera hacer algo que sobrepase sus privilegios, como por ejemplo, borrar el contenido de /bin, se pedirá la contraseña del root.
Sí, es molesto... pero es lo que lo hace seguro. Hay que escribir la puñetera contraseña cada vez que se quiera hacer algo que puede poner en peligro o modificar al sistema; pero es esa puñetera contraseña la que lo salva de estos desastres. Esto es más seguro porque los usuarios "comunes" no tienen acceso para instalar programas, ejecutar llamadas del sistema, editar archivos del sistema, cambiar configuraciones críticas del sistema... y básicamente, nada relacionado con el "sistema" en sí mismo, salvo configuraciones personales, y datos personales.
Esto es así porque una vez que concluye la instalación de cualquier distro Linux, se nos solicita que creemos un root y un usuario común. Esta es una de las razones por las que Linux es más seguro. En Windows, se puede crear un único usuario, que será a la vez administrador... y claro, luego vienen los problemas de seguridad.
Desde el principio, Linux fue diseñado como un sistema multiusuario. Incluso ahora, las debilidades más importantes de Windows están vinculadas a sus orígenes como sistema independiente para 1 sólo usuario. Lo malo del modo de hacer las cosas en Windows es que no hay capas de seguridad. Es decir, una aplicación de alto nivel, como un explorador de internet o un procesador de textos, están unidos y pueden acceder a las capas más bajas del sistema operativo, con lo cual la más pequeña vulnerabilidad puede dejar expuesto a todo el sistema operativo.
Desde Windows Vista, ese PEQUEÑO desliz de Microsoft, se introdujo en Windows el Control de Cuentas de Usuario (UAC, en inglés) que hace que cada vez que quiera ejecutarse un programa o realizarse alguna tarea potencialmente peligrosa se requiera la contraseña del administrador. Sin embargo, la mayor parte de los usuarios de Windows 7 o Windows Vista inician sesión siempre como administradores o le otorgan derechos de administrador a sus usuarios. Al hacerlo, cada vez que quieran realizar alguna de estas tareas "peligrosas" el sistema simplemente mostrará un cuadro de diálogo que el usuario debe Aceptar o Rechazar (la famosa ventana emergente que tanto odiamos, que sale cada vez que queremos instalar algo). Cualquier persona que se apodere de tu PC, automáticamente tiene privilegios de administrador para hacer lo que quiera. Para una comparación completa entre UAC y su, sudo, gksudo y demás sistemas de logueo como root en Linux, recomiendo leer este artículo de Wikipedia. En él, puede verse esa famosa ventana de Windows 7 pidiendo permisos de administrador.
2- Mejor configuración por defecto
Por su parte, la configuración por defecto en todas las distros Linux es mucho más segura que la configuración por defecto de Windows. Este punto está ligado con el anterior: en todas las distros Linux el usuario tiene privilegios limitados, existiendo además de el un usuario root; mientras que en Windows casi siempre el usuario tiene privilegios de administrador. Cambiar estas configuraciones es muy fácil en Linux y un poco complicado en Windows, ya que habría que crear otro usuario que fuese administrador, para quitar los permisos al primero (esto también lo he sufrido yo).Sin embargo, en la realidad, esto último casi nunca sucede. La mayor parte de los usuarios de Windows tiene privilegios de administrador... es lo más cómodo.
3- Linux y su "asegurabilidad"
En la medida en que la seguridad, como ya dije al comienzo, no es un estado sino un proceso; aún más importante que venir "desde fábrica" con una mejor configuración por defecto, es poder brindarle al usuario la libertad suficiente como para adaptar los niveles de seguridad a sus necesidades. A esto es a lo que muchos de los autores que he leído llaman "asegurabilidad". En este sentido, Linux no sólo es reconocido por su enorme flexibilidad sino por permitir ajustes de seguridad que serían imposibles de conseguir en Windows. Esta es la razón, precisamente, por la que las grandes empresas eligen Linux para administrar sus servidores web. Es MUCHO más configurable.4- En Linux no hay "ejecutables" ni registros
En Windows, los programas maliciosos (conocidos como malware) generalmente son archivos ejecutables (los .exe) que, luego de engañar al usuario o pasar su control, se ejecutan e infectan la máquina. Una vez que esto sucede, es muy difícil eliminarlos, ya que en caso de que podamos encontrarlo y eliminarlo, éste se puede replicar e incluso puede guardar configuraciones en el registro de Windows que le permitan "revivir" (ay Dios lo que hace la experiencia... ¿cuantas veces me habrá pasado?). En Linux, en cambio, no existen, en el sentido "Windows" de la palabra, archivos ejecutables (los .exes que les das doble click, y listo). En realidad, la ejecutabilidad es una propiedad de cualquier archivo (sin importar su extensión), que el administrador o el usuario que lo creó puede otorgarle. Por defecto, ningún archivo es ejecutable a menos que alguno de estos usuarios así lo establezcan. Esto hace que para que un virus se reproduzca a través de, por ejemplo, correo electrónico, el usuario que recibe el virus debería guardar el archivo adjunto en su PC, otorgarle derechos de ejecución al archivo y, finalmente ejecutarlo. El proceso, como es obvio, se complica, especialmente para el usuario menos experimentado. Además, es obvio también que si el malware pretende acceder a partes críticas del sistema... debería recibir los permisos de ejecución por parte del root, por lo que lo complica aún más.Además, Linux utiliza archivos de configuración en vez de un registro centralizado como el de Windows. Es conocida aquella frase que dice que "En Linux todo es un archivo", por parte de los usuarios más experimentados de Linux. Esta descentralización, que permite evitar la creación de una enrome base de datos hipercompleja y enredada, facilita enormemente la eliminación y detección de los malwares así como dificulta su reproducción, teniendo en cuenta que un usuario normal no puede editar archivos del sistema, que ya expliqué en el ejemplo anterior.
5- Linux está mejor protegido contra ataques zero-day
No siempre es suficiente con tener todo el software actualizado. Voy a explicar primero que es un zero-day, porque es un poco "jodido" en lo que a seguridad informática se refiere. Un ataque zero-day es un ataque que explota vulnerabilidades que los propios desarrolladores del software todavía desconocen, y son cada vez más comunes. Se considera uno de los más peligrosos instrumentos de una guerra informática. Un estudio ha demostrado que lleva solamente seis días a los crackers desarrollar malware que explote estas vulnerabilidades, mientras que le lleva meses a los desarrolladores detectar estos agujeros y lanzar los parches necesarios.Por esta razón, una política de seguridad sensible tiene siempre en cuenta la posibilidad de ataques zero-day. Windows XP no cuenta con tal provisión. Vista y 7 (y creo que también Windows 8), en modo protegido, aunque es útil, proveen solamente protección limitada a los ataques a Internet Explorer... pero solo a ese programa. En contra en Linux, la protección provista por AppArmor o SELinux es ampliamente superior, proveyendo una protección muy buena contra cualquier tipo de intento de ejecución de código en forma remota. Por esta razón, es cada vez más común que las distros Linux vengan con AppArmor (SuSE, Ubuntu, etc.) o SELinux (Fedora, Debian, etc.) por defecto. En otros casos, se pueden bajar fácilmente desde los repositorios e instalarlos.
6- Linux es un sistema modular
El diseño modular de Linux permite eliminar un componente cualquiera del sistema en caso de ser necesario. Se podría decir que en Linux todo es un programa, además de archivos. Hay un programa que gestiona las ventanas, otro que gestiona los logins, otro que se encarga del sonido, otro del vídeo, otro de mostrar un panel de escritorio, otro que funciona como dock, otro que gestiona las redes... Finalmente, como las piezas de un Lego, todas ellas forman el sistema de escritorio que conocemos y utilizamos diariamente. Windows, en cambio, es un solo bloque. Así, por ejemplo, en caso de que tengas la sospecha de que el explorador de archivos de Windows (Windows Explorer) tiene algún fallo de seguridad, no vas a poder eliminarlo y reemplazarlo por otro. Tendrás que volver a instalar TODO el sistema.7- Linux es SOFTWARE LIBRE
Cuando se habla de Linux, siempre se termina hablando de software libre. Pero sí, definitivamente esta es una de las razones más importantes por las que Linux es un SO mucho más seguro que Windows porque, en primer lugar, los usuarios pueden saber exactamente qué hacen los programas que componen el SO y, en caso de detectar una vulnerabilidad o irregularidad, pueden corregirla al instante sin tener que esperar un parche, actualización o los super famosos Service Packs. Cualquiera puede editar el código fuente de Linux y/o los programas que lo componen, eliminar la brecha de seguridad y compartirla con el resto de los usuarios. Además de ser un sistema más solidario, que fomenta la participación y la curiosidad de los usuarios, es mucho más práctico a la hora de resolver agujeros de seguridad. Más usuarios que pueden ver el código son más ojos que permiten la detección y solución más rápida de los problemas. En otras palabras, hay menos agujeros de seguridad y los parches se lanzan más rápidamente que en Windows.Además, los usuarios de Linux estamos mucho menos expuestos a los programas spyware y/o cualquier otro programa que obtenga información del usuario en forma oculta o engañosa. En Windows, no tenemos que esperar a infectarnos con algún programa malicioso para sufrir este tipo de robo de información; existen pruebas de que el propio Microsoft e incluso otros programas muy reconocidos realizados por otras empresas, han adquirido información sin el consentimiento de los usuarios. Por ejemplo, en este artículo de DesdeLinux, hablan del escándalo del programa PRISM, por el que la NSA de EEUU ha obtenido muchos datos de los usuarios de internet... y ¿a que no adivináis quién contribuye a tal esfuerzo? Sí, Microsoft. Concretamente, Microsoft es acusado de utilizar software con nombres confusos, como el Windows Genuine Advantage, para inspeccionar los contenidos de los discos rígidos de los usuarios. El acuerdo de licencia incluido en Windows requiere que los usuarios acepten esta condición antes de usar Windows y afirma el derecho de Microsoft para hacer este tipo de inspecciones sin notificar a los usuarios. En definitiva, en la medida en que la mayor parte del software para Windows es privativo y cerrado, todos los usuarios de Windows y los desarrolladores de programas para ese SO dependen de Microsoft para solucionar las brechas de seguridad más graves. Lamentablemente, Microsoft tiene sus propios intereses en materia de seguridad, que no necesariamente son los mismos que los de los usuarios.
8- Los repositorios, o adiós a los serials, cracks y demás
El hecho de que Linux y la mayor parte de las aplicaciones que se escriben para correr en Linux sean software libre ya, de por sí, es una enorme ventaja. No obstante, si esto no estuviera combinado con el hecho de que todo ese software se encuentra disponible para su descarga e instalación desde una fuente centralizada y segura (los repositorios), probablemente su ventaja comparativa respecto de Windows no sería tan considerable.Todos los usuarios de Linux sabemos que al instalar Linux automáticamente nos olvidamos de buscar seriales y cracks que, por otra parte, nos obligan a navegar por sitios inseguros o deliberadamente diseñados para hacer caer a los usuarios e infectarlos con virus. Tampoco precisamos de la instalación de ningún crack, los cuales muchas veces tienen algún virus o malware por ahí escondido. En cambio, sí tenemos, dependiendo de la distro que usemos, una serie de repositorios desde los cuales bajamos e instalamos el programa que necesitemos con un simple clic. Fácil, y sobre todo, SEGURO.
Ya desde los primeros pasos de la instalación de Windows, éste demuestra su amplia superioridad en términos de seguridad. A medida que el proceso de instalación comienza, se insiste en que el usuario introduzca un número de serie (serial) antes de continuar. Sin esta información vital, el usuario no puede continuar con la instalación (o puede hacerlo, pero tiene 3 días para introducirlo antes de que caduque su SO y no pueda utilizarlo propiamente). La mayor parte de los usuarios de Windows por suerte todavía no saben que una búsqueda rápida en Google puede brindarle acceso a miles de SERIALES, así que esta pieza de información es la DEFENSA más PODEROSA contra los indeseados back-doors. Sí... es broma :) ¿Qué seguridad brinda un sistema que puede ser crackeado y vulnerado de modo que se pueda evitar introducir, o pueda piratear, el serial, único medio a través del cual Microsoft se asegura que los usuarios paguen por sus copias? Yo no digo nada y lo digo todo... pero en este aspecto, es un SO malo. Tanto, que no se preocupan de hacer su instalación infranqueable, y que sea necesario sí o sí el uso de un número de serie PAGADO. Y eso que es un SO privativo y de pago...
9- Actualizaciones de Windows... esas odiosas actualizaciones
Me acuerdo ahora escribiendo este post, de uno de los ordenadores con los que he hecho mis pinillos de informático, ya sea arreglándolos o formateándolos. Sobre todo, recuerdo los que tenían Windows XP. El primer XP venía con el IE 6 (de agosto de 2001), el XP con el Service Pack 1 venía con el IE 6 SP1 (de septiembre de 2002)... y el XP SP2 venía con el IE 6 SP2 (de agosto de 2004). ¿Ves a lo que me refiero? Imagina que tienes Windows XP SP2 (ojo, que en 2014 le retiran el soporte, y todavía sigo viendo ordenadores con este sistema), estás utilizando un explorador que fue desarrollado ¡hace casi 10 años!. No hace falta explicar la enormidad que esto significa en términos del desarrollo de software, y sobre todo... de lo anticuado que será. En esos años no sólo se detectaron y explotaron miles de vulnerabilidades a Windows XP sino también al explorador que utiliza por defecto.En Linux la cuestión es bien diferente. Es mucho más seguro que Windows porque está siendo permanentemente actualizado. Gracias a que Linux es un sistema modular, desarrollado como software libre y que cuenta con un sistema de repositorios de gestión de actualizaciones e instalación de nuevos programas, estar al día es MUY fácil. Desde el explorador de internet hasta el más recóndito programita que gestiona los privilegios de usuarios o la gestión de las ventanas, etc., pasando por el kernel y los drivers necesarios para el funcionamiento del sistema, todo se actualiza mucho más rápido y fácil que en Windows.
Precisamente, en Windows, las actualizaciones se realizan una o dos veces por mes. Claro, eso si no las desactivaste, ya sea porque te resultaban molestas, porque consumían parte de tu ancho de banda o simplemente por temor a que Microsoft detectara de algún modo tu copia ilegal. Pero eso no es lo peor. La actualización de cada una de las aplicaciones es independiente, esto significa que Windows no se encarga de actualizarlas, cada una de ellas tiene que encargarse de ello. Como bien sabemos, muchas no tienen la opción de buscar las actualizaciones. Es el usuario el que se tiene que preocupar por enterarse del lanzamiento de una nueva versión, la descarga y la posterior actualización (siempre con el temor de no saber si tiene que borrar la versión anterior o no). Y luego está el tema de que 10 actualizaciones de Windows pueden tardar como 30 minutos en instalarse... mientras el sistema se apaga... y lo hace de manera totalmente ajena al usuario, cosa que en Linux no pasa. Pero bueno, esto ya no sería tema de seguridad, sino de rapidez.
En conclusión, se puede ver con una lectura rápida que Linux es efectivamente más seguro que Windows en todos o casi todos los sentidos. Además, como dije, las empresas y organizaciones más importantes, como la NASA, que cambia de Windows a Linux recientemente por ser Linux un sistema más "estable y fiable"; Google, que utiliza Linux; o el CERN, uno de los proyectos científicos más importantes del mundo, la Organización Europea para la Investigación Nuclear, cuyo sistema informático está impulsado por completo por Linux. Esos son unos pocos... puedes ver aquí más sitios donde se usa Linux... como por ejemplo, el núcleo de Android.
Y en cuanto pueda, haré también un post sobre rapidez. Así, a modo de "continuará".
No hay comentarios :
Publicar un comentario