Блокировка социальных сетей на Cisco
На тесте использую коммутатор Cisco Catalyst 6509-E.
Допустим нам необходимо заблокировать доступ пользователям к определенному сайту, узлу сети, или например социальной сети ВКонтакте.
Сначала узнаем диапазон IP адресов на которых находится сайт, например поищем VKontakte на bgp.he.net, вот к примеру список подсетей для одной из AS принадлежащей ВКонтакте «http://bgp.he.net/AS47541#_prefixes».
И создадим расширенный ACL например с именем BLOCKSOCIAL:
В правиле выше указано что нужно блокировать трафик к указанным сетям идущий от всех (any) источников.
Можно в качестве источника указать определенную сеть или например одному адресу запретить доступ к другому адресу:
Строчка permit ip any any должна быть обязательно именно в конце.
Вместо маски подсети нужно указывать Wildcard, например для маски /24 указывать 0.0.0.255, для /22 — 0.0.3.255 и т.д., можно посмотреть и посчитать на любом IP калькуляторе.
/17 — 0.0.127.255
/18 — 0.0.63.255
/19 — 0.0.31.255
/20 — 0.0.15.255
/21 — 0.0.7.255
/22 — 0.0.3.255
/23 — 0.0.1.255
/24 — 0.0.0.255
Если нужно блокировать еще какие-то сайты, то допишем адреса в этот же ACL, так как применить к интерфейсу ACL можно только один.
Применим созданный ACL на порт смотрящий в сторону клиентов:
Либо, чтоб меньше писать только к порту сервера смотрящего в интернет, если такой есть:
Отменить ACL интерфейсу можно так:
Удалить ACL так:
Если блокировать сайты на порту от сервера до клиентов, то в ACL правиле поменяем адреса местами:
Денис Туляков — блог о том, что мне интересно
Заметки о *nix системах о железках о DB и даже о windows, возможно, ещё что то .
Страницы
- CV
- Заметки
- Статьи
2015-06-08
Ограничение доступа по URL с помощью Cisco IOS

