Ich bin dabei, einen Docker- Container nur für SFTP zu erstellen, der von mehreren Personen nur zum Hochladen und Verwalten von Dateien in ihrer eigenen chroot
Ed-Umgebung verwendet wird.
Auf dem Papier ist es ziemlich sicher: Ich deaktiviere jede Art der bash
Anmeldung und führe keinen anderen Prozess darin aus. Ich würde es aber gerne noch etwas härter machen:
Ich möchte verhindern, dass dieser Container von innen auf das Internet zugreift, es sei denn, er dient als SFTP-Server.
Um es klar zu machen: Ich weiß, wie ich verhindern kann, dass die Außenwelt auf meinen Container zugreift. Ich kann eingehende iptables
Regeln einrichten und nur den SFTP-Port in meinem Docker-Ausführungsbefehl verfügbar machen.
Ich möchte jedoch den folgenden Befehl (als Beispiel) fehlschlagen lassen, wenn er im Container ausgeführt wird:
curl google.com
Meine Absicht ist es, den Schaden zu verringern, den ein gehackter Container anrichten kann (der nicht zum Versenden von Spam-E-Mails usw. verwendet werden kann).
--net=none
Flag docker run
aktivieren, werden alle externen Netzwerkadapter deaktiviert, sodass Sie eigene Netzwerkverkehrsregeln hinzufügen und anpassen können.