2 x FTP, einmal mit Root Zugriff

Status
Für weitere Antworten geschlossen.

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Als ich gestern ein wenig mit der DS rumgespielt habe, bin ich auf eine Idee für mein FTP Problem gekommen: Ich wollte bei meinem FTP Server erreichen, dass ich als root zugreifen kann und trotzdem den Dienst in www erreichbar machen. Das geht für mich solange nicht wie ein root Zugriff auf den laufenden Dienst vom Internet her möglich ist. Also dachte ich mir, dass das wohl nur mit 2 FTP Servern geht.
Ich werde das bei Interesse mal ausführlicher im Wiki schreiben, hier aber mal die Eckpunkte:
  1. alternativen FTP Server z.B. vsftp via ipkg installieren und konfigurieren
  2. xinet den "Masterdaemon" (vgl inet) via ipkg installieren
  3. den Service des neuen FTP Servers in /etc/services eintragen:
    Code:
    rootftp         2121/tcp                        # Root Acces FTP
    rootftp         2121/udp
  4. unter /opt/etc/xinetd.d eine Startdatei für den neuen FTP Server erstellen (z.b. vsftp):
    Code:
    service rootftp
    {
            socket_type         = stream
            wait                    = no
            user                    = root
            server                 = /opt/sbin/vsftpd
            server_args          = /opt/etc/vsftpd.conf
            disable                 = no
            nice                    = 10
    }
  5. im Diskstation Manager den FTP Server aktivieren und nur Verbindungen via SSL zulassen. Ausserdem macht es Sinn die automatische IP Blockierung zu aktivieren
  6. auf dem Router eine Port-Weiterleitung von Port 21 (WAN) auf die IP Adresse und Port 21 (LAN) des Servers erstellen
  7. in den Dateien /etc/ftpusers und /etc.defaults/ftpusers alle Benutzer eintragen die den Syno FTP NICHT erreichen dürfen (z.B. admin und root)
  8. prüfen ob xinetd läuft
    Code:
    $ ps | grep xinetd
    Falls nein dann manuell starten
    Code:
    $ sh /opt/etc/init.d/S10xinetd start
    Und wenn xinetd vorher schon lief muss xinetd "gezwungen" werden die Konfig der Dienste neu einzulesen
    Code:
    $ kill -HUP `pidof xinetd`
Wenn das alles geklappt hat, dann sollten nun 2 FTP Server ansprechbar sein. Und zwar ein öffentlicher via SSL gesicherter auf Port 21 (der Standart FTP der DS) und ein nicht SSL gesicherter nicht öffentlicher Server mit root Zugriff auf Port 2121.
Lange Rede kurzer Sinn:
root Zugriffe via FTP sind nur aus dem LAN möglich. Der öffentliche FTP Dienst erlaubt keinen Root und/oder Admin Zugriff und ist zudem SSL gesichert, was die Passworte wesentlich absichert.
Tipp:
Bei Verbindungsproblemen auf den FTP Server von Internet her sollte in den Einstellungen des FTP Clients sichergestellt sein, dass dieser bei Problemen mit dem passiven Modus auf den aktiven FTP Modus ausweicht. Dazu muss aber der Client seine externe IP Adresse kennen. In den meisten Clients gibt es dazu die entsprechenden Einstellungen.
Die Sicherheit des root Servers beruht darauf, dass der verwendete Port am Router geblocked wird und damit alle FTP Zugriff von aussen auf dem öffentlichen FTP landen. Gebt diesen Port (2121) am Router NIE frei!

Und wie immer gilt, dass alles auf eigenes Risiko geschieht. Hier müsst ihr gewisse Systemfiles ändern und das birgt immer ein Risiko. Wenn ihr die Files nicht auf der DS selbst bearbeitet, dann achtet darauf, dass ihr einen Editor verwendet, der mit UNIX Zeilenenden umgehen kann! V.a. bei /etc/services ist das echt wichtig. Wenn ihr diese Datei mit den falschen Zeilenenden abspeichert, dann ist erst mal Sendeschluss auf der DS ;)

Noch kurz was zu xinetd&Co:
inetd bzw xinetd dienen dazu Dienste bei Bedarf zur Verfügung zu stellen. Der (x)inetd-Daemon läuft dabei permanent und lauscht auf eingehende Verbindungen zu denen er Config Files resp Einträge hat. Kommt eine solche Verbindungsanforderung rein, dann startet er den entsprechenden Serverdienst. Der Vorteil ist v.a. bei Systemen mit wenig RAM, dass diese Dienste nicht permanent laufen und Ressourcen verbrauchen. Der Nachteil ist eine etwas geringere Performance, da die Dienste immer wieder gestartet werden müssen. vsftp läuft auch unter inetd sauber, ich bevorzuge aber xinetd weil mehr Einstellungsmöglichkeiten vorhanden sind. So können IPs eingeschränkt werden und vieles mehr...

Gruss

tobi
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Liegt der Sinn eines ftp's nicht darin, auf den 'root'-Zugang zu verzichten, selbst wenn ihn herstellen könnte? ;)

itari
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat