Gesamtzahl der Seitenaufrufe

Donnerstag, 14. April 2011

Cisco CCNA Security - Kapitel 8: Configure and Verify a Site-to-Site IPsec VPN using CLI

Tischplattenbeißpotential:


1. ACL 110 auf R1 (und später auch R3) "interessanten" Traffic definieren vom LAN an R1 (192.168.1.0/24) zum LAN an R3 (192.168.3.0/24)
R1(config)#acc 110 permit ip 192.168.1.0 0.0.0.255 192.168.3.0 0.0.0.255
-> hier ist kein explizites deny any any verlangt und wird sogar als falsch gewertet
-> Erinnerung: ACLs, die für VPNs genutzt werden, blockieren KEINEN Traffic, sondern geben an, welche Datenflüsse verschlüsselt werden sollen, und welche nicht. Das explizite Deny zeigt beim Verifizieren nur an, welche Daten unverschlüsselt übertragen wurden.

Und spiegelverkehrt (wichtig!) auf R3:
R3(config)#acc 110 permit ip 192.168.3.0 0.0.0.255 192.168.1.0 0.0.0.255


2. Auf R1 die in der Aufgabenstellung definierten ISAKMP Phase 1-Eigenschaften konfigurieren
-> einige der Eigenschaften aus der Tabelle sind default-Werte und müssen deshalb nicht explizit konfiguriert werden
R1(config)#crypto isakmp policy 10
R1(config-isakmp)#encryption aes
-> default: des
R1(config-isakmp)#authentication pre-share
-> default: rsa
R1(config-isakmp)#group 2
-> default: 1

Öffentlichen Schlüssel definieren, weil bei "authentication" "pre-share" gewählt wurde
R1(config)#crypto isakmp key vpnpa55 address 10.2.2.2
-> Die IP-Adresse 10.2.2.2 gehört zu R3; auf diesem Router muss das gleiche definiert werden, aber die IP-Adresse ist in dem Fall 10.1.1.2

3. ISAKMP Phase 2-Eigenschaften (transform-set)
Name: VPN-SET, Methoden: esp-3des und esp-sha-hmac
R1(config)#crypto ipsec transform-set VPN-SET esp-3des esp-sha-hmac

Sequenznummer: 10, identifizieren als ipsec-isakmp map
R1(config)#crypto map VPN-MAP 10 ipsec-isakmp

Weitere Eigenschaften:
R1(config-crypto-map)#set peer 10.2.2.2
-> Tunnel wird zu R3 aufgebaut
R1(config-crypto-map)#set transform-set VPN-SET
R1(config-crypto-map)#match address 110
-> 110 ist unsere ACL

4. Die erstellte crypto map VPN-MAP an S0/0/0 anbringen
R1(config)#interface Serial0/0/0
R1(config-if)#crypto map VPN-MAP
-> die folgende Meldung erscheint:
*Jan  3 07:16:26.785: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON

5. Verifizieren:
a) Die running-config anschauen
R1# sh run
...
crypto map VPN-MAP 10 ipsec-isakmp
 ! Incomplete
...
-> wenn so etwas in der running-config steht, wurde bestimmt ein Parameter vergessen - oder die ACL,...

b) Spezielle Verifizierungstools nutzen:
-> bevor "interessanter" Traffic erzeugt wurde:
R3#sh cryp ipsec sa
No SAs found

R3#sh cryp isakmp sa
IPv4 Crypto ISAKMP SA
dst             src             state          conn-id slot status
IPv6 Crypto ISAKMP SA


-> nach dem erfolgreichen Ping:

R3#sh cryp isakmp sa
IPv4 Crypto ISAKMP SA
dst             src             state          conn-id slot status
10.1.1.2        10.2.2.2        QM_IDLE           1072    0 ACTIVE
IPv6 Crypto ISAKMP SA

