- 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:
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
Ich werde das bei Interesse mal ausführlicher im Wiki schreiben, hier aber mal die Eckpunkte:
- alternativen FTP Server z.B. vsftp via ipkg installieren und konfigurieren
- xinet den "Masterdaemon" (vgl inet) via ipkg installieren
- den Service des neuen FTP Servers in /etc/services eintragen:
Code:rootftp 2121/tcp # Root Acces FTP rootftp 2121/udp
- 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 }
- im Diskstation Manager den FTP Server aktivieren und nur Verbindungen via SSL zulassen. Ausserdem macht es Sinn die automatische IP Blockierung zu aktivieren
- auf dem Router eine Port-Weiterleitung von Port 21 (WAN) auf die IP Adresse und Port 21 (LAN) des Servers erstellen
- 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)
- prüfen ob xinetd läuft
Code:$ ps | grep xinetd
Code:$ sh /opt/etc/init.d/S10xinetd start
Code:$ kill -HUP `pidof xinetd`
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