Wir betreiben unseren Webserver immer noch bei uns. Nun lassen wir aber extern eine neue Homepage programmieren. Der Programmierer benötigt nun einen FTP Zugang, um Dateien von extern hochzuladen. So musste ich also einen FTP Zugang einrichten, der danach wieder gelöscht werden kann.
Eine kurze Recherche hat ergeben, dass hauptsächlich vsftpd und ProFTPd empfohlen werden. Ich habe mich dann für ProFTPd entschieden, weil dieser auch über die grafische Oberfläche Webmin konfiguriert werden kann.
ProFTPd kann man direkt in Webmin installieren, indem man “Nicht benutzte Module” auswählt.
Es geht ja in meinem Fall nur um einen zeitlich begrenzten Zugriff über FTP von einem Benutzer. Daher habe ich mich da auch nicht tief eingearbeitet, eine “quick & dirty” Lösung genügt ja in dem Fall. Ein Minimum an Sicherheit kann man trotzdem erreichen, indem man das Verzeichnis, in das man per FTP gelangt, festgelegt wird.
Dazu kann man unter “Dateien und Verzeichnisse” das Verzeichnis für alle Benutzer auf das Entwicklungsverzeichnis für die neue Webseite festlegen.
Nun muss man noch einen neuen Benutzer erstellen. Das Stammverzeichnis habe ich auf das Verzeichnis für die Entwicklung der Webseite festgelegt. Die primäre Gruppe wurde auf www-data abgeändert, damit die Dateien dann auch über Apache ausgeliefert werden können.
So kann man Dateien hochladen und löschen, aber keine bereits bestehenden ersetzen. In dem Fall gibt es einen Fehler 550. Um das auch noch zu beheben, kann man den neu erstellten User als www-data auftreten lassen.
Nun muss man den Server noch veröffentlichen. Dazu erstellt man eine DNAT Regel für FTP.
Da ich die Firewall Regeln lieber selber erstelle, habe ich das Häklein bei “Automatic Firewall rule” nicht gesetzt. Dann muss man aber eine eigene Regel erstellen. Da wir den Zugang ja nur für die Firma einrichten müssen, die unsere neue Webseite programmiert, kann man unter Sources den Zugriff auf die verwendete IP einschränken, was nochmals einen deutlichen Sicherheitsgewinn bedeutet.