Wie man eine sinnvolle Standardkonfiguration in nginx anlegt
Einleitung
Der Standard in der default des nginx-Webservers gibt eine Seite aus, wenn keine explizite Konfiguration existert. Dies kann ein Tor für Angreifer sein, welches man durch Anpassung der default-Domain wie folgt verhindern kann
Voraussetzungen
Sie verfügen über einen hosting.de Cloud Server, welcher einen gültigen DNS-Eintrag, z.B.
demo.mustermann-domain.de
besitzt.Eine privilegierte Shell auf dem System.
nginx ist auf dem Cloudserver bereits installiert
nginx default anpassen
Die Datei default (im Regelfall unter /etc/nginx/sites-enabled zu finden)
Folgende Inhalte werden dort nun eingetragen:
server {
listen 80 default_server;
listen [::]:80 default_server;
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
ssl_reject_handshake on;
server_name _;
return 444;
}
Danach die Nginx Konfiguration mit nginx-t
auf Korrektheit prüfen und den Websever neustarten (systemctl restart nginx.service
).
Hinweis
Mit dieser Konfiguration wird keine Webseite mehr ausgegeben, wenn der Server direkt mit der IP angesprochen wird. Vorher sollten entsprechende vHosts für Domains eingerichtet worden sein! Dennoch direkt über die IP aufgebaute Verbindungen werden mit Statuscode 444 beantwortet und direkt beendet. Durch die Direktive ssl_reject_handshake on;
ist es nicht notwendig ein Zertifikat einzubinden.