R3#sh cryp ipsec sa
interface: Serial0/0/1
    Crypto map tag: VPN-MAP, local addr 10.2.2.2


   protected vrf: (none)
   local  ident (addr/mask/prot/port): (192.168.3.0/255.255.255.0/0/0)
   remote  ident (addr/mask/prot/port): (192.168.1.0/255.255.255.0/0/0)
   current_peer 10.1.1.2 port 500
    PERMIT, flags={origin_is_acl,}
   #pkts encaps: 2, #pkts encrypt: 2, #pkts digest: 0
   #pkts decaps: 2, #pkts decrypt: 2, #pkts verify: 0
   #pkts compressed: 0, #pkts decompressed: 0
   #pkts not compressed: 0, #pkts compr. failed: 0
   #pkts not decompressed: 0, #pkts decompress failed: 0
   #send errors 1, #recv errors 0


     local crypto endpt.: 10.2.2.2, remote crypto endpt.:10.1.1.2
     path mtu 1500, ip mtu 1500, ip mtu idb Serial0/0/1
     current outbound spi: 0x31AE2FDD(833499101)


     inbound esp sas:
      spi: 0x206C66DF(543975135)
        transform: esp-3des esp-sha-hmac ,
        in use settings ={Tunnel, }
        conn id: 2001, flow_id: FPGA:1, crypto map: VPN-MAP
        sa timing: remaining key lifetime (k/sec): (4525504/86381)
        IV size: 16 bytes
        replay detection support: N
        Status: ACTIVE
     inbound ah sas:
     inbound pcp sas:


     outbound esp sas:
      spi: 0x31AE2FDD(833499101)
        transform: esp-3des esp-sha-hmac ,
        in use settings ={Tunnel, }
        conn id: 2002, flow_id: FPGA:1, crypto map: VPN-MAP
        sa timing: remaining key lifetime (k/sec): (4525504/86381)
        IV size: 16 bytes
        replay detection support: N
        Status: ACTIVE
     outbound ah sas:
     outbound pcp sas:

R3#sh acc 110
Extended IP access list 110
    permit ip 192.168.3.0 0.0.0.255 192.168.1.0 0.0.0.255 (1 match(es))


R3#sh crypto map
Crypto Map VPN-MAP 10 ipsec-isakmp
        Peer = 10.1.1.2
        Extended IP access list 110
            access-list 110 permit ip 192.168.3.0 0.0.0.255 192.168.1.0 0.0.0.255
        Current peer: 10.1.1.2
        Security association lifetime: 4608000 kilobytes/86400 seconds
        PFS (Y/N): Y
        Transform sets={
                VPN-SET,
        }
        Interfaces using crypto map VPN-MAP:
                Serial0/0/1


R3#sh crypto isakmp policy
Global IKE policy
Protection suite of priority 10
        encryption algorithm:   AES - Advanced Encryption Standard (128 bit keys).
        hash algorithm:         Secure Hash Standard
        authentication method:  Pre-Shared Key
        Diffie-Hellman group:   #2 (1024 bit)
        lifetime:               86400 seconds, no volume limit
Default protection suite
        encryption algorithm:   DES - Data Encryption Standard (56 bit keys).
        hash algorithm:         Secure Hash Standard
        authentication method:  Rivest-Shamir-Adleman Signature
        Diffie-Hellman group:   #1 (768 bit)
        lifetime:               86400 seconds, no volume limit

R3#sh crypto ipsec transform-set
Transform set VPN-SET: {    { esp-3des esp-sha-hmac  }
   will negotiate = { Tunnel,  },

Cisco CCNA Security - Kapitel 6-2: Layer 2 VLAN Security

Tischplattenbeißpotential: 0

1. Ein Kabel zwischen SW-1 und SW2 an den Fa0/23er Ports anbringen
-> braucht ein Crossover-Kabel, weil es zwei gleichartige Geräte sind.
-> wird nicht bewertet

2. Auf dem neuen Link "trunking" und alle Sicherheitsmechanismen aktivieren (den Port dem nativen VLAN 15 hinzufügen, auto-negotiation deaktivieren)
-> es sind damit nicht Root guard und Storm Control gemeint; die Arbeit kann man sich sparen.
SW-1(config)#int fa0/23
SW-1(config-if)#swi mode trunk
SW-1(config-if)#swi native vlan 15
SW-1(config-if)#swi nonegotiate
-> wen ein Port trunk ist, bleibt er so auch trunk bis ein Admin ihn umkonfiguriert, selbst wenn man ein Gerät im Access-Modus mit auto-negotiation anschließt
SW-1(config-if)#no shutdown

3. Ein gesondertes VLAN für Management erstellen (auf allen Switches - ginge effizienter über VTP, aber das ist hier nicht verlangt)
a) Nummer 20, Name VLAN0020:
SW-A(config)#vlan 20
SW-A(config-vlan)#name VLAN0020

