Running Config d’un VPN Remote Access sur ASA 5500 Series

Asa 5520 Cisco

access-list interieur_nat_exterieur extended permit ip any 192.168.1.0 255.255.255.0
access-list interieur_nat_exterieur extended permit ip 192.168.1.0 255.255.255.0 host admin
access-list acl_pour_le_tunnel standard permit 192.168.1.0 255.255.255.0

ip local pool pool_vpn 192.168.1.253 mask 255.255.255.0
nat (inside) 0 access-list interieur_nat_exterieur

crypto ipsec transform-set ESP-3DES-SHA esp-3des esp-sha-hmac
crypto ipsec df-bit clear-df inside
crypto dynamic-map outside_dyn_map 20 set pfs
crypto dynamic-map outside_dyn_map 20 set transform-set ESP-3DES-SHA
crypto map dynamic-map 60000 ipsec-isakmp dynamic outside_dyn_map
crypto map dynamic-map interface outside
crypto isakmp enable outside
crypto isakmp policy 10
authentication pre-share
encryption 3des
hash sha
group 2
lifetime 86400
crypto isakmp nat-traversal 20

group-policy NomPourLesReglesDuGroupe internal
group-policy NomPourLesReglesDuGroupe attributes
dns-server value [ip_de_votre DNS] [ip_du_dns_secondaire]
vpn-tunnel-protocol IPSec
split-tunnel-policy tunnelspecified
split-tunnel-network-list value acl_pour_le_tunnel

username admin password $t0t0$ encrypted privilege 15
username admin attributes
vpn-framed-ip-address 192.168.1.x 255.255.255.0

tunnel-group NomDuGroupe type remote-access
tunnel-group NomDuGroupe general-attributes
address-pool pool_vpn
default-group-policy NomPourLesReglesDuGroupe
tunnel-group NomDuGroupe ipsec-attributes
pre-shared-key $TiTi$

Ports à ouvrir pour autoriser un accès au VPN depuis Internet

Numéro de port : 500
Type de protocole : UDP
Sens : Envoyer et recevoir

Numéro de port : 4500
Type de protocole : UDP
Sens : Envoyer et recevoir

Numéro de port : 10000
Type de protocole : UDP
Sens : Envoyer et recevoir

Client gratuit VPN compatible Cisco

Shrew est un logiciel compatible Windows XP, Vista, Seven, Linux et BSD. On le trouve par exemple dans la Logithèque Ubuntu. Il est bien sur gratuit, Open Source et compatible avec les VPN Remote Access de Cisco. Voir mon tutoriel.

Se connecter à un VPN Remote Access Cisco depuis Mac OSX

Ce n’est possible nativement que depuis Mac OSX 10.6. Pour les anciennes version il faudra sortir la carte bancaire… ou trouver un client gratuit, et le gratuit sous Mac, ca ne perce pas des masses.

Site officiel

Se connecter avec un câble série à un ASA 5500 series

Putty existe aussi bien sous Linux que sous Windows. Cochez Serial, speed 9600.

Sous Linux, Putty entre une valeur par défaut qui est erronée :

/dev/ttyS0

à la place de

/dev/ttyUSB0

Commandes utiles pour Cisco ASA 5520 Series

Réinitialiser l’ASA :

ciscoasa(config)# config factory-default

ciscoasa(config)# write

Récupérer votre mot de passe oublié, en Rommon : visitez ce lien

Configurer les interfaces : visiter ce lien

Activer et autoriser le SSH : visiter ce lien

Firewall_5510#config t

Firewall_5510(config)# enable password xxxxx(your password)

// Enable password est nécessaire pour activer le ssh. Le mot de passe par défaut sur les ASA 5520 est vide, si on vous le demande appuyez sur la touche [Entrer].

Firewall_5510(config)# username admin password lemotdepasse

// Les identifiants qui serviront à se connecter en SSH

Firewall_5510(config)# aaa authentication ssh console LOCAL
Firewall_5510(config)# ssh 192.168.x.x 255.255.255.0 interface

// Permettre l’accès SSH au firewall depuis une IP précise (ou un sous réseau), sur le nameif de l’interface.

Firewall_5510(config)# domain-name mondomaine.org

// Nom de domaine de votre boite. La clé RSA est générée en utilisant la combinaison du NDD + le hostname

Firewall_5510(config)# crypto key generate rsa modulus 1024

// Générez votre clé RSA, c’est fini.

Source

Voir tous les usernames : show running-config all username

Chercher une commande : commande_principale | inc chaine_caractere

ASDM

Je vous conseille d’activer ASDM après ca, il faudra autoriser votre IP sur le protocole HTTP. Il s’agit d’un logiciel qui permet une administration en interface graphique des équipements routeurs Cisco. On peut absolument tout y faire, ajouter des utilisateurs, monter des interfaces, configurer vos ACL etc.

http server enable
http 192.168.x.x 255.255.255.255 interface

Tapez ensuite dans votre navigateur : https://192.168.x.x/admin/public/index.html

