[[cisco|Cisco]] ASA (Adaptive security appliance) ist eine zonenbasierte Firewall. Identity-firewall mit ldap ist möglich.
Siehe {{huemer:cisco_asa_primer.pdf}}, [[https://youtu.be/gFqzZm1-KH8|ACL ASA Basic configuration]]
Es gibt
* Security-Zones (inside, outside, dmz)
* Access-Rules (permit/deny) SIehe [[https://www.ciscopress.com/articles/article.asp?p=2104953|Access List Configuration]]
* Access-groups (in, out) auf jedem Security-zone-interface
* NAT-Rules
* Objects [[https://youtu.be/81YDb6EvurM|1]] [[https://www.cisco.com/c/en/us/td/docs/security/asa/asa99/configuration/firewall/asa-99-firewall-config/access-objects.html|2]] (Network, Service, User)
Inside hat einen Securitylevel von 100, Outside hat einen Securitylevel von 0. Alle selbst erstellten Bezeichnungen bekommen zu Beginn einen Securitylevel von 0. Traffic von hohem nach niedrigem Level wird erlaubt, umgekehrt müsste eine [[acl|ACL]] es explizit erlauben.
Ohne Security-Zones kann man keine IP Adressen konfigurieren.
**Es gibt "routed" (Layer 3, default mode) und "transparent" (Layer 2) mode**. Im "routed" mode müssen angeschlossene Netzwerke in unterschiedlichen Subnetzen sein, im "transparent" mode können sie auch im selben Subnetz sein.
=====Security Zone=====
Eine der Schlüsselkomponenten in der ASA-Konfiguration sind Sicherheitszonen (Security Zones). Sicherheitszonen ermöglichen es, das Netzwerk in verschiedene Bereiche zu unterteilen, um den Datenverkehr zwischen ihnen zu steuern und zu kontrollieren.
asa(config)# interface GigabitEthernet0/0
asa(config-if)# nameif inside
asa(config-if)# security-level 100
Inside hat einen Standard Security Level von 100, Outside hat einen Standard Security Level von 0.
Traffic aus einem höheren Security-Level kann in einen Context mit niedrigerem Security-Level. Umgekehrt geht das nicht so einfach. Mit ACLs kann man das dann fein einstellen.
ciscoasa# conf t
ciscoasa(config)# hostname ASA
ASA(config)# interface GigabitEthernet0/0
ASA(config-if)# nameif outside
ASA(config-if)# ip address 1.2.3.4 255.255.255.252
ASA(config-if)# no shutdown
ASA(config-if)#
ASA(config-if)# interface GigabitEthernet0/1
ASA(config-if)# nameif inside
ASA(config-if)# ip address 1.2.3.4 255.255.255.252
ASA(config-if)# no shutdown
ASA(config-if)# exit
ASA(config)#
ASA(config)# do show nameif
=====Object=====
Mit Objekten beschreibt man IP, FQDN, Subnetze, IP Ranges.
ASA(config)# object network MYHOST
ASA(config-network-object)# host 10.0.0.2
ASA(config)# object network LOCAL_SUBNET
ASA(config-network-object)# subnet 10.0.0.0 255.255.255.0
ASA(config)# object network NATPOOL
ASA(config-network-object)# range 100.0.0.10 100.0.0.20
! Man kann das NAT im Objekt selbst konfigurieren!
ASA(config-network-object)# nat (inside,outside) dynamic interface
=====ACL=====
! access-list
ASA(config)# access-list ALLOW_IN permit ip any any
ASA(config)# access-list ALLOW_IN permit ip any 10.0.0.0 255.255.255.0
ASA(config)# access-list ALLOW_IN permit ip any object LOCALSUBNET
! access-group interface
ASA(config)# access-group ALLOW_IN in interface outside
=====DHCP=====
dhcpd address 192.168.0.10-192.168.0.20 inside
dhcpd option 3 ip 192.168.0.1
dhcpd domain zarat.local
dhcpd lease 3000
dhcpd dns 8.8.8.8 8.8.4.4
dhcpd enable inside
=====NAT=====
====Static NAT====
object network MYHOST
host 10.0.0.2
object network MYHOSTPUBLIC
host 100.0.0.120
nat (inside,outside) source static MYHOST MYHOSTPUBLIC
====Dynamic NAT====
object network INSIDE_SUBNET
subnet 192.168.0.0 255.255.255.0
exit
object network POOL1
range 1.1.1.1 1.1.1.5
exit
nat (inside,outside) source dynamic INSIDE_SUBNET POOL1
====PAT====
object network INSIDE_SUBNET
subnet 192.168.0.0 255.255.255.0
exit
nat (inside,outside) source dynamic INSIDE_SUBNET interface
====LAB====
{{asa_nat.png}}
int gi0/0
nameif outside
ip address 1.1.1.2 255.255.255.0
no shut
exit
int gi0/1
nameif inside
ip address 192.168.0.1 255.255.255.0
no shut
exit
dhcpd address 192.168.0.10-192.168.0.20 inside
dhcpd dns 8.8.8.8
dhcpd enable inside
! Route ins Internet
route outside 0.0.0.0 0.0.0.0 1.1.1.1
! Dynamic NAT für das LAN
object network INSIDE
subnet 192.168.0.0 255.255.255.0
nat (inside,outside) dynamic interface
! ICMP (Ping), UDP (Dns), TCP (Http)
access-list INTERNET extended permit icmp any any
access-list INTERNET extended permit udp any any
access-list INTERNET extended permit tcp any any
access-group INTERNET in interface outside
=====Links=====
* Downloads: [[https://upw.io/I6/asav981.qcow2|kvm-qcow2]], [[https://upw.io/I7/asav981.vhdx|hyper-v-vhdx]], [[https://upw.io/s1/asav981.zip|vmware-ova]], [[https://upw.io/s0/asdm-781.bin|ASDM bin]]
* [[https://youtube.com/playlist?list=PLP8xst0Qzqz9uO1qlLWJYTtWk0Bj7Etn8|Cisco ASA Playlist]]
* [[https://www.cisco.com/c/en/us/support/security/asa-5500-series-next-generation-firewalls/products-installation-and-configuration-guides-list.html|ASA configuration guides]]
* [[https://youtu.be/gFqzZm1-KH8|Cisco ASA ACLs]]
* [[https://www.youtube.com/watch?v=4SZuM266do8|Cisco ASA Firewall Active/Standby Failover Configuration - Step by Step (Youtube)]]
* [[https://www.youtube.com/watch?v=DPOaxvoU53Q|Cisco ASA Active Standby & Active Active Failover Configuration (Youtube)]]
* [[https://www.youtube.com/watch?v=SZmtBNtRnGU|Cisco ASA Active Active Failover Tshoot & Cut Through Proxy]]