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を選択すれば問題なく利用できる。