LINUX.ORG.RU
ФорумAdmin

vsftpd фильтрация по IP-адресу

 


0

1

Устанавливаю vsftpd 3.0.3 из пакета.
Нужно использовать функцию фильтрации запросов по IP-адресу (директива tcp_wrappers), для этого пакет vsftpd должен быть скомпилирован с поддержкой libwrap.
Вопрос в том, как скомпилировать пакет vsftpd с поддержкой libwrap?

1. Зачем костыли, когда есть iptables?

2. Дистр-то назови, а то экспедиционный корпус телепатов лора в полном составе заболел 2.71болой ридриха фон штаутзинберга и отправлен на лечение.

3. Debian jessie:

ldd `which vsftpd`
	linux-vdso.so.1 (0x00007ffcfcfc3000)
	libwrap.so.0 => /lib/x86_64-linux-gnu/libwrap.so.0 (0x00007fc48dddf000)
	libpam.so.0 => /lib/x86_64-linux-gnu/libpam.so.0 (0x00007fc48dbd0000)
	libssl.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007fc48d96f000)
	libcrypto.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007fc48d574000)
	libcap.so.2 => /lib/x86_64-linux-gnu/libcap.so.2 (0x00007fc48d36f000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc48cfc5000)
	libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1 (0x00007fc48cdad000)
	libaudit.so.1 => /lib/x86_64-linux-gnu/libaudit.so.1 (0x00007fc48cb87000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fc48c982000)
	libattr.so.1 => /lib/x86_64-linux-gnu/libattr.so.1 (0x00007fc48c77d000)
	/lib64/ld-linux-x86-64.so.2 (0x000055cc30775000)

Если что, на третьей строчке твой libwrap в дефолтовом vsftpd.

svr4
()
Последнее исправление: svr4 (всего исправлений: 2)
Ответ на: комментарий от svr4

1. C iptables знаком поверхностно.
Если делать через iptables, то возникают вопросы:
1.1 Как проверить, что iptables включен?
1.2 Как включить, если он выключен? Есть нюанс, на сервере работаю удалённо, включить нужно так, чтобы не отвалился SSH.
1.3 Как вывести список правил?
1.4 Как добавить правило?
1.5 Как удалить правило?
2. Дистрибутив Debian 3.2.0-4-amd64 3. Вот что выводит ldd у меня.

ldd `which vsftpd`
        linux-vdso.so.1 =>  (0x00007fffeadff000)
        libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f076aa64000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f076a6d9000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f076aecc000)
Исходя из выше изложенных вопросов, решил что перекомпилировать будет проше, быстрее и правильнее.

twinconst
() автор топика
Ответ на: комментарий от twinconst

Debian 3.2.0

Это версия ядра, судя по всему дистрибутив там 7.x.

cat /etc/debian_version

1. Он включен (если только не собрано извращенское ядро, где выдран весь netfilter). Но в дистрибутивном из дебиана такого нет.
2. iptables -L -vn. Покажет заодно и количество попыток соединений
3. iptables -A INPUT -p tcp -s 1.2.3.4 --dport ftp -j DROP
4. iptables -D INPUT -p tcp -s 1.2.3.4 --dport ftp -j DROP

И да, в 21 веке использовать ftp для раздачи или заливки файлов - ненужно. Особенно для заливки по логин/паролю или в анонимный аплоад без дисковых квот.

Если сильно хочется перекомпилировать - как обычно, ./configure --with-some-shit --prefix=/opt/ && make && make install.

svr4
()
Последнее исправление: svr4 (всего исправлений: 5)
Ответ на: комментарий от svr4

А говорили, что телепаты заболели. :)
Да, версия дистрибутива 7,5
Перекомпилировал. Использовал инструкцию по ссылке:
http://www.linuxfromscratch.org/blfs/view/svn/server/vsftpd.html Всё заработало. Спасибо за быстрые и правильные ответы.
Ещё вопрос, что значит строка:

./configure --with-some-shit --prefix=/opt/
По iptables, вот что выводит iptables -L -vn
iptables -L -vn
Chain INPUT (policy ACCEPT 698K packets, 107M bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 696K packets, 108M bytes)
 pkts bytes target     prot opt in     out     source               destination
Если он включен, почему в правилах нет разрешения для ssh?

twinconst
() автор топика
Ответ на: комментарий от twinconst

Если он включен, почему в правилах нет разрешения для ssh?

Потому что он включен в режиме «разрешить всё по умолчанию»(policy ACCEPT на цепочках) и никаких дополнительных правил нет.

В идеале его желательно перенастроить и потом(!) переключить политику в «запрещено по умолчанию». Сделать это нужно естественно после добавления всех необходимых разрешающих правил, иначе можно отстрелить себе яйца^W^W^W потерять доступ к серверу

Pinkbyte ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.