Как настроить VSFTPD для доступа только по локальной сети и ограничить доступ к одному каталогу

Я просмотрел довольно много руководств по установке, но не смог понять, как настроить VSFTPD для доступа только по локальной сети и ограничить доступ к одному каталогу (например, ~ / Downloads).

Если возможно, я даже не хочу раскрывать свое присутствие в Интернете. Любая помощь очень ценится.

ПК: Ubuntu Mate 19.04, 64-разрядная версия.

0
задан 27 August 2019 в 23:17

1 ответ

Доступ только для LAN

Это лучше всего сделано с правилами брандмауэра. Мы будем использовать ufw несложный брандмауэр для этого.

Первый мы проверяем состояние [1 113]

sudo ufw status

, Если Вы видите Status: inactive затем использовать следующую команду для включения ufw:

sudo ufw enable

, Как описано в ссылке ниже мы позволим порты 20 и 21 для основного доступа VSFTPD. Мы не будем использовать простое правило ufw как:

sudo ufw allow ftp

, поскольку это предоставит доступ отовсюду. Для предоставления доступа только для LAN, мы будем использовать синтаксис усовершенствования:

sudo ufw allow  from 192.168.0.0/24 to any port 20 proto tcp
sudo ufw allow  from 192.168.0.0/24 to any port 21 proto tcp

Эти from 192.168.0.0/24 часть только для LAN. Ваш может отличаться. Некоторые домашние маршрутизаторы присваивают IP-адреса в диапазоне 192.168.0.x, и другие в диапазоне 192.168.1.x, где x между 2-255. /24 маска подсети говорит, что любое значение x в том диапазоне позволяется.

to any средства любой IP-адрес, присвоенный этому компьютеру, хорошо. Так как этот компьютер не действует как маршрутизатор, эта установка хорошо.

port 20 (или 21) порт, который открывает это правило.

Эти proto tcp только [1 122], протокол (не udp протокол) может использоваться.

, Если мы хотим добавить порты 990 и 40 000 - 50 000 портов к брандмауэру как в учебном руководстве ниже, мы можем использовать одну команду, чтобы сделать это:

sudo ufw allow  from 192.168.0.0/24 to any port 990,40000:50000 proto tcp

Примечание А о IPv6

я не знаю достаточно о IPv6 локальные адреса и маски подсети для записи ответа, который включает IPv6 ufw правила. Без любого Ipv6 позволяют правила любая попытка использовать адреса IPv6 для доступа ftp, сайт будет отклонен.

ответы на этот вопрос предполагают, что не может быть легкого решения для IPv6: , Как я позволяю локальные подсети IPv6 в ufw?

Если это имеет значение, следующее позволяет синтаксис правила (на основе ответа на вышеупомянутый вопрос), принят [1 125]:

sudo ufw allow  from fe80::/64 to any port 21 proto tcp

Это должно предоставить доступ ftp от локального для ссылки диапазона IPv6, которые запускаются с [1 126].

Ограничивают пользователя единственным каталогом

, Это очень хорошо описано в Цифровое Океанское Учебное руководство . Основные шаги воспроизводятся ниже:

В этом примере имя пользователя sammy. Фундаментальное понятие является пользователем sammy , не должен иметь доступа для записи к базовому каталогу доступного для пользователя каталога. Создайте ftp папка, установите ее владение и обязательно удалите полномочия записи со следующими командами:

sudo mkdir /home/sammy/ftp
sudo chown nobody:nogroup /home/sammy/ftp
sudo chmod a-w /home/sammy/ftp

Затем, мы создаем каталог, где файлы могут быть загружены и присвоить владение пользователю:

sudo mkdir /home/sammy/ftp/files
sudo chown sammy:sammy /home/sammy/ftp/files

Следующий мы редактируем конфигурационный файл VSFTPD в нано:

sudo nano /etc/vsftpd.conf

и вносят следующие изменения / дополнения:

. . .
# Allow anonymous FTP? (Disabled by default).
anonymous_enable=NO
#
# Uncomment this to allow local users to log in.
local_enable=YES
. . .
write_enable=YES
. . .
chroot_local_user=YES
. . .
user_sub_token=$USER
local_root=/home/$USER/ftp
. . .

, Когда мы будем сделаны, внося изменение, сохраните и выйдите из файла.

Затем мы создаем и добавляем нашего пользователя к файлу. We’ll используют флаг-a для добавления в файл:

echo "sammy" | sudo tee -a /etc/vsftpd.userlist

Funally мы перезапускаем демона для загрузки изменений конфигурации:

sudo systemctl restart vsftpd

Hope это помогает

1
ответ дан 23 October 2019 в 04:22

Другие вопросы по тегам:

Похожие вопросы: