воскресенье, 26 февраля 2012 г.

Блокирование доступа в iptables с использованием модуля time.

Для своих изысканий в отношении модуля ай-пи таблиц time подобрал ресурс "вконтакте". В общем решено блокировать разрешать доступ от ресурса только с 8 до 10 утра, с 14 до 19 вечера в будние дни и круглосуточно в выходные :).


Для удобства создаем пользовательскую цепочку VK-TIME:
# iptables -N VK-TIME
В данную цепочку помещаем правила с необходимым для нас временем:

#vkontakte.ru allow time
-A VK-TIME -m time --weekdays Mon,Tue,Wed,Thu,Fri --timestart 08:00:00 --timestop 10:00:00 -j ACCEPT
-A VK-TIME -m time --weekdays Mon,Tue,Wed,Thu,Fri --timestart 14:00:00 --timestop 19:00:00 -j ACCEPT
-A VK-TIME -m time --weekdays Sat,Sun -j ACCEPT
-A VK-TIME -j DROP

В цепочку INPUT таблицы filter помещаем правила перенаправляющие пакеты от вышеуказанного ресурса (что-бы узнать ай-пи адреса, воспользуйтесь командой host) в нашу пользовательскую цепочку:

#ips of vk.com & vkontakte.ru
-A INPUT -s 87.240.188.252/32 -j VK-TIME
-A INPUT -s 87.240.188.254/32 -j VK-TIME
-A INPUT -s 87.240.131.98/32 -j VK-TIME
-A INPUT -s 87.240.131.99/32 -j VK-TIME
-A INPUT -s 87.240.131.100/32 -j VK-TIME
-A INPUT -s 87.240.143.241/32 -j VK-TIME
-A INPUT -s 87.240.143.242/32 -j VK-TIME
-A INPUT -s 87.240.143.243/32 -j VK-TIME
-A INPUT -s 87.240.143.244/32 -j VK-TIME
-A INPUT -s 87.240.188.247/32 -j VK-TIME
-A INPUT -s 87.240.188.251/32 -j VK-TIME
-A INPUT -s 93.186.224.245/32 -j VK-TIME
-A INPUT -s 93.186.224.246/32 -j VK-TIME
-A INPUT -s 87.240.131.97/32 -j VK-TIME

Вот собственно и всё. Справку по модулю time можно посмотреть:
# iptables -m time --help
Примечание: не во всех системах модуль доступен "из коробки", в частности в Debian 5, Ubuntu 10.04 присутствует, а в RHEL 5 отсутствует.

Комментариев нет:

Отправить комментарий