Сетевые решения — CBAC

CBAC – Context-Based Access List, контекстный список доступа, изобретение Cisco, которое позволяет глубже исследовать и контролировать трафик между локальной сетью и Интернет.

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

У вас может возникнуть вопрос, а как же тогда будет возвращаться трафик, когда почти все TCP/UDP порты отделены от внешней сети сетевым экраном? Чтобы это понять, необходимо разобраться по какому принципу работает CBAC. А принцип действия CBAC таков, что он создает временные дыры в межсетевом экране устройства только лишь для того, чтобы впустить тот трафик и только тот, который инициировал хост из внутренней сети во внешнюю.

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

  • 802-11-iapp — IEEE 802.11 WLANs WG IAPP
  • ace-svr — ACE Server/Propagation
  • aol — America-Online
  • appfw — Application Firewall
  • appleqtc — Apple QuickTime
  • bgp — Border Gateway Protocol
  • biff — Biff mail notification
  • bootpc — Bootstrap Protocol Client
  • bootps — Bootstrap Protocol Server
  • cddbp — CD Database Protocol
  • cifs — CIFS
  • cisco-fna — Cisco FNATIVE
  • cisco-net-mgmt — cisco-net-mgmt
  • cisco-svcs — cisco license/perf/GDP/X.25/ident svcs
  • cisco-sys — Cisco SYSMAINT
  • cisco-tdp — Cisco TDP
  • cisco-tna — Cisco TNATIVE
  • citrix — Citrix IMA/ADMIN/RTMP
  • citriximaclient — Citrix IMA Client
  • clp — Cisco Line Protocol
  • creativepartnr — Creative Partnr
  • creativeserver — Creative Server
  • cuseeme — CUSeeMe Protocol
  • daytime — Daytime (RFC 867)
  • dbase — dBASE Unix
  • dbcontrol_agent — Oracle dbControl Agent po
  • ddns-v3 — Dynamic DNS Version 3
  • dhcp-failover — DHCP Failover
  • discard — Discard port
  • dns — Domain Name Server
  • dnsix — DNSIX Securit Attribute Token Map
  • echo — Echo port
  • entrust-svc-hdlr — Entrust KM/Admin Service Handler
  • entrust-svcs — Entrust sps/aaas/aams
  • esmtp — Extended SMTP
  • exec — Remote Process Execution
  • fcip-port — FCIP
  • finger — Finger
  • fragment — IP fragment inspection
  • ftp — File Transfer Protocol
  • ftps — FTP over TLS/SSL
  • gdoi — GDOI
  • giop — Oracle GIOP/SSL
  • gopher — Gopher
  • gtpv0 — GPRS Tunneling Protocol Version 0
  • gtpv1 — GPRS Tunneling Protocol Version 1
  • h323 — H.323 Protocol (e.g, MS NetMeeting, Intel Video Phone)
  • h323callsigalt — h323 Call Signal Alternate
  • h323gatestat — h323gatestat
  • hp-alarm-mgr — HP Performance data alarm manager
  • hp-collector — HP Performance data collector
  • hp-managed-node — HP Performance data managed node
  • hsrp — Hot Standby Router Protocol
  • http — HTTP Protocol
  • https — Secure Hypertext Transfer Protocol
  • ica — ica (Citrix)
  • icabrowser — icabrowser (Citrix)
  • icmp — ICMP Protocol
  • ident — Authentication Service
  • igmpv3lite — IGMP over UDP for SSM
  • imap — IMAP Protocol
  • imap3 — Interactive Mail Access Protocol 3
  • imaps — IMAP over TLS/SSL
  • ipass — IPASS
  • ipsec-msft — Microsoft IPsec NAT-T
  • ipx — IPX
  • irc — Internet Relay Chat Protocol
  • irc-serv — IRC-SERV
  • ircs — IRC over TLS/SSL
  • ircu — IRCU
  • isakmp — ISAKMP
  • iscsi — iSCSI
  • iscsi-target — iSCSI port
  • kazaa — KAZAA
  • kerberos — Kerberos
  • kermit — kermit
  • l2tp — L2TP/L2F
  • ldap — Lightweight Directory Access Protocol
  • ldap-admin — LDAP admin server port
  • ldaps — LDAP over TLS/SSL
  • login — Remote login
  • lotusmtap — Lotus Mail Tracking Agent Protocol
  • lotusnote — Lotus Note
  • microsoft-ds — Microsoft-DS
  • ms-cluster-net — MS Cluster Net
  • ms-dotnetster — Microsoft .NETster Port
  • ms-sna — Microsoft SNA Server/Base
  • ms-sql — Microsoft SQL
  • ms-sql-m — Microsoft SQL Monitor
  • msexch-routing — Microsoft Exchange Routing
  • mysql — MySQL
  • n2h2server — N2H2 Filter Service Port
  • ncp — NCP (Novell)
  • net8-cman — Oracle Net8 Cman/Admin
  • netbios-dgm — NETBIOS Datagram Service
  • netbios-ns — NETBIOS Name Service
  • netbios-ssn — NETBIOS Session Service
  • netshow — Microsoft NetShow Protocol
  • netstat — Variant of systat
  • nfs — Network File System
  • nntp — Network News Transport Protocol
  • ntp — Network Time Protocol
  • oem-agent — OEM Agent (Oracle)
  • oracle — Oracle
  • oracle-em-vp — Oracle EM/VP
  • oraclenames — Oracle Names
  • orasrv — Oracle SQL*Net v1/v2
  • parameter — Specify inspection parameters
  • pcanywheredata — pcANYWHEREdata
  • pcanywherestat — pcANYWHEREstat
  • pop3 — POP3 Protocol
  • pop3s — POP3 over TLS/SSL
  • pptp — PPTP
  • pwdgen — Password Generator Protocol
  • qmtp — Quick Mail Transfer Protocol
  • r-winsock — remote-winsock
  • radius — RADIUS & Accounting
  • rcmd — R commands (r-exec, r-login, r-sh)
  • rdb-dbs-disp — Oracle RDB
  • realaudio — Real Audio Protocol
  • realsecure — ISS Real Secure Console Service Port
  • router — Local Routing Process
  • rpc — Remote Prodedure Call Protocol
  • rsvd — RSVD
  • rsvp-encap — RSVP ENCAPSULATION-1/2
  • rsvp_tunnel — RSVP Tunnel
  • rtc-pm-port — Oracle RTC-PM port
  • rtelnet — Remote Telnet Service
  • rtsp — Real Time Streaming Protocol
  • send — SEND
  • shell — Remote command
  • sip — SIP Protocol
  • sip-tls — SIP-TLS
  • skinny — Skinny Client Control Protocol
  • sms — SMS RCINFO/XFER/CHAT
  • smtp — Simple Mail Transfer Protocol
  • snmp — Simple Network Management Protocol
  • snmptrap — SNMP Trap
  • socks — Socks
  • sqlnet — SQL Net Protocol
  • sqlserv — SQL Services
  • sqlsrv — SQL Service
  • ssh — SSH Remote Login Protocol
  • sshell — SSLshell
  • ssp — State Sync Protocol
  • streamworks — StreamWork Protocol
  • stun — cisco STUN
  • syslog — SysLog Service
  • syslog-conn — Reliable Syslog Service
  • tacacs — Login Host Protocol (TACACS)
  • tacacs-ds — TACACS-Database Service
  • tarantella — Tarantella
  • tcp — Transmission Control Protocol
  • telnet — Telnet
  • telnets — Telnet over TLS/SSL
  • tftp — TFTP Protocol
  • time — Time
  • timed — Time server
  • tr-rsrb — cisco RSRB
  • ttc — Oracle TTC/SSL
  • udp — User Datagram Protocol
  • uucp — UUCPD/UUCP-RLOGIN
  • vdolive — VDOLive Protocol
  • vqp — VQP
  • webster — Network Disctionary
  • who — Who’s service
  • wins — Microsoft WINS
  • x11 — X Window System
  • xdmcp — XDM Control Protocol

