Les Forums

Les Forums

Les forums sont fermés. Ils restent présent pour consultation et archivage.
Vous pouvez désormais poser vos questions directement dans les commentaires en bas de chaque page du site.
Alors n'hésitez pas à participer

ACL Cisco

Bonjour,

Je suis nouveau sur ce Forum.

J'ai une question relative à la programmation d'ACL dans mon routeur Cisco.

Je suis connecté en PPPoE à travers un modem ADSL.

J'utilise donc un dialer.

Tout fonctionne correctement pour la connexion, le problème se pose au moment où je décide d'ouvrir des ports ports pour mon serveur WEB et FTP

J'étais donc parti avec les ACL suivantes:

access-list 104 remark *** WEB + FTP ***
access-list 104 permit tcp any 192.168.123.193 0.0.0.255 eq 80
access-list 104 permit tcp any 192.168.123.193 0.0.0.255 eq 21
access-list 104 deny ip 10.0.0.0 0.255.255.255 any
access-list 104 deny ip 127.0.0.0 0.255.255.255 any
access-list 104 deny ip host 0.0.0.0 any
access-list 104 deny ip any host 255.255.255.255
access-list 104 deny ip host 255.255.255.255 any
access-list 104 remark *** ICMP ***
access-list 104 permit icmp any any administratively-prohibited
access-list 104 permit icmp any any echo
access-list 104 permit icmp any any echo-reply
access-list 104 permit icmp any any packet-too-big
access-list 104 permit icmp any any time-exceeded
access-list 104 permit icmp any any traceroute
access-list 104 permit icmp any any unreachable
access-list 104 deny icmp any any
access-list 104 deny ip any any

Mais lorsque j'applique mon ACL sur mon dialer1 (ip access-group 104 in), je n'ai plus accès à internet. Je suppose donc que mon ACL ne permet pas les réponse des sites qje je veux consulter.

Quelqu'un peut il m'aider pour me sortir de ça ?

Merci
Salut ploutch,

Tu as raison, le problème vient du fait que les trames réponses à tes requêtes sortantes se voient appliquées à ton ACL IN. Et bien sur, ne sont pas Permit.

Donc, ton ACL permet l'hébergement et l'accès FTP de l'extérieur, car n'ayant pas d'ACL sortante, tous est Permit y compris les trames réponses à accès entrant.

La bonne solution est de passer en version IOS Firewall. Ainsi, tu pourras activer la fonction IP Inspect qui permet d'ouvrir dynamiquement les ports réponses, alors tu ne touches en rien à ton ACL actuels.

Sinon, une bidouille, qui n'est pas propre au niveau sécurité, mais qui est fonctionnelle. C'est d'ouvrir les ports réponses en se basant sur les sources. Par exemple, si tu veux que de l'interne tu puisses surfer, alors tu rajoutes dans ton ACL :

access-list 104 permit tcp any eq 80 192.168.123.193 0.0.0.255

Et ainsi de suite, cela t'obligeant à déclarer tes flux sortant 🙂 (c'est une bonne chose).

@+
_SebF - Sébastien FONTAINE
Re,

Merci pour l'info, mais je pense que j'ai déjà un IOS Firewall (C2600-IK9O3S3-M), mais je n'en suis pas sur. En tout cas il y a bcp de fonction VPN intégrée.

En tous cas quand je fais IP inspect ?, j'ai ceci:

Gateway(config)#ip inspect ?
alert-off Disable alert
audit-trail Enable the logging of session information (addresses and bytes)
dns-timeout Specify timeout for DNS
hashtable-size Specify size of hashtable
max-incomplete Specify maximum number of incomplete connections before clamping
name Specify an inspection rule
one-minute Specify one-minute-sample watermarks for clamping
tcp Config timeout values for tcp connections
udp Config timeout values for udp flows
<cr>

Je peux donc supposer que c'est ok.

Peux tu me donner la marche à suivre pour mettre cela en place ?

Merci bcp bcp pour l'aide.

A plus
C'est une bonne nouvelle, tu as bien un IOS FW K9. Tu vas donc pouvoir appliquer une solution propre.

En fait, tu dois spécifier à que protocole tu appliques l'inspection. Donc en standard TCP, UDP, ICMP. Tu pourras en mettre d'autres pour des besoins spécifiques tels que FTP, H323 et etc.

