<Poprzedni | Spis treści | Następne>
1.4. Zabezpieczanie FTP
Są opcje w /etc/vsftpd.conf aby pomóc uczynić vsftpd bezpieczniejszym. Na przykład użytkownicy mogą ograniczyć się do swoich katalogów domowych, usuwając komentarz:
chroot_local_user = TAK
Możesz także ograniczyć określoną listę użytkowników tylko do ich katalogów domowych:
chroot_list_enable=TAK chroot_list_file=/etc/vsftpd.chroot_list
Po odkomentowaniu powyższych opcji utwórz plik /etc/vsftpd.chroot_list zawierający listę użytkowników, po jednym w każdym wierszu. Następnie uruchom ponownie vsftpd:
sudo systemctl restart vsftpd.service
Również /etc/ftpusers plik jest listą użytkowników, którzy są niedozwolone Dostęp do FTP. Domyślna lista zawiera root, demona, nikogo itp. Aby wyłączyć dostęp FTP dla dodatkowych użytkowników, po prostu dodaj ich do listy.
FTP można również szyfrować za pomocą FTPS. Różny od SFTP, FTPS to FTP przez Secure Socket Layer (SSL). SFTP jest sesją typu FTP, zaszyfrowaną SSH połączenie. Główną różnicą jest to, że użytkownicy SFTP muszą mieć plik powłoka konto w systemie zamiast konta a Zaloguj sie powłoka. Zapewnienie wszystkim użytkownikom powłoki może nie być idealnym rozwiązaniem w niektórych środowiskach, np. współdzielonym hoście internetowym. Możliwe jest jednak ograniczenie takich kont wyłącznie do protokołu SFTP i wyłączenie interakcji z powłoką. Aby uzyskać więcej informacji, zobacz sekcję dotyczącą OpenSSH-Server.
Aby skonfigurować FTPS, edytować /etc/vsftpd.conf i na dole dodaj:
ssl_enable=Tak
Zwróć także uwagę na certyfikat i opcje związane z kluczem:
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
Domyślnie te opcje są ustawione na certyfikat i klucz dostarczony przez pakiet ssl-cert. W środowisku produkcyjnym należy je zastąpić certyfikatem i kluczem wygenerowanym dla konkretnego hosta. Więcej informacji na temat certyfikatów znajdziesz w Rozdziale 5, „Certyfikaty” [s. 198].
Teraz uruchom ponownie vsftpd, a nieanonimowi użytkownicy będą zmuszeni do użycia FTPS:
sudo systemctl restart vsftpd.service
Aby umożliwić użytkownikom powłokę /usr/sbin/nologin dostęp do FTP, ale nie masz dostępu do powłoki, edytuj / etc / shells
dodanie Zaloguj sie muszla:
# /etc/shells: prawidłowe powłoki logowania
/bin/csz
/ Bin / sh
/usr/bin/pl
/usr/bin/ksh
/bin/ksz
/usr/bin/rc
/usr/bin/tcsh
/ bin / tcsh
/usr/bin/esh
/bin/myślnik
/ bin / bash
/bin/rbash
/usr/bin/ekran
/usr/sbin/nologin
Jest to konieczne, ponieważ domyślnie vsftpd używa PAM do uwierzytelnienia, a plik /etc/pam.d/vsftpd
plik konfiguracyjny zawiera:
wymagane uwierzytelnienie pam_shells.so
Opona muszle Moduł PAM ogranicza dostęp do powłok wymienionych w / etc / shells plik.
Najpopularniejsze klienty FTP można skonfigurować do łączenia się za pomocą protokołu FTPS. Klient FTP wiersza poleceń lftp ma również możliwość korzystania z protokołu FTPS.