16 January 2008

ProFTPD設定 (TLS無し) on Fedora 8

ProFTPDの接続制限を行う

特定アドレスからのアクセスのみ受け付ける設定

/etc/proftpd.conf
<Global> AllowOverwrite yes <Limit ALL SITE_CHMOD> AllowAll </Limit> <Limit LOGIN> Order allow, deny Allow from 127.0.0.1 192.168.1.0/24 ← アドレスをスペース or カンマで区切って入力 Deny from all </Limit> </Global>

特定のグループに所属するユーザからのアクセスのみ受け付ける設定

/etc/proftpd.conf
<Global> AllowOverwrite yes <Limit ALL SITE_CHMOD> AllowAll </Limit> <Limit LOGIN> Order allow, deny AllowGroup ftp-group ← グループ名を列挙 Deny from all </Limit> </Global>

特定のグループ & 特定のアドレスからのみアクセスを受け付ける設定
deny, allow ディレクティブで、まずdenyが評価され、次にallowが評価され、評価の無かったものはデフォルトでdenyとなる

/etc/proftpd.conf
<Global> AllowOverwrite yes <Limit ALL SITE_CHMOD> AllowAll </Limit> <Limit LOGIN> Order deny, allow Allow from 127.0.0.1 192.168.1.0/24 DenyGroup !ftp-group ← NOT演算子を用いる </Limit> </Global>

ftp専用のグループの作成し、ユーザを所属させる

[root@localhost ~]# /usr/sbin/groupadd ftp-group [root@localhost ~]# /usr/sbin/usermod -G ftp-group login_user

その他のFTPDの設定

/etc/proftpd.conf
ServerName "FTPD server" ← デーモンの種類が分かるような文字列にはしない ServerIdent on "FTP Server ready." ServerAdmin root@localhost ServerType standalone #ServerType inetd DefaultServer on AccessGrantMsg "User %u logged in." #DisplayConnect /etc/ftpissue #DisplayLogin /etc/ftpmotd #DisplayGoAway /etc/ftpgoaway DeferWelcome off TimesGMT off ← ローカル時刻を用いる # Use this to excude users from the chroot DefaultRoot ~ !adm ,!www-group ← デフォルトユーザはchrootで” ~ ”から下位ディレクトリのみブラウズ可能、その後ろパラメータはchrootされず、上位ディレクトリにも移れるユーザやグループを列挙

ログ取得のための設定 (デフォルトでは転送ログは記録されていないため)

/etc/proftpd.conf
# Define the log formats LogFormat default "%h %l %u %t \"%r\" %s %b" LogFormat auth "%v [%P] %h %t \"%r\" %s" #ExtendedLog /var/log/proftpd/default.log ALL default ExtendedLog /var/log/proftpd/default.log READ default ExtendedLog /var/log/proftpd/default.log WRITE default SystemLog /var/log/proftpd/system.log

※ FTPクライアントは、unicode (UTF-8)対応のもので無いと、文字化けする。WindowsのFFFTPは接続設定でUTF-8を選択すれば問題なく利用できる。