Configuration générique:
ip inspect name NOM tcp timeout 3600
ip inspect name NOM udp timeout 15

A appliquer sur ton interface :
ip inspect NOM in

@+
_SebF - Sébastien FONTAINE
Re,

J'ai mis en place la config avec ip inspect et tout semble ok (je ne sais pas comment tester la différence par rapport à avant).

Mon problème reste que quand je remet mes ACL sur le dialer1, je n'ai plus de connexion internet. Retour case départ.

Tu vois la solution ?

Voici un sh run, ce sera peut être plus facile:

Gateway#sh run
Building configuration...

Current configuration : 2888 bytes
!
version 12.3
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname Gateway
!
boot-start-marker
boot-end-marker
!
enable secret 5 XXXXXXX
!
username Administrator
memory-size iomem 15
no aaa new-model
ip subnet-zero
ip cef
!
!
!
ip inspect name fw tcp timeout 3600
ip inspect name fw http timeout 3600
ip inspect name fw ftp timeout 3600
ip inspect name fw smtp timeout 3600
ip inspect name fw udp timeout 15
ip audit po max-events 100
!
!
interface Ethernet0/0
ip address 192.168.123.100 255.255.255.0
ip nat inside
no ip mroute-cache
half-duplex
no keepalive
!
interface Serial0/0
no ip address
shutdown
!
interface Ethernet0/1
no ip address
half-duplex
pppoe enable
pppoe-client dial-pool-number 1
!
interface Dialer1
ip address negotiated
ip mtu 1492
ip nat outside
ip inspect fw in
encapsulation ppp
ip tcp adjust-mss 1452
no ip mroute-cache
dialer pool 1
dialer remote-name redback
dialer-group 1
ppp authentication pap chap callin
ppp chap hostname XXX
ppp chap password 0 XXX
ppp pap sent-username XXX password 0 XXX
!
ip nat inside source list 1 interface Dialer1 overload
ip http server
no ip http secure-server
ip classless
ip route 0.0.0.0 0.0.0.0 Dialer1
!
!
access-list 1 permit 192.168.123.0 0.0.0.255
access-list 104 remark *** WEB + FTP ***
access-list 104 permit tcp any 192.168.123.0 0.0.0.255 eq www
access-list 104 permit tcp any 192.168.123.0 0.0.0.255 eq ftp
access-list 104 deny ip 10.0.0.0 0.255.255.255 any
access-list 104 deny ip 127.0.0.0 0.255.255.255 any
access-list 104 deny ip host 0.0.0.0 any
access-list 104 deny ip any host 255.255.255.255
access-list 104 deny ip host 255.255.255.255 any
access-list 104 remark *** ICMP ***
access-list 104 permit icmp any any administratively-prohibited
access-list 104 permit icmp any any echo
access-list 104 permit icmp any any echo-reply
access-list 104 permit icmp any any packet-too-big
access-list 104 permit icmp any any time-exceeded
access-list 104 permit icmp any any traceroute
access-list 104 permit icmp any any unreachable
access-list 104 deny icmp any any
access-list 104 deny ip any any
dialer-list 1 protocol ip permit
!
!
!
!
!
banner motd ^C
Access strictly prohibited

^C
!
line con 0
exec-timeout 360 0
line aux 0
line vty 0 4
exec-timeout 120 0
privilege level 15
password XXXXXXX
login
!
scheduler max-task-time 5000
!
!
end

J'ai bien sur retiré le "ip access-group 104 in" de dialer1 car je ne saurais pas venir sur ce forum avec ...

A plus
OK, L'IP Inspect permet d'indiquer au routeur qu'une trame attend une réponse. Pour cela, il te faut placer la commande sur l'interface lan en IN. Ceci indiquant au routeur les trames où les réponses devront être autorisées.

@+
_SebF - Sébastien FONTAINE
Merci, ça fonctionne presque correctement.

Encore une question, mon ACL 104 je dois la mettre sur mon dialer1 ou sur mon ethernet0/1 (interface connectée à internet) ?