После того, как вы определитесь, какой трафик можно выпускать и какой впускать обратно, можно приступать к конфигурированию. Для этого, необходимо создать лист инспектируемых протоколов. Так, например, командой ip inspect name CBAC tcp мы создали запись с именем CBAC, которая инспектирует весь TCP трафик. По этому же принципу создайте списки с тем же именем, куда включите необходимые для вас протоколы.

Теперь необходимо прописать кого и куда мы будем выпускать. Для этого создадим список доступа ip access-list extended 100 и в нем укажем нужные нам протоколы и сети, например, 10 permit ip 192.168.1.0 0.0.0.255 any, 20 permit icmp 192.168.1.0 0.0.0.255, 30 deny ip any any log.

Далее создадим еще один список доступа ip access-list extended 101, в котором определим разрешения на весь входящий трафик из Интернет, например, разрешим только протокол ICMP и SSH:

access-list 101 permit icmp any 192.168.1.0 0.0.0.255 unreachable
access-list 101 permit icmp any 192.168.1.0 0.0.0.255 echo-reply
access-list 101 permit icmp any 192.168.1.0 0.0.0.255 packet-too-big
access-list 101 permit icmp any 192.168.1.0 0.0.0.255 time-exceeded
access-list 101 permit icmp any 192.168.1.0 0.0.0.255 traceroute
access-list 101 permit icmp any 192.168.1.0 0.0.0.255 administratively-prohibited
access-list 101 permit icmp any 192.168.1.0 0.0.0.255 echo
access-list 101 permit tcp any 192.168.1.0 0.0.0.255 eq 22
access-list 101 deny ip any any log