b) Irgendeine IP-Adresse im Bereich 192.168.20.0/24 vergeben um eine IP-Adresse zu haben, mit der man den Switch von anderen Geräten aus erreichen und konfigurieren kann:
SW-A(config)#int vlan 20
SW-A(config-if)#ip add 192.168.20.1 255.255.255.0
-> jedem Switch natürlich eine andere Adresse geben
SW-A(config-if)#no shu

4. Den PC-C1 mit eine IP-Adresse zuweisen und mit dem Switch SW-A auf Port Fa0/1 verbinden.
-> Straight-Through-Kabel
-> Adresse aus dem Bereich 192.168.20.0/24: Im Config-Tab des PCs "FastEthernet" wählen, Adresse kann zB. 192.168.20.6 sein

5. Den PC in das Vlan 20 einbinden um ihm Zugriff zu geben (nur SW-A!)
SW-A(config-if)#int fa0/1
SW-A(config-if)#swi mode acc
SW-A(config-if)#swi acc vlan 20
SW-A(config-if)#no shu

6. Den Zugriff des Management-PCs auf den Router konfigurieren
a) Subinterface
-> erstelle ein neues Subinterface (Fa0/0.3) und vergib eine IP im Bereich 192.168.20.0/24
-> Subinterface heißt, dass es nur ein physikalisches Interface gibt, aber mehrere logische - entsprechend der existierenden VLANs auf den Switches
R1(config)#int fa0/0.3
R1(config-subif)#encapsulation dot1Q 20
-> erst die Encapsulation festlegen, vorher lässt sich keine IP-Adresse zuweisen
-> dot1q-Encapsulation mit dem Parameter 20, der IEEE 802.1Q VLAN ID
R1(config-subif)#ip add 192.168.20.20 255.255.255.0

b) PC konfigurieren
-> Die eben konfigurierte IP-Adresse muss noch als default gateway im PC eingestellt werden (Config-Tab -> Settings -> Gateway)

7. Verifizieren: Durch anpingen der Switches und des Routers von PC-C1 aus
Hinweis: Der erste Ping wird immer fehlschlagen, weil die ARP-Tabelle erst aufgebaut werden muss, also nicht wundern, wenn man "Add Simple PDU" verwendet und es fehlschlägt.

8. Eine ACL hinzufügen, die Zugriffe von anderen Netzwerken auf unser Management-Netzwerk 192.168.20.0/24 unterbindet, aber alle anderen Netzwerke einander den Zugriff erlaubt
-> wird nicht mehr bewertet, aber ich denke, dass meine Lösung richtig ist:

R1(config)#int fa0/0.3
R1(config-subif)#ip acc 1 in   
-> am Sub-Interface angebracht = nah am Ziel = standard ACL

R1(config)#acc 1 permit 192.168.20.0 0.0.0.255
R1(config)#acc 1 deny 192.168.10.0 0.0.0.255
R1(config)#acc 1 deny 192.168.5.0 0.0.0.255
R1(config)#acc 1 deny any

-> Verifizieren:
R1(config)#sh ip acc 1
Standard IP access list 1
    permit 192.168.20.0 0.0.0.255 (4 match(es))
    deny 192.168.10.0 0.0.0.255 (1 match(es))
    deny 192.168.5.0 0.0.0.255
    deny any
-> der Router kann anpingt werden, aber nicht die Switches, das darf nur der Wartungs-PC im 20er-VLAN
Und: die PCs können sich gegenseitig noch anpingen

Cisco CCNA Security - Kapitel 6-1: Layer 2 Security

Tischplattenbeißpotential: 0

1. Herausfinden, welcher Switch Root-Bridge ist:
Central#sh span
-> Die Ausgabe ist (gekürzt):
VLAN0001
  Spanning tree enabled protocol ieee
  Root ID    Priority    32769
             Address     0009.7C61.9058
             Cost        4
             Port        25(GigabitEthernet0/1)                   
-> die letzte Zeile bedeutet, dass die Root-Brigde mit Port G0/1 verbunden ist
-> schaut man nach, welcher Switch am anderen Ende des Kabels hängt, findet man SW-1:

SW-1#sh span
VLAN0001
  Spanning tree enabled protocol ieee
  Root ID    Priority    32769
             Address     0009.7C61.9058
             This bridge is the root                   
-> hier sagt es uns der Switch SW-1 schon selbst, dass er die Root-Bridge ist

2. Switch "Central" zur "primary root bridge" machen, SW-1 zur "secondary root bridge"
Central(config)#spanning-tree vlan 1 root primary
SW-1(config)#spanning-tree vlan 1 root secondary

3. PortFast und BPDU guard an allen Access-Ports aktivieren (SW-A und SW-B, nicht etwa die Switches, auf denen wir gerade gearbeitet haben)
-> Access-Ports sind Ports, die nicht mit anderen Switches verbunden sind
SW-B(config)#int range fa0/1 - 22
-> mit dem Interface-Range-Befehl kann man mehrere Interfaces auf einmal konfigurieren
-> man kann Bereiche und Aufzählungen verwenden, zum Beispiel: int range fa0/1, fa0/3 - 6

SW-B(config-if-range)#switchport mode access
-> zur Sicherheit explizit die Ports in den Access-Modus schalten; wird hier aber nicht bewertet

SW-B(config-if-range)#spanning-tree portfast
-> Folgende Ausgabe ist in Ordnung:
%Warning: portfast should only be enabled on ports connected to a single
 host. Connecting hubs, concentrators, switches, bridges, etc... to this
 interface  when portfast is enabled, can cause temporary bridging loops.
 Use with CAUTION
%Portfast will be configured in 22 interfaces due to the range command
 but will only have effect when the interfaces are in a non-trunking mode.

SW-B(config-if-range)#spanning-tree bpduguard enable
-> ebenfalls in diesem Interface-Bereich an allen 22 Interfaces gleichzeitig

4. Root guard und Storm Control an allen Trunk-Ports aktivieren (diesmal an SW-1 und SW-2)
SW-1(config)#int range fa0/23-24
SW-1(config-if-range)#spanning-tree guard root
SW-1(config-if-range)#storm-control broadcast level 50
-> 50 ist die rising threshold; mehr geht hier auch nicht im Moment

-> und auch nicht diese Ports für Storm Control vergessen:
SW-1(config)#int range fa0/1, gi1/1
SW-1(config-if-range)#storm-control broadcast level 50


5. Port-Security aktivieren und ungenutzte Ports deaktivieren
(SW-A und SW-B)
a) Port-Security: 2 MAC-Adressen sollen dynamisch gelernt werden (=sticky), bei Verletzung der Regeln soll der Port heruntergefahren werden (ist eigentlich default)
SW-A(config-if-range)#int r fa0/1-4
SW-A(config-if-range)#swi port max 2
SW-A(config-if-range)#swi port violation shutdown
SW-A(config-if-range)#swi port mac sticky
-> bei so etwas werde ich immer etwas schreibfaul, aber das macht nichts, denn diese Abkürzungen werden vom Cisco-IOS genau so wie die ausgeschriebenen Befehle interpretiert

b) ungenutze Ports deaktivieren:
SW-A(config)#int r fa0/5-22
SW-A(config-if-range)#shutdown

Cisco CCNA Security - Kapitel 5: Configure IOS Intrusion Prevention System (IPS) using CLI

Tischplattenbeißpotential: 0

1. Erstelle ein IPS-Konfigurationsverzeichnis
R1#mkdir flash:ipsdir
-> im privileged EXEC mode; mit Enter noch mal bestätigen

2. Konfiguriere dieses Verzeichnis als IPS signature storage location

R1(config)#ip ips config location ipsdir
oder auch:
R1(config)#ip ips config location flash:ipsdir
-> wird aber nicht bewertet

3. IPS aktivieren / einen Namen für eine Regel vergeben
R1(config)#ip ips name iosips
-> ohne eine ACL anzugeben

4. Logging
R1(config)#logging host 192.168.1.50
-> Syslog-Server
R1(config)#ip ips notify log
-> logging event notification

-> in der Zwischenaufgabe muss nur ein zusätzlicher Befehl abgesetzt werden:
R1(config)#service timestamps log datetime msec
-> logging on und clock set... werden nicht bewertet