Car pour l'instant j'ai essayé les 3 possibilités (sur la e0/1, sur la dialer1 ou sur la e0/1 et la dialer) et aucune ne semble fonctionner, je n'ai toujours pas accès à mon site web depuis le WAN.

On est près du but... Merci bcp pour tout.
Lu,

Tu dois la placer en IN de ton Dialer. Cela vient peux être de ta translation, essai en spécifiant ton IP Internet et non privé.

@+
_SebF - Sébastien FONTAINE
Hello,

Je l'ai bien placée en IN sur mon dialer.

Mon problème c'est que j'ai une IP dynamique, dur dur de la spécifier.

Je me demandais si il ne fallait pas que j'ajoute un routage dans ma config pour que les requête soit redirigée vers la machine, en plus de les autoriser ?

A plus
Non pas besoin de placer une route supplémentaire. Tu peux spécifier une interface au lieu de l'IP.
_SebF - Sébastien FONTAINE
Re,

Fonctionne toujours pas, voici mon sh run, pour voir si tu trouve encore un truc qui cloche ou qui manque, moi je fini par ne plus m'y retrouver.
Au niveau sécurité, tu en pense quoi ?

Current configuration : 3063 bytes
!
version 12.3
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname Gateway
!
boot-start-marker
boot-end-marker
!
enable secret 5 XXXX
!
username Administrator
memory-size iomem 15
no aaa new-model
ip subnet-zero
ip cef
!
!
!
ip inspect name fw tcp timeout 3600
ip inspect name fw http timeout 3600
ip inspect name fw ftp timeout 3600
ip inspect name fw smtp timeout 3600
ip inspect name fw udp timeout 15
ip audit po max-events 100
!
!
!
!
interface Ethernet0/0
ip address 192.168.123.100 255.255.255.0
ip nat inside
ip inspect fw in
no ip mroute-cache
full-duplex
no keepalive
!
interface Serial0/0
no ip address
shutdown
!
interface Ethernet0/1
no ip address
half-duplex
pppoe enable
pppoe-client dial-pool-number 1
!
interface Dialer1
ip address negotiated
ip access-group 104 in
ip mtu 1492
ip nat outside
encapsulation ppp
ip tcp adjust-mss 1452
no ip mroute-cache
dialer pool 1
dialer remote-name redback
dialer-group 1
ppp authentication pap chap callin
ppp chap hostname XXXX
ppp chap password 0 XXXX
ppp pap sent-username XXXX password 0 XXXX
!
ip nat inside source list 1 interface Dialer1 overload
ip http server
ip http port 8080
no ip http secure-server
ip classless
ip route 0.0.0.0 0.0.0.0 Dialer1
!
!
access-list 1 permit 192.168.123.0 0.0.0.255
access-list 104 remark *** WEB + FTP ***
access-list 104 permit tcp any host 192.168.123.193 eq www
access-list 104 permit tcp any host 192.168.123.193 eq ftp
access-list 104 remark *** Admin ***
access-list 104 permit tcp any any eq telnet
access-list 104 permit tcp any any eq 8080
access-list 104 remark *** Host deny ***
access-list 104 deny ip 10.0.0.0 0.255.255.255 any
access-list 104 deny ip 127.0.0.0 0.255.255.255 any
access-list 104 deny ip host 0.0.0.0 any
access-list 104 deny ip any host 255.255.255.255
access-list 104 deny ip host 255.255.255.255 any
access-list 104 remark *** ICMP ***
access-list 104 permit icmp any any administratively-prohibited
access-list 104 permit icmp any any echo
access-list 104 permit icmp any any echo-reply
access-list 104 permit icmp any any packet-too-big
access-list 104 permit icmp any any time-exceeded
access-list 104 permit icmp any any traceroute
access-list 104 permit icmp any any unreachable
access-list 104 deny icmp any any
access-list 104 deny ip any any
dialer-list 1 protocol ip permit
!
!
!
!
!
banner motd ^C
Access strictly prohibited
^C
!
line con 0
exec-timeout 360 0
line aux 0
line vty 0 4
exec-timeout 120 0
privilege level 15
password XXXXXX
login
!
scheduler max-task-time 5000
!
!
end
Regarde une partie de mon routeur :

