LoginSignup
0
5

More than 5 years have passed since last update.

chrootされたSFTP専用ユーザのFTP転送logを簡単に/var/log/sftp.logへはきだす

Last updated at Posted at 2017-10-19

Socketを使って出す とか色々あるみたいだけど、
タイトル通り、簡単に実現したい方向け。

環境
CentOS6.5
Filezilla3.28(最新版)

1.sshd_config設定ファイルの変更

vim /etc/ssh/sshd_config を以下に変更↓

sshd_config
#Subsystem sftp /usr/libexec/openssh/sftp-server -f LOCAL5 -l VERBOSE`
Subsystem sftp internal-sftp```
Match Group sftp_group
ChrootDirectory /data/sftp/%u
ForceCommand internal-sftp -f AUTH -l INFO
#PasswordAuthentication yes
# X11Forwarding no
# AllowTcpForwarding no
# ForceCommand cvs server

2.ssh_config再起動

service sshd restart

解説:
・chroot化 →/data/sftp/クライアント名 以下みられない
・SSHログイン不可 →SFTP送受信専用ユーザ完成。セキュリティ上SSHでTeraTermとかで入れないように。

3.rsyslog.conf設定ファイルの変更

vim /etc/rsyslog.conf

↓以下を追加↓

rsyslog.conf
if $syslogfacility-text == 'authpriv' and $msg contains 'flags WRITE,CREATE,TRUNCATE mode 0666' then /var/log/sftp.log

4.rsyslog.conf再起動

service rsyslog restart

解説:
/var/log/secure より出力したいlogの一部を上記のように記載
例1)ファイルのダウンロードだけsftp/logに書き込みたい →上記を追加
例2)/var/log/secureの全てをsftp.logに書き込みたい →if $syslogfacility-text == 'authpriv' then /var/log/sftp.log

とりあえず上記1.~4.を実施することでタイトル通りのことはできます。

あとはお好みでローテーション設定も追加すればよいと思います。

5.logrotate.d/syslogファイルの編集

vim /etc/logrotate.d/syslog

↓以下を追加↓

/var/log/sftp.log

詳しくは以下のサイトで情報があるので参考にしてください。
http://fanblogs.jp/kumon/archive/18/0

以上

0
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
5