Что бы не потерялось решил себе скопипастить
Zone Based Firewall
Наша начальная конфигурация выглядит достаточно тривиально:
Current configuration : 2798 bytes
!
! Last configuration change at 07:16:39 UTC Fri Aug 29 2014
version 15.1
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname Router
!
boot-start-marker
boot-end-marker
!
!
enable secret 5 $1$82td$usJJeq4Qr1MuvXR52XLnV/
!
no aaa new-model
!
!
ip name-server 8.8.8.8
no ipv6 cef
!
!
username cisco privilege 15 secret 5 $1$EmVD$IWZA8e7CtCDGFycezqFYr/
!
!
interface GigabitEthernet0/0
description — External —
ip address dhcp
ip nat outside
ip virtual-reassembly in
duplex auto
speed auto
!
interface GigabitEthernet0/1
description — Internal —
ip address 192.168.1.1 255.255.255.0
ip nat inside
ip virtual-reassembly in
duplex auto
speed auto
!
ip forward-protocol nd
no ip http server
no ip http secure-server
!
!
ip nat inside source list Inet-Access interface GigabitEthernet0/0 overload
!
ip access-list extended Inet-Access
permit ip host 192.168.1.2 any
!
!
control-plane
!
!
!
line con 0
line aux 0
line vty 0 4
login
transport input all
!
scheduler allocate 20000 1000
end
Первое, с чего нам придется начать — это настройка ZBF, так как функционал Cisco IOS content filtering добавляется как service-policy с классом, описывающим HTTP к ZBF. У нас будет только одно направление, с Inside к Outside, трафик от Outside к Inside будет отброшен. Обратите внимание на то, что если Вам необходимо осуществлять доступ к какому либо ресурсу по https, то в class-map нужно указывать ACL, в котором перечислять IP-адреса требуемых ресурсов. Это связано с тем, что IOS Content Filtering не может проанализировать HTTPS (HTTP over SSL/TLS) сессии.
class-map type inspect match-any Control
match protocol dns
match protocol icmp
class-map type inspect match-any HTTP
match protocol http
class-map type inspect match-any HTTPS
match access-group name Mail.ru
!
!
policy-map type inspect InsideToOutside
class type inspect HTTP
inspect
class type inspect HTTPS
inspect
class type inspect Control
inspect
class class-default
drop
!
zone security Inside
zone security Outside
zone-pair security Inside_to_Outside source Inside destination Outside
service-policy type inspect InsideToOutside
!
!
interface GigabitEthernet0/0
zone-member security Outside
!
interface GigabitEthernet0/1
zone-member security Inside
!
ip access-list extended Mail.ru
permit ip 192.168.1.0 0.0.0.255 host 94.100.180.199
permit ip 192.168.1.0 0.0.0.255 host 217.69.139.201
permit ip 192.168.1.0 0.0.0.255 host 217.69.139.199
permit ip 192.168.1.0 0.0.0.255 host 94.100.180.201
!
Осталось настроить ограничение доступа. Для этого мы описываем нужные нам URL с помощью parameter-map type urlf-glob, создаем class-map type urlfilter, определяем правило фильтрации (пропустить/запретить) через policy-map type inspect urlfilter и привязываемся к ZBF:
parameter-map type urlf-glob Opennet
pattern opennet.ru
pattern *.opennet.ru
parameter-map type urlf-glob Dreamcatcher
pattern dreamcatcher.ru
pattern *.dreamcatcher.ru
parameter-map type urlf-glob AnyOther
pattern *
!
class-map type urlfilter match-any MustDeny
match server-domain urlf-glob AnyOther
class-map type urlfilter match-any Dreamcatcher
match server-domain urlf-glob Opennet
match server-domain urlf-glob Dreamcatcher
!
!
policy-map type inspect urlfilter WebAccess
class type urlfilter Dreamcatcher
allow
log
class type urlfilter MustDeny
reset
log
!
policy-map type inspect InsideToOutside
class type inspect Web
inspect
service-policy urlfilter WebAccess
ASA/PIX 8.x: блокирование определенных веб-сайтов (URL), используя регулярные выражения с MPF. Пример конфигурации
The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
О переводе
Cisco may provide local language translations of this content in some locations. Please note that translations are provided for informational purposes only and if there is any inconsistency, the English version of the content will prevail.
В данном документе предполагается, что устройство защиты Cisco корректно настроено и работает нормально.
Используемые компоненты
Устройство адаптивной защиты Cisco серии 5500 (ASA), на котором установлена версия ПО 8.0(x) или более поздняя
Cisco Adaptive Security Device Manager (ASDM) версии 6.x для ASA 8.x
Сведения, представленные в этом документе, были получены от устройств, работающих в специальной лабораторной среде. Все устройства, описанные в данном документе, были запущены с конфигурацией по умолчанию. При работе в действующей сети необходимо понимать последствия выполнения любой команды.
Родственные продукты
Рассматриваемая конфигурация также может использоваться для устройств Cisco PIX серии 500, работающих под управлением ПО версии 8.0(x) или более поздней версии.
Условные обозначения
Более подробную информацию о применяемых в документе обозначениях см. в описании условных обозначений, используемых в технической документации Cisco.
Общие сведения
Обзор модульной системы политик
Модульная система политик (MPF) обеспечивает гибкий способ настройки параметров устройств защиты. Например, MPF можно использовать для создания конфигурации с таймаутом, которая является специфичной для определенного TCP-приложения, в отличие от конфигураций, применимых ко всем TCP-приложениям.
MPF поддерживает функции, перечисленные ниже.
Нормализация TCP, ограничение числа и продолжительности TCP- и UDP-соединений, а также рандомизация порядкового номера TCP
Контроль трафика на прикладном уровне
Входной контроль QoS
Выходной контроль QoS
Очередь с приоритетом QoS
Настройка MPF включает следующие 4 задачи.
Определение трафика уровней 3 и 4, для которого требуется применить действия. Для получения подробной информации см. документ Определение трафика с использованием карты класса уровней 3/4.
(Только при анализе трафика приложений) Определение специальных действий, необходимых для контроля трафика на прикладном уровне. Для получения подробной информации см. документ Задание специальных действий для контроля трафика на прикладном уровне.
Применение действий к трафику 3-го и 4-го уровней. Для получения подробной информации см. документ Определение действий с использованием карты политик уровней 3/4.
Активация действий на интерфейсе. Для получения подробной информации см. документ Применение политики уровня 3/4 к интерфейсу с использованием служебной политики.
Регулярные выражения
Регулярное выражение либо строго описывает конкретную текстовую строку, либо позволяет описать множество вариантов текстовой строки посредством метасимволов. Регулярные выражения можно использовать для выявления трафика определенных приложений, например, с их помощью можно распознавать строку URL-адреса в пакете HTTP.
Примечание. Для подстановки любых специальных символов в командной строке, таких как вопросительные знаки (?) или табуляторы, используйте сочетание клавиш Ctrl+V. Например, используйте комбинацию d[Ctrl+V]g, чтобы ввести в конфигурацию d?g.
Для создания регулярного выражения используется команда regex, применяемая в различных функциях, требующих сравнения текста. Например, можно задать специальные действия для контроля приложения с использованием MPF и карты политик анализа. Для получения подробной информации см. команду policy-map type inspect. На карте политик анализа можно задать трафик, используемый при создании карты классов анализа, которая содержит одну или несколько команд match. Можно также использовать команды match непосредственно в карте политик анализа. Некоторые команды match позволяют идентифицировать текст в пакете, используя регулярное выражение. Можно группировать регулярные выражения в соответствующую карту класса. Для получения подробной информации см. команду class-map type regex.
Следующая таблица содержит список метасимволов, имеющих специальное значение.
Соответствует любому одиночному символу. Например, выражению d.g соответствуют слова dog, dag, dtg, а также любое слово, содержащее эти символы, например doggonnit.
Вложенное выражение отделяет символы от окружающего текста, позволяя использовать внутри скобок другие метасимволы. Например, выражению d(o|a)g соответствуют слова dog и dag, в то время как выражению do|ag соответствуют do и ag. Вложенные выражения могут также использоваться с кванторами повторения для указания числа повторяющихся знаков. Например, выражению ab(xy)<3>z удовлетворяет последовательность abxyxyxyz.
Дизъюнкция (логическое сложение)
Соответствует любому из разделенных им выражений. Например, выражению dog|cat удовлетворяет как слово dog, так и слово cat.
Квантор, указывающий, что предшествующее ему выражение может встречаться 0 или 1 раз. Например, выражению lo?se соответствуют строки lse и lose.
Примечание. Чтобы набрать вопросительный знак, перед ним необходимо нажать Ctrl+V в противном случае будет вызвана функция справки.
Квантор, указывающий, что предшествующее ему выражение может встречаться 0, 1 или произвольное число раз. Например, выражению lo*se соответствуют строки lse, lose, loose и т. д.
Повторяет символы ровно x раз. Например, выражению ab(xy)<3>z удовлетворяет последовательность abxyxyxyz.
Квантор минимального повторения
Повторяет символы не менее x раз. Например, выражению ab(xy)<2,>z удовлетворяют последовательности abxyxyz, abxyxyxyz и т. д.
Соответствует любому символу в квадратных скобках. Например, выражению [abc] удовлетворяют символы a, b и c.
Отрицание класса символа
Соответствует одному символу, не содержащемуся в квадратных скобках. Например, выражению [^abc] удовлетворяет любой из знаков, кроме a, b и c. [^A-Z] соответствует любому одиночному знаку, который не является латинской буквой в верхнем регистре.
Класс диапазона символов
Соответствует любому символу в определенном диапазоне. [a-z] соответствует любой букве в нижнем регистре. Символы и диапазоны можно сочетать: [abcq-z] соответствует знакам a, b, c, q, r, s, t, u, v, w, x, y, z, как и выражение [a-cq-z].
Внутри квадратных скобок знак тире (-) воспринимается как таковой только в том случае, если он стоит первым или последним: [abc-] или [-abc].
Позволяют указать пробелы в начале или конце строк. Например, выражение " test" обрабатывается с учетом стоящего в начале пробела.
Указывает, что выражение должно начинаться с начала строки
Обратная косая черта
В сочетании с метасимволом указывает, что последний должен восприниматься как обычный символ. Например, выражению \[ соответствует открывающая квадратная скобка.
Если знак не является метасимволом, он воспринимается как обычный символ.
Соответствует символу возврату каретки (0x0d)
Соответствует символу перевода строки (0x0a)
Соответствует табулятору (0x09)
Соответствует символу новой страницы (0x0c)
Соответствует символу ASCII с указанным кодом в шестнадцатеричном виде (код должен содержать строго две цифры)
Соответствует символу ASCII с указанным кодом в восьмеричном виде (код должен содержать строго три цифры). Например, код 040 соответствует пробелу.
Настройка
В этом разделе содержатся сведения о настройке функций, описанных в этом документе.
Примечание. Для поиска дополнительной информации о командах, приведенных в данном разделе, используйте инструмент Command Lookup Tool (только для зарегистрированных заказчиков).
Схема сети
В настоящем документе используется следующая схема сети:
Варианты конфигурации
В этом документе используются следующие конфигурации:
Конфигурация ASA в интерфейсе командной строки
Конфигурация ASA в интерфейсе командной строки
Конфигурация ASA 8.x с ASDM 6.x
Чтобы задать регулярные выражения и применить их к MPF для блокирования определенных web-сайтов, выполните следующие шаги.
Создание регулярных выражений
Для создания регулярного выражения на основе показанных примеров выберите Configuration > Firewall > Objects > Regular Expressions (Конфигурация > Межсетевой экран > Объекты > Регулярные выражения) и нажмите Add (Добавить) на вкладке Regular Expression.
Для перехвата имени домена yahoo.com создайте регулярное выражение domainlist1. Нажмите кнопку ОК.
Для перехвата имени домена myspace.com создайте регулярное выражение domainlist2. Нажмите кнопку ОК.
Для перехвата имени домена youtube.com создайте регулярное выражение domainlist1. Нажмите кнопку ОК.
Для перехвата расширений файлов exe, com и bat при условии использования web-браузером версии протокола 1.0 или 1.1 создайте регулярное выражение urllist1. Нажмите кнопку ОК.
Для перехвата расширений файлов pif, vbs и wsh при условии использования web-браузером версии протокола 1.0 или 1.1 создайте регулярное выражение urllist2. Нажмите кнопку ОК.
Для перехвата расширений файлов doc, xls и ppt при условии использования web-браузером версии протокола 1.0 или 1.1 создайте регулярное выражение urllist3. Нажмите кнопку ОК.
Для перехвата расширений файлов (например, zip, tar и tgz) при условии использования web-браузером версии протокола 1.0 или 1.1 создайте регулярное выражение urllist4. Нажмите кнопку ОК.
Для перехвата идентификатора типа содержимого создайте регулярное выражение contenttype. Нажмите кнопку ОК.
Для перехвата заголовков различных приложений содержимого создайте регулярное выражение applicationheader. Нажмите кнопку ОК.
Эквивалентная конфигурация в интерфейсе командной строки
Конфигурация ASA в интерфейсе командной строки
Создание классов регулярных выражений
Для создания различных показанных классов выберите Configuration > Firewall > Objects > Regular Expressions (Конфигурация > Межсетевой экран > Объекты > Регулярные выражения) и нажмите Add (Добавить) на вкладке Regular Expression Classes.
Для перехвата совпадений с любым из регулярных выражений domainlist1, domainlist2 и domainlist3 создайте класс регулярных выражений DomainBlockList. Нажмите кнопку ОК.
Для перехвата совпадений с любым из регулярных выражений urllist1, urllist2, urllist3 и urllist4 создайте класс регулярных выражений URLBlockList. Нажмите кнопку ОК.
Эквивалентная конфигурация в интерфейсе командной строки
Конфигурация ASA в интерфейсе командной строки
Анализ распознанного трафика при помощи карт классов
Для анализа трафика HTTP, соответствующего различным регулярным выражениям из приведенных примеров, выберите Configuration > Firewall > Objects > Class Maps > HTTP > Add (Конфигурация > Межсетевой экран > Объекты > Карты классов > HTTP > Добавить).
Для обработки заголовка отклика, перехваченного на основе регулярных выражений, создайте карту классов BlockDomainsClass.
Нажмите кнопку ОК.
Для обработки заголовка запроса, перехваченного на основе регулярных выражений, создайте карту классов BlockDomainsClass.
Нажмите кнопку ОК.
Для обработки URL-адреса запроса, перехваченного на основе регулярных выражений, создайте карту классов BlockURLsClass.
Нажмите кнопку ОК.
Эквивалентная конфигурация в интерфейсе командной строки
Конфигурация ASA в интерфейсе командной строки
Задание действий для перехваченного трафика в политике анализа
Чтобы создать политику http_inspection_policy, определяющую действия для перехваченного трафика. выберите Configuration > Firewall > Objects > Inspect Maps > HTTP (Конфигурация > Межсетевой экран > Объекты > Карты анализа > HTTP). Нажмите кнопку ОК.
Чтобы задать действия для созданных ранее классов, выберите Configuration > Firewall > Objects > Inspect Maps > HTTP > http_inspection_policy (щелкните дважды), затем щелкните Details > Add (Сведения > Добавить).
Задайте действие (например, Drop Connection – разорвать соединение) и включите (Enable) ведение журналов по критерию (Criterion) метода запроса (Request Method) и значению (Value) connect.
Нажмите кнопку ОК.
Установите действие Drop Connection (Разрывать соединение) и включите (Enable) ведение журнала для класса AppHeaderClass.
Нажмите кнопку ОК.
Установите действие Reset (Выполнять сброс) и включите (Enable) ведение журнала для класса BlockDomainsClass.
Нажмите кнопку ОК.
Установите действие Reset (Выполнять сброс) и включите (Enable) ведение журнала для класса BlockURLsClass.
Нажмите кнопку ОК.
Нажмите кнопку Apply (Применить).
Эквивалентная конфигурация в интерфейсе командной строки
Конфигурация ASA в интерфейсе командной строки
Применение политики анализа HTTP для интерфейса
Выберите Configuration > Firewall > Service Policy Rules > Add > Add Service Policy Rule (Конфигурация > Межсетевой экран > Правила политик обслуживания > Добавить > Добавить правило политики обслуживания.
Трафик HTTP
В раскрывающемся меню выберите переключатель Interface (Интерфейс), соответствующий внутреннему интерфейсу, и укажите название политики (Policy Name) inside-policy. Нажмите кнопку Next.
Создайте карту классов httptraffic и отметьте поля Source (Источник) и Destination IP Address (uses ACL) (IP-адрес получателя [с использованием списка ACL]). Нажмите кнопку Next.
В полях Source (Источник) и Destination (Получатель) укажите «any» (любой) и выберите службу tcp-udp/http. Нажмите кнопку Next.
Выберите переключатель HTTP и щелкните Configure (Настроить).
Выберите переключатель Select a HTTP inspect map for the control over inspection (Выбрать для управления анализом карту анализа HTTP), как показано в примере. Нажмите кнопку ОК.
Нажмите кнопку Finish.
Трафик через порт 8080
Снова выберите Add > Add Service Policy Rule (Добавить > Добавить правило политики обслуживания).
Нажмите кнопку Next.
Выберите переключатель Add rule to existing traffic class (Добавить правило к существующему классу трафика) и в раскрывающемся меню укажите httptraffic. Нажмите кнопку Next.
В полях Source (Источник) и Destination (Получатель) укажите «any» (любой) с номером порта tcp/8080. Нажмите кнопку Next.
Нажмите кнопку Finish.
Нажмите кнопку Apply (Применить).
Эквивалентная конфигурация в интерфейсе командной строки
Конфигурация ASA в интерфейсе командной строки
Проверка
Этот раздел служит для проверки работоспособности вашей конфигурации.
Интерпретатор выходных данных (OIT), доступный только зарегистрированным заказчикам, поддерживает некоторые команды show. Посредством OIT можно анализировать выходные данные команд show.
show running-config regex – данная команда показывает созданные конфигурации регулярных выражений.
show running-config class?map – данная команда показывает созданные конфигурации карт классов.
show running-config policy-map type inspect http – данная команда показывает созданные конфигурации карт политик для проверки трафика HTTP.
show running-config policy-map – данная команда показывает все конфигурации карт политик, а также конфигурации карт политик по умолчанию.
show running-config service-policy – данная команда показывает все выполняемые в настоящее время конфигурации политик служб.
show running-config access-list – данная команда показывает конфигурацию списков контроля доступа, действующую в устройстве защиты.
Поиск и устранение неполадок
В этом разделе описывается процесс устранения неполадок конфигурации.
Примечание. Перед использованием команд debug ознакомьтесь с документом Важные сведения о командах отладки.
debug http – данная команда показывает отладочные сообщения для трафика http.