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ą

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.


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>
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.