ASA och SSH


Tidigare laborationer har visat hur ASA använder security levels, stateful inspection, ACL-regler och DMZ-segmentering för att kontrollera och skydda trafiken mellan olika nätverk. I denna del ligger fokus istället på hur administratörer säkert ansluter till och hanterar brandväggen.

En nätverksenhet som administreras över nätverket måste skydda den administrativa kommunikationen mot avlyssning och manipulation. Om angripare får åtkomst till administrativa lösenord eller sessioner kan hela nätverket komprometteras.

Äldre protokoll som Telnet skickar all trafik i klartext. Det innebär att användarnamn, lösenord och kommandon kan läsas av om trafiken fångas upp på nätverket.

SSH, Secure Shell, använder istället kryptering för att skydda kommunikationen mellan administratören och brandväggen. Trafiken krypteras innan den skickas över nätverket, vilket gör det betydligt svårare att avlyssna eller manipulera kommunikationen.

Laborationen kopplas därför direkt till CIA-triaden, framför allt:

  • Confidentiality Skyddar administrativ information mot obehörig insyn
  • Integrity Skyddar data mot manipulation

Topologi

I laborationen konfigureras SSH på ASA-brandväggen så att endast klienter från inside-nätverket får administrera enheten. Administration från outside tillåts inte eftersom outside representerar ett obetrott nätverk. På detta sätt kombineras flera säkerhetsprinciper:

  • segmentering med security levels
  • begränsad management access
  • krypterad administration
  • least privilege
  • defense in depth

Målet är att förstå hur moderna brandväggar skyddar både nätverkstrafik och själva administrationen av säkerhetsenheten.

Konfigurationer

PC1-10 IP-konfiguration

  • Dynamiskt tilldelad

inweb-4 IP-konfiguration

  • IP Address: 172.32.2.4
  • Subnet Mask: 255.255.255.224
  • Default Gateway: 172.32.2.1
  • DNS Server: 172.32.2.4

PC2-10 IP-konfiguration

  • IP Address: 172.32.2.10
  • Subnet Mask: 255.255.255.224
  • Default Gateway: 172.32.2.1
  • DNS Server: 172.32.2.4

ouns IP-konfiguration

  • IP Address: 172.32.2.4
  • Subnet Mask: 255.255.255.224
  • Default Gateway: 172.32.2.1
  • DNS Server: 172.32.2.4

ouweb IP-konfiguration

  • IP Address: 172.32.2.5
  • Subnet Mask: 255.255.255.224
  • Default Gateway: 172.32.2.1
  • DNS Server: 172.32.2.4

ASA konfiguration

  • OUTSIDE interface
  • ciscoasa(config)# interface Ethernet0/2
  • ciscoasa(config-if)# switchport mode access
  • ciscoasa(config-if)# switchport access vlan 2
  • ciscoasa(config-if)# no shutdown
  • ciscoasa(config-if)# exit
  • ciscoasa(config)# interface vlan 2
  • ciscoasa(config-if)# ip address 172.32.2.1 255.255.255.224
  • ciscoasa(config-if)# no shutdown
  • ciscoasa(config-if)# exit
  • Skapa en class-map med namnet CLASS1 för att identifiera eller matcha trafik som senare ska behandlas av en policy.
  • ciscoasa(config)# class-map CLASS1
  • Ange att class-map ska använda den fördefinierade trafiktypen default-inspection-traffic såsom ICMP, FTP, DNS, ICMP, SMTP, HTTP.
  • ciscoasa(config-cmap)# match default-inspection-traffic
  • ciscoasa(config-cmap)# exit
  • Skapa en policy-map med namnet POLICY1. En policy-map innehåller regler för hur ASA ska behandla trafik som matchas i en class-map.
  • ciscoasa(config)# policy-map POLICY1
  • Koppla class-mapen CLASS1 till policy-mapen
  • ciscoasa(config-pmap)# class CLASS1
  • Aktivera stateful inspection för ICMP och HTTP trafik
  • ciscoasa(config-pmap-c)# inspect icmp
  • ciscoasa(config-pmap-c)# inspect http
  • ciscoasa(config-pmap-c)# exit
  • Aktivera policy-mapenPOLICY1 globalt på ASA-brandväggen
  • ciscoasa(config)# service-policy POLICY1 global

