Autor Tema: ¿Cómo proteger mi servidor web?  (Leído 11503 veces)

tat

  • Moderador
  • Palizas oficial
  • *****
  • Mensajes: 9622
  • Patch y buenas vibraciones
    • Libertat
¿Cómo proteger mi servidor web?
« on: 04 may 2010, 16:26 pm »
Hola. Uno de los fregados en que ando últimamente es la configuración de un servidor web (y desde ayer de mumble) con LAMP en un Ubuntu Server 9.10 para servir páginas de wordpress. La gestión del mismo la hago por Open-ssh desde internet y estoy empezando a volverme paranoico con el tema de la seguridad.
Me he documentado un poco y parece que como mínimo debería instalarle fail2ban y DenyHosts para protegerlo un poco de ataques tipo zombie.
Por lo visto la configuración por defecto de los mismos debería ser suficiente para una protección básica ¿alguna sugerencia de cambio? ¿Debería instalar alguna otra más?

Gracias

Manolo

  • Bimilenari@
  • **
  • Mensajes: 2876
  • No dejes que la realidad te arruine una buena foto
    • Mi galeria en Ipernity
Re: ¿Cómo proteger mi servidor web?
« Respuesta #1 on: 04 may 2010, 17:40 pm »
Ottia... pues yo tengo un servidor instalado en mi ordenador del curro y... no recuerdo haber hecho nada especial para protegerlo. Bueno, como es Debian, confío bastante en que las opciones por defecto sean suficientes.

En lugar de Apache uso Cherokee para el servidor web (aunque no por motivos de seguridad, sino de sencillez). Y en la parte ssh tengo desactivada la entrada remota por contraseña (sólo certificados) y la entrada como root. Pero... poco más.

Nunca he detectado problemas; cuando por alguna razón he tenido que revisar logs, me he asustado un poco al ver la cantidad de intentos de acceso fraudulentos y otras hierbas. Pero nada grave. Quizá es porque tiene bastante poco uso...
Ubuntu & Debian, Nikon D40X Nikon D5100
ufraw, photivo, imagemagick, gimp, pantools
Artículos y fotos bajo licencia CC-BY

tomas.senabre

  • Papá del Mes
  • Trimilenari@
  • *
  • Mensajes: 3370
    • La Mirada Hecha Pedazos
Re: ¿Cómo proteger mi servidor web?
« Respuesta #2 on: 05 may 2010, 21:45 pm »
Hola Tato, ya sabes que me tienes para lo que necesites:

Aquí te dejo unos enlaces antiguos de mi blog:

Primer ataque
Segundo ataque y la solución
Con esto puedes hacer copias de seguridad
Esto te puede servir para colgar archivos con acceso restringido a usuarios, por ejemplo la familia
Esto te puede ser útil para tener diferentes web en los home de los usuarios

Como no vas a instalar servidor de correo porque tienes IP dinámica y todos te tienen fichado como IP "non grata", no debes preocuparte por los ataques a tu servidor de correo, porque simplemente ese puerto está cerrado. Las únicas vulnerabilidades te pueden venir por el puerto 22 de SSH o el 21 de FTP si es que lo has instalado también. Sigue los pasos que indico en mi blog y cambia el puerto pon uno raro ej. 2332 (recuerda que tendrás que abrirlo en el router), prohíbe al root entrar por ssh, usa el sudo, pon un único usuario con acceso al SSH y si el nombre es raro mejor. Con estos pocos cambios vas que chutas yo no he tenido problemas y ningún ataque más desde el 2007

Te repito que cualquier duda ya sabes como encontrarme
"Hay tres maneras de adquirir sabiduría: primero, por la reflexión, que es la más noble; segundo, por imitación, que es la más sencilla; y tercero, por la experiencia, que es la más amarga". Confucio

redy

  • Moderador
  • Bimilenari@
  • *****
  • Mensajes: 2897
  • Gnudista
    • Esteropes El Cíclope
Re: ¿Cómo proteger mi servidor web?
« Respuesta #3 on: 06 may 2010, 04:37 am »
Primer ataque

Eso es lo que solucionan utilidades como denyhosts, blockhosts, fail2ban, blacklist, etc... Yo uso blockhosts en mi servidor de casa.

Básicamente estas utilidades revisan los logs para ver intentos de login fallidos (ftp, mail, ssh, telnet...), y si se repiten un número de intentos fallidos (yo lo tengo puesto as 7) desde una misma IP bloquean esa ip, hasta pasado un tiempo (yo lo he puesto en 48 horas).