5. Signaturen
a) Signaturen der ALL-Kategorie deaktivieren (retire)
R1(config)#ip ips signature-category
R1(config-ips-category)#category all
R1(config-ips-category-action)#retire true
-> dann zwei mal exit verwenden und mit Enter die Änderungen bestätigen

b) Signaturen der "IOS_IPS Basic"-Kategorie aktivieren (un-retire)
R1(config)#ip ips signature-category
R1(config-ips-category)#category ios_ips basic
R1(config-ips-category-action)#retired false

6. An Fa0/0 outbound anbringen
R1(config-if)#ip ips iosips out
-> iosips ist der am Anfang vergebene Name der IPS-Regel
-> Log-Messages folgen:
*Mrz 21, 12:24:23.2424:  %IPS-6-ENGINE_BUILDS_STARTED:  12:24:23 UTC Mrz 21 2011
*Mrz 21, 12:24:23.2424:  %IPS-6-ENGINE_BUILDING: atomic-ip - 3 signatures - 1 of 13 engines
*Mrz 21, 12:24:23.2424:  %IPS-6-ENGINE_READY: atomic-ip - build time 8 ms - packets for this engine will be scanned
*Mrz 21, 12:24:23.2424:  %IPS-6-ALL_ENGINE_BUILDS_COMPLETE: elapsed time 8 ms

7. Eine Signatur verändern
a) Signatur 2004, subsig ID 0 soll aktiviert (un-retire) und freigegeben (enable) werden
R1(config)#ip ips signature-definition
-> statt einer Kategorie wird eine einzelne Signatur bearbeitet
R1(config-sigdef)#signature 2004 0
-> 0 ist die Subsignatur-ID

R1(config-sigdef-sig)#status
R1(config-sigdef-sig-status)#retired false
R1(config-sigdef-sig-status)#enabled true
-> es müssen beide Kommandos genutzt werden

b) Die Aktionen alert und drop sollen aktiviert werden
R1(config-sigdef-sig)#engine
R1(config-sigdef-sig-engine)#event-action produce-alert
-> alert
R1(config-sigdef-sig-engine)#event-action deny-packet-inline
-> drop
(mehr als diese beiden Optionen ist im Moment auch nicht verfügbar)

Cisco CCNA Security - Kapitel 4-3: Configuring a Zone-Based Policy Firewall (ZPF)

Firewalls sind zwar nicht das leichteste Thema, aber diese PT-Aufgabenstellung ist ordentlich erstellt worden.
Tischplattenbeißpotential: 0

1. Zwei Sicherheitszonen erstellen:
R3(config)#zone security IN-ZONE
R3(config)#zone security OUT-ZONE

2. ACL 101 erstellen, die internen Traffic definiert:
R3(config)#access-list 101 permit ip 192.168.3.0 0.0.0.255 any
-> wir gehen von R3 aus, also ist das interne Netzwerk das 192.168.3.0er Netzwerk

3. Eine dazugehörige class map (Name: IN-NET-CLASS-MAP) erstellen und ACL 101 zuweisen:
R3(config)#class-map type inspect IN-NET-CLASS-MAP
-> Typ "inspect"
R3(config-cmap)#match access-group 101

4. Eine dazugehörige policy map (Name: IN-2-OUT-PMAP) erstellen um zu bestimmen, was mit dem oben beschriebenen Traffic passiert:
R3(config)#policy-map type inspect IN-2-OUT-PMAP

R3(config-pmap)#class type inspect IN-NET-CLASS-MAP
-> class map zuweisen
R3(config-pmap-c)#inspect
-> action "inspect" zuweisen
-> es kommt die folgende Ausgabe:
%No specific protocol configured in class IN-NET-CLASS-MAP for inspection. All protocols will be inspected

5. Apply Firewall Policies - Zonenpaar
a) Create a pair of zones (in to out) / Zonenpaar erstellen:
R3(config)#zone-pair security IN-2-OUT-ZPAIR source IN-ZONE destination OUT-ZONE
-> Weist die Flussrichtung des inspizierten Traffics zu (von IN-ZONE zu OUT-ZONE)
b) Policy map zuweisen
R3(config-sec-zone-pair)#service-policy type inspect IN-2-OUT-PMAP

