Einleitung
Die CBAC-Funktion (Context-Based Access Control) der Cisco IOS® Firewall überprüft aktiv die Aktivitäten hinter einer Firewall. CBAC legt mithilfe von Zugriffslisten fest, welche Zugriffe zugelassen werden müssen und welche Zugriffe zugelassen werden müssen (in der gleichen Weise, wie Cisco IOS Zugriffslisten verwendet). CBAC-Zugriffslisten enthalten jedoch IP-Inspect-Anweisungen, mit denen sichergestellt wird, dass das Protokoll nicht manipuliert wird, bevor es an die Systeme hinter der Firewall weitergeleitet wird.
Voraussetzungen
Anforderungen
Es gibt keine spezifischen Anforderungen für dieses Dokument.
Verwendete Komponenten
Dieses Dokument ist nicht auf bestimmte Software- und Hardware-Versionen beschränkt.
Konventionen
Weitere Informationen zu Dokumentkonventionen finden Sie unter Cisco Technical Tips Conventions (Technische Tipps von Cisco zu Konventionen).
Hintergrundinformationen
CBAC kann auch mit Network Address Translation (NAT) verwendet werden, die Konfiguration in diesem Dokument befasst sich jedoch primär mit reiner Überprüfung. Wenn Sie NAT durchführen, müssen Ihre Zugriffslisten die globalen Adressen und nicht die realen Adressen widerspiegeln.
Berücksichtigen Sie vor der Konfiguration diese Fragen.
Welchen Datenverkehr möchten Sie freigeben?
Welcher Datenverkehr freigegeben werden soll, hängt von der Sicherheitsrichtlinie Ihrer Website ab. In diesem allgemeinen Beispiel ist jedoch der ausgehende Datenverkehr zulässig. Wenn Ihre Zugriffsliste alles abstreitet, kann kein Datenverkehr abfließen. Geben Sie ausgehenden Datenverkehr mit dieser erweiterten Zugriffsliste an:
access-list 101 permit ip [source-network] [source-mask] any
access-list 101 deny ip any any
Welchen Datenverkehr möchten Sie zulassen?
Welchen Datenverkehr Sie zulassen möchten, hängt von Ihrer Sicherheitsrichtlinie ab. Die logische Antwort ist jedoch alles, was Ihr Netzwerk nicht beschädigt.
In diesem Beispiel gibt es eine Liste von Datenverkehr, der logisch ist. Internet Control Message Protocol (ICMP)-Datenverkehr ist im Allgemeinen akzeptabel, kann jedoch einige Möglichkeiten für DOS-Angriffe bieten. Dies ist eine Beispiel-Zugriffsliste für eingehenden Datenverkehr:
Erweiterte IP-Zugriffsliste 101
permit tcp 10.10.10.0 0.0.0.255 any (84 matches)
permit udp 10.10.10.0 0.0.0.255 any
permit icmp 10.10.10.0 0.0.0.255 any (3 matches)
deny ip any any
Erweiterte IP-Zugriffsliste 102
permit eigrp any any (486 matches)
permit icmp any 10.10.10.0 0.0.0.255 echo-reply (1 match)
permit icmp any 10.10.10.0 0.0.0.255 unreachable
permit icmp any 10.10.10.0 0.0.0.255 administratively-prohibited
permit icmp any 10.10.10.0 0.0.0.255 packet-too-big
permit icmp any 10.10.10.0 0.0.0.255 echo (1 match)
permit icmp any 10.10.10.0 0.0.0.255 time-exceeded
deny ip any any (62 matches)
access-list 101 permit tcp 10.10.10.0 0.0.0.255 any
access-list 101 permit udp 10.10.10.0 0.0.0.255 any
access-list 101 permit icmp 10.10.10.0 0.0.0.255 any
access-list 101 deny ip any any
access-list 102 permit eigrp any any
access-list 102 permit icmp any 10.10.10.0 0.0.0.255 echo-reply
access-list 102 permit icmp any 10.10.10.0 0.0.0.255 unreachable
access-list 102 permit icmp any 10.10.10.0 0.0.0.255 administratively-prohibited
access-list 102 permit icmp any 10.10.10.0 0.0.0.255 packet-too-big
access-list 102 permit icmp any 10.10.10.0 0.0.0.255 echo
access-list 102 permit icmp any 10.10.10.0 0.0.0.255 time-exceeded
access-list 102 deny ip any any
Die Zugriffsliste 101 gilt für den ausgehenden Datenverkehr. Die Zugriffsliste 102 gilt für den eingehenden Datenverkehr. Die Zugriffslisten lassen nur ein Routing-Protokoll, das Enhanced Interior Gateway Routing Protocol (EIGRP) und den angegebenen eingehenden ICMP-Datenverkehr zu.
In diesem Beispiel ist der Zugriff auf einen Server auf der Ethernet-Seite des Routers nicht über das Internet möglich. Die Zugriffsliste blockiert das Einrichten einer Sitzung. Um darauf zugreifen zu können, muss die Zugriffsliste geändert werden, damit die Konversation stattfinden kann. Um eine Zugriffsliste zu ändern, entfernen Sie die Zugriffsliste, bearbeiten Sie sie, und wenden Sie die aktualisierte Zugriffsliste erneut an.
Hinweis: Der Grund, warum Sie die Zugriffsliste 102 entfernen, bevor Sie sie bearbeiten und erneut anwenden, liegt am "deny ip any any any" am Ende der Zugriffsliste. Wenn Sie in diesem Fall einen neuen Eintrag hinzufügen, bevor Sie die Zugriffsliste entfernen, wird der neue Eintrag nach dem Verweigern angezeigt. Daher wird sie nie kontrolliert.
In diesem Beispiel wird das Simple Mail Transfer Protocol (SMTP) nur für 10.10.10.1 hinzugefügt.
Erweiterte IP-Zugriffsliste 102
permit eigrp any any (385 matches)
permit icmp any 10.10.10.0 0.0.0.255 echo-reply
permit icmp any 10.10.10.0 0.0.0.255 unreachable
permit icmp any 10.10.10.0 0.0.0.255 administratively-prohibited
permit icmp any 10.10.10.0 0.0.0.255 packet-too-big
permit icmp any 10.10.10.0 0.0.0.255 echo
permit icmp any 10.10.10.0 0.0.0.255 time-exceeded
permit tcp any host 10.10.10.1 eq smtp (142 matches)
!--- In this example, you inspect traffic that has been
!--- initiated from the inside network.
Welchen Datenverkehr möchten Sie überprüfen?
CBAC unterstützt in Cisco IOS:
Schlüsselwortname |
Protokolle |
Cuseeme |
CUSeeMe-Protokoll |
ftp |
File Transfer Protocol |
H323 |
H.323-Protokoll (z. B. Microsoft NetMeeting oder Intel Videotelefon) |
http |
HTTP-Protokoll |
rcmd |
R-Befehle (r-exec, r-login, r-sh) |
Realaudio |
Real Audio-Protokoll |
RPC |
Remote Procedure Call Protocol |
smtp |
Simple Mail Transfer Protocol |
SQLnet |
SQL Net-Protokoll |
Stromläufe |
StreamWorks-Protokoll |
tcp |
Transmission Control Protocol |
tftp |
TFTP-Protokoll |
udp |
User Datagram Protocol |
vdolive |
VDOLive-Protokoll |
Jedes Protokoll ist an einen Schlüsselwortnamen gebunden. Wenden Sie den Schlüsselwortnamen auf eine Schnittstelle an, die Sie überprüfen möchten. Mit dieser Konfiguration werden beispielsweise FTP, SMTP und Telnet geprüft:
router1#configure
Configuring from terminal, memory, or network [terminal]? Enter configuration
commands, one per line. End with CNTL/Z.
router1(config)#ip inspect name mysite ftp
router1(config)#ip inspect name mysite smtp
router1(config)#ip inspect name mysite tcp
router1#show ip inspect config
Session audit trail is disabled
one-minute (sampling period) thresholds are [400:500]connections
max-incomplete sessions thresholds are [400:500]
max-incomplete tcp connections per host is 50.
Block-time 0 minute.
tcp synwait-time is 30 sec -- tcp finwait-time is 5 sec
tcp idle-time is 3600 sec -- udp idle-time is 30 sec
dns-timeout is 5 sec
Inspection Rule Configuration
Inspection name mysite
ftp timeout 3600
smtp timeout 3600
tcp timeout 3600
In diesem Dokument wird beschrieben, welchen Datenverkehr Sie freigeben möchten, welchen Datenverkehr Sie freigeben möchten und welchen Datenverkehr Sie überprüfen möchten. Führen Sie die folgenden Schritte aus, um CBAC zu konfigurieren:
-
Anwenden der Konfiguration
-
Geben Sie die Zugriffslisten wie oben konfiguriert ein.
-
Konfigurieren Sie die Prüfanweisungen.
-
Wenden Sie die Zugriffslisten auf die Schnittstellen an.
Nach diesem Verfahren wird Ihre Konfiguration wie in diesem Diagramm und in der Konfiguration dargestellt angezeigt.
Konfiguration der kontextbasierten Zugriffskontrolle |
!
version 11.2
no service password-encryption
service udp-small-servers
service tcp-small-servers
!
hostname router1
!
!
no ip domain-lookup
ip inspect name mysite ftp
ip inspect name mysite smtp
ip inspect name mysite tcp
!
interface Ethernet0
ip address 10.10.10.2 255.255.255.0
ip access-group 101 in
ip inspect mysite in
no keepalive
!
interface Serial0
no ip address
encapsulation frame-relay
no fair-queue
!
interface Serial0.1 point-to-point
ip address 10.10.11.2 255.255.255.252
ip access-group 102 in
frame-relay interface-dlci 200 IETF
!
router eigrp 69
network 10.0.0.0
no auto-summary
!
ip default-gateway 10.10.11.1
no ip classless
ip route 0.0.0.0 0.0.0.0 10.10.11.1
access-list 101 permit tcp 10.10.10.0 0.0.0.255 any
access-list 101 permit udp 10.10.10.0 0.0.0.255 any
access-list 101 permit icmp 10.10.10.0 0.0.0.255 any
access-list 101 deny ip any any
access-list 102 permit eigrp any any
access-list 102 permit icmp any 10.10.10.0 0.0.0.255 echo-reply
access-list 102 permit icmp any 10.10.10.0 0.0.0.255 unreachable
access-list 102 permit icmp any 10.10.10.0 0.0.0.255 administratively-prohibited
access-list 102 permit icmp any 10.10.10.0 0.0.0.255 packet-too-big
access-list 102 permit icmp any 10.10.10.0 0.0.0.255 echo
access-list 102 permit icmp any 10.10.10.0 0.0.0.255 time-exceeded
access-list 102 permit tcp any host 10.10.10.1 eq smtp
access-list 102 deny ip any any
!
line con 0
line vty 0 4
login
!
end |
Zugehörige Informationen