Blockhosts normalmente usa para bloquear las ip los ficheros /etc/hosts.allow, con lo que nos vale para cualquier servicio gestionado por inetd. También se puede configurar para que boquee usando iptables, con lo que nos valdría para bloquear servicios que no funcionan a través de inetd (como apache si se arranca en modo 'standalone').

Tambien tengo snort para detectar otros tipos de ataques o intentos de intrusion, snort se puede combinar con utilidades que bloquean las IP's atacantes por un tiempo, como snortsam, por ejemplo.

Y a pesar de todo ello llegué a tener problemas...  :ejem:
Admiro a la gente que sabe contar historias solamente con sus fotos, porque en el fondo las fotos son como los chistes; si tienes que explicarlas es que no son buenas...


tat

  • Moderador
  • Palizas oficial
  • *****
  • Mensajes: 9622
  • Patch y buenas vibraciones
    • Libertat
Re: ¿Cómo proteger mi servidor web?
« Respuesta #4 on: 06 may 2010, 11:23 am »
Vale, lo pillo, osea que mis paranoias están justificadas. Me voy instalando de momento lo que os decía y voy documentándome.

Bueno, como es Debian, confío bastante en que las opciones por defecto sean suficientes.
Tu mismo, yo de momento voy a proteger una Sid y un Ubuntu Server 9.10 por si las flies  :)o

Manolo

  • Bimilenari@
  • **
  • Mensajes: 2876
  • No dejes que la realidad te arruine una buena foto
    • Mi galeria en Ipernity
Re: ¿Cómo proteger mi servidor web?
« Respuesta #5 on: 06 may 2010, 14:09 pm »
La mayoría de ataques, por lo que veo, vienen por 'ssh'. Lo de cambiar el puerto, como hace Tomy, es un poco chapucero aunque parece efectivo. Pero lo realmente fetén es desactivar la entrada por contraseña  (PasswordAuthentication no en /etc/ssh/ssh_config ) y entrar sólo con certificados. Yo lo hago así para entrar al ordenador del curro desde mi casa y desde el portátil; en el portátil he protegido la parte privada del certificado con contraseña (si no, si te lo roban, pueden entrar como Pedro por su casa en el servidor). El mecanismo de entrada por certificados, en principio, está orientado a que entres en el servidor en la cuenta de tu usuario, no como administrador.

La parte de servidor web es la que no veo tan "peligrosa"; de hecho, ante un DDOS no tienes salvación ninguna, por mucho que te esfuerces. Pero lo más que puede ocurrir es que te "tumben" el servidor.

Por cierto, más que preocuparme por la seguridad de la parte "web" del servidor, yo me preocuparía por la del gestor de contenidos. He leído cosas muy malas respecto a la seguridad de Wordpress... aunque el "mal" está relativamente contenido, pueden llegar a borrarte/cambiarte las bases de datos.

El mayor "problema" que puedes tener es el tráfico. Si realmente es grande, tu conexión no estará preparada y petará muchas veces; y, además, atraerá a más intrusos...
Ubuntu & Debian, Nikon D40X Nikon D5100
ufraw, photivo, imagemagick, gimp, pantools
Artículos y fotos bajo licencia CC-BY

Manolo

  • Bimilenari@
  • **
  • Mensajes: 2876
  • No dejes que la realidad te arruine una buena foto
    • Mi galeria en Ipernity
Re: ¿Cómo proteger mi servidor web?
« Respuesta #6 on: 06 may 2010, 14:11 pm »

Bueno, como es Debian, confío bastante en que las opciones por defecto sean suficientes.
Tu mismo, yo de momento voy a proteger una Sid y un Ubuntu Server 9.10 por si las flies  :)o

Bueno, Debian incluye por defecto fail2ban y algunos otros paquetes de ese tipo (al menos, yo no recuerdo haberlos instalado adrede...). A eso me refería. Y también a la programación por defecto de las iptables.
Ubuntu & Debian, Nikon D40X Nikon D5100
ufraw, photivo, imagemagick, gimp, pantools
Artículos y fotos bajo licencia CC-BY

tat

  • Moderador
  • Palizas oficial
  • *****
  • Mensajes: 9622
  • Patch y buenas vibraciones
    • Libertat
Re: ¿Cómo proteger mi servidor web?
« Respuesta #7 on: 06 may 2010, 20:13 pm »
Pero lo realmente fetén es desactivar la entrada por contraseña  (PasswordAuthentication no en /etc/ssh/ssh_config ) y entrar sólo con certificados.
Cierto pero lo que realmente me atrae es lo de poder entrar desde cualquier máquina.

