05) FTPログの取得
FTPログデーターの生成方法
RVシリーズサーバーでは、デフォルトで、FTPのログは/var/log/messagesの中やxferlogなどに 出力されておりますが、他のシステムログと混ざっていたり、マスターユーザー分だけの記録になっています。その為、FTP接続が可能な全てのユーザーのFTPログ確認するのは、困難な状態です。
このマニュアルでは、FTPログを単独で出力させる為の方法についてご案内させて頂きます。
(1) FTPログを生成させるディレクトリの作成
/var/logディレクトリの中にFTPログを保存するディレクトリ「proftpd」を 作成します。
# mkdir /var/log/proftpd
(2) proftpd.confの編集
作成するFTPログのフォーマットを作成します。FTPログの記述は、/etcディレクトリの中にある「proftpd.conf」ファイルに記述します。
# cd /etc
今回は、以下の2種類のFTPログを作成する例とさせて頂きます。
all.log:時間、ユーザー、リモートIP アドレス、リモートホスト、ステータス、リクエスト
タイム、リクエストメソッド、ファイル名
auth.log:時間、ユーザー、リモートIP アドレス、リモートホスト
auth.log:時間、ユーザー、リモートIP アドレス、リモートホスト
proftpd.confファイルの最後に、以下の4行を追記します。
LogFormat allinfo "%t : %u (%a [%h]) : [%s], %T, %m (%f)"
LogFormat auth "%t : %u (%a [%h])"
ExtendedLog /var/log/proftpd/all.log ALL allinfo
ExtendedLog /var/log/proftpd/auth.log AUTH auth
上記の追記が完了した後、FTP接続が行われると、自動的に/var/log/proftpdディレクトリの中に
all.log auth.log が生成されます。LogFormat auth "%t : %u (%a [%h])"
ExtendedLog /var/log/proftpd/all.log ALL allinfo
ExtendedLog /var/log/proftpd/auth.log AUTH auth
FTPログデーターの圧縮保存
上記のログ生成では、FTPログデーターが蓄積されていく事になりますので、将来的には、必ずディスク容量の負担になります。他のシステムログ同様、定期的に圧縮保存をする為に方法についてご案内させて頂きます。
ログローテッドの設定ファイルの編集
システムログなどのログデータは、ログローテッドの設定ファイルにおいて、その圧縮保存の設定が行われています。システムファイルの場合、以下にある「/etc/logrotate.d/syslog」ファイルに記述があります。
ファイルの記述内容は、デフォルト状態では以下のようになっています。
/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var
/log/cron {
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
上記の設定ファイルに、FTPログの場所を追記します。/log/cron {
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
ログデーターのパス記述の後に半角スペースを入力して、追加するログデーターのパスを記述して下さい。
/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var
/log/cron /var/log/proftpd/all.log /var/log/proftpd/auth.log {
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
上記編集後、Apacheの再起動を行います。/log/cron /var/log/proftpd/all.log /var/log/proftpd/auth.log {
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
# restart_apache
以上で、FTPログデーターも、他のシステムログ同様に、週に1回、ログデーターの圧縮保存が自動実行されます。
