„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Go Web Server: Veröffentlichen Sie die Berechtigungen nach der Bindung privilegierter Ports sicher

Go Web Server: Veröffentlichen Sie die Berechtigungen nach der Bindung privilegierter Ports sicher

Gepostet am 2025-03-13
Durchsuche:519

How Can I Securely Drop Privileges After Binding to Privileged Ports in a Go Web Server?

bietet, wobei SYSCALL.SETUID () zum Absetzen von Berechtigungen "nicht unterstützt" zurückkehren würde. Als Alternative könnte man Port 80 mit Iptables auf einen nicht privilegierten Port umleiten. Diese Lösung eröffnet jedoch Sicherheitslücken, indem Nicht-Wurzel-Prozesse den Webserver als Identitätsverfahren ermöglicht werden. Nach dem Öffnen des privilegierten Ports und der Ermittlung des UID können wir den gewünschten Benutzer identifizieren, ihre UID erhalten und sowohl die UID als auch die GID unter Verwendung der GLIBC -Funktionen setgid () und setUid () festlegen. Es ist wichtig, diesen Code unmittelbar nach der Bindung des Ports auszuführen, aber bevor Sie http.serve aufrufen.

Der bereitgestellte Code -Snippet zeigt diesen Ansatz. Es wird zuerst die erforderlichen TLS -Zertifikate geladen und hört auf einen privilegierten Port zu hören. Wenn die Anwendung als Root ausgeführt wird, steigt sie auf einen bestimmten Benutzer herab, indem Sie UID und GID mithilfe von GLIBC -Aufrufen einstellen. Anschließend hört es eingehende Anfragen an und dient den Webinhalt.

Diese Lösung befasst sich effektiv mit der Notwendigkeit, Berechtigungen in Go -Anwendungen zu löschen. Es ermöglicht die Erstellung sicherer und robuster benutzerdefinierter Webserver, ohne die Sicherheit zu beeinträchtigen.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3