Если Вы управляете своим веб-сервером: можно использовать Gmail, чтобы переслать электронную почту к веб-серверу и затем использовать канал в/etc/aliases файле для питания электронных писем к сценарию PHP, который может считать их из стандарта в. (Или эквивалентный механизм для передачи по каналу электронных писем к сценарию в любом почтовом сервере (MTA), который Вы выбираете, я лично, использует exim.) В основном Ваш файл псевдонимов был бы похож
username: |/var/www/myphpscript.php
и myphpscript.php прочитал бы электронную почту на STDIN и действовал бы на него.
Если Вы не управляете своим веб-сервером: IMAP поддерживает команду IDLE, которая позволяет клиенту соединению с сервером, открытым при ожидании электронного письма для прибытия. (Это несколько похоже на уведомление о НАЖАТИИ, за исключением того, что клиент должен установить и сохранить открытое соединение с сервером), Вы могли записать сценарий, который будет открывать соединение с Gmail сервер IMAP и использовать команду IDLE для ожидания нового электронного письма. Это потребовало бы способности выполнить персистентный процесс на сервере. Может быть способ использовать что-то как fetchmail, чтобы сделать это и затем передать электронную почту сценарию PHP.
Надежда, которая помогает!
Попробуйте ipsets. iptable ipsets, настроены отдельно, и они также быстрее, если у Вас есть достаточно IP-адресов для управления.
правило iptables может относиться к ipset как это:
iptables-A ПЕРЕДАЮТ набор-m - черный список набора src, dst-j ОТБРАСЫВАНИЕ
Одно простое решение состоит в том, чтобы использовать несколько сценариев удара для каждого раздела что-то как:
iptables-routing.sh
iptables-ssh-bans.sh
iptables-blacklist.sh
И петляйте из основного сценария.
iptables не читает файл непосредственно, который сделан программой, названной iptables-восстановлением. Это обычно называют из одного из Ваших init сценариев.
Вы могли добавить дополнительные входные файлы к своей строке iptables-восстановления. Необходимо будет найти, где эта строка находится в системе, но в моем поле Debain, это находится в/etc/init.d/nat
Строка в настоящее время читает как это:
/sbin/iptables-restore < /etc/network/iptables
Возможно, это могло быть изменено на что-то вроде этого:
cat /etc/network/iptables \
/etc/network/pre_routing_tables \
/etc/network/ssh_bans | /sbin/iptables-restore
Я склонен использовать один из многих on-top-of-iptables сценариев/инструментов брандмауэринга, как Firestarter или Shorewall, они идут со многими файлами, разделенными целью, добавляют интересные правила защитить от определенных типов поддельных пакетов, и они обычно работают хорошо.
Я не уверен, какой дистрибутив Вы выполняете, так как мой не делает отрядов файл, который Вы отсылаете к - но обычно файлы, которые содержат правила iptables, просто сценарии оболочки - таким образом, необходимо смочь сделать то, как что Вы хотите при наличии строки, такой:
./etc/sysconfig/pre_routing_rules
или такой как наверху iptables файла Вы обращаетесь к.