ip cef
ip inspect name TRAMES_REPONSES tcp
ip inspect name TRAMES_REPONSES udp
ip inspect name TRAMES_REPONSES icmp
ip inspect name TRAMES_REPONSES h323
ip inspect name TRAMES_REPONSES ftp

interface Dialer1
ip address negotiated
ip access-group ACL_ENTRANTE in
ip access-group ACL_SORTANTE out
ip nat outside
ip inspect TRAMES_REPONSES out
encapsulation ppp

Dans les ACL, placé sur le WAN, il e faut utiliser les adresses publiques. Pour tester, et uniquement de manière temporaire, utilise ANY à la place.

Si ce ne fonctionne toujours pas, place toutes les ACL en log, clear les logs, effectue un Telnet www.yahoo.fr 80 et regarde alors où cela pêche dans les logs.

@+
_SebF - Sébastien FONTAINE
Tu met quoi dans les ACL out ? Tu autorises quoi exactement ?

Je ne comprends pas bien pkoi tu dis de mettre les adresses publiques, d'autant plus que je suis en IP dynamique. 😳

Je dois en plus t'avouer que je suis pas le roi du debug, je sais pas trop comment m'y prendre.
Essai en mettant les ANY pour voir si ca fonctionne
_SebF - Sébastien FONTAINE
j'ai fait ceci:

access-list 105 permit tcp any any
access-list 105 permit udp any any

et je les ai placé en OUT sur le dialer1

Toujours pas de serveur web accessible.
Non, ne place pas d'ACL en OUT sur le Dialer,

Mais place cette ACL en IN sur le Dialer :

access-list 104 remark *** WEB + FTP ***
access-list 104 permit tcp any any eq www
access-list 104 permit tcp any any eq ftp
access-list 104 remark *** Admin ***
access-list 104 permit tcp any any eq telnet
access-list 104 permit tcp any any eq 8080
access-list 104 deny ip any any LOG
_SebF - Sébastien FONTAINE
Résultat:

Il me log bien quand il y a une demande sur n'importe quel autre port en me mettant qu'il à fait un deny, aucun message quand il y a une demande sur le 80 ou le 21.

Il y a qque chose qui me perturbe toujours, on autorise le port 80 et le 21 vers la machine serveur, mais à aucun moment dans la config on ne lui donne les moyens d'y aller, aucune route vers cette machine. Comment il fait pour savoir cers quelle machine aller ?

A plus et encore merci pour ton aide précieuse.
Pas besoin de route car elle est implicite. La preuve est que si tu enlèves ton ACL, ca fonctionne
_SebF - Sébastien FONTAINE
Si je retire mon ACL, toujours pas d'accès au serveur web, juste que le router ne génère pas de log pour le deny any any.

Jusqu'a présent je n'ai jamais réussi avec ce routeur à passer au travers.
Je suis perdu, ton premier Post disais que ca foncionnait.

Peux tu tout reprendre depuis le début dans un nouveau POST ?

@+
_SebF - Sébastien FONTAINE
Bonjour,

J'ai fini par trouver la solution hier, il manquait juste une petite ligne pour faire le routage à travers le NAT et envoyer les paquets vers une machine:

ip nat inside source static 192.168.123.193 interface Dialer1

Et voilà... Maintenant tout est ok.

Merci pour ton aide.

Dernière petite question, pense tu que ça serve à qque chose de faire un firewall en out sur l'interface ou le dialer ? on à déjà un inspect en IN sur le dialer. J'ai peur que ça ralentisse un peu.
Cool, je suis ravi pour toi que cela fonctionne. Maintenant que tu as résolu ton problème de NAT, tu vas pouvoir valider et tester la mise en place de tes règles de sécurité.

Mon avis sur les ACL sortantes, c'est bien sûr moins important que les entrantes, mais si tu peux les placer ça peux toujours aider. L'un des principes de base en Sécu, c'est "Je ferme tous, puis j'ouvre uniquement ce que j'ai besoin."

Pour ce qu'y ai du ralentissement, ton routeur est K9 est donc prévu pour (plus de mem et cpu).

Tiens nous au courrant de ce que tu auras décidé. Et même, si tu peux, colle ta conf finale afin d'en faire profiter tout le monde.

@+ et n'hésite pas.
_SebF - Sébastien FONTAINE