Как можно ограничить доступ к FTP-серверу, чтобы только один пользователь имел к нему доступ, а остальные были ограничены?

Как настроить iptables для запрета доступа к FTP всем пользователям, кроме пользователя с MAC-адресом e6:e...9:85? У меня есть две виртуальные машины в Qemu-Kvm - FTP сервер находится на Centos 9, а я подключаюсь к нему через telnet в Ubuntu 22. Я использовал следующую команду для настройки iptables, но все равно могу подключиться к FTP:
iptables -A INPUT -p tcp --dport 21 -m mac ! --mac-source e6:e...9:85 -j DROP
Другая виртуальная машина с Ubuntu также может подключиться к FTP. Что конкретно означает "пользователь" в этом контексте? Может ли это быть системным пользователем или пользователем FTP? Может быть другая причина?
  • 21 октября 2023 г. 4:28
Ответы на вопрос 2
В контексте FTP-сервера "пользователь" обычно относится к аккаунту FTP. Вам нужно настроить доступ для одного пользователя FTP, а остальные аккаунты FTP должны быть ограничены.

На Centos 9 вы можете ограничить доступ к FTP-серверу, используя файл конфигурации FTP-сервера (обычно `/etc/vsftpd/vsftpd.conf`). В этом файле вы найдете параметр `allow`, который позволяет задать список пользователей, которым разрешен доступ к FTP-серверу. Установите его только для одного пользователя, которому вы хотите разрешить доступ.

Пример:
allow=пользователь

Кроме того, можно разрешить анонимный доступ и ограничить только одного пользователя, используя следующие параметры:

anonymous_enable=NO
local_enable=YES
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
userlist_deny=YES

Затем в файле `/etc/vsftpd/user_list` добавьте список пользователей, которым разрешен доступ к FTP-серверу (в данном случае только один):

пользователь

Относительно iptables для фильтрации по MAC-адресу, вы должны учесть, что современные сетевые карты могут изменять MAC-адрес, поэтому использование MAC-фильтрации может быть не надежным методом ограничения доступа. Лучше использовать более надежные методы аутентификации, такие как пользователи и пароли.
Я понял, в чем заключается ваша проблема. Вы проверяете подключение к виртуальной машине через FTP, но FTP-сервер уже работает внутри этой машины. То есть, по сути, вы уже дали разрешение на подключение к второй виртуальной машине, поэтому она успешно подключается, и в вашей первой машине, которая является FTP-сервером, уже установлено соединение. Вы просто думали, что не сможете подключиться к первой виртуальной машине, но на самом деле это возможно, так как это ваш сервер. Вы проверили это, подключившись из основной машины, где у вас установлены обе виртуальные машины. И, как оказалось, вы не можете подключиться с этой основной машины, что вполне логично. В любом случае, спасибо за вашу помощь! Вот команда iptables, которую вы привели: iptables -I INPUT -p tcp --dport 21 -m mac ! --mac-source 52:54:00:90:60:d2 -j REJECT
Похожие вопросы