vsftpdのロギング(最も詳細な)を有効にするには?

vsftpdのロギング(最も詳細な)を有効にするには?

アップロード、ダウンロード、特に削除されたファイルを表示できるようにvsftpdのロギングを有効にしようとしています。ただし、centos 6 を新規インストールすると正常なロギングも得られません。

設定:

[root@sftp01 vsftpd]# cat /etc/centos-release 
CentOS release 6.9 (Final)

[root@sftp01 vsftpd]# netstat -naplt
    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
    tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      367/vsftpd          
    tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      507/sshd            
    tcp        0      0 :::22                       :::*                        LISTEN      507/sshd   

[root@sftp01 ~]# yum repolist
Loaded plugins: fastestmirror
Determining fastest mirrors
epel/metalink                                                                                                          |  12 kB     00:00     
 * base: mirrors.usc.edu
 * epel: mirror.math.princeton.edu
 * extras: repos.lax.quadranet.com
 * updates: mirror.eboundhost.com
base                                                                                                                   | 3.7 kB     00:00     
base/primary_db                                                                                                        | 4.7 MB     00:01     
epel                                                                                                                   | 4.3 kB     00:00     
epel/primary_db                                                                                                        | 5.9 MB     00:00     
extras                                                                                                                 | 3.4 kB     00:00     
extras/primary_db                                                                                                      |  29 kB     00:00     
updates                                                                                                                | 3.4 kB     00:00     
updates/primary_db                                                                                                     | 3.1 MB     00:00     
repo id                                         repo name                                                                               status
base                                            CentOS-6 - Base                                                                          6,706
epel                                            Extra Packages for Enterprise Linux 6 - x86_64                                          12,380
extras                                          CentOS-6 - Extras                                                                           45
updates                                         CentOS-6 - Updates                                                                         565

基本割り当て:

[root@sftp01 vsftpd]# grep -v ^# /etc/vsftpd/vsftpd.conf 
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

SFTP経由で接続しているシステムユーザーは正常に動作します。さまざまなロギングオプションの組み合わせ(dual_log_enable、vsftpd_log_file、xferlog_file、およびマニュアルページにリストされているその他のエントリ)を試して、さまざまな権限を使用してログファイルを手動で生成しました。

vsftpdにログインするには?


修正する:

[root@sftp01 vsftpd]# cat /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
connect_from_port_20=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

xferlog_std_format=YES
xferlog_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
log_ftp_protocol=YES

[root@sftp01 vsftpd]# /etc/init.d/vsftpd restart
Shutting down vsftpd:                                      [  OK  ]
Starting vsftpd for vsftpd:                                [  OK  ]

SFTPを使用してログインし、ファイルをアップロードし、ファイルを削除し、ログアウトした後(FTP関連情報なし):

[root@sftp01 vsftpd]# tail -f /var/log/*
==> /var/log/secure <==
Aug 29 13:48:22 sftp01 sshd[1253]: Accepted password for test from 192.168.10.10 port 35825 ssh2
Aug 29 13:48:22 sftp01 sshd[1253]: pam_unix(sshd:session): session opened for user test by (uid=0)
Aug 29 13:48:22 sftp01 sshd[1255]: subsystem request for sftp
Aug 29 13:48:31 sftp01 sshd[1253]: pam_unix(sshd:session): session closed for user test

答え1

ログファイルの場所を追加する必要があります。

vsftpd_log_file=/var/log/vsftpd.log

詳細なログ記録を行うには、以下を追加する必要があります。

log_ftp_protocol=YES

そしてコメントを残してください

xferlog_std_format=YES

答え2

SFTPの接続はVSFTPDとは関係ありませんが、SSHDを介して実行されます。
SFTP接続はこれらの変更の影響を受けず、FTP接続のみが影響を受けます。

以下を変更してCentos 7.5で動作するようにしました。

log_ftp_protocol=はい
xferlog_enable=はい
xferlog_std_format=いいえ

答え3

ログからSFTPサーバーとの接続が確立されていることを確認できます。実際にFTPの代わりにSFTPを構成するには、/etc/ssh/sshd_configこのファイルでサーバーを構成するだけです。

# override default of no subsystems
Subsystem   sftp    /usr/libexec/openssh/sftp-server

FTP、FTPS、SFTPは同じではありません。 SFTPはデフォルトでポート22を使用します。 FTPとFTPSはデフォルトでポート21を使用します(他のポートも使用できます)。

そしてセントOS 8、私は持っていますVSFTPDロギングは次の設定で機能します/etc/vsftpd/vsftpd.conf

# This is by default YES
xferlog_enable=YES

# This was changed from default YES to NO.
# This was actually the setting preventing from logging properly.
xferlog_std_format=NO

# Changed logfile from default as this makes more sense to me
xferlog_file=/var/log/vsftpd.log

# Enable verbose logging
log_ftp_protocol=YES

関連情報