Отследить событие при подключение к порту в Linux?
Подскажите, как можно выполнить что-то при событии соединения к серверу.
Например, есть порт 21 ( это пример, не нужно мне советовать что-то делать с FTP ), как системно получить ip клиента при его соединении, проверить его в спам-базе и заблокировать если нужно
( это тоже пример, выполнением может быть что угодно ).
Скажите хотя бы поверхностно схему реализации этого?
Может для Linux уже есть готовые решения, программы?
Он парсит логи приложения (в данном случае ftp), и в соответствии с настройками jail автоматически выполняет блокировку при подозрительной активности ip адреса.
1. Доработать программу :)
2. Парсить логи, в которые программа выводит данные о подключении
Общей методики тут нет и быть не может. Подключение клиента к порту - стандартное событие для сервера, и его обрабатывают все как хотят. И формат логов в общем-то произвольный. Смотрите fail2ban - его уже посоветовали.
Александр Назаров, Я имел ввиду, что в ПО, которое вы используете, особенно сетевое, чаще всего обладает подобным функционалом слежения. Да и всякие мониторинги/сетевые антивирусы так же.
P.S. банить IP в 2019, пардон, моветон. Но если общий случай, то да. Подойдет и fail2ban