ProFTPD に接続はできるが,ログインに失敗する。ドハマりした結果,原因は /etc/ftpusers にあることが分かった。
■ ■ ■
動作環境
結果的には実はバージョンはまったく関係ないのだが,念のため書いておくと,動作環境は Vine Linux 6.2, ProFTPD 1.3.3e である。ProFTPD は xinetd 経由ではなく,standalone で動作している。
現象
ProFTPD は起動している。しかし,FTP クライアントから接続しようとすると (ユーザは foo だとする),次のようにログインに失敗する。
$ ftp nlogn.ath.cx
Connected to nlogn.ath.cx.
220 ProFTPD 1.3.3e Server (ProFTPD Default Installation) [::ffff:192.168.0.197]
Name (nlogn.ath.cx:foo):
331 Password required for foo
Password:
530 Login incorrect.
ftp: Login failed.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
原因調査
原因を調べるためにログファイルを見ていくことにした。/var/log/messages はどうかというと,次のようになっていた。セッションが開いてからその直後に閉じている。
Apr 17 19:48:58 localhost proftpd[17395]: localhost.localdomain (localhost.localdomain[::ffff:127.0.0.1]) - FTP session opened.
Apr 17 19:49:09 localhost proftpd[17395]: localhost.localdomain (localhost.localdomain[::ffff:127.0.0.1]) - FTP session closed.
/var/log/secure はどうか。
Apr 17 19:49:05 localhost proftpd: pam_listfile(ftp:auth): Refused user foo for service ftp
Apr 17 19:49:07 localhost proftpd[17395]: localhost.localdomain (localhost.localdomain[::ffff:127.0.0.1]) - USER foo (Login failed): User in /etc/ftpusers
…ん? 「ユーザ foo は /etc/ftpusers にある」ですと?
問題解決
マニュアルによれば,/etc/ftpusers は「ftp の使用を許可しないユーザーのリスト」とある (Man page of FTPUSERS)。
要するに,ものすごい勘違いをしていたのである。私は「ftp を許可する」ユーザのリストだと思っていたのだ。だから ftp を使いそうなユーザを着々と追加していっていた。そして ftp に接続はできるのにどうしてだろうと散々悩んだ。それもそのはず,実は「ftp を許可しない」リストだったからである。そして,/etc/ftpusers からユーザ foo を削除し,問題はあっけなく解決したのだった。(´・ω・`)
それにしても ftpusers のネーミング悪すぎ。ftpdeny とか何か他に案はなかったのか。
その他
FTP とは関係がないのだが,/var/log/secure を開くと,どこぞからの ssh での root ログインの試行が秒単位で繰り返されていることが分かり,青ざめている。
Apr 17 20:00:53 localhost sshd[17704]: Failed password for root from 222.186.21.240 port 59853 ssh2
Apr 17 20:00:54 localhost sshd[17706]: Failed password for root from 43.255.190.186 port 39326 ssh2
Apr 17 20:00:56 localhost sshd[17706]: Failed password for root from 43.255.190.186 port 39326 ssh2
Apr 17 20:00:58 localhost sshd[17706]: Failed password for root from 43.255.190.186 port 39326 ssh2
Apr 17 20:00:58 localhost sshd[17707]: Received disconnect from 43.255.190.186: 11:
Apr 17 20:00:58 localhost sshd[17706]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=43.255.190.186 user=root
Apr 17 20:01:00 localhost sshd[17708]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=43.255.190.186 user=root
Apr 17 20:01:02 localhost sshd[17708]: Failed password for root from 43.255.190.186 port 57809 ssh2
Apr 17 20:01:04 localhost sshd[17708]: Failed password for root from 43.255.190.186 port 57809 ssh2
Apr 17 20:01:04 localhost sshd[17718]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=222.186.21.240 user=root
Posted by n at 2015-04-17 20:07 | Edit | Comments (0) | Trackback(0)