LINUX.ORG.RU

Скрипт запрета соединения с ftp (бан)


0

0

#!/bin/bash

if [ -z "$1" ]
then
        echo "Specify ip, please"
        exit 1
fi

if [ `whoami` != "root" ];then
        echo "You are not root"
        exit 1
fi

echo $1 >> /home/ftp/BANNED_IP_LIST.txt

#Читает BANNED_IP_LIST.txt и ставит правила
/etc/init.d/myfirewall restart
/etc/init.d/vsftpd stop
killall vsftpd
/etc/init.d/vsftpd start

Мне только одно не нравится - приходится перезагружать vsftpd, убивая все процессы. Как убить процессы только этого "счастливчика"? Не хочется, чтобы страдали все.
★★★★

Может попробовать найти через netstat pid vsftpd для этого ип?

anonymous
()

Через firewall делать не рекомендую - я когда работал в домашней сети пытался ради интереса так доступ на файлсервер с фильмами закрыть - тормоза жуткие начались при 5000 записей... В результате остановился на том что создавал перлом на основе шаблона файл proftpd.conf и делал reload самому proftpd Уже подрубленные сессии ещё работали, а новые уже не соединялись...

Если нужно подрубленные "отрубить" то (по-крайней мере proftpd) показывает IP-адрес соединения в `ps auxwww` так что можно после создания списка и reload пробежаться по результату ps перлом и сделать `kill $pid` для нужных.

vahvarh ★★★
()
Ответ на: комментарий от Selecter

IP конечно. По-моему -j DROP Но вообще сам по себе IPTABLES не предназначен для работы с тысячами записей на скорости 1Gbit (у меня там именно гигабит был)

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