La parte de servidor web es la que no veo tan "peligrosa"; de hecho, ante un DDOS no tienes salvación ninguna, por mucho que te esfuerces. Pero lo más que puede ocurrir es que te "tumben" el servidor.
Un ataque DDOS me tira el servidor pero no peligran la privacidad de los datos y el control de la máquina, que es lo que me importa. Por eso lo que quiero controlar es el acceso.

Por cierto, más que preocuparme por la seguridad de la parte "web" del servidor, yo me preocuparía por la del gestor de contenidos. He leído cosas muy malas respecto a la seguridad de Wordpress... aunque el "mal" está relativamente contenido, pueden llegar a borrarte/cambiarte las bases de datos.
Estamos trabajando en ello  ;) pero ya te digo que eso es secundario, simplemente "deporte".

El mayor "problema" que puedes tener es el tráfico. Si realmente es grande, tu conexión no estará preparada y petará muchas veces; y, además, atraerá a más intrusos...
¿Y tu qué sabes cómo de preparada está mi conexión?  :P

Bueno, Debian incluye por defecto fail2ban y algunos otros paquetes de ese tipo (al menos, yo no recuerdo haberlos instalado adrede...). A eso me refería. Y también a la programación por defecto de las iptables.
La mía no, en el servidor que monté solo instalé el sistema estándar y he ido sumando los paquetes que me han hecho falta. No incluye ni fail2ban ni denyhosts. El otro servidor que va con Ubuntu Server más de lo mismo, solo instalé el pack de ssh y le voy poniendo lo que me hace falta. Así voy aprendiendo que es cada cosa, esto es una práctica para mi.

De momento el denyhosts ya me ha preparado una lista con 10 IPs de chicos malos.
Según me vayan surgiendo dudas ya os iré comentando. Gracias por los consejos.

Manolo

  • Bimilenari@
  • **
  • Mensajes: 2876
  • No dejes que la realidad te arruine una buena foto
    • Mi galeria en Ipernity
Re: ¿Cómo proteger mi servidor web?
« Respuesta #8 on: 06 may 2010, 20:28 pm »
El mayor "problema" que puedes tener es el tráfico. Si realmente es grande, tu conexión no estará preparada y petará muchas veces; y, además, atraerá a más intrusos...
¿Y tu qué sabes cómo de preparada está mi conexión?  :P

Pues porque he supuesto que tienes el típico ADSL: muy "A", de Asimétrico, y poco DSL, como se estila en este puto xtupendo país. Esto es, por muy chachi que sea tu conexión, creo que no pasas de 512 Kb de subida, que es el cuello de botella cuando montas un servidor.

Además, influye en mi prejuicio el hecho de tener una conexión tipo BDSL (Bananic DSL....)  :girl_mad:
Ubuntu & Debian, Nikon D40X Nikon D5100
ufraw, photivo, imagemagick, gimp, pantools
Artículos y fotos bajo licencia CC-BY

tat

  • Moderador
  • Palizas oficial
  • *****
  • Mensajes: 9622
  • Patch y buenas vibraciones
    • Libertat
Re: ¿Cómo proteger mi servidor web?
« Respuesta #9 on: 06 may 2010, 20:39 pm »
Esto es, por muy chachi que sea tu conexión, creo que no pasas de 512 Kb de subida, que es el cuello de botella cuando montas un servidor.
No te preocupes por mi subida por el momento que es bastante más "chachi" que 512Kb. No estoy usando una conexión doméstica de ADSL.

tomas.senabre

  • Papá del Mes
  • Trimilenari@
  • *
  • Mensajes: 3370
    • La Mirada Hecha Pedazos
Re: ¿Cómo proteger mi servidor web?
« Respuesta #10 on: 06 may 2010, 20:40 pm »
La mayoría de ataques, por lo que veo, vienen por 'ssh'. Lo de cambiar el puerto, como hace Tomy....

Mira tu que salao con que chapucero  :torpe:

Lo de cambiar el puerto ssh no es una chapuza, está más que difundido, le evitas al servidor tener que contestar un ataque de 1000 intentos, por ejemplo. Es sensillo y efectivo, la única molestia es tener que escribir desde fuera cada vez que te conectas el puerto:
ssh -p 3342 tomy@dolores.menstrual.es

Por poner un ejemplo.
"Hay tres maneras de adquirir sabiduría: primero, por la reflexión, que es la más noble; segundo, por imitación, que es la más sencilla; y tercero, por la experiencia, que es la más amarga". Confucio