Теперь привяжем созданные списки к интерфейсам маршрутизатора. К внутреннему интерфейсу мы привяжем CBAC и список доступа под номером 100: ip inspect CBAC in, ip access-group 100 in. На внешнем интерфейсе, соответственно, пропишем ip access-group 101 in.

Пример:

ip inspect name CBAC cuseeme
ip inspect name CBAC ftp
ip inspect name CBAC h323
ip inspect name CBAC http
ip inspect name CBAC rcmd
ip inspect name CBAC realaudio
ip inspect name CBAC smtp
ip inspect name CBAC sqlnet
ip inspect name CBAC streamworks
ip inspect name CBAC tcp
ip inspect name CBAC tftp
ip inspect name CBAC udp
ip inspect name CBAC vdolive

ip access-list extended 100
 10 permit ip 192.168.1.0 0.0.0.255 any
 20 permit icmp 192.168.1.0 0.0.0.255
 30 deny ip any any log

ip access-list extended 101
 10 permit icmp any 192.168.1.0 0.0.0.255 unreachable
 20 permit icmp any 192.168.1.0 0.0.0.255 echo-reply
 30 permit icmp any 192.168.1.0 0.0.0.255 packet-too-big
 40 permit icmp any 192.168.1.0 0.0.0.255 time-exceeded
 50 permit icmp any 192.168.1.0 0.0.0.255 traceroute
 60 permit icmp any 192.168.1.0 0.0.0.255 administratively-prohibited
 70 permit icmp any 192.168.1.0 0.0.0.255 echo
 80 permit tcp any 192.168.1.0 0.0.0.255 eq 22
 90 deny ip any any log

interface FastEthernet0/0
 ip address 192.168.1.254 255.255.255.0
 ip access-group 100 in
 ip inspect CBAC in

interface FastEthernet0/1
description -=External Interface=-

ip access-group 101 in

Понравилась статья? Поделиться с друзьями:
TelecomBook
Яндекс.Метрика