Есть айпишники которые проверяют все возможные адреса сайта на предмет нет ли на них админки Wordpress, если находят то перебирают пароли.
Допустим я собрал их средствами PHP и выгрузил в текстовый файл. Как по расписанию каждый день закидывать эти IP в чёрный список iptables?
Нужен bash-скрипт? Или какими средствами это лучше сделать?
Вопрос шикарный. Ничего не понял.
Но попробую угадать что Вам нужно защитить сайт от перебора паролей к админке wordpress
fail2ban + плагин для вордпреса который пишет в лог "фейлы". Работает автоматически и надёжно.
"капча" - чистый плагин к вордпресу (их есть вагон и маленькая тележка)
.htaccess в wp-admin каталоге с возможностью доступа только с определённых ваших IP или даже добавить http auth.
Ну типа того, только зашёл на страницу админки ВП, даже без перебора паролей - на неделю в бан, нормальные люди так по сайту не ходят. Ну вот есть допустим fail2ban как в этом случае в него добавлять/убирать IP в автоматическом режиме?
lapka-admin, смотри сам себя не запихай в бан такими настройками :)
У fail2ban есть конфигурация, какие логи читать, как фильтровать строки, откуда в строке выковыривать IP, дальше магия код fail2ban.
lapka-admin, Извините. Есть плагин для Wordpress fail2ban. В случае неверно введённого пароля он добавит запись в журнал. А fail2ban прочтёт IP и вызовет команду добавления адреса в блокирующую цепочку iptables.
Всё автоматически.
Либо fail2ban как отметил younghacker. Fail2ban смотрит логи и выполняет указанное вами действие. Может добавлять в iptables в том числе.
Либо да, писать bash скрипт для добавления правил + его запуск по cron.
Просто добавлять какие-то левые, непонятно каким образом полученные IP в iptables - путь в никуда. Кто их будет удалять оттуда? И когда?
Пока IP не замечен за брутфорсом - он белый и пушистый посетитиель. После трёх попыток попал в бан - даём 10 минут. Попал в бан второй раз и более увеличиваем время бана до часа.
Либо fail2ban, либо самописный скрипт. Во втором случае делал бы в iptables одно единственное правило типа:
iptables -t mangle -A -m set --match-set blacklist src -j DROP
А в ipset добавлял бы выловленные адреса ботов по крону. Во-первых это эффективнее работает, чем по правилу на каждый адрес, а во-вторых - повторное добавление уже ранее отловленного адреса бота ничего не поломает и не засорит.