вторник, 20 октября 2015 г.

Nortel - переключение режима работы командной строки


Nortel L2-L3- переключение режима работы командной строки

Есть два режимка работы CLI на L2-L3 свичах NOTRTEL и между ними можно переключаться

  1. Свой собственный Main# boot/mode iscli
  2. Похожий на Cisco CLI -  (config)# boot cli-mode blados-cli
после перезагрузки будет новый CLI.

вторник, 3 сентября 2013 г.

Списки IN и OUT на интерфейсах в Cisco

Списки IN и OUT на интерфейсах в Cisco

Оригинал тут

    Публикую свой наглядный рисунок для понимания того, на какой интерфейс cisco (внутренний или внешний) и какой список (IN или OUT) необходимо сконфигурировать для ограничения или фильтрации проходящего через эти интерфейсы трафика.

Допустим, существует 2 интерфейса: А – внутренний, В – внешний.
  • если повесить список IN на интерфейс А, то будет фильтроваться трафик идущий из внутренней сети через этот интерфейс А;
  • если повесить список OUT на интерфейс А, то будет фильтроваться трафик, идущий из внешней сети через этот интерфейс А;
  • если повесить список IN на интерфейс B, то будет фильтроваться трафик идущий из внешней сети через этот интерфейс В;
  • если повесить список OUT на интерфейс В, то будет фильтроваться трафик, идущий из внутренней сети через этот интерфейс B.
Рис.1 (нажмите для увеличения):


Cisco IN OUT 

четверг, 27 июня 2013 г.

Фильтрация URL-адресов ASA

Фильтрация URL-адресов ASA

 

Оригинал туту https://supportforums.cisco.com/docs/DOC-21128

Введение

Одной из функций ASA является фильтрация URL-адресов. С ее помощью можно блокировать или разрешать посещение пользователями определенных URL-адресов или web-сайтов. Ознакомившись с этой статьей, пользователи научатся пользоваться данной функцией. После ее тщательного изучения они смогут воспользоваться всеми преимуществами фильтрация URL-адресов и применять ее для удовлетворения своих потребностей.

В этой статье будет рассмотрено блокирование и разрешение доменов в URL-адресах, а также слов, используемых в идентификаторах URI. Конечно, ASA могут применяться и для других целей. С ними можно ознакомиться в руководствах по настройке ASA. Теперь давайте рассмотрим, как разрешить или заблокировать домен cisco.com. Иными словами, как сделать так, чтобы ко всем пользователям, пытающимся перейти к любой странице, находящейся в домене cisco.com, применялась фильтрация по URL-адресу. Такими страницами могут быть www.cisco.com/index.html или cisco.com/exampledir/page.html. Кроме того, будет также рассмотрена процедура разрешения или блокирования в URI слова "/test/". Иными словами, к всем страницам, содержащим в адресе слово "/test/" будет применяться фильтрация по URL-адресу. Примерами могут служить адреса www.examplesite.com/exampledir/test/page.html, www.anyurl.com/test/examplepage.jsp или www.anything.com/onedir/seconddir/test

Механизм, используемый для применения фильтрации по URL-адресу, называется Modular Policy Framework (MPF). Здесь будут созданы регулярные выражения (regex), которые будут применяться в class-map типа http. Эти class-map будут использоваться в policy-map, где к ним будет применено действие drop-connection. Затем policy-map будут применены с http inspection в другой policy-map, которая будет применяться к интерфейсу. Таким образом, для попадающего в интерфейс трафика будет выполняться действие http inspection.

ПРИМЕЧАНИЕ. Тем не менее, следует отметить, что для фильтрации по URL-адресу в системах корпоративного класса клиентам рекомендуется использовать интеграцию WebSense или N2H2 с ASA. Такие механизмы web-фильтрации могут обеспечить более надежную фильтрацию на основе классов сайтов. Фильтрацию по URL-адресу непосредственно в ASA с помощью регулярных выражений следует использовать только в отдельных случаях, если есть возможность применить обширную классификацию с ограниченной структурой регулярных выражений. Масштабы ASA не позволяют использовать эту модель на корпоративном уровне с большим числом сопоставлений регулярных выражений и большими объемами HTTP-трафика.


