Cuando hablamos de servidores web, la mayoría de nosotros pensamos exclusivamente en Apache, Nginx, y quizás lighttpd o IIS. Sin embargo, hoy me encontré con otra herramienta prometedora: Hiawatha. El sitio web oficial del proyecto lo presenta como un servidor web orientado a la seguridad y fácil de configurar. Además, es software libre e incluye una herramienta de monitoreo para mantenernos al tanto del estado del servidor en los equipos donde lo tengamos ejecutándose. En este post explicaremos cómo instalar Hiawatha en Debian y presentaremos algunas de sus características. En nuestra próxima publicación nos dedicaremos a realizar algunas configuraciones básicas y a utilizar Hiawatha para servir una página web.
Para realizar la instalación en otras distribuciones, se puede utilizar el código fuente disponible desde el sitio web del autor.
Instalar Hiawatha
Para empezar, es digno de mencionar que la instalación es amigable con systemd. Esta fue la primer sorpresa agradable que encontré al instalar el paquete. No hubo necesidad de configurar absolutamente nada para que systemd pudiera reconocer y administrar el programa.
La instalación se lleva a cabo de la siguiente manera:
1) Descargar el archivo .deb correspondiente a nuestra arquitectura (32 bits en este caso):
wget https://files.tuxhelp.org/hiawatha/hiawatha_10.6_i386.deb dpkg -i hiawatha_10.6_i386.deb
¡Y listo!
2) A continuación, solamente necesitamos ejecutar los comandos de rigor a fin de iniciar el servicio de inmediato y de asegurarnos de que arranque junto con el sistema operativo:
systemctl start hiawatha systemctl enable hiawatha
En este punto podemos ver la página de inicio de Hiawatha al apuntar nuestro navegador a la IP del servidor donde lo acabamos de instalar, como vemos en la Fig. 1:
Características distintivas
Estas son algunas de las características distintivas de Hiawatha:
- Soporte nativo para IPv6.
- Hiawatha Monitor es una aplicación escrita en PHP que se comunica con el servidor web a fin de recolectar información sobre uso de ancho de banda, cantidad de solicitudes servidas y de errores, por nombrar algunos ejemplos.
- Protección nativa contra inyecciones SQL injections, y ataques Cross-site Scripting (XSS), Cross-site Request Forgery (CSRF/XSRF), y DoS.
Espero que este post les haya resultado útil. ¡No se pierdan el próximo!