Quali sono alcune alternative sicure all'FTP? [chiuso]


22

Questa storia di Hacker News riguarda gli aspetti negativi di FTP. L'unico motivo per cui potrei configurare FTP è che è facile.

Conosco e utilizzo scpgià, ma a volte voglio condividere file con qualcuno senza dargli sshaccesso al mio server. Voglio che siano in grado di caricare e scaricare file, ma nient'altro e voglio limitarli a una singola directory. Voglio anche che la loro connessione sia crittografata come ssh.

Quali sono alcune alternative all'FTP che soddisfano questi criteri?



1
Non mi preoccuperò di leggere quell'articolo, ma vale la pena ricordare che FTP è stato progettato per l'uso in una rete chiusa (laboratorio al piano superiore da / verso i server nel seminterrato), quindi la sicurezza non è mai stata nemmeno considerata. È sorprendente che sia ancora in uso su reti pubbliche.
John Gardeniers,

1
Qualcuno potrebbe sostenere che ftp non è stato progettato affatto, ma si è evoluto attraverso Good Ideas immaginato da varie persone che creavano software per il trasferimento di file molto prima che la chiusura diventasse una proprietà osservabile per le reti, quando il controllo degli accessi avveniva con porte chiuse e sguardi arrabbiati.
Eroen,

Risposte:


7

Proftpd ha un server sftp integrato che ti permetterebbe di separare completamente gli utenti da sshd ai fini del trasferimento di file. Puoi configurarlo in modo che utilizzi un file passwd completamente separato per isolarli ulteriormente (è difficile accedere a un sistema con ssh e superare un chroot se in realtà non hai un utente in / etc / passwd .. .)

proftpd ti permette anche di chroot e isolare l'utente sftp in una serie di directory abbastanza facilmente.

Facciamo qualcosa del genere:

LoadModule mod_sftp.c

<VirtualHost 10.1.1.217>

    ServerName  "ftp.example.com"

    # from http://www.proftpd.org/docs/howto/NAT.html
    MasqueradeAddress   1.2.3.4
    PassivePorts 27001 27050

    UseSendfile off

    ExtendedLog         /var/log/proftpd/access.log WRITE,READ default
    ExtendedLog         /var/log/proftpd/auth.log AUTH auth

    AuthUserFile /etc/proftpd/AuthUsersFile
    AuthOrder           mod_auth_file.c 

    <IfModule mod_sftp.c>
        Port 10022
    SFTPAuthorizedUserKeys file:/etc/proftpd/ssh_authorized_keys/%u
        SFTPEngine On
        SFTPLog /var/log/proftpd/sftp.log
        SFTPHostKey /etc/ssh/proftpd-ssh_host_rsa_key
        SFTPHostKey /etc/ssh/proftpd-ssh_host_dsa_key
        MaxLoginAttempts 6
    </IfModule>
</VirtualHost>

1
Per aiutare il neofita, se l'OP ha bisogno di aiuto per l'impostazione, ho un tutorial completamente di base qui: csrdu.org/nauman/2011/02/13/…
ricollegare il

3

Vorrei usare WebDav con un server abilitato https! L'autenticazione si basa quindi sullo schema di autorizzazione http standard. Una guida per impostare WebDAV con apache può essere trovato qui , allora è neccessary solo per mettere quella risorsa dietro https, e qui ho trovato una descrizione bella come fare quello .


Data la lingua in uso qui, potresti almeno aver collegato a una versione inglese dell'articolo.
John Gardeniers,

ahah scusa non ho capito quell'errore. Grazie per la correzione!
Joecks

1

Non hai specificato "libero" come requisito, quindi ho intenzione di buttare via il pacchetto di trasporto di massa tramite grouplogic. Probabilmente è un po 'eccessivo per la maggior parte delle persone e fuori dalla loro fascia di prezzo, ma la suite di funzionalità è a dir poco fantastica. Ottieni un secondo server Mass Transit e accendi l'automazione e stai spostando alcuni file molto velocemente.


0

È possibile configurare sftpche utilizza sshin una modalità simile a ftp.

Puoi creare alcuni utenti (uno o più, dipende dal fatto che sia giusto o meno per ogni utente accedere ai file degli altri) nella tua macchina, dare loro shell / bin / false e chrootogni utente in una directory dove devono essere quei file posto.


0

È possibile utilizzare pure-ftpd con la crittografia TLS abilitata. La configurazione è molto semplice, per abilitare l'opzione TLS di decommenting della crittografia nel file di configurazione (solo una linea :)), configurare i client per connettersi tramite ftps e questo è tutto. (È necessario ricordare che non tutti i client ftp supportano ftps).


-1

È possibile abilitare up- e download con rsync su ssh senza consentire gli accessi impostando rsync come shell di accesso per l'utente. Questo abilita tutte le chicche di ssh, inclusi gli accessi ai certificati, la crittografia e il funzionamento dei permessi del filesystem standard mentre non abilita gli account di shell (poiché l'account non avrà una shell ma rsync =)).


E come sarebbe più sicuro? Ancora in chiaro ...
EEAA

Dipende da come lo hai impostato. Il modo comune (l'unico modo in cui l'ho mai visto fare) è usare ssh e impostare rsync come shell di login o (per l'accesso root) certificati specifici per il comando ssh.
Eroen,

1
Rsync, quando si esegue un servizio (come si consiglia nella risposta) non ha crittografia. Questo ovviamente non è il caso di rsync + ssh. Puoi modificare la tua risposta per rendere più chiaro il tuo significato.
EEAA

Sono state apportate modifiche (nel caso in cui qualcuno ritenga che i commenti sopra non siano corretti).
Eroen,

Anche se non è stato chiesto, vale anche la pena ricordare che sebbene ci siano un numero qualsiasi di interfacce facili da usare per protocolli FTP e simil-FTP, personalmente non ne conosco uno per rsync. Se gli utenti previsti non sono tecnici, ciò potrebbe rappresentare un problema.
John Gardeniers,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.