Serwer SFTP: lepiej używać wewnętrznego podsystemu SSH SSH lub wtyczki ProFTPD?

11

Zlecono mi instalację nowego serwera SFTP. Per se jest to bardzo prosta operacja: wystarczy użyć internal-sftproli wszechobecnej usługi SSH (z chrootingiem), aby mieć niezawodny serwer SFTP.

Jednak z mojej natury zawsze należy wypróbować co najmniej dwa różne podejścia do tego samego problemu i zdałem sobie sprawę, że mogę korzystać ProFTPDz wtyczki sftp, aby zrobić to samo, z dodatkową zaletą bardziej szczegółowych opcji związanych z transferem plików (np. Ograniczanie przepustowości ). Z drugiej strony ta wtyczka nie jest domyślnie kompilowana (i pakowana) i chciałbym uniknąć (być może) rozwiązania „mniej przetestowanego”.

W tej chwili jedyną wymaganą usługą jest SFTP; gram jednak z wyprzedzeniem i chciałbym wdrożyć rozwiązanie, które może współpracować nie tylko z SFTP, ale także z FTP / S.

Biorąc pod uwagę, że zamierzam chrootować użytkowników w ich domach, co według ciebie jest lepszym rozwiązaniem?

  1. użyj SSH internal-sftpi samodzielnego serwera FTP ( vsftpdlub proftpd) do usług FTP / S
  2. korzystaj tylko z usługi ProFTPD z odpowiednią wtyczką
Shodanshok
źródło
1
jest to prawdopodobnie oparte na opiniach. Jeśli nie korzystasz internal-sftpz sshd, prawdopodobnie będziesz musiał użyć SFTP na inny niż porcie deffault (jeśli nadal chcesz sshd), która jest z pewnością problem użyteczność.
Jakuje,
Cześć, dziękuję za Twój wkład. Nie szukam opinii, raczej porad najlepszych praktyk od kogoś, kto ocenił już dwie opisane opcje. Wskazujesz, że nasłuchujący port TCP ma rację, ale w tej konfiguracji używanie innego portu dla SSH nie stanowi problemu.
shodanshok
1
Nie jestem pewien, czy „niesprawdzony” jest sprawiedliwym osądem mod_sftpmodułu ProFTPD ; istnieje wiele witryn, które faktycznie korzystają z niego codziennie.
Castaglia 21.04.16
Dziękuję za komentarz. Więc jest mod_sftpczęściej używany niż myślałem? Wspaniały. W każdym razie nie oceniłbym tego mod_sftpjako niesprawdzony, z tego powodu użyłem cytatów. Przeredaguję tę część pytania.
shodanshok

Odpowiedzi:

4

Serwer sftp SSH ma dodatkowe wymagania dotyczące katalogów chroot, tj. użytkownik nie może mieć dostępu do zapisu katalogu chroot w niektórych środowiskach, może to stanowić problem.

Jeśli potrzebujesz także ftp / ftps, sugerowałbym wypróbowanie mod_sftp. Używamy go w produkcji na około 20 serwerach z ponad 10 000 kont z prawie zerowymi problemami (sftp to najmniej używany protokół). Wadą może być to, że nie obsługuje metody uwierzytelniania hasła, ale obsługuje klawisz RSA i interaktywną klawiaturę, więc jest to problem tylko dla bardzo starych klientów.

Leniwy404
źródło
20 servers with over 10k accounts- wielkie dzięki za raport, jest bardzo doceniany. O różnicy w pozwoleniu na pisanie w domu już nad tym pracowałem;)
shodanshok
3

To starszy wątek, ale chciałbym dodać dla przyszłych czytelników, że od lat konfigurujemy serwery do używania proftpd z mod_sftp bez żadnych problemów. Bardzo podoba mi się to, że oddzielenie usług zapewnia dokładną kontrolę nad bezpieczeństwem, samą usługą i zarządzaniem użytkownikami.

Możesz skonfigurować proftpd tak, aby obsługiwał jedno lub oba hasła / klucze za pomocą mod_sftp, jeśli dodatkowo dołączasz moduł sftp_pam. Oto przykładowa konfiguracja, która umożliwia zarówno:

# Include all available modules
Include /etc/proftpd/modules.conf

<Global>
  <IfModule mod_sftp.c>
    <IfModule mod_sftp_pam.c>
      SFTPPAMEngine on
      SFTPPAMServiceName sftp
    </IfModule>

    SFTPEngine on
    SFTPLog /var/log/proftpd/sftp.log

    # Configure both the host keys
    SFTPHostKey /etc/ssh/ssh_host_rsa_key
    SFTPHostKey /etc/ssh/ssh_host_dsa_key

    SFTPAuthMethods publickey password keyboard-interactive
    SFTPAuthorizedUserKeys file:/etc/proftpd/authorized_keys/%u

    # Enable compression
    SFTPCompression delayed
  </IfModule>
</Global>
Diogenes deLight
źródło