Tutoriel Cisco pour faire un VPN Remote Access (n’a pas marché chez moi, contrairement à la Running Config donné plus haut).
J’ai eu besoin de ce lien pour permettre le split tunneling, sans effet.

Définir un pool IP

Le « pool IP », c’est le lot d’IP que vous souhaitez dédier à votre VPN.

Pour configurer un pool d’adresse IP local pour être utilisé quand un client se connecte à une intrface point-to-point, utilisez la commande « ip local pool » en mode configuration globale [configuration terminal]. Utilisez la forme « no » pour effacer un rang d’adresse du pool, ou pour supprimer une adresse du pool (plus court que la commande « no »).

ip local pool {default | pool-name low-ip-address [high-ip-address]}

no ip local pool {default | pool-name low-ip-address [high-ip-address]}

no ip local pool {default | pool-name}

Description de la syntaxe :
default : Defaults local address pool that is used if no other pool is named.
pool-name : Name of a specific local address pool.
low-ip-address : Lowest IP address in the pool.
high-ip-address : (Optional) Highest IP address in the pool. If this value is omitted only the low-ip-address IP address is included in the local pool.

Configurer le serveur DHCP

Visitez ce lien

Utiliser une seule interface

Pour envoyer et recevoir vers et depuis une DMZ, voici le schéma

INTERNET—-MODEM—-DMZ—-LAN

—————————————|

————————————-ASA

Dans cette configuration, il faut autoriser le Firewall à échanger dans les deux sens avec cette commande magique :

Firewall_5520(config)# same-security traffic permit intra-interface

Déclarer des routes

route interne 0.0.0.0 0.0.0.0 192.168.x.x 1

// Correspond à la route par défaut

route interne 172.11.x.x 255.255.255.0 192.168.x.x 1

// Déclare une route du réseau, en routage statique

Créer des groupes VPN

Créer des groupes vous permettra de leur mettre des ACL différentes et donc de restreindre leur accès au réseau local à certains sous réseaux, ou à leur mettre des filtrages de protocole. Il peut être intéressant de loguer ce que font les username sur le VPN.

Le schéma classique c’est un groupe Admin avec tous les droits et un groupe utilisateur avec droits restreints.

access-list AclGroupe standard permit 192.168.x.x 255.255.x.x

//255.255.255.0 pour un sous réseau, 255.255.255.255 pour une machine

group-policy PolicyGroupe internal
group-policy PolicyGroupe attributes
dns-server value x.x.x.x y.y.y.y
vpn-tunnel-protocol IPSec
split-tunnel-policy tunnelspecified
split-tunnel-network-list value AclGroupe

tunnel-group GroupeName type remote-access
tunnel-group GroupeName general-attributes
address-pool pool_vpn
default-group-policy PolicyGroupe
tunnel-group GroupeName ipsec-attributes
pre-shared-key ******

end
conf t

// obligatoire pour ressortir de la conf tunnel-group et retourner en conf group-policy

group-policy PolicyGroupe attributes
group-lock value GroupeName

// Le groupe lock empêche les utilisateurs du groupe d’utiliser d’autres ACL (si une conf contradictoire le permettait)

username nom password **** privilege 2
username nom attributes
vpn-group-policy PolicyGroupe
vpn-idle-timeout 10
vpn-session-timeout 60
group-lock value GroupeName

// Le même group-lock, signalé à chaque username pour valider

ATTENTION : Les comptes utilisés pour le VPN ne doivent pas avoir un niveau de privilège suppérieur à 1 ou 2 ! Mettez un mot de passe Enable et ne laissez pas l’accès au VPN au compte administrateur de l’ASA.

Activer les Log

Les log sont des fichiers listant toute une activité. C’est un outil de traçage et de surveillance très efficace.

logging enable
logging buffer-size 10000
logging buffered notifications
logging history emergencies
logging asdm emergencies

Il y a plusieurs niveaux, plus le niveau est critique (notification, warning, emergencies…) plus le log sera complet. Mais aussi de plus en plus illisible et noyé dans les détails. On peut logger presque tout.

Pour les consulter : show logging

Activer SNMP

SNMP est un protocole permettant de recueillir des informations à des fins statistiques. Pour faire de beaux graphiques par exemple.

snmp-server host interne 192.168.x.x community goomsnmp

// autorise une IP à lister les info générées par le serveur SNMP

snmp-server location serveur_snmp_de_la_boite
snmp-server contact mail@mail.xx
snmp-server community *****
snmp-server enable traps snmp authentication linkup linkdown coldstart

8 commentaires sur “Running Config d’un VPN Remote Access sur ASA 5500 Series

  1. Heuu, certainement intéressant, et bien expliqué pour ceux qui connaissent, mais pour celui qui débarque, il y a trop de noms inconnus O_o

  2. ça fait peur ton article 🙂 J’ai lu la moitier ^^ en faite quand on dit est-ce que t’es reseau ou dév, je comprend mieu ^^ à chaqun son truc :p

L'espace de discussion de cet article est désormais fermé.