6. Den Interfaces Sicherheitszonen zuweisen
a) Fa0/1 zur IN-ZONE
R3(config)#int fa0/1
R3(config-if)#zone-member security IN-ZONE
b) S0/0/1 zur OUT-ZONE:
R3(config)#int s0/0/1
R3(config-if)#zone-member security OUT-ZONE

7. Verifizieren
a) From internal PC-C, Telnet to the router R2 S0/0/1 interface.
R3#
%SYS-5-CONFIG_I: Configured from console by console
 show policy-map type inspect zone-pair sessions
 Zone-pair: IN-ZONE-OUT-ZONE

  Service-policy inspect : IN-2-OUT-PMAP

    Class-map: IN-NET-CLASS-MAP (match-all)
      Match: access-group 101
      Inspect
        Established Sessions
         Session 176848496 (192.168.3.3:1026)=>(10.2.2.2:23) :tcp SIS_OPEN
          Created 00:00:32, Last heard  00:00:11
          Bytes sent (initiator:responder) [0:0]
    Class-map: class-default (match-any)
      Match: any
      Drop (default action)
        0 packets, 0 bytes


b) HTTP session:
R3# show policy-map type inspect zone-pair sessions
 Zone-pair: IN-ZONE-OUT-ZONE

  Service-policy inspect : IN-2-OUT-PMAP

    Class-map: IN-NET-CLASS-MAP (match-all)
      Match: access-group 101
      Inspect
        Established Sessions
         Session 109032888 (192.168.3.3:1027)=>(192.168.1.3:80) :tcp SIS_OPEN
          Created 00:00:01, Last heard  00:00:00
          Bytes sent (initiator:responder) [0:0]
    Class-map: class-default (match-any)
      Match: any
      Drop (default action)
        0 packets, 0 bytes

Cisco CCNA Security - Kapitel 4-2: Configuring Context-Based Access Control (CBAC)

Das einzige, was einen an dieser Aufgabe wahnsinnig machen kann, ist, dass nirgendwo angegeben ist, wie die Listen benannt werden sollen, deswegen schreibe ich es gleich am Anfang: Die erwarteten Namen sind "OUT-IN" für die Access-Liste und "IN-OUT-IN" für die CBAC-Liste (das kann man sehen, wenn man auf "check results" klickt ^_^)
Tischplattenbeißpotential:


1. Eine "named IP ACL" auf R3 soll allen Datenfluss (Traffic) von außen blocken:
R3(config)#ip access-list extended OUT-IN
-> wie oben schon erwähnt, ist der Name nicht beliebig
R3(config-ext-nacl)#deny ip any any

-> als "außen" wird das Netzwerk an der seriellen Schnittstelle gewertet:
R3(config)#int s0/0/1
R3(config-if)#ip acc OUT-IN in















2. Eine "CBAC Inspection Rule" soll ICMP, Telnet und HTTP inspizieren:
R3(config)#ip inspect name IN-OUT-IN icmp alert on
R3(config)#ip inspect name IN-OUT-IN telnet alert on
R3(config)#ip inspect name IN-OUT-IN http alert on

3. Time-stamped logging und CBAC audit trail messages sollen aktiviert werden
R3(config)#service timestamps log datetime msec
R3(config)#service timestamps debug datetime msec
-> In dieser Aufgabe müssen auch Zeitstempel für "debug" aktiviert werden

R3(config)#ip inspect audit-trail
R3(config)#logging host 192.168.1.3
-> Auf Server PC-A läuft der Syslog-Dienst. Nach diesem Befehl kommt folgende Meldung:
%SYS-6-LOGGINGHOST_STARTSTOP: Logging to host 192.168.1.3 port 514 started - CLI initiated
R3(config)#logging on

4. Die bei 2. definierte CBAC-Regel soll für "egress traffic" an Interface S0/0/1 angebracht werden
-> egress ist das Gegenteil von ingress, und ingress bedeutet (wie man schon raten kann) "inbound", also ist egress "outbound"
R3(config)#int s0/0/1
R3(config-if)#ip inspect IN-OUT-IN out

5. Verifizieren
-> das wird zwar nicht gewertet, aber bei solchen fortgeschrittenen Konfigurationen ist es durchaus mal interessant, sich die Infos darüber anzeigen zu lassen - und Pakete zu generieren:

