inetd経由で起動するProftpdを設定する

inetd を使って、FTPポートにパケットが届いた場合だけ、Proftpd を起動するように設定する。

standalone モードに比べて、若干、接続までに時間を要する。

  • inetd を使って起動する方法は、/etc/hosts.allow でアクセス制限ができる。
  • /ust/local/etc/proftpd.conf に記述された設定(つまりアクセス制限)も有効になる。

/etc/rc.conf で proftpd を無効にする

# vi /etc/rc.conf

/etc/rc.conf の中に次の1行を加える。ファイル末尾でよい。

proftpd_enable="NO"

/etc/inetd.conf で proftpd が起動するように設定する

# 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 を編集する

/usr/local/etc/proftpd.conf.sample を /usr/local/etc/proftpd.conf にコピーして、

  • もともと proftpd.conf が存在するのなら、それを使えばよい。
# cd /usr/local/etc
# cp proftpd.conf.sample proftpd.conf
# chmod 644 proftpd.conf

/usr/local/etc/proftpd.conf を編集する。

# vi proftpd.conf

内容は次のような具合。部分的に記載するので該当部分を探して変更する。

  • proftp.conf の中の # はコメント行。
  • UseReverseDNS などが見当たらない場合は適当な位置に追加。
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 で接続制限

/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)をインストールに戻ってください。

freebsd7.1r/proftpd/proftpd-inetd.txt · 最終更新: 2009/02/12 18:46 by vdobv
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0