Kategorie szkoleń | Egzaminy | Kontakt
  • 1
  • 1
  • 241

Chciałbym ograniczyć wpływ ataków SYN Flood na Cisco ASA. Wprowadziłem poniższą konfigurację:

access-list embryonic_conn_test permit tcp any host X.X.X.X eq 443 class-map SYN_FLOOD_class match access-list embryonic_conn_test policy-map outside_policy class SYN_FLOOD_class set connection conn-max 5000 set connection embyronic-conn-max 1000 set connection per-client-max 150 set connection per-client-embryonic-max 100 set connection timeout embryonic 00:00:10 service-policy outside_policy interface outside_global.  

Na interfejsie jest jeszcze zapięta ACL-ka, która ten ruch przepuszcza. Podczas ataku SYN FLOOD, procesor urządzenia podskakuje do 100% i praktycznie uniemożliwia nam pracę, aż do momentu ustania ataku. Po ataku wykonano komendę:  

asa(config)# show service-policy Interface outside_global: Service-policy: outside_policy Class-map: SYN_FLOOD_class Set connection policy: conn-max 1000 embryonic-conn-max 250 per-client-max 150 per-client-embryonic-max 100 current embryonic conns 0, current conns 7, drop 0 Set connection timeout policy: embryonic 0:00:10 DCD: disabled, retry-interval 0:00:15, max-retries 5 DCD: client-probe 0, server-probe 0, conn-expiration 0.  

I niestety nie wykazało to żadnych połączeń (powinno je trzymać przez 10s zgodnie z wprowadzoną konfiguracją). Czy taka konfiguracja nie zapewnia dostępności urządzenia poprzez ograniczenie pół otwartych połączeń? Czy czegoś brakuje, aby to wszystko zadziałało? Konfiguracja testowana na asa5510 z softem 8.3(1).

Krzysztof_Kozłowski
  • Zapytał
  • @ Krzysztof_Kozłowski | 07.04.2014
    • 1
    • 1
    • 0
Zaloguj się aby zadać pytanie
Pokrewne

Odpowiedź (1)

  • 3
Sprawdziłem Twoją konfigurację. Wyłączyłem NAT-a, wpuściłem trafik z outside na serwer po stronie inside ACL-ka i wdrożyłem Twoją konfigurację. Zadziałała poprawnie. Mam trochę inną adresację, i chroniłem port 80 na serwerze, a nie 443, ale nie ma to znaczenia. Obciąłem do 100 połączeń. Poniżej krótki raport z konfiguracjami.
 
  • Topologia:
 

10.60.17.164/24 (host na zewnątrz)

           |

           |

           |  (outside) 10.60.17.87/24

CISCO ASA 5505 v8.2

           | (inside) 172.29.0.1/16

           |

           |

172.29.0.251:80/16 (serwer http)

 

 

 
  • Narzędzia:

 

    • Net Tools 5


 

    • Wireshark

 

  • Wykorzystane urządzenie ASA
ciscoasa# sh ver

Cisco Adaptive Security Appliance Software Version 8.2(5)
Device Manager Version 7.1(5)100

Compiled on Fri 20-May-11 16:00 by builders
System image file is "disk0:/asa825-k8.bin"
Config file at boot was "startup-config"

ciscoasa up 2 hours 3 mins

Hardware:   ASA5505, 256 MB RAM, CPU Geode 500 MHz
Internal ATA Compact Flash, 128MB
BIOS Flash M50FW080 @ 0xffe00000, 1024KB

Encryption hardware device : Cisco ASA-5505 on-board accelerator (revision 0x0)
                             Boot microcode   : CN1000-MC-BOOT-2.00
                             SSL/IKE microcode: CNLite-MC-SSLm-PLUS-2.03
                             IPSec microcode  : CNlite-MC-IPSECm-MAIN-2.05

 0: Int: Internal-Data0/0    : address is 001f.6c3d.acab, irq 11
 1: Ext: Ethernet0/0         : address is 001f.6c3d.aca3, irq 255
 2: Ext: Ethernet0/1         : address is 001f.6c3d.aca4, irq 255
 3: Ext: Ethernet0/2         : address is 001f.6c3d.aca5, irq 255
 4: Ext: Ethernet0/3         : address is 001f.6c3d.aca6, irq 255
 5: Ext: Ethernet0/4         : address is 001f.6c3d.aca7, irq 255
 6: Ext: Ethernet0/5         : address is 001f.6c3d.aca8, irq 255
 7: Ext: Ethernet0/6         : address is 001f.6c3d.aca9, irq 255
 8: Ext: Ethernet0/7         : address is 001f.6c3d.acaa, irq 255
 9: Int: Internal-Data0/1    : address is 0000.0003.0002, irq 255
10: Int: Not used            : irq 255
11: Int: Not used            : irq 255

