UnixDoc.ru - Документация по UNIX и LINUX подобным ОС, OpenSource software. Установка, настройка, тюнинг, обеспечение безопасности. Статьи, форум, ссылки на достойные ресурсы, перевод man страниц и многое другое...  
ГЛАВНАЯ СТАТЬИ ФОРУМ WEBMASTER

Context-Based Access Control: Настройка и принципы функционирования


Сгибнев Михаил

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

Естесственно, встает вопрос выбора маршрутизатора и общепринятых выходов тут два:
  1. Обычный PC с установленной unix-like ОС
  2. Аппаратный маршрутизатор
Конечно, первый вариант позволяет реализовать в рамках одной машины такие службы как DNS, Mail, Web и т.д но зачастую такие возможности просто остаются невостребованными.

Мы рассмотрим второй вариант. В качестве маршрутизатора выберем Cisco SB 101 Secure Broadband Router по причине низкой цены (240$) и довольно широких возможностей, которые, впрочем, тоже имеют свои пределы, не стоит забывать, что это младший продукт в линейке, если вам нужно больше, то обратитесь к моделям 851 или 835.

Начальная настройка вряд ли вызовет у кого затруднения, но на всякий случай приведу конфигурацию, минимально необходимую для начала работы:
    
    !
    ! Last configuration change at 09:40:53 UTC Fri Feb 3 2006 by mixa
    ! NVRAM config last updated at 09:40:55 UTC Fri Feb 3 2006 by mixa
    !
    version 12.4
    no service pad
    service timestamps debug datetime msec
    service timestamps log datetime msec
    service password-encryption
    !
    hostname dream
    !
    boot-start-marker
    boot system flash sb101-k9oy6-mz.124-5a.bin
    boot-end-marker
    !
    logging buffered 51200 warnings
    !
    no aaa new-model
    !
    resource policy
    !
    ip rcmd rcp-enable
    ip rcmd rsh-enable
    ip rcmd remote-host cisco 10.1.255.3 cisco enable
    no ip dhcp use vrf connected
    ip dhcp excluded-address 10.1.255.1
    ip dhcp excluded-address 10.1.255.2
    ip dhcp excluded-address 10.1.255.3
    !
    ip dhcp pool mynet
       import all
       network 10.1.255.0 255.255.255.0
       default-router 10.1.255.1
       dns-server 10.1.1.1
       lease 0 2
    !
    !
    ip cef
    no ip domain lookup
    ip domain name home.dreamcatcher.ru
    ip host bill 10.1.255.3
    ip host mixa 10.1.255.2
    ip name-server 217.72.144.76
    ip name-server 10.1.1.1
    !
    !
    username mixa privilege 15 secret megapassword
    !
    !
    !
    !
    !
    interface Ethernet0
     description --- Inner Interface ---
     ip address 10.1.255.1 255.255.255.0
     ip nat inside
    !
    interface Ethernet1
     description --- Outer Interface ---
     bandwidth 128
     ip address 10.1.1.28 255.255.255.0
     ip nat outside
     duplex auto
     fair-queue
     no cdp enable
    !
    ip route 0.0.0.0 0.0.0.0 10.1.1.100
    no ip http server
    no ip http secure-server
    ip flow-export version 5
    ip flow-export destination 10.1.255.3 9999
    !
    ip nat translation tcp-timeout 300
    ip nat inside source list 10 interface Ethernet1 overload
    !
    !
    access-list 10 permit 10.1.255.0 0.0.0.255
    snmp-server community secret RO 10
    !
    control-plane
    !
    banner motd *
    =====================
     Dreamcatcher Home
    =====================
    *
    !
    line con 0
     login local
     no modem enable
     transport output all
    line aux 0
     transport output all
    line vty 0 4
     access-class 10 in
     privilege level 15
     login local
     transport input ssh
     transport output all
    !
    scheduler max-task-time 5000
    end
    
Не забывайте, что если вы планируете работать с шифрованными туннелями и ssh, то необходимо выполнить команду:
    
    dream(config)#crypto key generate rsa general-keys exportable
    
Как вы можете увидеть, настроен протокол NetFlow, позволяющий собирать и анализировать информацию о трафике, заблокирован NetBios, доступ к консоли разрешен только из локальной сети и сконфигурирован доступ rsh/rcp, что весьма удобно для написания скриптов. Учтите, что для правильной работы NetFlow и NAT необходимо создать интерфейс Loopback.

Данный маршрутизатор имеет встроенный пакетный фильтр, настройку и работу которого я бы и хотел рассмотреть в данной статье.

