Страницы

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





Перепос с dreamcatcher.ru

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

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