Que harías para asegurar un Servidor?

Iniciado por babyrodri, 18 Mayo 2010, 01:43 AM

0 Miembros y 1 Visitante están viendo este tema.

babyrodri

Pues eso, acabo de montarme un servidor casero. A mis manos llego mi 1° laptop una Dell Inspiron 600m y como ya nadie la quería y la querian matar decidi volvería un Servidor Web, con algunos usos más que se me ocurriran con el tiempo.

Así que coji un CD con la descarga de Debian Squeeze (en desarrollo aún), y lo instale con lo mínimo, por lo que no tiene interfaz gráfica, instale apache, php, mysql, phpmyadmin, no-ip y ya anda operativo: http://babyrodri.no-ip.biz

Mi pregunta es que recomiendan para asegurarlo, para que no sea rooteable, para que aguante ataque DoS, DDoS, quiero buena seguridad, a continuación enlisto lo que he hecho y lo que me han recomendado:


  • La partición /home y /tmp tienen el atributo noexec
  • Instale mod_evasive (pero que configuración me recomiendan)
Me han recomendado:


  • Compilar el kernel a la medida (no estoy seguro como S: )
  • Instalar mod_security (No se que reglas agregar S: )
  • Enjaular apache y mysql (Para que sirve?)
Lo de compilar el kernel tengo mis dudas... Vi una forma donde te bajabas el kernel y hacia uno el make menuconfig y orele, a matarse seleccionando lo que uno necesita y quitar lo que ni se usa.

Pero vi otra que decian que te bajar el kernel, y ejecutas make localmodconfig y luego ya el clasico make ; make install ; make module_install y ya S:
babyrodri@you:~$ gcc -o exploit exploit.c ; chmod 777 exploit ; ./exploit

Festor

Cita de: babyrodri en 18 Mayo 2010, 01:43 AM
para que aguante ataque DoS, DDoS

http://foro.elhacker.net/tutoriales_documentacion/intentando_detener_un_ddos-t137442.0.html

Cita de: babyrodri en 18 Mayo 2010, 01:43 AM

  • Enjaular apache y mysql (Para que sirve?)

http://blog.elhacker.net/2010/03/jaulas-chroot.html

Cita de: babyrodri en 18 Mayo 2010, 01:43 AM
Lo de compilar el kernel tengo mis dudas... Vi una forma donde te bajabas el kernel y hacia uno el make menuconfig y orele, a matarse seleccionando lo que uno necesita y quitar lo que ni se usa.

Pero vi otra que decian que te bajar el kernel, y ejecutas make localmodconfig y luego ya el clasico make ; make install ; make module_install y ya S:

Tanto make menuconfig como make localmodconfig sirven para configurar las opciones del kernel antes de compilarlo.

¿Entonces cual es la diferencia? Pues...

http://debish.esdebian.org/38204/regalo-navidad-chicos-kernelorg-nuevo-target-make

Respecto a lo de seleccionar lo que se usa y quitar lo que no se usa... no sé cuanto sabes del tema pero, aunque los tiros van por ahí, no es tan simple.

Recompilar el kernel es una buena forma de adaptarlo a tus necesidades, pero por lo general no deberías empezar a cargarte funciones que no te interesan con la idea de que puedan reducir el rendimiento.

Lo recomendable es consultar la información de cada opción (si, cada opción está más o menos documentada) y luego:

-> Lo que sabes que nunca vas a necesitarlo, desactivalo. (creo que era la tecla n)
-> Lo que dudes o no te sea imprescindible compilalo como módulo. (tecla m)
-> Lo que sea imprescindible (la "ayuda" ya te lo suele decir) compilalo como parte del kernel. (tecla y)

Pero es preferible compilar algo como un módulo antes que directamente no compilarlo...

Luego tienes más opciones para la configuración: make xconfig (aun más "bonito" que menuconfig ya que utiliza las librerias Qt); make oldconfig que mantiene la configuración actual y sólo te pregunta sobre las posibles nuevas opciones si estas compilando una versión más actual, respecto a la de tu sistema; y luego había otra opción, que ahora no recuerdo, similar al make oldconfig pero que evitaba preguntarte sobre las nuevas opciones.

ah! Y por último, antes que tirar por make ; make install ; make module_install y ya que estas en Debian yo te recomendaría echar mano del paquete kernel-package para simplificar el proceso de compilación y posterior creación automática de los paquetes deb (headers y núcleo) del kernel.

Por si te interesa:

Cita de: http://www.howtoforge.com/kernel_compilation_debian_etch2.5 Build The Kernel

To build the kernel, execute these two commands:

Código (bash) [Seleccionar]
make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers


After --append-to-version= you can write any string that helps you identify the kernel, but it must begin with a minus (-) and must not contain whitespace.

Now be patient, the kernel compilation can take some hours, depending on your kernel configuration and your processor speed.

el-brujo

Festor te ha contestado perfectamente  ;-)

Sólo añadir que el mod_evasive no funciona correctamente por defecto, pero se puede arreglar:

http://el-blog-de-thor.blogspot.com/2009/04/fallo-de-programacion-en-modevasive.html

Para las reglas del mod_security el problema es que hay demasiadas reglas:

http://www.gotroot.com/mod_security+rules

Algunas funcionan bien, pero otras dan muchos falsos positivos, así que tendrás que ir mirando los logs para verlo.