Блокирование конкретных URL-адресов

Предположим, что необходимо заблокировать какие-либо конкретные web-сайты. Например, необходимо заблокировать все сайты, расположенные в домене cisco.com, а также URI, содержащие "/test/". Для этого будут созданы регулярные выражения, которые затем будут использованы в class-map. Обратите внимание, что при наличии соответствия для ЛЮБОГО регулярного выражения считается, что условие class-map фактически выполнено. Затем, в policy-map block-url-policy будет применено действие drop-connection для трафика, который соответствует условию class-map (cisco.com ИЛИ идентификатор URI, содержащий "/test/"). Все остальное разрешено (сайты, не принадлежащие домену cisco.com, и URI, не содержащие "/test/"). Policy-map block-url-policy используется для http inspection в другой policy-map (global_policy) и применяется с service-policy.


 
regex blockex1 "/test/"
regex blockex2 "cisco\.com"

class-map type inspect http match-any block-url-class
 match request uri regex blockex1
 match request header host regex blockex2

policy-map type inspect http block-url-policy
 parameters
 class block-url-class
  drop-connection log
policy-map global_policy
 class inspection_default
  inspect http block-url-policy

service-policy global_policy global



Разрешение всех URL-адресов для определенных хостов и блокирование конкретных URL-адресов для остальных

Наконец, допустим, есть несколько хостов (например, администратор сети с IP-адресом 192.168.1.2), которым необходимо предоставить доступ ко всем web-сайтам, при этом доступ к определенным web-сайтам для остальных пользователей нужно заблокировать (обратите внимание, что для выполнения процесса, описанного в следующем примере, нужно понять смысл примера, приведенного выше). В данном случае будет использоваться приблизительно такая же конфигурация, как и в приведенном выше примере, однако на сей раз потребуются дополнительно access-list, class-map и policy-map. Условиям access-list (user-acl) будут удовлетворять все пользователи, за исключением тех, которым нужен неограниченный доступ. Последние будут соответствовать условиям class-map (block-user-class), которая, в свою очередь, будет использоваться в отдельной policy-map (block-user-url-policy). Эта policy-map обеспечивает выполнение http inspection для policy-map block-url-policy (эта часть совпадает с вышеизложенным) для разрешенных web-сайтов. Таким образом, block-user-url-policy будет применяться к интерфейсу, для которого действует service-policy. В действительности, данная policy-map позволяет отобрать всех пользователей, кроме пользователей с неограниченными правами доступа (class block-user-class) и заблокировать для них возможность посещения определенных web-сайтов (inspect http block-url-policy). Остальные пользователи (которые не соответствуют критериям или не заблокированы в списке доступа) смогут переходить по любым адресам.


 
regex blockex1 "/test/"
regex blockex2 "cisco\.com"

access-list user-acl extended deny tcp host 192.168.1.2 any eq www
access-list user-acl extended permit tcp any any eq www


class-map type inspect http match-any block-url-class
 match request uri regex blockex1
 match request header host regex blockex2
class-map block-user-class
 match access-list user-acl

policy-map type inspect http block-url-policy
 parameters
 class block-url-class
  drop-connection
policy-map block-user-url-policy
 class block-user-class
  inspect http block-url-policy

service-policy block-user-url-policy interface inside



Разрешение только cisco.com

