
Centos 6.6 で Web サーバーを運用しています。最近、Config Server Security Firewall から、クライアントの FTP ユーザー名とパスワードを推測しようとする悪意のあるボットに関するメールが 150 件以上届きました。ブルートフォース攻撃は嫌なので、FTP ポートを 21 から **** に変更しようとしています。purefptd.conf を構成しました。
# IP address/port to listen to (default=all IP and port 21).
Bind *** # My New Port Here Without 127.0.0.1
次に、csf構成ファイルで、IPv4とIPv6の両方ですべてのTCP_IN、TCP_OUT、UDP_IN、UDP_OUTの新しいポートを許可し、次のリソースにiptablesルールを追加します。
iptables -A INPUT -p tcp --dport newport -j ACCEPT
iptables -A OUTPUT -p tcp --dport newport -j ACCEPT
iptables -A INPUT -p udp --dport newport -j ACCEPT
iptables -A OUTPUT -p udp --dport newport -j ACCEPT
service iptables save
service iptables restart
変更後、pureftpd と csf を再起動します。Filezilla 3.9.0.6 経由で FTP サーバーに接続しようとすると、次の応答が返されます。
Response: 227 Entering Passive Mode (*,*,*,*)
Command: MLSD
Error: Connection timed out
Error: Failed to retrieve directory listing
答え1
答えは自分で見つけました。 pureftp conf ファイルのパッシブ接続行を次のように変更しました。
# Port range for passive connections replies. - for firewalling.
PassivePortRange 50000 51000
そして、csf設定ファイルで次のように許可しまし50000:51000
た
TCP_IN IPv4 および IPv6。
今は正常に動作します。