R3#sh ip inspect all
Session audit trail is enabled
Session alert is enabled
one-minute (sampling period) thresholds are [unlimited : unlimited] connections
max-incomplete sessions thresholds are [unlimited : unlimited]
max-incomplete tcp connections per host is unlimited. 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
tcp reassembly queue length 16; timeout 5 sec; memory-limit 1024 kilo bytes
dns-timeout is 5 sec
Inspection Rule Configuration
 Inspection name FWRULE
    icmp alert is on audit-trail is on timeout 10
    telnet alert is on audit-trail is on timeout 3600
 Inspection name IN-OUT-IN
    icmp alert is on audit-trail is on timeout 10
    telnet alert is on audit-trail is on timeout 3600
    http alert is on audit-trail is on timeout 3600

Interface Configuration
 Interface Serial0/0/1
  Inbound inspection rule is not set
  Outgoing inspection rule is IN-OUT-IN
    icmp alert is on audit-trail is on timeout 10
    telnet alert is on audit-trail is on timeout 3600
    http alert is on audit-trail is on timeout 3600
  Inbound access list is OUT-IN
  Outgoing access list is not set

R3# sh ip inspect sessions
*Mrz 01, 00:05:40.055:  %FW-6-SESS_AUDIT_TRAIL_START: Start telnet session: initiator (192.168.3.3:1025) -- responder (10.2.2.2:23)
*Mrz 01, 00:05:42.055:  %FW-6-SESS_AUDIT_TRAIL_STOP: Stop telnet session: initiator (192.168.3.3:1025) -- responder (10.2.2.2:23)
*Mrz 01, 00:05:50.055:  %FW-6-SESS_AUDIT_TRAIL_START: Start telnet session: initiator (192.168.3.3:1026) -- responder (192.168.1.3:23)
*Mrz 01, 00:05:55.055:  %FW-6-SESS_AUDIT_TRAIL_STOP: Stop telnet session: initiator (192.168.3.3:1026) -- responder (192.168.1.3:23)
*Mrz 01, 00:06:06.066:  %FW-6-SESS_AUDIT_TRAIL_START: Start http session: initiator (192.168.3.3:1027) -- responder (192.168.1.3:80)
*Mrz 01, 00:06:11.066:  %FW-6-SESS_AUDIT_TRAIL_STOP: Stop http session: initiator (192.168.3.3:1027) -- responder (192.168.1.3:80)

R3#sh ip inspect statistics
Packet inspection statistics [process switch:fast switch]
  tcp packets: [0:4]
Interfaces configured for inspection 1
Session creations since subsystem startup or last reset 4
Current session counts (estab/half-open/terminating) [0:0:0]
Maxever session counts (estab/half-open/terminating) [1:0:0]
Last session created 00:06:24
Last statistic reset never
Last session creation rate 0
Maxever session creation rate 1
Last half-open session total 0
TCP reassembly statistics
  received 0 packets out-of-order; dropped 0
  peak memory usage 0 KB; current usage: 0 KB
  peak queue length 0

Cisco CCNA Security - Kapitel 4-1: Configure IP ACLs to Mitigate Attacks

Tischplattenbeißpotential:


1. ACL 10 auf allen Routern soll nur PC3 den Konfigurierungs-Zugang (remote access) erlauben
-> bei ACLs gibt es immer mehrere Varianten; folgende sind hier richtig:
R1(config)#acc 10 permit 192.168.3.3 0.0.0.0
R1(config)#acc 10 permit host 192.168.3.3
2. Die ACL an den VTY-Zugang legen für hineingehende Anfragen (ingress traffic)
R1(config)#line vty 0 4
-> Man hat im Cisco-Lehrgang mal so festgelegt, dass man nur die Zugänge 0 bis 4 konfiguriert
R1(config-line)#access-class 10 in

2. ACL 100 auf R3 soll Traffic von folgenden Quell-Adressen sperren: 127.0.0.0/8, any RFC 1918 private addresses, and any IP multicast address

a) 127.0.0.0er Bereich:
R3(config)#acc 100 deny ip 127.0.0.0 0.255.255.255 any
-> 127.0.0.0/8; /8 bedeutet eine Subnetzmaske von 255.0.0.0, woraus die Wildcardmaske 0.255.255.255 resultiert

