Hiawatha ist ein von Hugo Leisink seit 2002 entwickelter freier Webserver. Er implementiert alle wichtigen Funktionen eines Webservers.

Funktionsumfang / Besonderheiten Das Programm ist monolithisch aufgebaut und verzichtet im Gegensatz zu den meisten anderen Programmen dieser Kategorie (z. B. Apache HTTP Server, Lighttpd) auf die Möglichkeit, einzelne Module beim Start des Programms zu laden. Ab Version 2.0 nutzt das Programm ausschließlich Threads, dies führt zu einer verbesserten Geschwindigkeit. Die aktuelle Version bietet darüber hinaus einige Funktionen, die nicht zum Standard gehören und sonst teilweise nur durch externe Zusatzprogramme realisiert werden können: Unterstützung von XSL Transformation Schutz vor SQL-Injection-Angriffen, DoS-Attacken und Cross-Site-Scripting Banning: Clients kann auf IP-Ebene anhand ihrer Adresse der Zugriff blockiert werden. CommandChannel: Über einen separaten Port kann der Server kontrolliert werden. Unterstützung von VirtualHosts URL-rewrite anhand regulärer Ausdrücke, wird bei Hiawatha als URL-Toolkit bezeichnet. Unterstützung von CGI und FastCGI Unterstützung der Basic und Digest Access HTTP-Authentifizierung IPv6-Unterstützung Überwachung des Datenverkehrs mit Hiawatha Monitor Unterstützung von WebSocket-Verbindungen

Eine vollständige Liste der Funktionen findet sich auf der Webseite des Projekts In: Hiawatha (englisch)..

Geschichte Die Entwicklung von Hiawatha begann im Januar 2002, da Hugo Leisink nach eigenen Angaben mit den seinerzeit verfügbaren Webservern nicht zufrieden war. Der Fokus bei der Entwicklung liegt auf Sicherheit, geringem Ressourcenverbrauch sowie einfacher Konfiguration. Nachstehend der Entwicklungsverlauf: Version 1.0 (September 2002): Erste funktionale Version Version 2.0 (März 2004): Umstellung des Programms auf thread-basierte Ausführung (statt fork) Version 3.0 (September 2004): SSL-Unterstützung Version 4.0 (Dezember 2005): Unterstützung für den Aufruf externer CGI-Programme Version 5.0 (Oktober 2006): Implementierung von FastCGI, erstmalige Integration im FreeBSD-Portstree im Dezember 2006Hiawatha. bei freshports.org., bei OpenBSD im März 2007 In: openports.se. Version 6.0 (Oktober 2007): Implementierung von IPv6 Version 7.0 (Februar 2010): Einführung von Hiawatha Monitor, eine auf PHP5, MySQL und Banshee basierende Überwachungsanwendung, IPv6 steht nun auch unter Windows zur Verfügung Version 7.5 (Mai 2011): Unterstützung des Do Not Track HTTP-Header-FeldesAktivieren der Funktion „Do Not Track“ (Nicht-Verfolgen Ihrer Internetaktivitäten). In: mozilla.org. Version 8.0 (Januar 2012): CMake ersetzt Autoconf und mbed TLS (zum Zeitpunkt des Erscheinens noch PolarSSL genannt) ersetzt OpenSSL, Einführung des HTTP-Statuscodes: 414 Request-URI Too Long Version 9.0 (März 2013): Verwendung eines Thread-Pools (statt Multithreading) Version 9.8 (September 2014): Implementierung des WebSocket-Protokolls Version 10.11 (Juli 2020)

Zwischen diesen Hauptversionen gab es regelmäßige Updates z. B. für die Schließung von Sicherheitslücken oder die Beseitigung von Fehlern.Fehlerhinweis im Zusammenhang mit squirrelmail. In: nabble.com.

Sicherheit Der Hiawatha Webserver bringt eine Reihe von optionalen Sicherheitsfunktionen mit sich, darunter die automatische Erkennung und Abwehr von SQL-Injection-, XSS und CSRF-Angriffen, sowie von DoS-Attacken. Außerdem wird für die Verschlüsselung von HTTPS-Verbindungen die leichtgewichtigere Bibliothek PolarSSL anstelle von OpenSSL verwendet, die zu einer höheren Sicherheit führen soll. PolarSSL (und somit auch Hiawatha) war im Gegensatz zu OpenSSL (und darauf aufbauenden Webservern wie Apache Web Server oder Nginx) nicht von der Heartbleed-Sicherheitslücke betroffen.Heartbleed – Weblog. In: Hiawatha webserver In: polarssl.org.

Zwischenzeitlich tauchten jedoch vereinzelt Bugs in Hiawatha auf, welche die Sicherheitsfunktionen vollständig oder in bestimmten Situationen außer Kraft setzten. Zuletzt wurde am 31. Mai 2014 bekannt, dass sich die Erkennung von SQL-Injection-Angriffen ab der Version 8.6 durch die Verwendung von SQL-Kommentaren /* */ umgehen ließ.SQL injection detection patterns – Weblog. In: Hiawatha webserver. Außerdem funktionierte die Abwehr von XSS-Angriffen nicht für Reverse Proxys. Beide Sicherheitslücken wurden daraufhin in der Version 9.6 geschlossen.

Verbreitung Zuverlässige Zahlen über die Anzahl der Hiawatha Installationen sind nicht verfügbar. Da Hiawatha am besten mit Lighttpd vergleichbar ist, spricht er auch überwiegend die Zielgruppe der Administratoren an, die einen möglichst schlanken Webserver einsetzen wollen.

Weblinks Offizielle Website (englisch) Hiawatha auf GitLab Erste Vorstellung bei IT-Toolbox im Dezember 2006 (englisch) Artikel über Hiawatha im Admin-Magazin

Quellenangaben Hiawatha Changelog. In: Hiawatha.

Kategorie:Freie Server-Software Kategorie:World Wide Web Kategorie:Webserver Kategorie:Unix-Software Kategorie:Linux-Software Kategorie:Windows-Software