S f35fe436493a0f4a268795248a2254cd vsftpd

FTPサーバー。めったに使わないけどたまに使う。SMTPサーバー同様、セットアップは大抵1年に数回しかしないからどの製品を使ってるのかよく忘れる。

CentOSにVsftpdをインストールする


1. yumでインストールします。

#yum install vsftpd


2. 設定ファイルを変更します。

#vi /etc/vsftpd/vsftpd.conf

anonymous_enable=NO # 匿名ログインを禁止します
listen=NO # xinetdで起動する場合には"NO"に変更します。スタンドアロンで動作させる場合にはYESのままにします。

3. ファイヤーウォール(iptables)を設定します。

#vi /etc/sysconfig/iptables

パッシブモード用の設定です。RELATEDというのが重要です。
設定されていない場合には設定してください。
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

こういった形のエントリが1行増えます。もちろん21というのは
アクセスに必要なポート番号です。ルール名は必要に応じて変更してください。
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

編集が終わったらiptablesを再起動して設定を反映してあげます。
#service iptables restart

OSにip_conntrack_ftpモジュールを組み込みます。このモジュールでOSが接続を追跡できるようになり、パッシブモードで動作するよう動的にポートを開いてくれます。
先ほどのiptablesに設定したRELATEDという設定と関連しています。

#vi /etc/sysconfig/iptables-config

IPTABLES_MODULESというエントリに "ip_conntrack_ftp" を設定します。
NATの背後にある場合には、"ip_nat_ftp"も設定します。
複数設定する場合にはスペースで区切ります。

IPTABLES_MODULES="ip_conntrack_netbios_ns ip_conntrack_ftp"

iptables-config ファイルで設定しても現在動作中のOSには反映されないため、
動的にモジュールを読み込んであげるようにします。

#modprobe ip_conntrack_ftp

※このコマンドは何も出力しません。もしエラーが発生した場合にはメッセージが表示されます。

4. xinetdで起動するよう、設定ファイルを配置します。

(この項目はxinetdでvsftpdを起動する場合にのみ行います。)

#cp -p /usr/share/doc/vsftpd-2.0.5/vsftpd.xinetd /etc/xinetd.d/vsftpd

デフォルトで disable=yes となっており無効化されているので、 disable=noに変更して動作するようにしてあげます。

#vim /etc/xinetd.d/vsftpd

disable = no

設定ファイルを反映させるためにxinetdを再起動します。

service xinetd restart


終わり

以上でした。社内LAN内でたまに動作させるだけの目的のため、特に設定変更せずデフォルトで使っています。

匿名アクセス(anonymous)はたまにドツボにはまる以外に特に役にたった経験が無いため無効にしてあります。

OSの操作に慣れていると何も見なくても上記の設定はできるようになります。が、デフォルトの設定で不都合がある場合が多いと思うのでマニュアルは読んでおいたほうが良いと思います。

ところで最近の公開サーバーではセキュリティのためFTPではなく、FTPSがよく使われています。多くのFTPサーバーはFTPSで動作させることができ、設定もそんなに難しくないので、FTPアクセスは無効にし、FTPSでのアクセスに制限しても良いと思います。

もしかして

    他の人の「vsftpd」

    S f35fe436493a0f4a268795248a2254cd

    WebEngineer/Programmer. Prince of Datemaki. http://t.co/bRyxe9zpWJ スコーンと自転車。技術隊長,料理長. Descendant of Ninja(大嘘). カニ野郎.

    最新

      最新エントリ