b) RFC 1918 private Adressen:
Class A: 10.0.0.0 - 10.255.255.255
Class B: 172.16.0.0 - 172.31.255.255
Class C: 192.168.0.0 - 192.168.255.255
R3(config)#acc 100 deny ip 10.0.0.0 0.255.255.255 any
R3(config)#acc 100 deny ip 172.16.0.0 0.15.255.255 any
R3(config)#acc 100 deny ip 192.168.0.0 0.0.255.255 any

c) Multicast-Adressbereich 224.0.0.0/4
R3(config)#acc 100 deny ip 224.0.0.0 15.255.255.255 any
-> Die Wildcard-Maske setzt sich so zusammen: /4 bedeutet eine Subnetzmaske von 240.0.0.0, daraus folgt die wildcardmaske 15.255.255.255 (weil 255 minus 240 15 ist)

d) Jeder andere Traffic wird zugelassen, sonst greift die implizite Sperrung (implicit deny) von allem, was in der ACL nicht beschrieben wurde
R3(config)#acc 100 permit ip any any

Aber: Es reicht in dieser Aufgabe nicht, alle Adressbereiche korrekt zu definieren, auch die Reihenfolge muss genau mit der vordefinierten Reihenfolge überein stimmen - wobei es NICHT die Reihenfolge ist, die in der Aufgabenstellung angegeben wurde. Eine typische Tischbeiß-Aufgabe eben. Die als richtig gewertete Reihenfolge ist: Erst die 1918er-Adressen, dann der 127er Bereich, dann der Multicast-Bereich.
Der Einfachheit halber zum Reinkopieren für euch:
access-list 100 deny ip 10.0.0.0 0.255.255.255 any
access-list 100 deny ip 172.16.0.0 0.15.255.255 any
access-list 100 deny ip 192.168.0.0 0.0.255.255 any
access-list 100 deny ip 127.0.0.0 0.255.255.255 any
access-list 100 deny ip 224.0.0.0 15.255.255.255 any
access-list 100 permit ip any any


e) Angebracht wird die Liste an Serial 0/0/1, incoming traffic
R3(config)#int s0/0/1
R3(config-if)#ip access-group 100 in


3. ACL 110 auf R3 soll nur Traffic des internen Netzwerks zulassen; angebracht an fa0/1 inbound
R3(config)#acc 110 permit ip 192.168.3.0 0.0.0.255 any
R3(config)#int fa0/1
R3(config-if)#ip access-group 110 in

4. ACL 120 auf R1 soll DNS, SMTP und FTP von außen auf Server "PC-A" zulassen, aber nicht auf HTTPS; außerdem darf PC-C mit SSH auf R1 zugreifen.
a) DNS, SMTP und FTP zulassen
-> Man könnte Portnummern verwenden, aber meistens wird der Dienstname als richtig gewertet, und die Dienstnamen-Variante ist sogar einfacher, weil FTP zwei Ports verwendet.
R1(config)#acc 120 permit udp any host 192.168.1.3 eq domain
R1(config)#acc 120 permit tcp any host 192.168.1.3 eq smtp
R1(config)#acc 120 permit tcp any host 192.168.1.3 eq ftp

b) HTTP sperren (default port 443)
R1(config)#acc 120 deny tcp any host 192.168.1.3 eq 443

c) SSH von PC-C (192.168.3.3) auf Router (10.1.1.1, ist die Adresse des PC-C zugewandten Interfaces)
R1(config)#acc 120 permit tcp host 192.168.3.3 host 10.1.1.1 eq 22

d) ACL 120 so modifizieren, dass "ICMP echo replies" und "destination unreachable messages" erlaubt sind und alle anderen ICMP-Pakete geblockt werden:
R1(config)#acc 120 permit icmp any any echo-reply
R1(config)#acc 120 permit icmp any any unreachable
R1(config)#acc 120 deny icmp any any

e) Den restlichen Traffic erlauben
R1(config)#acc 120 permit ip any any
-> erst mit diesem Eintrag wird die ganze Liste 120 als richtig gewertet

f) Anbringen der ACL an S0/0/0 (incoming)
R1(config)#int s0/0/0
R1(config-if)#ip acc 120 in