Securizando un poco más el acceso

Tras la serie de posts anywhere, surge un problema: ¿no es un poco peligroso dejar tantas cosas al aire?.

Sí, efectivamente, un atacante con unos buenos scripts y suficiente paciencia podría liar una buena. Para tratar de eviarlo, uso fail2ban (¡gracias Carlos!). Antes usaba denyhosts, pero tiene unos problemas:

1) Sólo sirve para SSH.

2) Usa el fichero /etc/hosts.deny.

3) La experiencia me indica que el proceso muere, así que tenía que estar continuamente revisándolo.

Fail2Ban sin embargo,

1) Sirve para ssh, apache, postfix, ftp… (ahora que tengo el proxy y el acceso remoto, me soluciona todo)

2) Usa IpTables

Respecto al tercer punto, a lo largo del tiempo comprobaré si es igual de inestable que DenyHosts, aunque espero que no

Acceso al servidor anywhere

Siguiendo la línea anywhere, hoy hablamos de cómo administrar un servidor desde cualquier sitio, en especial en aquellos en los que sólo tienes acceso por HTTP/HTTPS/FTP.

Lo lógico es usar SSHv2, pero, en muchos sitios, no puedes “salir” por el puerto 22 y mucho menos por uno aleatorio que le habrás puesto a tu SSH con el que evitas la mayoría de los ataques.

En un principio, pensé en SSL-Explorer, pero tiene un problema, levanta su propio servicio en el puerto 443 (por ejemplo), por lo que no depende de Apache (y no permite hacer un VirtualHost). Sé que con mod_proxy podría solucionarlo, pero me da mucha pereza.

Finalmente, encontré AnyTerm y AjaxTerm (que es el que uso). Cualquiera de estos programas te da una “bash” a través del navegador, levantando un servicio más de red en un puerto dado. El problema es cómo publicarlo, pues, ¿vas a dejar tu bash abierta al mundo (tendrán que adivinar el user/pass)? y también, si el problema es que necesito acceder sólo por el puerto 80 o 443, ¿cómo hacerlo? (y ya he dicho que el mod_proxy me da pereza).

Como en el anterior post, con CGIProxy, ya he creado una capa de seguridad, así pues, a través de él accedo a AjaxTerm, encapsulando la sesión a través de mi proxy SSL, por lo que puedo acceder al servicio que yo le indique.

Por tanto, tengo acceso al servidor desde virtualmente cualquier sitio, por muy chapado que esté.

TNT2 y upgrade a Ubuntu 8.04

He actualizado el antiguo PC a la última versión de Ubuntu, la 8.04. Con los problemas que he visto, esperaré un tiempo para el resto de equipos.

El “dist-upgrade” parece sencillo, le das al botón y se supone que debería funcionar, sin embargo, pide sustituir varios ficheros:
1) menu.lst (fichero de opciones de grub).
2) sshd_config (configuración del servidor ssh).
3) ntpd.conf (configuración de ntp)
4) cupsd.conf (configuración de impresoras).

Me sorprende, pues el fichero de ssh no lo toqué (en este equipo) y me pide cambiarlo. En el grub lo único que hice fue forzar el ACPI para que acepte el botón de on/off para apagar el equipo. Por último, el cupsd se configuró con la herramienta de Gnome, para incluir la impresora/scanner Epson Stylus DX3800.

Si, a la ligera, le doy a cambiar los ficheros, hubiese perdido ciertas configuraciones, por lo que te obliga a estar presente a lo largo del proceso de actualización.

Por otro lado, mi tarjeta de vídeo es una TNT2, bastante antigua, pero sigue funcionando bien. Finalizada la configuración, sale un pop-up diciendo que si quiero el controlador restringido de Nvidia y blablabla… Parece que con eso me puedo ahorrar la instalación del “oficial”, que hay que compilar el módulo. Se instala, reinicio y ¡no hay X!.

Al final, deshabilité el controlador de ubuntu para “legacy-nvidia” y procedí con el método manual: ir a la web del fabricante y aplicar el driver.

Ahora mismo el pc vuelve a estar como siempre, con la sorpresa de tener Firefox 3.0b5, tras ciertos problemas que no deberían presentarse, teniendo en cuenta que es una distro orientada a usuarios no expertos.