Este documento proporciona un enfoque paso a paso para configurar un router Cisco IOS como firewall basado en zonas para bloquear el tráfico P2P (del inglés Peer-to-Peer, Peer-to-Peer) mediante el asistente de configuración de firewall avanzado en Cisco Configuration Professional (Cisco CP).
Zone-Based Policy Firewall (también conocido como Zone-Policy Firewall o ZFW) cambia la configuración de firewall del modelo anterior, basado en interfaces, a un modelo basado en zonas, más flexible y fácil de comprender. Las interfaces se asignan a zonas, y la política de inspección se aplica al tráfico que se mueve entre las zonas. Las políticas entre zonas ofrecen una flexibilidad y granularidad considerables. Por lo tanto, se pueden aplicar diferentes políticas de inspección a varios grupos de host conectados a la misma interfaz del router. Las zonas establecen las fronteras de seguridad de la red. Una zona define un límite donde el tráfico se somete a las restricciones de las políticas al pasar a otra región de la red. La política predeterminada de ZFW entre zonas es la negación total. Si no se configura una política explícitamente, se bloquea todo el tráfico que se mueve entre zonas.
Las aplicaciones P2P son algunas de las aplicaciones más utilizadas en Internet. Las redes P2P pueden actuar como un conducto para las amenazas malintencionadas, como gusanos, ofreciendo una ruta sencilla alrededor de los firewalls y causando preocupación por la privacidad y la seguridad. La versión 12.4(9)T del software del IOS de Cisco introdujo el soporte de ZFW para las aplicaciones P2P. La inspección P2P ofrece políticas de capa 4 y capa 7 para el tráfico de aplicaciones. Esto significa que ZFW puede proporcionar una inspección stateful básica para permitir o denegar el tráfico, así como un control granular de Capa 7 sobre actividades específicas en los diversos protocolos, de modo que se permitan ciertas actividades de aplicación mientras que se denieguen otras.
Cisco CP ofrece un enfoque paso a paso y fácil de seguir para configurar el router IOS como firewall basado en zonas mediante el asistente de configuración del firewall avanzado.
Asegúrese de cumplir estos requisitos antes de intentar esta configuración:
El router IOS debe tener la versión de software como 12.4(9)T o posterior.
Para los modelos de router IOS que soportan Cisco CP, refiérase a las Notas de la Versión de Cisco CP.
Nota: Realice estos pasos de configuración para ejecutar Cisco CP en un router Cisco:
Router(config)# ip http server Router(config)# ip http secure-server Router(config)# ip http authentication local Router(config)# username <username> privilege 15 password 0 <password> Router(config)# line vty 0 4 Router(config-line)# privilege level 15 Router(config-line)# login local Router(config-line)# transport input telnet Router(config-line)# transport input telnet ssh Router(config-line)# exit
La información que contiene este documento se basa en las siguientes versiones de software y hardware.
Router IOS Cisco 1841 que ejecuta la versión 12.4(15)T del software IOS
Cisco Configuration Professional (Cisco CP) versión 2.1
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Consulte Convenciones de Consejos Técnicos de Cisco para obtener más información sobre las convenciones sobre documentos.
Para el ejemplo de este documento, el router se configura como un firewall basado en zonas para bloquear el tráfico P2P. El router ZFW tiene dos interfaces, una interfaz interna (fiable) en la zona interna y una interfaz externa (no fiable) en la zona externa. El router ZFW bloquea las aplicaciones P2P como edonkey, fasttrack, gnutella y kazaa2 con una acción de registro para el tráfico que pasa de la zona interna a la zona externa.
En esta sección encontrará la información para configurar las funciones descritas en este documento.
Nota: Utilice la herramienta Command Lookup (sólo para clientes registrados) para obtener más información sobre los comandos utilizados en esta sección.
En este documento, se utiliza esta configuración de red:
Esta sección contiene el procedimiento paso a paso sobre cómo utilizar el asistente para configurar el router IOS como un firewall basado en zonas.
Complete estos pasos:
Vaya a Configurar > Seguridad > Firewall y ACL. A continuación, elija el botón de radio Firewall avanzado. Haga clic en Iniciar la tarea seleccionada.
En la siguiente pantalla se muestra una breve introducción sobre el asistente para firewall. Haga clic en Next para comenzar a configurar el firewall.
Seleccione las interfaces del router para que formen parte de las zonas y haga clic en Next.
La política predeterminada con seguridad alta junto con el conjunto de comandos se muestra en la siguiente ventana. Haga clic en Cerrar para continuar.
Introduzca los detalles del servidor DNS y haga clic en Siguiente.
Cisco CP proporciona un resumen de la configuración como el que se muestra aquí. Haga clic en Finalizar para completar la configuración.
En esta tabla se proporciona el resumen detallado de la configuración. Esta es la configuración predeterminada según la política de alta seguridad de Cisco CP.
| Resumen de la configuración |
|---|
| Nota: No seleccione la interfaz a través de la cual accedió a Cisco CP como la interfaz externa (no fiable). Si lo hace, no podrá iniciar Cisco CP desde esa interfaz después de completar el Asistente para firewall. Inside(trusted) Interfaces:
FastEthernet0/1 (10.77.241.114)
Outside(untrusted) Interfaces:
FastEthernet0/0 (209.165.201.2)
Service Policy Configuration:
In-zone -> Out-zone:
Inspect TCP,UDP,H323,SIP,SCCP and other protocols
Deny packets with invalid ip address as sourceIn the below shown network diagram,
Application Inspection for HTTP:
Block HTTP port-misuse for IP,P2P
Block HTTP protocol violation
Block HTTP request methods other than post,head,get
Block http request response containing non-ascii characters
Application Inspection for Instant Messaging:
Block all services of msn,yahoo,aol with log action
Application Inspection for P2P:
Block file transfer over edonkey, fasttrack, gnutella and kazaa2
Block text-chat over edonkey
Application Inspection for Email:
Block invalid command for imap,pop3
Block SMTP session with data length over 5 MB
Self -> Out-zone:
Inspect router generated ICMP traffic
Out-zone -> Self:
Deny all other traffic.
DNS Configuration:
Primary DNS:10.77.230.45
Secondary DN |
Marque la casilla de verificación Guardar la configuración en ejecución en la configuración de inicio del router. Haga clic en Entregar para enviar esta configuración al router.
Toda la configuración se envía al router. Esto lleva algún tiempo en procesarse.
Haga clic en Aceptar para continuar.
Haga clic en Aceptar de nuevo.
La configuración ya está en vigor y se muestra como las reglas en la ficha Política de firewall.
Las zonas junto con los pares de zonas que están asociadas se pueden ver si va a Configurar > Seguridad > Seguridad avanzada > Zonas. También puede agregar nuevas zonas haciendo clic en Agregar o modificar las zonas existentes haciendo clic en Editar.
Vaya a Configure > Security > Advanced Security > Zone Pairs para ver los detalles de los pares de zonas.
La ayuda instantánea sobre cómo modificar/agregar/eliminar zonas/pares de zonas y otra información relacionada está disponible fácilmente con las páginas web integradas en Cisco CP.
Para modificar las capacidades de inspección específicas de la aplicación para ciertas aplicaciones P2P, vaya a Configuración > Seguridad > Firewall y ACL. A continuación, haga clic en Editar política de firewall y elija la regla correspondiente en el mapa de políticas. Haga clic en Editar.
Muestra las aplicaciones P2P actuales que se bloquearán de forma predeterminada.
Puede utilizar los botones Agregar y quitar para agregar o quitar aplicaciones específicas. Esta captura de pantalla muestra cómo agregar la aplicación winmx para bloquearla.
En lugar de elegir la acción de descarte, también puede elegir la acción Inspeccionar para aplicar diferentes opciones para la inspección profunda de paquetes.
La inspección P2P ofrece políticas de capa 4 y capa 7 para el tráfico de aplicaciones. Esto significa que ZFW puede proporcionar una inspección stateful básica para permitir o denegar el tráfico, así como un control granular de Capa 7 sobre actividades específicas en los diversos protocolos, de modo que se permitan ciertas actividades de aplicación mientras que se denieguen otras. En esta inspección de aplicación, puede aplicar diferentes tipos de inspecciones de nivel de encabezado específicas para aplicaciones P2P. A continuación, se muestra un ejemplo para la gnutella.
Marque la opción P2P y haga clic en Crear para crear un nuevo policy-map para esto.
Cree un nuevo policy-map para la inspección profunda de paquetes para el protocolo gnutella. Haga clic en Add y luego elija New Class Map.
Asigne un nombre nuevo al mapa de clase y haga clic en Agregar para especificar un criterio de coincidencia.
Utilice la transferencia de archivos como criterio de coincidencia y la cadena utilizada es .exe. Esto indica que todas las conexiones de transferencia de archivos de gnutella que contienen la cadena .exe coinciden con la política de tráfico. Click OK.
Haga clic en Aceptar de nuevo para completar la configuración del mapa de clase.
Elija la opción Reset o Allow, que depende de la política de seguridad de su empresa. Haga clic en Aceptar para confirmar la acción con el policy-map.
De esta misma manera, puede agregar otros mapas de políticas para implementar funciones de inspección profundas para otros protocolos P2P especificando diferentes expresiones regulares como criterio de coincidencia.
Nota: Las aplicaciones P2P son particularmente difíciles de detectar, como resultado del comportamiento de "salto de puerto" y otros trucos para evitar la detección, así como los problemas introducidos por los frecuentes cambios y actualizaciones en las aplicaciones P2P que modifican los comportamientos de los protocolos. ZFW combina la inspección con estado de firewall nativa con las funciones de reconocimiento de tráfico de reconocimiento de aplicaciones basadas en red (NBAR) para ofrecer control de aplicaciones P2P.
Nota: La inspección de la aplicación P2P ofrece capacidades específicas de la aplicación para un subconjunto de aplicaciones soportadas por la inspección de la capa 4:
edonkey
fasttrack
gnutella
kazaa2
Nota: Actualmente, ZFW no tiene la opción de inspeccionar el tráfico de aplicaciones "bittorrent". Los clientes BitTorrent generalmente se comunican con los rastreadores (servidores de directorio de pares) a través de HTTP que se ejecuta en algún puerto no estándar. Por lo general, el puerto es TCP 6969, pero es posible que deba verificar el puerto del rastreador específico de Torrent. Si desea permitir BitTorrent, el mejor método para acomodar el puerto adicional es configurar HTTP como uno de los protocolos de coincidencia y agregar TCP 6969 a HTTP usando este comando ip port-map: ip port-map http port tcp 6969. Deberá definir http y bittorrent como los criterios de coincidencia aplicados en el class-map.
Haga clic en Aceptar para completar la configuración de la inspección avanzada.
El conjunto de comandos correspondiente se entrega al router.
Haga clic en Aceptar para completar la copia del conjunto de comandos al router.
Puede observar las nuevas reglas que tienen lugar desde la pestaña Editar política de firewall en Configurar > Seguridad > Firewall y ACL.
La configuración de la sección anterior de Cisco CP da como resultado esta configuración en el router ZFW:
| Router ZBF |
|---|
ZBF-Router#show run
Building configuration...
Current configuration : 9782 bytes
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname ZBF-Router
!
boot-start-marker
boot-end-marker
!
logging buffered 51200 warnings
!
no aaa new-model
ip cef
!
!
!
!
ip name-server 10.77.230.45
!
multilink bundle-name authenticated
parameter-map type protocol-info msn-servers
server name messenger.hotmail.com
server name gateway.messenger.hotmail.com
server name webmessenger.msn.com
parameter-map type protocol-info aol-servers
server name login.oscar.aol.com
server name toc.oscar.aol.com
server name oam-d09a.blue.aol.com
parameter-map type protocol-info yahoo-servers
server name scs.msg.yahoo.com
server name scsa.msg.yahoo.com
server name scsb.msg.yahoo.com
server name scsc.msg.yahoo.com
server name scsd.msg.yahoo.com
server name cs16.msg.dcn.yahoo.com
server name cs19.msg.dcn.yahoo.com
server name cs42.msg.dcn.yahoo.com
server name cs53.msg.dcn.yahoo.com
server name cs54.msg.dcn.yahoo.com
server name ads1.vip.scd.yahoo.com
server name radio1.launch.vip.dal.yahoo.com
server name in1.msg.vip.re2.yahoo.com
server name data1.my.vip.sc5.yahoo.com
server name address1.pim.vip.mud.yahoo.com
server name edit.messenger.yahoo.com
server name messenger.yahoo.com
server name http.pager.yahoo.com
server name privacy.yahoo.com
server name csa.yahoo.com
server name csb.yahoo.com
server name csc.yahoo.com
parameter-map type regex ccp-regex-nonascii
pattern [^\x00-\x80]
!
!
!
crypto pki trustpoint TP-self-signed-1742995674
enrollment selfsigned
subject-name cn=IOS-Self-Signed-Certificate-1742995674
revocation-check none
rsakeypair TP-self-signed-1742995674
!
!
crypto pki certificate chain TP-self-signed-1742995674
certificate self-signed 02
30820242 308201AB A0030201 02020102 300D0609 2A864886 F70D0101 04050030
31312F30 2D060355 04031326 494F532D 53656C66 2D536967 6E65642D 43657274
69666963 6174652D 31373432 39393536 3734301E 170D3130 31313236 31303332
32315A17 0D323030 31303130 30303030 305A3031 312F302D 06035504 03132649
4F532D53 656C662D 5369676E 65642D43 65727469 66696361 74652D31 37343239
39353637 3430819F 300D0609 2A864886 F70D0101 01050003 818D0030 81890281
8100A84A 980D15F0 6A6B5F1B 5A3359DE 5D552EFE FAA8079B DA927DA2 4AF210F0
408131CE BB5B0189 FD82E22D 6A6284E3 5F4DB2A7 7517772B 1BC5624E A1A6382E
6A07EE71 E93A98C9 B8494A55 0CDD6B4C 442065AA DBC9D9CC 14D10B65 2FEFECC8
AA9B3064 59105FBF B9B30219 2FD53ECA 06720CA1 A6D30DA5 564FCED4 C53FC7FD
835B0203 010001A3 6A306830 0F060355 1D130101 FF040530 030101FF 30150603
551D1104 0E300C82 0A5A4246 2D526F75 74657230 1F060355 1D230418 30168014
0BDBE585 15377DCA 5F00A1A2 6644EC22 366DE590 301D0603 551D0E04 1604140B
DBE58515 377DCA5F 00A1A266 44EC2236 6DE59030 0D06092A 864886F7 0D010104
05000381 810037F4 8EEC7AF5 85429563 F78F2F41 A060EEE8 F23D8F3B E0913811
A143FC44 8CCE71C3 A5E9D979 C2A8CD38 C272A375 4FCD459B E02A9427 56E2F1A0
DA190B50 FA091669 CD8C066E CD1A095B 4E015326 77B3E567 DFD55A71 53220F86
F006D31E 02CB739E 19D633D6 61E49866 C31AD865 DC7F4380 FFEDDBAB 89E3B3E9
6139E472 DC62
quit
!
!
username cisco privilege 15 password 0 cisco123
archive
log config
hidekeys
!
!
class-map type inspect match-all sdm-cls-im
match protocol ymsgr
class-map type inspect imap match-any ccp-app-imap
match invalid-command
class-map type inspect match-any ccp-cls-protocol-p2p
match protocol signature
match protocol gnutella signature
match protocol kazaa2 signature
match protocol fasttrack signature
match protocol bitTorrent signature
class-map type inspect smtp match-any ccp-app-smtp
match data-length gt 5000000
class-map type inspect http match-any ccp-app-nonascii
match req-resp header regex ccp-regex-nonascii
class-map type inspect match-any CCP-Voice-permit
match protocol h323
match protocol skinny
match protocol sip
class-map type inspect gnutella match-any ccp-class-gnutella
match file-transfer .exe
class-map type inspect match-any ccp-cls-insp-traffic
match protocol dns
match protocol https
match protocol icmp
match protocol imap
match protocol pop3
match protocol tcp
match protocol udp
class-map type inspect match-all ccp-insp-traffic
match class-map ccp-cls-insp-traffic
class-map type inspect match-any ccp-cls-icmp-access
match protocol icmp
match protocol tcp
match protocol udp
!
!--- Output suppressed
!
class-map type inspect match-all sdm-cls-p2p
match protocol gnutella
class-map type inspect match-all ccp-protocol-pop3
match protocol pop3
class-map type inspect kazaa2 match-any ccp-cls-p2p
match file-transfer
class-map type inspect pop3 match-any ccp-app-pop3
match invalid-command
class-map type inspect match-all ccp-protocol-p2p
match class-map ccp-cls-protocol-p2p
class-map type inspect match-all ccp-protocol-im
match class-map ccp-cls-protocol-im
class-map type inspect match-all ccp-invalid-src
match access-group 100
class-map type inspect match-all ccp-icmp-access
match class-map ccp-cls-icmp-access
class-map type inspect http match-any ccp-app-httpmethods
match request method bcopy
match request method bdelete
match request method bmove
match request method bpropfind
match request method bproppatch
match request method connect
match request method copy
match request method delete
match request method edit
match request method getattribute
match request method getattributenames
match request method getproperties
match request method index
match request method lock
match request method mkcol
match request method mkdir
match request method move
match request method notify
match request method options
match request method poll
match request method post
match request method propfind
match request method proppatch
match request method put
match request method revadd
match request method revlabel
match request method revlog
match request method revnum
match request method save
match request method search
match request method setattribute
match request method startrev
match request method stoprev
match request method subscribe
match request method trace
match request method unedit
match request method unlock
match request method unsubscribe
class-map type inspect http match-any ccp-http-blockparam
match request port-misuse im
match request port-misuse p2p
match request port-misuse tunneling
match req-resp protocol-violation
class-map type inspect match-all ccp-protocol-imap
match protocol imap
class-map type inspect match-all ccp-protocol-smtp
match protocol smtp
class-map type inspect match-all ccp-protocol-http
match protocol http
!
!
policy-map type inspect ccp-permit-icmpreply
class type inspect ccp-icmp-access
inspect
class class-default
pass
!
!--- Output suppressed
!
policy-map type inspect http ccp-action-app-http
class type inspect http ccp-http-blockparam
log
reset
class type inspect http ccp-app-httpmethods
log
reset
class type inspect http ccp-app-nonascii
log
reset
class class-default
policy-map type inspect smtp ccp-action-smtp
class type inspect smtp ccp-app-smtp
reset
class class-default
policy-map type inspect imap ccp-action-imap
class type inspect imap ccp-app-imap
log
reset
class class-default
policy-map type inspect pop3 ccp-action-pop3
class type inspect pop3 ccp-app-pop3
log
reset
class class-default
policy-map type inspect ccp-inspect
class type inspect ccp-invalid-src
drop log
class type inspect ccp-protocol-http
inspect
service-policy http ccp-action-app-http
class type inspect ccp-protocol-smtp
inspect
service-policy smtp ccp-action-smtp
class type inspect ccp-protocol-imap
inspect
service-policy imap ccp-action-imap
class type inspect ccp-protocol-pop3
inspect
service-policy pop3 ccp-action-pop3
class type inspect sdm-cls-p2p
inspect
!
!--- Output suppressed
!
class type inspect ccp-protocol-im
drop log
class type inspect ccp-insp-traffic
inspect
class type inspect CCP-Voice-permit
inspect
class class-default
pass
policy-map type inspect ccp-permit
class class-default
policy-map type inspect p2p ccp-pmap-gnutella
class type inspect gnutella ccp-class-gnutella
!
zone security out-zone
zone security in-zone
zone-pair security ccp-zp-self-out source self destination out-zone
service-policy type inspect ccp-permit-icmpreply
zone-pair security ccp-zp-in-out source in-zone destination out-zone
service-policy type inspect ccp-inspect
zone-pair security ccp-zp-out-self source out-zone destination self
service-policy type inspect ccp-permit
!
!
!
interface FastEthernet0/0
description $FW_OUTSIDE$
ip address 209.165.201.2 255.255.255.224
zone-member security out-zone
duplex auto
speed auto
!
interface FastEthernet0/1
description $FW_INSIDE$
ip address 10.77.241.114 255.255.255.192
zone-member security in-zone
duplex auto
speed auto
!
!
!--- Output suppressed
!
!
ip http server
ip http authentication local
ip http secure-server
!
!
!--- Output suppressed
!
!
!
control-plane
!
!
line con 0
line aux 0
line vty 0 4
privilege level 15
login local
transport input ssh
!
scheduler allocate 20000 1000
!
webvpn cef
end
ZBF-Router#
|
Use esta sección para confirmar que su configuración funciona correctamente.
La herramienta Output Interpreter Tool (clientes registrados solamente) (OIT) soporta ciertos comandos show. Utilice la OIT para ver un análisis del resultado del comando show.
ZBF-Router#show policy-map type inspect zone-pair sessions: muestra las estadísticas del policy-map de inspección de tipos en tiempo de ejecución para todos los pares de zonas existentes.
| Revisión | Fecha de publicación | Comentarios |
|---|---|---|
1.0 |
10-Sep-2018 |
Versión inicial |