DMZ konfiguration

  • Skapa VLAN 3
  • ciscoasa(config)# interface vlan 3
  • Konfigurera att DMZ inte får kommunicera direkt med inside-nätverket, VLAN 1.
  • ciscoasa(config-if)# no forward interface vlan 1
  • Namnge VLAN 3 med namnet DMZ.
  • ciscoasa(config-if)# nameif DMZ
  • Konfigurera säkerhetsnivå 50, vilket är lägre än inside 100 men högre än outside 0.
  • ciscoasa(config-if)# security-level 50
  • Konfigurera IP-adressen för DMZ-interfacet.
  • ciscoasa(config-if)# ip address 192.168.3.1 255.255.255.0
  • ciscoasa(config-if)# exit
  • Tilldela port Ethernet0/3 till VLAN 3.
  • ciscoasa(config)# interface e0/3
  • ciscoasa(config-if)# switchport mode access
  • ciscoasa(config-if)# switchport access vlan 3
  • ciscoasa(config-if)# exit
  • Som standard saknas åtkomst från outside till DMZ eftersom trafiken går från lägre säkerhetsnivå till högre säkerhetsnivå. Skapa därför en ACL som tillåter ICMP och HTTP till webbservern i DMZ.
  • ciscoasa(config)# access-list ACL1 extended permit icmp any host 192.168.3.10
  • ciscoasa(config)# access-list ACL1 extended permit icmp any host 192.168.3.11
  • ciscoasa(config)# access-list ACL1 extended permit tcp any host 192.168.3.10 eq www
  • ciscoasa(config)# access-list ACL1 extended permit tcp any host 192.168.3.11 eq www
  • ciscoasa(config)# access-group ACL1 in interface outside
  • ciscoasa(config)# exit
  • ciscoasa#

SSH konfiguration

  • SSH kräver att ASA har ett hostname och ett domännamn. Hostnamnet är redan ciscoasa och behöver därför inte konfigureras igen.
  • ciscoasa(config)# domain-name diginto.se
  • Skydda privileged EXEC-läget. ASA använder automatisk kryptering/hashing av enable-lösenordet
  • ciscoasa(config)# enable password ensecP@55
  • Konfigurera lokala användarkonton för SSH-administration
  • ciscoasa(config)# username admin1 password admin1P@55
  • ciscoasa(config)# username admin2 password admin2P@55
  • SSH kräver RSA-nycklar för kryptering. I denna ASA-installation finns RSA-nycklar redan skapade och därför behöver inga nya nycklar genereras. SSH version 2 används automatiskt.
  • !
  • Aktivera lokal autentisering för SSH.
  • ciscoasa(config)# aaa authentication ssh console LOCAL
  • Tillåt SSH endast från inside-nätverket.
  • ciscoasa(config)# ssh 192.168.1.0 255.255.255.0 inside
  • Ange timeout för SSH-sessioner till 10 minuter.
  • ciscoasa(config)# ssh timeout 10
  • ciscoasa(config)# exit
  • Verifiera SSH-konfigurationen och vilka nätverk som får administrera ASA.
  • ciscoasa# show running-config | include ssh
  • Verifiera lokala användarkonton.
  • ciscoasa# show running-config | include username
  • Verifiera RSA-nycklar som används för SSH-kryptering.
  • ciscoasa# show crypto key mypubkey rsa
  • Verifiera timeout och SSH-versioner.
  • ciscoasa# show ssh
  • ciscoasa# show running-config | include ssh
  • Verifiera krypterat enable secret-lösenord
  • ciscoasa# show running-config | include enable
  • Verifiera att användarlösenord krypteras i konfigurationen.
  • ciscoasa# show running-config | include password
  • Spara konfigurationen
  • ciscoasa# write memory