seguridad en debian

hola !!! estoy ocupando un servidor con debian y qiero saber cuales son los puntos a tener en cuenta para tener un servidor seguro contra invasiones.
gracias,
Keny

Hola Keny!

La verdad que la seguridad informatica, es un tema que da para largo y quizás no nos alcance con un solo post, pero me parece una muy buena idea para que comencemos a debatir entre todos.

Primero tratemos de orientarnos hacia el lado del sistema operativo, en este caso Debian. Creo que un buen comienzo es la forma elegida para instalarlo, ya que en este tema menos es mas. Que quiero decir? En mi opinión, siempre es mejor hacer una instalación de un sistema base, e ir agregando uno a uno los servicios necesarios para evitar tener cosas que no necesitamos. Cuantas menos cosas tengamos, existen menos posibilidades de ser atacados por alguna vulnerabilidad y no solo esto si no que también es menos el tiempo empleado para actualizar el servidor, etc. Otro tema importante en cuanto a vulnerabilidades y estabilidad es la versión de Debian. Para esto es recomendable siempre estar dentro de la rama estable (por el momento “etch”).

Una vez que tenemos estas cosas listas, creo que lo siguiente a evaluar son los puntos de acceso a nuestro servidor. Es una buena práctica no usar servicios implementados sobre protocolos débiles.Que significa esto? Por ejemplo el FTP(Protocolo de transferencia); siempre va a ser necesario trasferir archivos, pero este protocolo envía los datos de autenticación en modo texto plano hacía el servidor. Un excelente reemplazo de esto es la utilización de un servicio SSH, ya que no solo nos sirve para utilizar SFTP(Protocolo de transferencia de archivos seguro) si no que también nos sirve para loguearnos y trabajar en el servidor en forma remota y segura, ya que todos los datos viajan encriptados.

A la hora del trabajo remoto, no es una buena idea utilizar los usuarios conocidos del sistema, que tienen privilegios elevados(“root”, “postgres”, etc). Por ejemplo, lo ideal sería que “root” no pueda loguearse vía SSH. Para esto se utilizaría un usuario común y estando adentro del sistema ahí si cambiaría de usuario(comando “su”). Con respecto a “postgres”, el superusuario entandar con privilegios sobre los clusters, no es bueno permitir su login remoto, ya que tiene permisos sobre todas las bases. Tampoco es recomendable que sea el propietario de todas las bases del cluster, por que si se vulnera su login estamos en problemas.

Lo mismo pasa con HTTP(protocolo de transferencia de hipertexto) a la hora de la autenticación, los datos viajan en forma plana. Para mejorar esto, es necesario configurar el Apache para que utilice SSL(Protocolo de Capa de Conexión Segura), así los datos de usuario y password viajan encriptados. Muchas otras consideraciones son posibles a la hora de hablar de Apache, como por ejemplo los rangos de ip´s permitidos para ingresar a las distintas aplicaciones, etc.

Otra cosa importante es la implementación de alguna clase de firewall. Este puede variar Según la versión del kernel que tengas. Por lo general, los mas comunes son los basados en “iptables”. En los repositorios oficiales hay uno muy bueno que se llama “arno-iptables-firewall”, que viene con una utilidad de configuración muy útil e intuitiva.

Quedan miles de cosas mas! Como la seguridad física del server, políticas de cambio de passwords, segmentación de las redes administrativas, etc. Pero bueno, este paneo general puede servirnos para empezar a debatir un tema tan extenso como interesante.

Te aconsejo empezar de a poco, preguntando todo lo que necesites.

Saludos, Esteban.