Предположим, что необходимо разрешить только определенные web-сайты. Создадим регулярное выражение и выполним по нему сопоставление (оператор match) в class-map. Обратите внимание, что если для оператора match найдено соответствие, условия в class-map считаются выполненными. Условие оператора match выполняется, если для регулярного выражения НЕ найдено соответствие по URL-адресу. Затем в policy-map allow-url-policy будет применено действие drop-connection. Остальной трафик (cisco.com) разрешен. Иными словами, если страница, к которой необходимо перейти, не является cisco.com, подключение к ней сбрасывается. Policy map используется для http inspection в другой policy-map (global_policy) и применяется с service-policy.


regex allowex2 "cisco\.com"

class-map type inspect http match-all allow-url-class
 match not request header host regex allowex2

policy-map type inspect http allow-url-policy
 parameters
 class allow-url-class
  drop-connection log
policy-map global_policy
 class inspection_default
  inspect http allow-url-policy

service-policy global_policy global



Разрешение определенных URL-адресов

Предположим, что необходимо разрешить только определенные web-сайты. Например, необходимо разрешить только страницы cisco.com и только URI, содержащие "/test/". Для этого будут созданы регулярные выражения, которые затем будут применены в class-map. Обратите внимание, что если для обоих операторов match найдено соответствие, условия в class-map считаются выполненными. Условия обоих операторов match считаются выполненными тогда и только тогда, когда URL-адрес, по которому пользователь выполняет переход, не соответствует НИ ОДНОМУ из регулярных выражений. Затем в policy-map allow-url-policy будет применено действие drop-connection. Остальные адреса разрешены (cisco.com или идентификаторы URI, содержащие "/test/"). Иными словами, если страница, к которой необходимо перейти, не является ни cisco.com, ни страницей, в URL-адресе которой содержится "/test/", подключение к ней будет сброшено. Policy map используется для http inspection в другой policy-map (global_policy) и применяется с service-policy.


regex allowex1 "/test/"
regex allowex2 "cisco\.com"

class-map type inspect http match-all allow-url-class
 match not request uri regex allowex1
 match not request header host regex allowex2

policy-map type inspect http allow-url-policy
 parameters
 class allow-url-class
  drop-connection log
policy-map global_policy
 class inspection_default
  inspect http allow-url-policy

service-policy global_policy global



Разрешение всех URL-адресов для определенных хостов и только определенных URL-адресов для остальных

Теперь, предположим, есть несколько хостов (например, администратор сети с IP-адресом 192.168.1.2), которым необходимо предоставить доступ ко всем web-сайтам, при этом остальным пользователям нужно разрешить доступ только к определенным web-сайтам (обратите внимание, что для выполнения процесса, описанного в следующем примере, нужно понять смысл примера, приведенного выше). В данном случае будет использоваться приблизительно такая же конфигурация, как и в приведенном выше примере, однако на сей раз потребуются дополнительно access-list, class-map и policy-map. Условиям access-list (user-acl) будут удовлетворять все пользователи, за исключением тех, которым нужен неограниченный доступ. Последние будут соответствовать условиям class-map (allow-user-class), которая, в свою очередь, будет использоваться в отдельной policy-map (allow-user-url-policy). Эта policy-map обеспечивает выполнение http inspection для policy-map allow-url-policy (эта часть совпадает с указанной выше) для разрешенных web-сайтов. Таким образом allow-user-url-policy будет применяться к интерфейсу, для которого действует service-policy. В действительности, данная policy-map позволяет отобрать всех пользователей, кроме пользователей с неограниченными правами доступа (class allow-user-class) и предоставить им возможность посещать только определенные web-сайты (inspect http allow-url-policy). Остальные пользователи (которые не соответствуют критериям или не заблокированы в списке доступа) смогут переходить по любым адресам.


 
regex allowex1 "/test/"
regex allowex2 "cisco\.com"

access-list user-acl extended deny tcp host 192.168.1.2 any eq www
access-list user-acl extended permit tcp any any eq www

class-map type inspect http match-all allow-url-class
 match not request uri regex allowex1
 match not request header host regex allowex2
class-map allow-user-class
 match access-list user-acl

policy-map type inspect http allow-url-policy
 parameters
 class allow-url-class
  drop-connection
