Bundesamt für Sicherheit in der Informationstechnik

M 4.492 Sichere Konfiguration und Nutzung eines eingebetteten Webservers

Verantwortlich für Initiierung: IT-Sicherheitsbeauftragter, Leiter IT

Verantwortlich für Umsetzung: Entwickler, Administrator

Einige eingebettete Systeme besitzen einen integrierten Webserver, mit dem Informationen abgerufen und eingesteuert werden können. Dabei handelt es sich für gewöhnlich um einen sogenannten Embedded-Webserver mit eingeschränkter Funktionalität, der für die meist knappen Ressourcen optimiert ist. Auf dem Markt sind zahlreiche eingebettete Webserver verfügbar, sie haben eine geringe Größe, belasten die CPU nur moderat und sind weitgehend plattformunabhängig. Als Hauptaufgabe können sie Webdokumente an den Client via HTTP (S) übertragen. Einige beherrschen zudem das dynamische Erstellen von Dokumenten, etwa per Server-Side Scripting.

Für einen eingebetteten Webserver sollten nur die benötigten Komponenten und Funktionen installiert bzw. aktiviert werden. Der Webserver sollte unter einem Konto mit möglichst geringen Rechten ablaufen. Falls zum Start höhere Privilegien benötigt werden, sollte anschließend in ein nicht privilegiertes Konto gewechselt werden. Es sollten alle für die Sicherheit und die Fehlerbehandlung relevanten Meldungen protokolliert werden, z. B. strukturiert nach erfolgreichen und nicht erfolgreichen Zugriffen, internen Fehlern, fehlerhaften oder unvollständigen HTTP -Anfragen und sonstigen relevanten Systemmeldungen. Diese Protokollierung sollte in der Sicherheitsdokumentation beschrieben sein (weitere Informationen hierzu finden sich in M 2.497 Erstellung eines Sicherheitskonzepts für die Protokollierung ). Systemeinstellungen sollten möglichst restriktiv sein, z. B. sollte die Anzahl der gleichzeitig möglichen Verbindungen auf das für den Verwendungszweck nötige Maß beschränkt werden und die Größe des internen Caches sollte begrenzt werden. Falls genutzt, sollte der Zugriff auf CGI -Dateien mit einem CGI -Wrapper so kontrolliert werden, dass nur explizit freigegebene Programme ausgeführt werden können. Mit dem Webserver sollte möglichst nur über eine gesicherte SSL -Verbindung kommuniziert werden und der Zugang sollte nur nach einer starken Authentisierung möglich sein.

Prüffragen:

  • Sind nur die benötigten Komponenten und Funktionen installiert bzw. aktiviert?

  • Wird der Webserver unter einem nicht privilegierten Konto betrieben?

  • Werden sicherheitsrelevante Ereignisse protokolliert?

  • Sind sämtliche Konfigurationsparameter so restriktiv wie möglich eingestellt?

  • Ist der Zugang nur nach starker Authentisierung möglich und die Übertragung verschlüsselt?

Stand: 15. EL Stand 2016