Licensed features for this platform:
Maximum Physical Interfaces    : 8
VLANs                          : 20, DMZ Unrestricted
Inside Hosts                   : Unlimited
Failover                       : Active/Standby
VPN-DES                        : Enabled
VPN-3DES-AES                   : Enabled
SSL VPN Peers                  : 2
Total VPN Peers                : 25
Dual ISPs                      : Enabled
VLAN Trunk Ports               : 8
Shared License                 : Disabled
AnyConnect for Mobile          : Disabled
AnyConnect for Cisco VPN Phone : Disabled
AnyConnect Essentials          : Disabled
Advanced Endpoint Assessment   : Disabled
UC Phone Proxy Sessions        : 2
Total UC Proxy Sessions        : 2
Botnet Traffic Filter          : Disabled

This platform has an ASA 5505 Security Plus license.

Serial Number: -----------(cut)
Running Activation Key: ---------------(cut)
Configuration register is 0x1
Configuration last modified by adam at 13:48:52.326 CEDT Wed Apr 30 2014
ciscoasa#

 

  • Konfiguracja -  „service-policy” – „service-policy” nieaktywna:

interface Vlan1
 nameif inside
 security-level 100
 ip address 172.29.0.1 255.255.0.0
!
interface Vlan2
 nameif outside
 security-level 0
 ip address dhcp setroute

access-list outside_access_in extended permit ip any host 172.29.0.251
access-list embryonic_conn_test extended permit tcp any host 172.29.0.251 eq www inactive

access-group outside_access_in in interface outside

class-map SYN_FLOOD_class
 match access-list embryonic_conn_test

policy-map outside_policy
 class SYN_FLOOD_class
  set connection conn-max 500 embryonic-conn-max 100 per-client-max 15 per-client-embryonic-max 10
  set connection timeout embryonic 0:00:10
!
service-policy outside_policy interface outside

 

  • Weryfikacja - „service-policy” nieaktywna:

 

ciscoasa# clear service-policy interface outside
ciscoasa# sh service-policy interface outside

Interface outside:
  Service-policy: outside_policy
    Class-map: SYN_FLOOD_class
      Set connection policy: conn-max 500 embryonic-conn-max 100 per-client-max 15 per-client-embryonic-max 10
        current embryonic conns 0, current conns -57, drop 0
      Set connection timeout policy:
        embryonic 0:00:10
        DCD: disabled, retry-interval 0:00:15, max-retries 5
        DCD: client-probe 0, server-probe 0, conn-expiration 0
ciscoasa#

 

Teraz puściłem HTTP Flooda z Net Tools 5, żadnej zmiany, wszystkie pakiety SYN doszły:

 

ciscoasa# sh service-policy interface outside

Interface outside:
  Service-policy: outside_policy
    Class-map: SYN_FLOOD_class
      Set connection policy: conn-max 500 embryonic-conn-max 100 per-client-max 15 per-client-embryonic-max 10
        current embryonic conns 0, current conns -57, drop 0
      Set connection timeout policy:
        embryonic 0:00:10
        DCD: disabled, retry-interval 0:00:15, max-retries 5
        DCD: client-probe 0, server-probe 0, conn-expiration 0
ciscoasa#

 

A tak wygląda Wireshark uruchomiony na serwerze:

 

 

  • Uruchomienie „service-policy”, jedyne co zrobiłem to uaktywniłem ACL-kę:

 

ciscoasa(config)# sh run | in inactive
access-list embryonic_conn_test extended permit tcp any host 172.29.0.251 eq www inactive
ciscoasa(config)# access-list embryonic_conn_test extended permit tcp any host 172.29.0.251 eq www

 

  • Weryfikacja – „service-policy” aktywna

 

ciscoasa# sh service-policy interface outside

Interface outside:
  Service-policy: outside_policy
    Class-map: SYN_FLOOD_class
      Set connection policy: conn-max 500 embryonic-conn-max 100 per-client-max 15 per-client-embryonic-max 10
        current embryonic conns 0, current conns -57, drop 0
      Set connection timeout policy:
        embryonic 0:00:10
        DCD: disabled, retry-interval 0:00:15, max-retries 5
        DCD: client-probe 0, server-probe 0, conn-expiration 0
ciscoasa#

 

Teraz puscilem HTTP Flooda z Net Tools 5, trafik przycięty:

 

ciscoasa# sh service-policy interface outside

Interface outside:
  Service-policy: outside_policy
    Class-map: SYN_FLOOD_class
      Set connection policy: conn-max 500 embryonic-conn-max 100 per-client-max 15 per-client-embryonic-max 10
        current embryonic conns 0, current conns -57, drop 200
      Set connection timeout policy:
        embryonic 0:00:10
        DCD: disabled, retry-interval 0:00:15, max-retries 5
        DCD: client-probe 0, server-probe 0, conn-expiration 0
ciscoasa#

 

A tak wygląda Wireshark uruchomiony na serwerze, nic nie dotarło:

 

 

 

 

 

  • Odpowiedział
  • @ | 12.08.2014
  • TRENER ALTKOM AKADEMII