Lección 2: Asegurando clientes y servidores. Francisco Javier Cervigon Ruckauer

Lección 2: Asegurando clientes y servidores

En esta lección se plantea, desde un punto de vista práctico, cómo endurecer los sistemas (del inglés, system hardening). El endurecimiento, aseguramiento o robustecimiento, dependiendo de la traducción elegida, consiste, básicamente, en aplicar en cada sistema las medidas preventivas que se consideren apropiadas en función del nivel de seguridad que se desea conseguir. Las medidas a aplicar van a depender de la función que vaya a desempeñar cada sistema y de ahí el título de la lección, que hace referencia a los diferentes riesgos asumidos por clientes y servidores.
Siguiendo con el enfoque práctico del curso, en esta lección se hará el hardening de la máquina extc de NETinVM. Para contextualizar adecuamente las diferentes acciones prácticas, la lección incluye tres vídeos introductorios, cada uno de los cuales precede a los ejercicios en los que se aplican los conceptos introducidos.
El primer vídeo, "Endurecimiento de sistemas (system hardening)" explica en qué consiste el endurecimiento de sistemas e incluye las recomendaciones necesarias para conseguirlo. El vídeo comienza por las aplicables a cualquier tipo de sistema, continúa con las específicas para servidores y finaliza con las recomendaciones para máquinas con el rol de cliente. Siguiendo con las recomendaciones de este vídeo, los primeros ejercicios consisten en aplicar los parches disponibles para extc y limitar los servicios en ejecución.
El siguiente paso sería limitar el acceso a los servicios. Para conseguirlo se utilizan habitualmente programas envolventes (wrappers) como tcpd o xinetd y, por supuesto, el filtrado de paquetes. Para hacer más corta la lección, se ha optado por utilizar únicamente el filtrado de paquetes y, por eso, el segundo vídeo "Filtrado de paquetes con IPTABLES", explica el soporte para filtrado de paquetes en Linux (Netfilter/Iptables) y muestra cómo utilizarlo en los nodos de NETinVM. Lógicamente, el siguiente ejercicio consiste en configurar el filtrado de paquetes en un servidor (extc, en este caso).
Finalmente, es necesario robustecer al máximo los servicios que es necesario ofrecer. Como cada servicio tiene sus propios problemas de seguridad, se ha optado por utilizar como caso de ejemplo el servicio SSH, necesario para la administración remota de servidores.  SSH se apoya fuertemente en técnicas criptográficas para garantizar su seguridad y, por tanto, es necesario tener claras algunas ideas básicas sobre criptografía para poder configurar y utilizar adecuadamente esta herramienta. Por eso, el tercer vídeo "Criptografía en SSH" introduce los conceptos básicos de criptografía necesarios para entender SSH y sus mecanismos de seguridad, mostrando cómo se pueden utilizar estos conceptos para trabajar con SSH aprovechando la autenticación mediante criptografía asimétrica. La lección finaliza con ejercicios en los que se robustece el servidor SSH de extc y se utiliza la criptografía asimétrica para la autenticación y para la realización de tareas específicas de administración remota.
Francisco Javier Cervigon Ruckauer

No hay comentarios:

Publicar un comentario