августа 6 2008 01:27 пп

Блокировка нежелательных URL с помощью iptables

stop.jpg

Иногда может возникнуть необходимость заблокировать доступ к некоторым сайтам, и внесение их адресов или даже подсетей в фаервол не приносит желаемых результатов, так как продуманные пользователи продолжают посещать их используя веб прокси количество которых так велико что о блокировке их не может быть и речи…. Есть конечно и явные минусы этого способа, но в моем случае минусы приниматься во внимание не стали. Из плюсов стоит отметить полную блокировку сайтов, они не будут работать даже через веб и обычные прокси сервера, с них не будет доставлятся почта и тд.

Далее собственно примеры блокировки с небольшим пояснением. Реализовано все на основе patch-o-matic, дополнение к iptables от Netfilter. Используем модуль string для достижения цели.

Первый пример, имеем машинку-шлюз для локальной сети, там создаем правило для блокировки например ресурса vkontakte.ru выглядеть это будет так

Код:


iptables -A FORWARD -m string --string "vkontakte.ru" --algo kmp --to 65535 -j DROP

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

Для блокировки адресов на линукс машине немного отредактируйте правило

Код:


iptables -A INPUT -m string --string "vkontakte.ru" --algo kmp --to 65535 -j DROP

Вот собственно и вся настройка блокировки URL адресов с помощью iptables. Минусы данного способа в том что пользователи не смогут окрыть страницы с упоминанием заблокированных ресурсов, прочитать почту например на майл ру если в ящике лежит письмо с сайта который был заблокирован вышеописанным способом…
Надеюсь данная статья была вам полезна




9 комментариев »


9 комментариев to “Блокировка нежелательных URL с помощью iptables”

  1. mirage on 14 Фев 2009 at 11:34 #

    А каким образом можно сделать отдельный файл со списком запрещенных УРЛов, а айпитаблес брало бы данные из него?

  2. TrEK on 29 Апр 2009 at 13:00 #

    было бы неплохо….

  3. eric on 10 Окт 2009 at 16:08 #

    HOSTS=`/bin/grep -v ‘#’ /etc/temporary_access/denied_hosts`
    for i in $HOSTS; do
    iptables -t filter -A FORWARD -m string —string «$i» —algo kmp —to 65535 -p tcp —dport 80 -j DROP
    done

  4. Stepanoff on 10 Окт 2009 at 16:19 #

    Неплохое решение, eric.

  5. eric on 12 Окт 2009 at 16:09 #

    Такой вопрос: как сделать так, чтоб пакеты не дропались, а перенаправлялись на другой сайт.
    iptables -t nat -A PREROUTING -m string —string «noname.ru» —algo kmp —to 65535 -p tcp —dport 80 -j DNAT —to-destination 213.180.204.8 не помогает, а
    iptables -t nat -A PREROUTING -d noname.ru -p tcp —dport 80 -j DNAT —to-destination 213.180.204.8 не спасет, если народ полезет через прокси

  6. eric on 12 Окт 2009 at 18:44 #

    «пользователи не смогут окрыть страницы с упоминанием заблокированных ресурсов»

    По какой-то причине поисковики отвечают на запрос, например, «torrents.r» текстом, содержащим torrents.ru. На сервере писал
    iptables -A FORWARD -m string —string «torrents.ru» —algo kmp —to 65535 -j DROP

  7. eric on 12 Окт 2009 at 18:47 #

    Stepanoff, помоги, плз. Народ должен работать, а не сидеть в контакте. Они — команда!!!

  8. Stepanoff on 12 Окт 2009 at 19:08 #

    Вырезать всем кому особо не нужен интернет все сайты сквидом, оставить только нужные. Кому надо весь, или много, порезать айпитэйблес. Не думаю что по работе могут пригодится сайты с упоминанием торрентс.ру. Открыватся они не будут, это иногда портит картину от использования данных правил. На самом деле, проще наоборот ничего не закрывать, а просто пустить весь трафик через сквид, и считать кто сколько времени проводит на сайтах не имеющих отношения к работе, затем переводим время в деньги из зарплаты, вычитаем. Через пару месяцев никто не захочет сидеть там если например за час на сайте вконтакте придется отдать 500-1000 рублей. Я работал в одной конторе, там все было открыто, но гиг трафика не по работе стоил 100$, и все сайты которые ты посещал видит твой начальник, и в конце месяца он просто спросит тебя, а что ты делал на том то сайте? Зная это никуда лезть не хотелось. А чем больше ты будешь пытаться закрыть эти сайты тем больше люди предпримут попыток попасть на них.

  9. Deep Packet Inspection. Сравним парочку дрын… | Amin 's Blog on 02 Июл 2017 at 01:19 #

    […] D-Link Packet Content ACL, модуль string для iptables, iptables L7-Filter, первые версии Cisco […]

Trackback URI | Comments RSS

Leave a Reply

You must be logged in to post a comment.


« | »



Server load average: 0.02, 0.02, 0.00
Server uptime: 20 days, 5:46
Your IP is: 54.225.57.89.