Kurs: IT-Security
4.x Aufgaben zum FTP-Server

Die FTP-Server Grundkonfiguration
4.1
  • Prinzipiell ist ein Upload über versch. Serverdienste möglich.
    URL (Port) Protokoll Server(dienst)
    ftp:// (20/21)
    ftps:// (989/990)
    ftp
    ftp
    ftpd
    ftpd mit X.509-v3-Zertifikat
    sftp:// (22)
    fish:// (22)
    ssh sshd mit Schlüsselpaar
    webdav:// (80)
    webdavs:// (443)
    webdav
    webdav
    Webserver mit Dav-Modul(en)
    Webserver + Zertifikat  
  • Stelle für deine Kunden zunächst einen FTP-Server zur Verfügung (wähle eine verfügbare Startart aus).
    - inetd (unixtypische Konfiguration über eine vsftpd-Zeile in der /etc/inetd.conf)
    - xinetd (linuxtypische Konfiguration über disable-Angaben in der Datei /etc/xinetd.d/vsftpd)
    - Standalone (als Systemdienst z.B. über systemctl startbar)
  • Ein cat /etc/vsftpd.conf | grep -v "#" zeigt die aktiven Zeilen der Konfiguration.
    Ist eine (ber beiden) "listen*" Angabe auf "YES" ist der vsftpd auf Standalone konfiguriert.
    - Logge dich per ftp (mit verschiedenen Usernamen) auf deinem System ein.
    - Wer kann sich (per Default) einloggen?
    Login   User   Testlink
        gast   ftp://localhost/
        root   ftp://root@localhost/
        azubi ftp://azubi@localhost/
        skurs ftp://skurs@localhost/  
        user1 ftp://user1@localhost/
        user2 ftp://user2@localhost/
        user3 ftp://user3@localhost/
        user4 ftp://user4@localhost/

  • Aktiviere Userlogins (falls noch erforderlich)
    - Welche Rechte besitzen die Gäste/User im Dateisystem?
    - Können sich die Gäste/User frei in der Verzeichnisstruktur bewegen?

  • Erlaube den Usern einen schreibenden Zugriff auf ihren Homeordner
    Speichern per ftp aller skurs-Dateien als Backup in /tmp/public_html/ OK?  
    Löschen per ftp des gesamten Webspaces des skurs-Users OK?
    Hochladen aller (Backup) Dateien aus /tmp/public_html/ per ftp OK?
    Ändern von Dateinamen und Dateirechten möglich OK?
    Wird ein schreibender Zugriff nach einem Gastlogin unterbunden? OK?
Upload einer kompletten Website
4.2
  • Teste ob der ftp-Upload einer Website (nach Kundenwunsch) problemlos verläuft
  • Der Upload sollte nun folgende Bedingungen erfüllen:
    Die hochgeladenen Dateien/Verzeichnisse sollten ohne Rechteänderungen
            vom Apache ausgeliefert werden können.
    Das Loginverz. sollte nicht (nach oben) verlassen werden können (changed-root).
           Beachte dabei den Hinweis:
           Add new config setting "allow_writeable_chroot"
           in der /usr/share/doc/packages/vsftpd/Changelog ab vsftpd-Version 2.3.5.
    Optional sollte der Loginordner das /~user/public_html/ Verzeichnis sein.
           Beachte dabei den Hinweis:
           Modify anon_root and local_root to change directory _before_ applying the chroot()

  • Hinweis:
    - Durch ftps oder WebDAVs anstelle von ftp, hätte der Kunde einen "möglichst" sicheren Zugangs-Schutz!
    - Der Zugriff erfolgt dann (bei WebDAV) unsicher über webdav://www.kunde1.de/ (:80) oder sicher über webdavs://www.kunde1.de/ (:443)

Meinolf Mühlenjost 2022