web-dev-qa-db-ja.com

VSFTPDは、ftpusersファイルにリストされていてもrootアクセスを許可します

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ファイルから読み取られていない場合は、maildaemonmannobodyなどの他のユーザーを想定しています。等も読まれていませんか? (それで私がそれらをuserlistファイルに追加しようとした理由)

2
WayneT

以下がvsftpd.confにあることを確認してください

 userlist_deny=YES

次に、ルートがにあることを確認します

 /etc/vsftpd/user_list

Vsftpを再起動すると、ルートログインが拒否されます。

1
Mike