policy-map allow-user-url-policy
 class allow-user-class
  inspect http allow-url-policy

service-policy allow-user-url-policy interface inside

Разрешение или отказ в доступе к одному и тому же домену

Выдвигаются следующие требования:
1. отказ в доступе к facebook.com;
2. разрешение доступа к developer.facebook.com при автоматическом перенаправлении на сайт developers.facebook.com;
3. разрешение доступа ко всем остальным доменам, таким как yahoo.com и google.com.

regex block-fb ".*facebook\.com"
regex allow-fb "developer[s]*\.facebook\.com"

!
class-map type regex match-any block-fb
   match regex block-fb
class-map type regex match-any allow-regex-class
   match regex allow-fb 
!
policy-map type inspect http http-inspect-pol
   parameters
match not request header host regex class allow-regex-class
match request header host regex class block-fb
    reset log

class-map http-class
   match port tcp eq www

policy-map http-traffic
   class http-class
    inspect http http-inspect-pol
!
service-policy http-traffic interface inside

Кроме того, можно также привязать http policy-map к default inspection в global_policy.

Имейте в виду, что при каждом добавлении, удалении или изменении регулярных выражений, следует 
удалить service policy, которая применяется к интерфейсу, а затем добавить ее снова.
http://www.cisco.com/en/US/docs/security/asa/asa82/configuration/guide/inspect_basic.html#wp1514315

Если вам нужно изменить команду match в inspection HTTP, следует 
удалить соответствующую service policy с помощью команды no service policy, а затем перенастроить 
service policy. Изменение class map путем удаления команды match приведет к тому, что inspection HTTP будет блокировать 
весь HTTP-трафик до тех пор, пока не будет удалена и перенастроена соответствующая service policy для повторного выполнения 
всех команд match.

 

понедельник, 19 декабря 2011 г.

Cisco Router как L2TP Client

  Настройка Cisco 2800 как L2TP Client-а

Рабочий крнфиг:

service internal ! Обязятельная скрытая команда
ip cef
ip multicast-routing 
!
vpdn-group L2TP-STRONGVPN
 request-dialin
  protocol l2tp
  pool-member 1
 initiate-to ip 207.204.224.21
 no l2tp tunnel authentication
!
!        
crypto isakmp policy 5
 encr 3des
 authentication pre-share
 group 2 
 lifetime 3600
crypto isakmp key _Password_ address 207.204.224.21
!        
!        
crypto ipsec transform-set ESP-AES256-SHA esp-aes 256 esp-sha-hmac
 mode transport
!        
crypto map STRONGVPN 10 ipsec-isakmp
 set peer 207.204.224.21
 set transform-set ESP-AES256-SHA
 match address L2TP_SA_DIALER1
!        
interface FastEthernet0/0
description -= Local network =-
 ip address 172.16.44.44 255.255.255.0
 ip nat inside
 ip virtual-reassembly
 duplex auto
 speed auto
!
 interface FastEthernet0/1
 description -= Outside Interface =-
 ip address 77.91.xxx.yyy 255.255.255.240
 ip access-group INPUT_ACL in
 ip flow ingress
 ip flow egress
 ip virtual-reassembly
 duplex auto
 speed auto
 no cdp enable
 crypto map STRONGVPN
!
interface Dialer1
 description -= VPN (StrongVPN) L2TP client =-
 ip address negotiated
 ip mtu 1492
 ip nbar protocol-discovery
 ip flow ingress
 ip flow egress
 ip nat outside
 ip virtual-reassembly
 encapsulation ppp
 ip tcp adjust-mss 1452
 dialer pool 1
 dialer idle-timeout 0
 dialer string 123
 dialer vpdn
 dialer-group 1
 no cdp enable
 ppp chap hostname _USERNAME_
 ppp chap password  _Password_
