На сервере с proftpd, управляемым xinetd (plesk / centos FWIW), я хочу, чтобы proftpd слушал только определенный IP-адрес.
Я пробовал поставить bind = 12.34.56.78
в /etc/xinetd.d/ftp_psa
, а также положив DefaultAddress 12.34.56.78
в /etc/proftpd.conf
, но похоже, что это не работает.
После перезапуска xinetd nmap показывает, что порт 21 все еще прослушивается для другого моего общедоступного ip.
Кто-нибудь может сказать мне, что я делаю не так?
Просто в качестве теста я закомментировал всю службу ftp в файле конфигурации xinetd, и это отключило службу, так что я явно нахожусь в нужном месте, но bind
варианты вроде не работают.
заранее спасибо
ОБНОВИТЬ: файлы конфигурации (комментарии для краткости)
/etc/xinetd.d/ftp_psa
#DO NOT MODIFY THIS FILE BECAUSE IT WAS GENERATED AUTOMATICALLY,
#SO ALL YOUR CHANGES WILL BE LOST AFTER YOU UPGRADE PARALLELS PLESK PANEL.
service ftp
{
flags = IPv6
disable = no
socket_type = stream
protocol = tcp
wait = no
user = root
instances = UNLIMITED
server = /usr/sbin/in.proftpd
server_args = -c /etc/proftpd.conf
bind = 12.34.56.78
}
Я знаю, что здесь сказано не изменять, но я не обновлял plesk, а также попытался поместить привязку в раздел значений по умолчанию (в котором нет такого предупреждения):
/etc/xinetd.conf
defaults
{
log_type = SYSLOG daemon info
log_on_failure = HOST
log_on_success = PID HOST DURATION EXIT
cps = 50 10
instances = 50
per_source = 10
v6only = no
groups = yes
umask = 002
bind = 12.34.56.78
}
includedir /etc/xinetd.d
И для полноты: /etc/proftpd.conf
ServerIdent off
ServerName "ProFTPD"
ServerType inetd
DefaultServer on
<Global>
DefaultRoot ~ psacln
AllowOverwrite on
</Global>
DefaultTransferMode binary
UseFtpUsers on
TimesGMT off
SetEnv TZ :/etc/localtime
Port 21
DefaultAddress 12.34.56.78
SocketBindTight on
Umask 022
MaxInstances 30
ScoreboardFile /var/run/proftpd/scoreboard
TransferLog /usr/local/psa/var/log/xferlog
<Directory /var/www/vhosts>
GroupOwner psacln
</Directory>
AuthPAM on
AuthPAMConfig proftpd
IdentLookups off
UseReverseDNS off
AuthGroupFile /etc/group
Какую версию CentOS вы используете? Я только что попробовал CentOS 6.3. Файл xinetd называется /etc/xinetd.d/xproftpd
, необходимо включить с настройкой disable=no
в файле и сказав chkconfig proftpd on
. Мне нужно только установить bind = 10.0.2.15
чтобы позволить proftpd слушать только этот адрес. Не нужно настраивать proftpd.conf
дальше.
После изменения bind
с определенным значением, я больше не мог подключиться ни к какому другому IP-адресу. Даже не localhost
.
/etc/xinetd.d/xproftpd:
# default: off
# description: The ProFTPD FTP server serves FTP connections. It uses \
# normal, unencrypted usernames and passwords for authentication.
service ftp
{
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.proftpd
log_on_success += DURATION USERID
log_on_failure += USERID
nice = 10
disable = no
bind = 10.0.2.15
}
chkconfig:
# chkconfig --list proftpd
proftpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
/etc/proftpd.conf
все еще по умолчанию, кроме настройки ServerType inetd
чтобы он работал с xinetd.