Ubuntu14.04のLEMPスタックにVSFTPDをインストールしました。 vsftpd.conf
に加えられた唯一の重要な変更は次のとおりです。
anonymous_enable=no
local_enable=yes
write_enable=yes
chroot_local_user=yes
allow_writeable_chroot=yes
VSFTPDはデフォルトでrootアクセスをブロックするはずです。/etc/ftpusers
ファイルをチェックし、アクセスを拒否するためにファイル内にrootがリストされていますが、rootアカウントを使用してサーバーにftpでアクセスできます。すると、/root
フォルダーに入れられ、投獄されます。
FTP経由でrootログインを無効にするにはどうすればよいですか?
/etc/pam.d/vsftp
の内容:
# Standard behaviour for ftpd(8).
auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
# Note: vsftpd handles anonymous logins on its own. Do not enable pam_ftp.so.
# Standard pam includes
@include common-account
@include common-session
@include common-auth
auth required pam_shells.so
追加
userlist_enable=yes
userlist_deny=yes
userlist_file=/etc/vsftp.user_list
ルートアクセスを拒否しましたが、ユーザーリストファイルに1行しかない場合に限ります。複数のユーザー(1行に1人)を追加すると、壊れてルートログインが許可されます。
Rootが/etc/ftpusers
ファイルから読み取られていない場合は、mail
、daemon
、man
、nobody
などの他のユーザーを想定しています。等も読まれていませんか? (それで私がそれらをuserlistファイルに追加しようとした理由)
以下がvsftpd.confにあることを確認してください
userlist_deny=YES
次に、ルートがにあることを確認します
/etc/vsftpd/user_list
Vsftpを再起動すると、ルートログインが拒否されます。