1.4. FTPの保護
オプションがあります /etc/vsftpd.conf vsftpd をより安全にするのに役立ちます。 たとえば、コメントを解除すると、ユーザーを自分のホーム ディレクトリに制限できます。
chroot_local_user = YES
特定のユーザーのリストをホーム ディレクトリのみに制限することもできます。
chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list
上記のオプションのコメントを解除した後、 /etc/vsftpd.chroot_list ユーザーのリストが XNUMX 行に XNUMX つずつ含まれます。 次に、vsftpd を再起動します。
sudo systemctl 再起動 vsftpd.service
また、 /etc/ftpusers ファイルは、次のユーザーのリストです。 許可されていない FTPアクセス。 デフォルトのリストには、root、デーモン、nobody などが含まれます。追加のユーザーの FTP アクセスを無効にするには、単にそのユーザーをリストに追加します。
FTP は次の方法で暗号化することもできます。 FTPS。 と違う SFTP, FTPS は、Secure Socket Layer (SSL) 上の FTP です。 SFTP 暗号化されたセッションを介した FTP のようなセッションです SSH 繋がり。 主な違いは、SFTP のユーザーは shell の代わりに、システム上のアカウント ログインなし シェル。 すべてのユーザーにシェルを提供することは、共有 Web ホストなどの一部の環境では理想的ではない場合があります。 ただし、そのようなアカウントを SFTP のみに制限し、シェル対話を無効にすることは可能です。 詳細については、OpenSSH サーバーに関するセクションを参照してください。
設定するには FTPS、 編集 /etc/vsftpd.conf そして最後に次を追加します。
ssl_enable=はい
また、証明書とキー関連のオプションにも注目してください。
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
デフォルトでは、これらのオプションは ssl-cert パッケージによって提供される証明書とキーに設定されます。 運用環境では、これらを特定のホスト用に生成された証明書とキーに置き換える必要があります。 証明書の詳細については、セクション 5. 「証明書」 [p. 198] を参照してください。 XNUMX]。
ここで vsftpd を再起動すると、匿名以外のユーザーは強制的に vsftpd を使用するようになります。 FTPS:
sudo systemctl 再起動 vsftpd.service
のシェルを持つユーザーを許可するには /usr/sbin/nologin FTP にはアクセスできますが、シェルへのアクセス権はありません。編集します /など/シェル
追加する ログインなし シェル:
# /etc/shells: 有効なログインシェル
/ bin / csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/ bin / ksh
/usr/bin/rc
/usr/bin/tcsh
/ bin / tcsh
/usr/bin/esh
/ビン/ダッシュ
/bin/bash
/bin/rbash
/usr/bin/画面
/usr/sbin/nologin
これが必要なのは、デフォルトでは vsftpd が認証に PAM を使用し、 /etc/pam.d/vsftpd
設定ファイルには次の内容が含まれます。
認証が必要です pam_shells.so
当学校区の シェル PAM モジュールは、以下にリストされているシェルへのアクセスを制限します。 /など/シェル ファイルにソフトウェアを指定する必要があります。
ほとんどの一般的な FTP クライアントは、FTPS を使用して接続するように構成できます。 lftp コマンド ライン FTP クライアントには、FTPS を使用する機能もあります。