ProFTPD 202

/ LPIC / Comment[0]

FTPサーバソフトウェアの一つ。セキュリティに不安のあったWU-FTPDに代わるものとして開発された。
適切に設定すれば安定してセキュアな動作が可能であるとしている。

設定ファイル /etc/proftpd.conf
<Global> context

ServerName "ProFTPD server"
ServerIdent no //バージョンを隠す
ServerAdmin root@localhost
DefaultServer on

VRootEngine on
DefaultRoot ~ !adm //ホームディレクトリより上位ディレクトリには上がれない
VRootAlias etc/security/pam_env.conf /etc/security/pam_env.conf

AuthPAMConfig proftpd
AuthOrder mod_auth_pam.c* mod_auth_unix.c

UseReverseDNS off

User nobody //子プロセス実行ユーザ
Group nobody //子プロセス実行ユーザ

MaxInstances 20 //最大子プロセス数

UseSendfile off

LogFormat default "%h %l %u %t \"%r\" %s %b"
LogFormat auth "%v [%P] %h %t \"%r\" %s"

<IfDefine TLS>
TLSEngine on
TLSRequired on
TLSRSACertificateFile /etc/pki/tls/certs/proftpd.pem
TLSRSACertificateKeyFile /etc/pki/tls/certs/proftpd.pem
TLSCipherSuite ALL:!ADH:!DES
TLSOptions NoCertRequest
TLSVerifyClient off
TLSLog /var/log/proftpd/tls.log
<IfModule mod_tls_shmcache.c>
TLSSessionCache shm:/file=/var/run/proftpd/sesscache
</IfModule>
</IfDefine>

<IfDefine DYNAMIC_BAN_LISTS>
LoadModule mod_ban.c
BanEngine on
BanLog /var/log/proftpd/ban.log
BanTable /var/run/proftpd/ban.tab

BanOnEvent MaxLoginAttempts 2/00:10:00 01:00:00

BanControlsACLs all allow user ftpadm
</IfDefine>

<Global>

Umask 022

AllowOverwrite yes //上書きを許可するかどうか
<Limit ALL SITE_CHMOD>
AllowAll //アクセス権変更を許可
</Limit>

</Global>

<IfDefine ANONYMOUS_FTP>
<Anonymous ~ftp>
User ftp
Group ftp
AccessGrantMsg "Anonymous login ok, restrictions apply."

UserAlias anonymous ftp

MaxClients 10 "Sorry, max %m users -- try again later"

DisplayLogin /welcome.msg
DisplayChdir .message
DisplayReadme README*

DirFakeUser on ftp
DirFakeGroup on ftp

<Limit WRITE SITE_CHMOD>
DenyAll
</Limit>

<Directory uploads/*>
AllowOverwrite no //上書き転送を許可するかどうか
<Limit READ>
DenyAll //読み込みを許可
</Limit>

<Limit STOR>
AllowAll //書き込み禁止
</Limit>
</Directory>

WtmpLog off

ExtendedLog /var/log/proftpd/access.log WRITE,READ default
ExtendedLog /var/log/proftpd/auth.log AUTH auth

</Anonymous>
</IfDefine>

書式
 <ディレクティブ FTPコマンド,コマンドグループ> 内容 </ディレクティブ>

ディレクティブ
 Order allow,deny|deny,allow AllowとDenyがチェックする順番
 Allow from 場所 許可するホストやネットワークを指定
 AllowAll 許可を明示
 AllowGroup 許可するグループ
 AllowUser 許可するユーザ
 Deny from 場所 拒否するホストやネットワークを指定
 DenyAll 拒否を明示
 DenyGroup 拒否するグループ
 DenyUser 拒否するユーザ

FTPコマンド
 RETR サーバからクライアントへのファイル転送
 STOR クライアントからサーバへのファイル転送
 REN ファイル名変更
 DELE ファイル削除
 RMD ディレクトリ削除
 SITE_CHMOD パーミッション変更

FTPコマンドグループ
 DIRS ファイル名一覧の取得
 READ ファイルの読み込み
 WRITE ファイル、ディレクトリの作成・削除
 ALL 全てのコマンド
 LOGIN ログイン



FTPログインを許可しないユーザは
/etc/ftpusersに記述する。
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
uucp
operator
gopher
nobody
dbus
tcpdump
ntp
named

chrootの設定
DefaultChdir /pub
/pubより上のディレクトリには移動できないようになる。


FTPのデータ転送はサーバからクライアントへ接続を要求する アクティブモード
パッシブモードにするとデータ転送もクライアントからサーバへ接続を要求できるようになる。

パッシブモードに設定
/etc/proftp.conf
MasqueradeAddress          //ルータのIPアドレス,ドメイン名
PassivePorts 50000 55000 //利用するポートの範囲
関連記事

コメント

:
:
:
:
:
管理人のみ表示を許可