Этот механизм называется CBAC. Context-Based Access Control (CBAC) возможность, заложенная в Cisco IOS® Firewall Feature Set, позволяющая определять, какой трафик должен быть разрешен на основании списков доступа (access list). Списки доступа CBAC включают инструкции анализа ip, позволяющие удостовериться в отсутствии нападения прежде, чем трафик будет передан внутрь локальной сети.

CBAC может использоваться совместно с NAT, в этом случае наши списки доступа должны ссылаться на внешние адреса, а не на адреса локальной сети.

При составлении правил CBAC необходимо ответить на три ключевых вопроса:
  1. Какой исходящий трафик мы пропускаем?
  2. Какой входящий трафик мы пропускаем?
  3. Какой трафик мы хотим анализировать?
В нашем случае, мы предполагаем, что такие службы как DNS и почта предоставляются провайдером, используется NAT.

Наша конфигурация использует только входящие списки доступа, мы делаем anti-spoofing и фильтрацию входящего трафика одним списком (Output-Traf). Ethernet 1 является внешним интерфейсом, Ethernet 0 - внутренним. Таким образом, получаем:
    
    !
    ip inspect name Internet ftp timeout 3600
    ip inspect name Internet h323 timeout 3600
    ip inspect name Internet http timeout 3600
    ip inspect name Internet smtp timeout 3600
    ip inspect name Internet tcp timeout 3600
    ip inspect name Internet udp timeout 15
    !
    interface ethernet 0
     ip inspect Internet in
     ip access-group Output-Traf in
    interface ethernet 1
     ip access-group Input-Traf in
    ! 
    !
    ip access-list extended Input-Traf
     remark ----- Deny incoming trafic -----
     permit icmp any host 10.1.1.28 unreachable
     permit icmp any host 10.1.1.28 echo-reply
     permit icmp any host 10.1.1.28 packet-too-big
     permit icmp any host 10.1.1.28 time-exceeded
     permit icmp any host 10.1.1.28 traceroute
     permit icmp any host 10.1.1.28 administratively-prohibited
     permit icmp any host 10.1.1.28 echo
     deny   ip any any log
    ip access-list extended Output-Traf
     remark ----- Premit out trafic -----
     permit tcp 10.1.255.0 0.0.0.255 any
     permit udp 10.1.255.0 0.0.0.255 any
     permit udp host 0.0.0.0 host 255.255.255.255
     permit icmp 10.1.255.0 0.0.0.255 any
     deny   ip any any log
    !
    
Проверить работу пакетного фильтра можно следующей командой:
    
    dream#show ip inspect session
    Established Sessions
     Session 81BAE880 (10.1.255.5:65402)=>(192.168.1.2:21) ftp SIS_OPEN
     Session 81BAF780 (10.1.255.5:65399)=>(192.168.1.2:64255) ftp-data SIS_OPEN
    
Список Output-Traf предназначен для исходящего трафика, а Input-Traf для входящего. Как вы видите, список Input-Traf запрещает все, кроме служебного icmp трафика и если вы прикрепите его к интерфейсу без задания ip inspect, то доступ в мир будет закрыт, так как все ответы, на посланные из сети запросы будут заблокированы. Принцип действия CBAC некоторым образом можно сравнить с действием правил типа "keep-state" в пакетных фильтрах IPF, PF, etc. - создается динамическое правило, пропускающее ответные пакеты по направлению в локальную сеть.

CBAC поддерживает следущие протоколы:

Ключевое имя Протокол
cuseeme CUSeeMe Protocol
ftp File Transfer Protocol
h323 H.323 Protocol (например Microsoft NetMeeting или Intel Video Phone)
http HTTP Protocol
rcmd R commands (r-exec, r-login, r-sh)
realaudio Real Audio Protocol
rpc Remote Procedure Call Protocol
smtp Simple Mail Transfer Protocol
sqlnet SQL Net Protocol
streamworks StreamWorks Protocol
tcp Transmission Control Protocol
tftp TFTP Protocol
udp User Datagram Protocol
vdolive VDOLive Protocol
Таким образом, с помощью CBAC мы можем достаточно хорошо защитить нашу локальную сеть, получив довольно дешевое и качественное решение.

Source: http://www.cisco.com/en/US/tech/tk648/tk361/technologies_white_paper09186a0080194af8.shtml
http://www.cisco.com/en/US/products/sw/secursw/ps1018/products_configuration_example09186a008009445f.shtml
    
    
    



Автор|Источник|Перевод: Сгибнев Михаил (www.dreamcatcher.ru)

Найти похожие документы: cisco

Обсудить эту статью и задать вопросы Вы можете в нашем форуме.
 
ГЛАВНАЯ СТАТЬИ ФОРУМ WEBMASTER
Рейтинг@Mail.ru © MiF 2003-2005