Objectifs de certification
CCNA 200-301
1.1 Expliquer le rôle et la fonction des composants réseau
- 1.1.a Routers
- 1.1.b Commutateurs (switches) L2 et L3
- 1.1.c Pare-feu NG (Next-generation firewalls) et IPS
- 1.1.d Point d’accès (Access points)
- 1.1.e Controlleurs (Cisco DNA Center and WLC)
- 1.1.f Points terminaux (Endpoints)
- 1.1.g Serveurs
ENCOR 350-401
5.5 Describe the components of network security design
- 5.5.a Threat defense
- 5.5.b Endpoint security
- 5.5.c Next-generation firewall
- 5.5.d TrustSec, MACsec
- 5.5.e Network access control with 802.1X, MAB, and WebAuth
Lab Cisco IOS Zone Based Firewall
1. Introduction
Dans cet exercice on propose de mettre en oeuvre la fonctionnalité pare-feu de l’IOS Cisco (ZBF Zone Based Firewall). Dans une premier exercice, on démontrera en quoi le NAT n’est pas une sécurité. Les exercices suivants établissent les politiques de filtrage entre les zones LAN, DMZ, Internet et le pare-feu lui-même (Self).
Cet exercice de mise en oeuvre d’un pare-feu IOS ZBF (Zone Based Firewall) est accessoire au vu des objectifs du CNNA. Il démontre toutefois l’usage des ACLs et du NAT dans un contexte sécurisé.
2. Topologie
2.1. Configuration
Il est toujours préférable de ne jamais activer les accès Telnet, contrairement à la configuration proposée dans cet exercice.
2.2. Configuration de départ
conf t
enable secret mot_de_passe
!
hostname R1
ip domain name entreprise.lan
ip name-server 8.8.8.8
ip domain-lookup
!
ip dns server
!
username root secret mot_de_passe
!
line vty 0 4
login local
transport input ssh telnet
!
ip ssh version 2
crypto key generate rsa modulus 4096
end
wr
2.3. Service DHCP (LAN et DMZ)
conf t
! ip dhcp excluded-address 192.168.59.1 192.168.59.99
! ip dhcp excluded-address 192.168.101.1 192.168.101.159
!
ip dhcp pool DHCP_LAN
network 192.168.59.0 255.255.255.0
default-router 192.168.59.1
dns-server 192.168.59.1
!
ip dhcp pool DHCP_DMZ
network 192.168.101.0 255.255.255.0
default-router 192.168.101.1
dns-server 192.168.101.1
end
wr
2.4. Interfaces et routage IPv4
conf t
interface G0/1
description interface zone WAN
! ip address 10.0.0.2 255.255.255.0
ip address dhcp
! ip nat outside
no shutdown
!
interface G0/0
description interface zone LAN
ip address 192.168.59.1 255.255.255.0
! ip nat inside
no shutdown
!
interface G0/2
description interface zone DMZ
ip address 192.168.101.1 255.255.255.0
! ip nat inside
no shutdown
!
! ip route 0.0.0.0 0.0.0.0 10.0.0.1
end
wr
2.5. NAT Overload
conf t
ip nat inside source list LAN_NAT interface G0/1 overload
!
ip access-list standard LAN_NAT
permit 192.168.59.0 0.0.0.255
permit 192.168.101.0 0.0.0.255
!
interface G0/1
description interface zone WAN
ip nat outside
!
interface G0/0
description interface zone LAN
ip nat inside
!
interface G0/2
description interface zone DMZ
ip nat inside
end
wr
2.6. Diagnostic
- show ip interface brief
- show ip route
- ping cisco.goffinet.org
- ping 8.8.8.8
- show ip route
- ping (étendu sur l’interface G0/0 LAN)
- traceroute (étendu sur l’interface G0/0 LAN)
- show ip nat translations
- show ip dhcp binding
- debug ip nat …
- debug ip dhcp …
3. Lab Pare-feu 0 : Le NAT ne protège en rien
3.1. Ajout d’une station pirate
…
3.2. Configuration d’une route du pirate vers le LAN
apt update && apt -y install nmap
nmap -p22 -oG - 192.168.122.0/24 | grep R1 | grep Up | awk '{print $2}'
R1=`nmap -p22 -oG - 192.168.122.0/24 | grep R1 | grep Up | awk '{print $2}'`
ip route add 192.168.59.0/24 via $R1
ip route add 192.168.101.0/24 via $R1
4. Cisco ZBF
4.1. Zone-based policy firewall
Le modèle de configuration Zone-based policy firewall (ZPF or ZBF or ZFW) a été introduit en 2006 avec l’IOS 12.4(6)T.
Avec ZBF, les interfaces sont assignées à une des zones sur lesquelles une règle d’inspection du trafic (inspection policy) est appliquée. Elle vérifie le trafic qui transite entre les zones.
Une règle par défaut bloque tout trafic tant qu’une règle explicite ne contredit pas ce comportement.
ZBF supporte toutes les fonctionnalités Stateful Packet Inspection (SPI), filtrage des URLs et contre-mesure des DoS.
4.2. Principes ZBF
Une zone doit être configurée (créée) avant qu’une interface puisse en faire partie. Une interface ne peut être assignée qu’à une seule zone.
Tout le trafic vers ou venant d’une interface donnée est bloqué quand elle est assignée à une zone sauf pour le trafic entre interfaces d’une même zone et pour le trafic du routeur lui-même (Self zone).
Une politique de sécurité (zone-pair) peut contrôler le trafic entre deux zones en faisant référence à un en ensemble de règles (policy-map).
Un policy-map prend des actions et fait référence à des critères de filtrage (class-maps).
Quand du trafic passe d’une zone à une autre (zone-pair), un policy-map est appliqué.
Pour chaque class-map (critère de filtrage) du policy-map, une action est prise : pass, inspect ou drop de manière séquentielle.
Il est conseillé de travailler dans un éditeur de texte avant d’appliquer les règles du firewall.
4.3. Trois actions sur les class-maps
4.3.1. Inspect
Met en place un pare-feu à état (équivalent à la commande ip inspect) SPI.
Capable de suivre les protocoles comme ICMP ou FTP (avec de multiples connexions data et session)
4.3.2. Pass
Équivalent à l’action permit d’un ACL.
Ne suit pas l’état des connexions ou des sessions.
Nécessite une règle correspondante pour du trafic de retour.
4.3.3. Drop
Équivalent à l’action deny d’un ACL.
Une option log est possible pour journaliser les paquets rejetés.
4.4. Règles de filtrage : policy-maps
Les actions Inspect, Pass et Drop ne peuvent être appliquées qu’entre des interfaces appartenant à des zones distinctes.
La Self zone, la zone du routeur/parefeu comme source ou destination est une exception à ce refus implicite de tout. Tout le trafic vers n’importe quelle interface du routeur est autorisé jusqu’au moment où il est implicitement refusé.
Les interfaces qui ne participent pas à ZBF fonctionnent comme des ports classiques et peuvent utiliser une configuration SPI/CBAC.
4.5. Cisco Policy Language (CPL)
Règles :
- Définir des class-maps (critères de filtrage) qui décrivent le trafic que la politique de sécurité va vérifier à travers un policy-map.
- Définir les policy-maps qui définissent les politiques de sécurités : le trafic filtré et l’action à prendre : drop, pass, inspect
Zones :
- Définir les zones (zone security)
- Assigner les interfaces aux zones (zone-member security)
- Définir les zone-pairs (zone-pair security) Application :
- Appliquer les policy-maps aux zone-pairs (service-policy)
4.6. Guides de l’ANSSI
L’Agence nationale de la sécurité des systèmes d’information (ANSSI) en France assure la mission d’autorité nationale en matière de sécurité des systèmes d’information. L’agence publie toute une série d’auto-formations et de guides que l’on peut trouver sur http://www.ssi.gouv.fr/fr/guides-et-bonnes-pratiques/ et sur http://www.ssi.gouv.fr/fr/guides-et-bonnes-pratiques/recommandations-et-guides/. Une lecture du document “Recommandations pour la définition d’une politique de filtrage réseau d’un pare-feu” est fortement recommandée.
4.7. Labs Pare-feu
- Pare-feu 1 : LAN vers Internet
- Pare-feu 2 : Mise en place d’une DMZ
- Pare-feu 3 : Configuration de la DMZ
- Pare-feu 4 : Sécurisation du pare-feu lui-même
5. Lab Pare-feu 1 : LAN vers Internet
5.1. Pare-feu 1 : LAN - Internet
Cette configuration en quatre étapes met en place le par-feu SPI qui vérifie le trafic HTTP, HTTPS, DNS et ICMP à destination de l’Internet.
- Class-maps
- Policy-map
- Zones et interfaces
- Zone-pair
5.2. Étape 1. Class-maps
Les Class-maps décrivent le trafic qui est permis entre les zones (selon la politique de sécurité) :
conf t
class-map type inspect match-any internet-trafic-class
match protocol http
match protocol https
match protocol dns
match protocol icmp
end
-
match-any
demande correspondance sur n’importe quel critère. -
match-all
demande correspondance sur tous les critères du Class-map.
5.3. Étape 2. Policy-map
Un Policy-map, politique de sécurité, reprend l’ensemble de vos critères de filtrage (Class-maps) :
conf t
policy-map type inspect internet-trafic-policy
class type inspect internet-trafic-class
inspect
end
5.4. Étape 3. Zones et interfaces
Configuration des zones et assignation des interfaces :
conf t
zone security lan
zone security internet
!
interface G0/0
zone-member security lan
interface G0/1
zone-member security internet
end
5.5. Étape 4. Zone-pair
Configuration du lien “zone-pair” et application de la policy-map appropriée :
conf t
zone-pair security lan-internet source lan destination internet
service-policy type inspect internet-trafic-policy
end
5.6. Étape 5. Vérification
show zone security
show zone-pair security
show policy-map type insp zone-pair
5.6.1. Show zone security
R1#show zone security
zone self
Description: System defined zone
zone lan
Member Interfaces:
GigabitEthernet0/0
zone internet
Member Interfaces:
GigabitEthernet0/1
5.6.2. Show zone-pair security
R1#show zone-pair security
Zone-pair name lan-internet
Source-Zone lan Destination-Zone internet
service-policy internet-trafic-policy
5.6.3. Show policy-map
R1#show policy-map type inspect zone-pair
Zone-pair: lan-internet
Service-policy inspect : internet-trafic-policy
Class-map: internet-trafic-class (match-any)
Match: protocol http
1026 packets, 32904 bytes
30 second rate 0 bps
Match: protocol https
245 packets, 7840 bytes
30 second rate 0 bps
Match: protocol icmp
1 packets, 64 bytes
30 second rate 0 bps
Inspect
Packet inspection statistics [process switch:fast switch]
tcp packets: [121:673832]
icmp packets: [0:6]
Session creations since subsystem startup or last reset 1272
Current session counts (estab/half-open/terminating) [80:0:3]
Maxever session counts (estab/half-open/terminating) [112:21:13]
Last session created 00:00:04
Last statistic reset never
Last session creation rate 75
Maxever session creation rate 128
Last half-open session total 0
Class-map: class-default (match-any)
Match: any
Drop (default action)
38 packets, 24990 bytes
6. Lab Pare-feu 2 : Mise en place d’une DMZ
Etape 2 : Mise en place de la DMZ
6.1. Procédure
- Mise en place de la connectivité
- Serveur en DMZ (service HTTP et SSH)
- Vérification à partir du routeur
- Vérification à partir du LAN
- Audit externe
- Pratiques
- interface et connectivité
- routage
- scan de ports
- tests de service HTTP, DNS et SSH
6.2. Serveur en DMZ
On connecte un serveur sur l’interface DMZ (client DHCP) :
Démarrer le service SSH (TCP22) :
systemctl start sshd || systemctl start ssh
Démarrer le service Apache (HTTP/TCP80) :
systemctl start apache2 || systemctl start httpd
Il est peut être plus simple de demander à python2 de monter un “SimpleHTTPServer”
python -m SimpleHTTPServer 80
6.3. Vérification à partir du routeur : interfaces
show ip interface brief
Les interfaces G0/1 (WAN), G0/0 (LAN) et G0/2 (DMZ) du routeur sont up/up
6.4. Vérification à partir du routeur : clients DHCP
show ip dhcp binding
On reconnaît l’adresse du serveur DMZ : 192.168.101.2
6.5. Vérification à partir du routeur : routage IPv4
show ip route
6.6. Vérification à partir du routeur : test de connectivité
ping 192.168.101.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.101.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 12/25/56 ms
6.7. Vérification à partir du LAN : association de la DMZ à une zone
Tant que l’interface n’est associée à aucune zone, le trafic de/vers le routeur lui-même (Self-zone) est le seul possible.
Entre-temps, afin de tester la connectivité, on peut inclure l’interface G0/2 (DMZ) dans la zone Internet :
configure terminal
interface G0/2
zone-member security internet
end
6.8. Vérification : association de l’interface à une zone
Vérification des interfaces associées aux zones:
show zone-pair security
Zone-pair name lan-internet
Source-Zone lan Destination-Zone internet
service-policy lan-internet-policy
show zone security
zone self
Description: System defined zone
zone lan
Member Interfaces:
GigabitEthernet0/0
zone internet
Member Interfaces:
GigabitEthernet0/1
GigabitEthernet0/2
6.9. Vérification à partir du LAN : test de connectivité vers le serveur
A partir d’une station Linux du LAN :
root@US1:/home/francois# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 08:00:27:94:02:20
inet adr:192.168.59.6 Bcast:192.168.59.255 Masque:255.255.255.0
adr inet6: fe80::a00:27ff:fe94:220/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Packets reçus:3096 erreurs:0 :0 overruns:0 frame:0
TX packets:1990 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
Octets reçus:4449836 (4.4 MB) Octets transmis:151806 (151.8 KB)
ping -c 1 192.168.101.2
root@US1:/home/francois# ping -c 1 192.168.101.2
PING 192.168.101.2 (192.168.101.2) 56(84) bytes of data.
64 bytes from 192.168.101.2: icmp_seq=1 ttl=63 time=30.8 ms
--- 192.168.101.2 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 30.804/30.804/30.804/0.000 ms
6.10. Vérification à partir du LAN : scan des ports
A partir d’une station Linux du LAN avec le logiciel nmap :
nmap 192.168.101.2
root@US1:/home/francois# nmap 192.168.101.2
Starting Nmap 6.40 ( http://nmap.org ) at 2014-12-02 12:49 CET
Nmap scan report for 192.168.101.2
Host is up (0.033s latency).
Not shown: 997 filtered ports
PORT STATE SERVICE
53/tcp closed domain
80/tcp open http
443/tcp open https
Nmap done: 1 IP address (1 host up) scanned in 6.49 seconds
HTTP (TCP80) est disponible, TCP53 (DNS) est filtré.
6.11. Vérification à partir du LAN : test du service Web
A partir d’une station Linux du LAN avec le logiciel curl
qui permettent de tester HTTP en ligne de commande, ici la commande HEAD
:
curl -I http://192.168.101.2
root@US1:/home/francois# curl -I http://192.168.101.2
HTTP/1.1 403 Forbidden
Date: Wed, 24 Jul 2019 21:05:59 GMT
Server: Apache/2.4.6 (CentOS)
Last-Modified: Thu, 16 Oct 2014 13:20:58 GMT
ETag: "1321-5058a1e728280"
Accept-Ranges: bytes
Content-Length: 4897
Content-Type: text/html; charset=UTF-8
6.12. Audit externe : connectivité
root@kali:~# ip a show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 0c:c5:63:09:77:00 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.209/24 brd 192.168.122.255 scope global dynamic eth0
valid_lft 2282sec preferred_lft 2282sec
inet6 fe80::ec5:63ff:fe09:7700/64 scope link
valid_lft forever preferred_lft forever
root@kali:~# ip route
default via 192.168.122.1 dev eth0 proto dhcp src 192.168.122.209 metric 100
192.168.122.0/24 dev eth0 proto kernel scope link src 192.168.122.209
192.168.122.1 dev eth0 proto dhcp scope link src 192.168.122.209 metric 100
6.13. Audit externe : routage
root@kali:~# ip route add 192.168.101.0/24 via 192.168.122.198
root@kali:~# ip route
default via 192.168.122.1 dev eth0 proto dhcp src 192.168.122.209 metric 100
192.168.101.0/24 via 192.168.122.198 dev eth0
192.168.122.0/24 dev eth0 proto kernel scope link src 192.168.122.209
192.168.122.1 dev eth0 proto dhcp scope link src 192.168.122.209 metric 100
6.14. Audit externe : test de connectivité
Interface G0/2
(DMZ) du routeur :
ping -c 1 192.168.101.1
Interface du serveur en DMZ :
ping -c 1 192.168.101.2
6.15. Audit externe : scan de ports
nmap 192.168.101.2
6.16. Audit externe : services Web et SSH
root@kali:~# curl -I http://192.168.101.2/
root@kali:~# nc -v 192.168.101.2 22
7. Lab Pare-feu 3 : Configuration de la DMZ
Étape 3 : configuration de la DMZ
Cette configuration nécessite trois grandes étapes de configuration qui correspondent aux politiques de sécurité :
- Mise en place d’une politique de filtrage du LAN à la DMZ.
- Mise en place d’une politique de filtrage de l’Internet à la DMZ.
- Mise en place d’une politique de filtrage de la DMZ à l’Internet.
7.1. Pare-feu 3a : lan-dmz
Inspection du trafic HTTP, HTTPS et SSH à destination de la DMZ venant du LAN :
Configuration lan-dmz
conf t
class-map type inspect match-any lan-dmz-class
match protocol http
match protocol https
match protocol ssh
policy-map type inspect lan-dmz-policy
class type inspect lan-dmz-class
inspect
zone security dmz
zone-pair security lan-dmz source lan destination dmz
service-policy type inspect lan-dmz-policy
interface g0/2
zone-member security dmz
end
7.2. Vérification lan-dmz du service SSH
root@US1:/home/francois# ssh root@192.168.101.2
The authenticity of host '192.168.101.2 (192.168.101.2)' can't be established.
RSA key fingerprint is b2:e6:c0:2b:67:86:49:40:10:38:a2:14:1a:7f:55:32.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.101.2' (RSA) to the list of known hosts.
root@192.168.101.2's password:
7.3. Vérification lan-dmz du service HTTP
root@US1:/home/francois# curl -I http://192.168.101.2
7.4. Constats après l’application de la politique LAN-DMZ
Le trafic ICMP est bloqué venant du LAN.
7.5. Pare-feu 3b : internet-dmz
Le pare-feu va inspecter le trafic HTTP et HTTPS venant de l’Internet à destination de la DMZ :
Configuration internet-dmz
conf t
interface G0/2
zone security dmz
class-map type inspect match-any internet-dmz-class
match protocol http
match protocol https
policy-map type inspect internet-dmz-policy
class type inspect internet-dmz-class
inspect
zone-pair security internet-dmz source internet destination dmz
service-policy type inspect internet-dmz-policy
end
7.6. Vérification : show zone security
R1#show zone security
zone self
Description: System defined zone
zone lan
Member Interfaces:
GigabitEthernet0/0
zone internet
Member Interfaces:
GigabitEthernet0/1
zone dmz
Member Interfaces:
GigabitEthernet0/2
7.7. Vérification : show zone-pair
show zone-pair security
Zone-pair name lan-internet
Source-Zone lan Destination-Zone internet
service-policy lan-internet-policy
Zone-pair name lan-dmz
Source-Zone lan Destination-Zone dmz
service-policy lan-dmz-policy
Zone-pair name internet-dmz
Source-Zone internet Destination-Zone dmz
service-policy internet-dmz-policy
7.8. Vérification : show policy-map
R1#show policy-map type insp zone-pair
Service-policy inspect : internet-dmz-policy
Class-map: internet-dmz-class (match-any)
Match: protocol http
2 packets, 44 bytes
30 second rate 0 bps
Match: protocol https
5 packets, 120 bytes
30 second rate 0 bps
Inspect
Packet inspection statistics [process switch:fast switch]
tcp packets: [0:18]
Session creations since subsystem startup or last reset 6
Current session counts (estab/half-open/terminating) [0:0:0]
Maxever session counts (estab/half-open/terminating) [0:2:0]
Last session created 00:00:37
Last statistic reset never
Last session creation rate 6
Maxever session creation rate 6
Last half-open session total 0
Class-map: class-default (match-any)
Match: any
Drop (default action)
1998 packets, 47932 bytes
7.9. Règle NAT de transfert de port
conf t
ip nat inside source static tcp 192.168.101.2 80 interface G0/1 80
!
ip nat inside source static tcp 192.168.101.2 443 interface G0/1 443
end
7.10. Audit externe : scan de ports
nmap 192.168.122.198
root@kali:~# nmap 192.168.122.198
Starting Nmap 7.70 ( https://nmap.org ) at 2019-07-24 21:28 UTC
Nmap scan report for gateway (192.168.122.198)
Host is up (0.0017s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
53/tcp open domain
80/tcp open http
MAC Address: 0C:C5:63:FC:AC:01 (Unknown)
7.11. Audit externe : trafic web
curl -I http://192.168.122.198/
root@kali:~# curl -I http://192.168.122.198/
HTTP/1.1 403 Forbidden
Date: Wed, 24 Jul 2019 21:29:07 GMT
Server: Apache/2.4.6 (CentOS)
Last-Modified: Thu, 16 Oct 2014 13:20:58 GMT
ETag: "1321-5058a1e728280"
Accept-Ranges: bytes
Content-Length: 4897
Content-Type: text/html; charset=UTF-8
7.12. Pare-feu 3c : dmz-internet
Le trafic à inspecter est le même que celui du lan vers l’Internet.
7.13. Création d’une zone-pair
Il s’agit de permettre aux ordinateurs de la DMZ d’accéder à l’Internet en HTTP, HTTPS, ICMP et DNS, soit la même politique de sécurité que celle qui règle le flux entre le LAN et l’Internet.
Le policy-map “internet-trafic-policy” inspecte ce trafic. Comme elle existe déjà, il suffit de la réutiliser dans la création du zone-pair :
conf t
zone-pair security dmz-internet source dmz destination internet
service-policy type inspect internet-trafic-policy
end
8. Lab Pare-feu 4 : Sécurisation du pare-feu lui-même
8.1. Self-zone
Le routeur doit être capable de gérer des connexions SSH ou ICMP venant de l’extérieur :
8.2. Audit externe sur le pare-feu
nmap $R1
8.3. Audit externe sur le pare-feu
root@kali:~# nc -v $R1 22
root@kali:~# nc -v $R1 23
8.4. Opérations
Dans cet exercice de renforcement de la sécurité du routeur, on fera la démonstration uniquement pour le trafic qui vient de la zone Internet.
Soit un seul zone-pair est créé pour contrôler le trafic venant de l’Internet à destination du routeur lui-même.
Le trafic de gestion SSH est autorisé (pass)
Le trafic ICMP est inspecté (inspect)
Tout autre trafic est refusé et journalisé (DROP LOG)
Tout autre trafic partant ou à destination du pare-feu reste autorisé par défaut.
8.5. Mise en place du pare-feu
conf t
ip access-list extended SSH
permit tcp any any eq 22
deny tcp any any
class-map type inspect match-any remote-access-class
match access-group name SSH
class-map type inspect match-any icmp-class
match protocol icmp
policy-map type inspect to-self-policy
class type inspect remote-access-class
pass
class type inspect icmp-class
inspect
class class-default
drop log
zone-pair security internet-self source internet destination self
service-policy type inspect to-self-policy
end
8.6. Audit externe
root@kali:~# nmap $R1
Starting Nmap 6.47 ( http://nmap.org ) at 2014-12-02 16:33 CET
Nmap scan report for 192.168.1.9
Host is up (0.065s latency).
Not shown: 999 filtered ports
PORT STATE SERVICE
22/tcp open ssh
MAC Address: C4:01:11:F8:00:00 (Unknown)
Nmap done: 1 IP address (1 host up) scanned in 8.56 seconds
Seul SSH est disponible
8.7. Audit externe
nc -v 192.168.122.198 22
root@kali:~# nc -v 192.168.122.198 22
Connection to 192.168.122.198 22 port [tcp/ssh] succeeded!
SSH-2.0-Cisco-1.25
^C
ping -c 1 192.168.122.198
root@kali:~# ping -c 1 192.168.122.198
PING 192.168.1.9 (192.168.1.9) 56(84) bytes of data.
64 bytes from 192.168.1.9: icmp_req=1 ttl=255 time=53.4 ms
--- 192.168.1.9 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 53.438/53.438/53.438/0.000 ms
8.8. Notes ACLs sur les accès de gestion
- ACLs sur les accès de gestion :
conf t
ip access-list standard SSH_ACCESS
permit 192.168.1.2
permit 192.168.122.209
deny any
line vty 0 4
access-class SSH_ACCESS in
8.9. Autoriser DHCP
Au cas où l’interface externe dépend de DHCP :
*Jul 24 21:46:40.333: %FW-6-DROP_PKT: Dropping udp session 192.168.122.1:67 192.168.122.198:68 on zone-pair internet-self class class-default due to DROP action found in policy-map with ip ident 9583
conf t
ip access-list extended DHCP
permit udp any eq 67 any eq 68
permit udp any eq 68 any eq 67
class-map type inspect match-any dhcp-class
match access-group name DHCP
policy-map type inspect to-self-policy
class type inspect dhcp-class
pass
end
8.10. Autoriser DNS
Au cas où le routeur a besoin de résoudre des noms (comme serveur DNS récursif pour le LAN par exemple) :
*Jul 24 21:48:20.864: %FW-6-DROP_PKT: Dropping udp session 8.8.8.8:53 192.168.122.198:59426 on zone-pair internet-self class class-default due to DROP action found in policy-map with ip ident 46217
conf t
ip access-list extended DNS
permit udp any any eq 53
permit udp any eq 53 any
deny udp any any
class-map type inspect match-any dns-class
match access-group name DNS
policy-map type inspect to-self-policy
class type inspect dns-class
pass
end
9. Solution complète
!
hostname R1
!
ip dhcp pool LAN
network 192.168.59.0 255.255.255.0
default-router 192.168.59.1
dns-server 192.168.59.1
!
ip dhcp pool DMZ
network 192.168.101.0 255.255.255.0
default-router 192.168.101.1
dns-server 192.168.101.1
!
ip domain name lan
!
ip domain-lookup
!
username root secret testtest
!
class-map type inspect match-any internet-dmz-class
match protocol http
match protocol https
class-map type inspect match-any icmp-class
match protocol icmp
class-map type inspect match-any remote-access-class
match access-group name SSH
class-map type inspect match-any dhcp-class
match access-group name DHCP
class-map type inspect match-any dns-class
match access-group name DNS
class-map type inspect match-any internet-trafic-class
match protocol dns
match protocol http
match protocol https
match protocol icmp
class-map type inspect match-any lan-dmz-class
match protocol http
match protocol https
match protocol ssh
!
!
policy-map type inspect to-self-policy
class type inspect remote-access-class
pass
class type inspect icmp-class
inspect
class type inspect dhcp-class
pass
class type inspect dns-class
pass
class class-default
drop log
policy-map type inspect lan-dmz-policy
class type inspect lan-dmz-class
inspect
class class-default
policy-map type inspect internet-dmz-policy
class type inspect internet-dmz-class
inspect
class class-default
policy-map type inspect lan-internet-policy
class type inspect internet-trafic-class
inspect
class class-default
!
zone security lan
zone security internet
zone security dmz
zone-pair security lan-internet source lan destination internet
service-policy type inspect lan-internet-policy
zone-pair security lan-dmz source lan destination dmz
service-policy type inspect lan-dmz-policy
zone-pair security internet-dmz source internet destination dmz
service-policy type inspect internet-dmz-policy
zone-pair security internet-self source internet destination self
service-policy type inspect to-self-policy
!
interface G0/1
description Interface WAN
ip address dhcp
ip nat outside
zone-member security internet
no shutdown
!
interface G0/0
description Interface LAN
ip address 192.168.59.1 255.255.255.0
ip nat inside
zone-member security lan
no shutdown
!
interface G0/2
description Interface DMZ
ip address 192.168.101.1 255.255.255.0
zone-member security dmz
no shutdown
!
ip dns server
ip nat inside source list LAN_NAT interface G0/1 overload
!
ip access-list extended LAN_NAT
permit ip 192.168.59.0 0.0.0.255 any
permit ip 192.168.101.0 0.0.0.255 any
ip access-list extended SSH
permit tcp any any eq 22
deny ip any any
ip access-list extended DHCP
permit udp any any eq 68
deny udp any any
ip access-list extended DNS
permit udp any any eq 53
deny udp any any
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
line vty 0 4
login local
transport input ssh
!
end