inetd を使って、FTPポートにパケットが届いた場合だけ、Proftpd を起動するように設定する。
standalone モードに比べて、若干、接続までに時間を要する。
# vi /etc/rc.conf
/etc/rc.conf の中に次の1行を加える。ファイル末尾でよい。
proftpd_enable="NO"
# vi /etc/inetd.conf
もし、ftp stream の行が活きていたら、行頭に # をつけてコメントアウトする。
また、ftp 接続要求があった場合、proftpd が起動するように加筆する。
#ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l #ftp stream tcp6 nowait root /usr/libexec/ftpd ftpd -l #ftp stream tcp nowait root /usr/libexec/lukemftpd ftpd -l -r #ftp stream tcp6 nowait root /usr/libexec/lukemftpd ftpd -l -r ftp stream tcp nowait root /usr/local/sbin/proftpd proftpd
/usr/local/etc/proftpd.conf.sample を /usr/local/etc/proftpd.conf にコピーして、
# cd /usr/local/etc # cp proftpd.conf.sample proftpd.conf # chmod 644 proftpd.conf
/usr/local/etc/proftpd.conf を編集する。
# vi proftpd.conf
内容は次のような具合。部分的に記載するので該当部分を探して変更する。
ServerName "ProFTPD Custom Inetd" ServerType inetd TimesGMT off UseReverseDNS off IdentLookups off ServerIdent off RootLogin off <Limit SITE_CHMOD> AllowAll </Limit> <Limit LOGIN> AllowAll </Limit LOGIN>
/etc/hosts.allow を利用することで、ftp接続クライアントを制限することができる。
まずは、オリジナルファイルを別ファイル名に変更して保管しておく。
# cd /etc # ls -al | grep hosts.allow ここで存在するファイル名を確認する。 # mv hosts.allow hosts.allow.ORG
そして、新しいファイルとして hosts.allow に記述する。
# vi /etc/hosts.allow
以下は、LAN内(192.168.0.0/24と仮定する)に属するIPアドレスからの接続のみを許可する例である。
#------------------------------------------------------------------- # hosts.allow #------------------------------------------------------------------- # LAN ( 192.168.0.0/24 を許可する ) #------------------------------------------------------------------- ALL : localhost 127.0.0.1 : allow proftpd : 192.168.0.0/255.255.255.0 : allow #------------------------------------------------------------------- # DENY ( 上記以外は全て拒否する ) #------------------------------------------------------------------- ALL : ALL : deny
DENY は、接続の拒否を指定するものである。従って、inetd 経由で起動するtelnetdインストールした場合は、telnetd の許可をしなければ telnet接続できない。
念のため、telnetd を使用する場合は、どのように記述すればよいかを参考までに書いておく。
#------------------------------------------------------------------- # hosts.allow #------------------------------------------------------------------- # LAN ( 192.168.0.0/24 を許可する ) #------------------------------------------------------------------- ALL : localhost 127.0.0.1 : allow telnetd : 192.168.0.0/255.255.255.0 : allow proftpd : 192.168.0.0/255.255.255.0 : allow #------------------------------------------------------------------- # DENY ( 上記以外は全て拒否する ) #------------------------------------------------------------------- ALL : ALL : deny
ひととおり設定が終わったら、FreeBSD7.1RにFTPサーバ(Proftpd)をインストールに戻ってください。