!
ip route 0.0.0.0 0.0.0.0 Dialer1 ! Весь трафик заворачиваем в тунель
ip route 172.16.44.0 255.255.255.0 FastEthernet0/0
ip route 207.204.224.21 255.255.255.255 77.91.xxx.xxx  !на шлюз провайдерв
!
ip flow-top-talkers
 top 50
 sort-by bytes
 cache-timeout 30000
 match protocol udp
!         
ip nat translation timeout 30
!НАТ-им в адрес интерфейса Dialer1
ip nat inside source route-map map_IPSEC interface Dialer1 overload
ip access-list extended INPUT_ACL
 permit ip host 207.204.224.21 host 77.91.xxx.yyy ! Разрешаем трафик между нашим интерфейсом и VPN сервером. Остально е запрещаем.
 deny   ip any any log
!
ip access-list extended L2TP_SA_DIALER1
 permit udp host 77.91.xxx.yyy eq 1701 host 207.204.224.21 eq 1701
 remark -= Razreshaem L2TP  =-
!
ip access-list extended VPN_IPSEC
 permit ip host 172.16.44.1 any
 permit ip host 172.16.44.44 any
 remark -= Vybyraem Local IP adresa korotye NAT-im =-
!
dialer-list 1 protocol ip permit
!
route-map map_IPSEC permit 10
 match ip address VPN_IPSEC
 match interface Dialer1
!

При таком конфиге весь трафик направляется в тунель.
Локальный трафик с адресов описанных в ip access-list extended VPN_IPSEC натится натится в адрес interface Dialer1 overload (получаем PAT).

пятница, 9 декабря 2011 г.

Настройка на Cisco IOS IPSEC VPN для iPad-а и Cisco VPN Client-а


Есть Cisco IOS Software, 2800 Software (C2800NM-ADVENTERPRISEK9-M), Version 12.4(24)T6, RELEASE SOFTWARE (fc2)

Задача:
Необходимо настроить IPSEC VPN для удаленных пользователей с iPAD-ами и Cisco VPN Client-ами.

Рабочий конфиг ниже


username vpnuser1 secret
!
crypto isakmp policy 10
 encr aes 256
 authentication pre-share
 group 2
!
crypto isakmp client configuration group VPN_GROUP
 key !!!Тут пароль !!!
 dns 4.2.2.2
 pool POOL_FOR_VPN_USER
 save-password !!!! разрешаем сохранение пароля для username vpnuser1 !!!
 max-users 5
 netmask 255.255.255.0
!
crypto isakmp profile ISAKMP_PROFILE_1
   match identity group VPN_GROUP
   client authentication list vpn_xauth_ipsec
   isakmp authorization list vpn_group_ipsec
   client configuration address respond
   virtual-template 2
!        
crypto ipsec transform-set ESP_AES256_SHA_TRANSFORM_VPN_USER esp-aes 256 esp-sha-hmac
!
crypto ipsec profile IPSEC_PROFILE_1
 set transform-set ESP_AES256_SHA_TRANSFORM_VPN_USER
 set isakmp-profile ISAKMP_PROFILE_1
!
interface Virtual-Template2 type tunnel
 ip unnumbered FastEthernet0/1
 ip virtual-reassembly
 tunnel mode ipsec ipv4
 tunnel protection ipsec profile IPSEC_PROFILE_1
!
ip local pool POOL_FOR_VPN_USER 192.168.0.20 192.168.0.25
!

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





Если необходимо дополнительное разделение трафика то необходимо в
crypto isakmp client configuration group VPN_GROUP задать параметр "acl'
(config-isakmp-group)#?
ISAKMP group policy config commands:
  access-restrict               Restrict clients in this group to an interface
  acl                           Specify split tunneling inclusion access-list number
  auto-update                   Configure auto-upgrade
............

(config-isakmp-group)#acl ?
  <100-199>  access-list number for split-tunneling
  WORD       Access-list name

Сюда вписываем ACL в котором описаны необходимые маршруты.