Contenido

Introducción

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.

Prerequisites

Requirements

Asegúrese de cumplir estos requisitos antes de intentar esta configuración:

Configuración del router para ejecutar 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

Componentes Utilizados

La información que contiene este documento se basa en las siguientes versiones de software y hardware.

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.

Convenciones

Consulte Convenciones de Consejos Técnicos de Cisco para obtener más información sobre las convenciones sobre documentos.

Antecedentes

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.

Configurar

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.

Diagrama de la red

En este documento, se utiliza esta configuración de red:

block-p2p-zbf-ccp-01.gif

Configuración a través de Cisco Configuration Professional

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:

  1. 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.

    block-p2p-zbf-ccp-02.gif

  2. 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.

    block-p2p-zbf-ccp-03.gif

  3. Seleccione las interfaces del router para que formen parte de las zonas y haga clic en Next.

    block-p2p-zbf-ccp-04.gif

  4. 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.

    block-p2p-zbf-ccp-05.gif

  5. Introduzca los detalles del servidor DNS y haga clic en Siguiente.

    block-p2p-zbf-ccp-06.gif

  6. Cisco CP proporciona un resumen de la configuración como el que se muestra aquí. Haga clic en Finalizar para completar la configuración.

    block-p2p-zbf-ccp-07.gif

    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

  7. 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.

    block-p2p-zbf-ccp-08.gif

    Toda la configuración se envía al router. Esto lleva algún tiempo en procesarse.

    block-p2p-zbf-ccp-09.gif

  8. Haga clic en Aceptar para continuar.

    block-p2p-zbf-ccp-10.gif

  9. Haga clic en Aceptar de nuevo.

    block-p2p-zbf-ccp-11.gif

    La configuración ya está en vigor y se muestra como las reglas en la ficha Política de firewall.

    block-p2p-zbf-ccp-12.gif

  10. 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.

    block-p2p-zbf-ccp-13.gif

  11. Vaya a Configure > Security > Advanced Security > Zone Pairs para ver los detalles de los pares de zonas.

    block-p2p-zbf-ccp-14.gif

    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.

    block-p2p-zbf-ccp-15.gif

    block-p2p-zbf-ccp-16.gif

  12. 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.

    block-p2p-zbf-ccp-17.gif

    Muestra las aplicaciones P2P actuales que se bloquearán de forma predeterminada.

    block-p2p-zbf-ccp-18.gif

  13. 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.

    block-p2p-zbf-ccp-19.gif

    block-p2p-zbf-ccp-20.gif

  14. 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.

    block-p2p-zbf-ccp-21.gif

    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.

  15. Marque la opción P2P y haga clic en Crear para crear un nuevo policy-map para esto.

    block-p2p-zbf-ccp-22.gif

  16. 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.

    block-p2p-zbf-ccp-23.gif

  17. Asigne un nombre nuevo al mapa de clase y haga clic en Agregar para especificar un criterio de coincidencia.

    block-p2p-zbf-ccp-24.gif

  18. 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.

    block-p2p-zbf-ccp-25.gif

  19. Haga clic en Aceptar de nuevo para completar la configuración del mapa de clase.

    block-p2p-zbf-ccp-26.gif

  20. 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.

    block-p2p-zbf-ccp-27.gif

    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.

  21. Haga clic en Aceptar para completar la configuración de la inspección avanzada.

    block-p2p-zbf-ccp-28.gif

    El conjunto de comandos correspondiente se entrega al router.

  22. Haga clic en Aceptar para completar la copia del conjunto de comandos al router.

    block-p2p-zbf-ccp-29.gif

  23. Puede observar las nuevas reglas que tienen lugar desde la pestaña Editar política de firewall en Configurar > Seguridad > Firewall y ACL.

    block-p2p-zbf-ccp-30.gif

Configuración de la Línea de Comandos del Router ZFW

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#

Verificación

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.

Información Relacionada