Динамическое основанное на IP помещение в черный список

Альтернативный общий план, который я добавляю только как независимый ответ, потому что взорванный «комментарий к ответу» не будет принимать новые строки без публикации всего редактирования, хотя он еще не закончен.

UPDATE table A
JOIN table B ON {join fields}
JOIN table C ON {join fields}
JOIN {as many tables as you need}
SET A.column = {expression}

Пример:

UPDATE person P
JOIN address A ON P.home_address_id = A.id
JOIN city C ON A.city_id = C.id
SET P.home_zip = C.zipcode;
6
задан Fionnuala 11 October 2008 в 23:24
поделиться

6 ответов

Вы находитесь на *, отклоняют машину? этот вид вещи, вероятно, лучше оставляют уровню ОС, с помощью чего-то как iptables

править:

в ответ на комментарий, да (вид). однако, идея состоит в том, что iptables может работать независимо. можно установить определенный порог для регулировки (например, запросы блока на порте 80 TCP, которые превышают x запросы/минута), и это все обрабатывается прозрачно (т.е., приложение действительно не должно знать, что что-либо об этом, чтобы иметь динамическое блокирование происходит).

я предложил бы iptables метод, если бы Вы имеете полный контроль над полем и предпочли бы позволять своему брандмауэру обработать регулировку (преимущества, Вы не должны встраивать эту логику в свое веб-приложение, и это может сохранить ресурсы, поскольку запросы отбрасываются, прежде чем они поразят Ваш веб-сервер),

иначе, если Вы будете ожидать блокироваться, то не будет огромный компонент, (или Ваше приложение является портативным и не может гарантировать доступ к iptables), затем имело бы больше смысла встраивать ту логику в Ваше приложение.

2
ответ дан 17 December 2019 в 00:17
поделиться

Смотрите на fail2ban. Платформа Python, которая позволяет Вам повышать блоки таблиц IP от конца файлов журнала для шаблонов ошибочного поведения.

5
ответ дан 17 December 2019 в 00:17
поделиться

Я думаю, что это должна быть комбинация имени пользователя плюс блок IP. Не просто IP.

0
ответ дан 17 December 2019 в 00:17
поделиться

Вы смотрите на пользовательский код локаута. Существуют приложения в мире с открытым исходным кодом, которые содержат различные разновидности такого кода. Возможно, необходимо посмотреть на некоторых из тех, хотя требования довольно тривиальны, так отметьте комбинацию IP/имени пользователя и используйте это для блокирования IP для x количества времени. (Обратите внимание, что я сказал что блок IP, не пользователь. Пользователь может попытаться стать онлайн через допустимую IP/username/pw комбинацию.)

Реальная действительность, Вы могли даже сохранить трассировки пользовательских логинов, и при входе в систему от неизвестного IP с 3 забастовок плохая username/pw комбинация, заблокировать тот IP для однако долго, Вам нравится за то имя пользователя. (Действительно обратите внимание, что много ISPs совместно использует дюйм/с, таким образом....),

Вы могли бы также хотеть поместить задержку аутентификации, так, чтобы IP не мог делать попытку входа в систему несколько раз каждый 'y' секунды или около этого.

0
ответ дан 17 December 2019 в 00:17
поделиться

Я разработал систему для клиента, который отслеживал, ударяется о веб-сервер и динамично запрещенные IP-адреса в операционной системе / уровень брандмауэра в течение переменных промежутков времени для определенных преступлений, таким образом, да, это определенно возможно. Как Owen сказал, правила брандмауэра являются намного лучшим местом, чтобы сделать этот вид вещи, чем в веб-сервере. (К сожалению, клиент принял решение обладать трудным авторским правом на этом коде, таким образом, я не имею право совместно использовать его.)

Я обычно работаю в Perl, а не PHP, но, пока у Вас есть интерфейс командной строки к Вашему механизму правил брандмауэра (как, скажем,/sbin/iptables), необходимо смочь сделать это довольно легко с любого языка, который имеет способность выполнить системные команды.

0
ответ дан 17 December 2019 в 00:17
поделиться

допустите ошибку этот вид системы легок и распространен, я могу дать Вам мой достаточно легко

его просто и кратко объяснил здесь http://www.alandoherty.net/info/webservers/

сценарии, как записано arn't загружаемый {как никакой commentry, в настоящее время добавляемый}, но, отбрасывают меня электронное письмо от сайта выше, и я брошу код в Вас и с удовольствием помогу с debugging/taloring ему к Вашему серверу

0
ответ дан 17 December 2019 в 00:17
поделиться
Другие вопросы по тегам:

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