Está en la página 1de 15

Configuracin de Firewall

Cisco PIX
Introduccin
PIX (Private Internet eXchange) es una de las soluciones de seguridad ofrecidas por
Cisco Systems; se trata de un firewall completamente hardware: a diferencia de otros
sistemas cortafuegos, PIX no se ejecuta en una mquina Unix, sino que incluye un
sistema operativo empotrado denominado Finesse que desde espacio de usuario se
asemeja ms a un router que a un sistema Unix clsico. Por tanto, dado que la gestin
de este cortafuegos no es tan inmediata para un administrador de sistemas como la de
uno que se ejecute sobre Unix, vamos a dedicarle ms tiempo al PIX Firewall de lo que
hemos dedicado al resto de cortafuegos.

El cortafuegos PIX utiliza un algoritmo de proteccin denominado Adaptive Security


Algorithm (ASA): a cualquier paquete inbound (generalmente, los provenientes de redes
externas que tienen como origen una red protegida) se le aplica este algoritmo antes de
dejarles atravesar el firewall, aparte de realizar comprobaciones contra la informacin de
estado de la conexin (PIX es stateful) en memoria; para ello, a cada interfaz del firewall
se le asigna un nivel de seguridad comprendido entre 0 (el interfaz menos seguro,
externo) y 100 (el ms seguro, interno). La filosofa de funcionamiento del Adaptive
Security Algorithm se basa en estas reglas:
Ningn paquete puede atravesar el cortafuegos sin tener conexin y estado.

Cualquier conexin cuyo origen tiene un nivel de seguridad mayor que el destino
(outbound) es permitida si no se prohbe explcitamente mediante listas de acceso.

Cualquier conexin que tiene como origen una interfaz o red de menor seguridad que
su destino (inbound) es denegada, si no se permite explcitamente mediante listas
de acceso.

Los paquetes ICMP son detenidos a no ser que se habilite su trfico explcitamente.

Cualquier intento de violacin de las reglas anteriores es detenido, y un mensaje de


alerta es enviado a syslog.
Cuando a un interfaz del cortafuegos llega un paquete proveniente de una red con menor
nivel de seguridad que su destino, el firewall le aplica el adaptive security algorithm para
verificar que se trata de una trama vlida, y en caso de que lo sea comprobar si del host
origen se ha establecido una conexin con anterioridad; si no haba una conexin previa,
el firewall PIX crea una nueva entrada en su tabla de estados en la que se incluyen los
datos necesarios para identificar a la conexin.

El cortafuegos PIX puede resultar muy complejo de gestionar, especialmente a los que
provenimos del mundo Unix, ya que como hemos dicho se asemeja ms a un router que
a un servidor con cualquier flavour de Unix; es por tanto recomendable consultar
bibliografa adicional antes de trabajar con estos equipos.

La primera sesin con PIX Firewall


Si conectamos al firewall por consola a travs de una lnea serie entramos directamente
sin necesidad de contrasea, en modo no privilegiado; esto lo sabemos porque nos
aparece el prompt siguiente:

pixie>
Si en este prompt tecleamos la orden `?', nos mostrar la ayuda disponible en el modo
sin privilegios:

dixie> ?
enable Enter privileged mode or change privileged mode password
pager Control page length for pagination
quit Disable, end configuration or logout
dixie>

Son pocos comandos con los que apenas se puede hacer nada; la orden pager nos
permite ajustar el nmero de lneas para paginar, la orden quit (o exit) sale del firewall,
y la orden enable nos pasa a modo superusuario, pidiendo la contrasea (que por
defecto ser `cisco'); cada orden del PIX se puede abreviar (por ejemplo, en lugar de
enable podramos teclear ena):

dixie> ena
Password: *****
dixie#

Como vemos, al estar en modo privilegiado, el prompt cambia y nos muestra una
almohadilla; en este modo ya podemos reconfigurar parmetros del PIX, y tenemos ms
rdenes disponibles que antes:
dixie# ?
arp Change or view the arp table, and set the arp timeout value
auth-prompt Customize authentication challenge, reject or acceptance prompt
configure Configure from terminal, floppy, or memory, clear configure
copy Copy image from TFTP server into flash.
debug Debug packets or ICMP tracings through the PIX Firewall.
disable Exit from privileged mode
enable Modify enable password
flashfs Show or destroy filesystem information
kill Terminate a telnet session
pager Control page length for pagination
passwd Change Telnet console access password
ping Test connectivity from specified interface to <ip>
quit Disable, end configuration or logout
reload Halt and reload system
session Access an internal AccessPro router console
terminal Set terminal line parameters
who Show active administration sessions on PIX
write Write config to net, flash, floppy, or terminal, or erase flash
dixie#

Para comenzar a reconfigurar el firewall nos pondremos en modo configuracin (desde


modo privilegiado) con la orden configure (la `t' corresponde a Terminal); de nuevo,
cambia el prompt que nos aparece en consola:

dixie# con t
dixie(config)#

En este modo disponemos de ms comandos para configurar el PIX; como siempre,


podemos verlos con la orden `?':

dixie(config)# ?
aaa Enable, disable, or view TACACS+ or RADIUS user authentication, authorization and
accounting
access-group Bind an access-list to an interface to filter inbound traffic
access-list Add an access list
age This command is deprecated. See ipsec, isakmp, map, ca commands
alias Administer overlapping addresses with dual NAT.
apply Apply outbound lists to source or destination IP addresses
arp Change or view the arp table, and set the arp timeout value
auth-prompt Customize authentication challenge, reject or acceptance prompt
aaa-server Define AAA Server group
ca CEP (Certificate Enrollment Protocol)Create and enroll RSA key pairs into a PKI
(Public Key Infrastructure).
clock Show and set the date and time of PIX
conduit Add conduit access to higher security level network or ICMP
crypto Configure IPsec, IKE, and CA
configure Configure from terminal, floppy, or memory, clear configure
copy Copy image from TFTP server into flash.
debug Debug packets or ICMP tracings through the PIX Firewall.
disable Exit from privileged mode
domain-name Change domain name
dynamic-map Specify a dynamic crypto map template
enable Modify enable password
established Allow inbound connections based on established connections
failover Enable/disable PIX failover feature to a standby PIX
filter Enable, disable, or view URL, Java, and ActiveX filtering
fixup Add or delete PIX service and feature defaults
flashfs Show or destroy filesystem information
ipsec Configure IPSEC policy
isakmp Configure ISAKMP policy
global Specify, delete or view global address pools, or designate a PAT
(Port Address Translated) address
hostname Change host name
vpdn Configure VPDN (PPTP) Policy
interface Identify network interface type, speed duplex, and if shutdown
ip Set ip address for specified interface, define a local address pool, or
toggle Unicast Reverse Path Forwarding on an interface.
kill Terminate a telnet session
link This command is deprecated. See ipsec, isakmp, map, ca commands
linkpath This command is deprecated. See ipsec, isakmp, map, ca commands
logging Enable logging facility
map Configure IPsec crypto map
mtu Specify MTU(Maximum Transmission Unit) for an interface
name Associate a name with an IP address
nameif Assign a name to an interface
names Enable, disable or display IP address to name conversion
nat Associate a network with a pool of global IP addresses
outbound Create an outbound access list
pager Control page length for pagination
passwd Change Telnet console access password
ping Test connectivity from specified interface to <ip>
quit Disable, end configuration or logout
radius-server Specify a RADIUS aaa server
reload Halt and reload system
rip Broadcast default route or passive RIP
route Enter a static route for an interface
session Access an internal AccessPro router console
snmp-server Provide SNMP and event information
sysopt Set system functional option
static Map a higher security level host address to global address
tacacs-server Specify a TACACS+ server
telnet Add telnet access to PIX console and set idle timeout
terminal Set terminal line parameters
tftp-server Specify default TFTP server address and directory
timeout Set the maximum idle times
url-cache Enable URL caching
url-server Specify a URL filter server
virtual Set address for authentication virtual servers
who Show active administration sessions on PIX
write Write config to net, flash, floppy, or terminal, or erase flash
dixie(config)#

Interfaces de red
Cisco denomina a cada uno de sus interfaces hardware de la forma ethernetN o token-
ringN. Desde el modo configuracin podemos asignarles nombres simblicos y niveles de
seguridad, teniendo en cuenta que el nombre outside se asigna por defecto a la tarjeta
ethernet0 y el nombre inside a la ethernet1. Adems, el nivel de seguridad de la interfaz
outside ha de ser el ms bajo, 0, y el reservado para inside el ms elevado, 100; el resto
de tarjetas pueden tener cualquier nmero comprendido entre los dos anteriores.

Si queremos asignarle un nombre simblico y un nivel de seguridad a un interfaz hemos


de utilizar la orden nameif; por ejemplo, para denominar dmz a la tarjeta ethernet2, y
darle un nivel 50, ejecutaramos lo siguiente :

dixie(config)# nameif e2 dmz security50


dixie(config)#

Es muy importante que exista una interface llamada outside con un nivel 0 y una inside
con un nivel 100; si alguna de las dos no existe, o si est duplicada, el cortafuegos
parar todo el trfico que pase por l. Podemos ver si la configuracin actual de las
interfaces es correcta mediante la orden show nameif:

dixie(config)# show nameif


nameif ethernet0 outside security0
nameif ethernet1 inside security100
nameif ethernet2 dmz security50
nameif ethernet3 intf3 security15
dixie(config)#

Accesos entre interfaces


Para conseguir excepciones a las reglas de funcionamiento del adaptive security
algorithm se utilizan los comandos nat y static; la orden nat permite que una interfaz de
mayor seguridad pueda acceder a uno de menor, mientras que static hace justo lo
contrario.

Para cada interfaz de mayor nivel de seguridad que quiera acceder a una de menor nivel
hemos de ejecutar la orden nat:

dixie(config)# nat (dmz) 0 0.0.0.0 0.0.0.0


dixie(config)# sh nat
nat (dmz) 0 0.0.0.0 0.0.0.0 0 0
pixie(config)#

La orden anterior indica que el interfaz dmz acceder sin realizar NAT (el primer `0'),
aplicando esto a todas las mquinas de la subred conectada a ese interfaz: los dos
grupos `0.0.0.0' representan la direccin y la subred, respectivamente, de los equipos a
los que permitimos la salida; si slo quisiramos que una de las mquinas conectada al
interfaz dmz accediera a segmentos de menor prioridad, pondramos su direccin IP y su
mscara (255.255.255.255).

Si lo que queremos es permitir el acceso desde un interfaz de menor nivel de seguridad a


uno de mayor ejecutaremos la orden static, que tiene la sintaxis siguiente:
static (if_interna,if_externa) dir_destino dir_destino netmask mascara
El hecho de que aparezca por duplicado la direccin destino de la mquina que estamos
`publicando' al exterior es porque, al ejecutar la orden nat, hemos decidido no hacer NAT
real; si lo estuviramos haciendo, en lugar de la direccin destino utilizaramos en primer
lugar la direccin que le damos a la mquina hacia el exterior (tpicamente, una IP
pblica) y en segundo la direccin que tiene el equipo dentro de la red a la que est
directamente conectado (una privada).

De esta forma, si lo que queremos es que desde toda Internet (interfaz outside) se
pueda acceder a nuestro servidor de correo POP3, en la mquina 158.42.22.41 (por
ejemplo, dentro del interfaz dmz), ejecutaramos en primer lugar la siguiente orden:

dixie(config)# static (dmz,outside) 158.42.22.41 158.42.22.41 netmask 255.255.255.255


dixie(config)# sh static
static (dmz,outside) 158.42.22.41 158.42.22.41 netmask 255.255.255.255 0 0
dixie(config)#

Con el comando anterior nos limitamos a `publicar' la direccin de una mquina


protegida por el PIX firewall al resto de Internet; pero esto no significa que ya se pueda
acceder a ese sistema: tras la orden static, es necesario habilitar listas de control de
acceso a los diferentes servicios de la direccin que hemos publicado, y asociar dichas
listas de control a la interfaz correspondiente; si por ejemplo el acceso necesitado es
SMTP, ejecutaramos la siguiente orden:

dixie(config)# access-list prueba permit tcp any host 158.42.22.41 eq smtp


dixie(config)# access-group prueba in interface outside
dixie(config)#

Como vemos, asociamos la lista de control a la interfaz de entrada del trfico, no a la


que est conectada la mquina. El tema de las listas de control de acceso es el que
vamos a ver en el punto siguiente.

Listas de control de acceso


Como acabamos de decir, para acceder a determinados servicios de una mquina, una
vez hemos dejado establecer las conexiones entre interfaces, es necesario definir
permisos sobre el modo de acceso, el origen y los servicios a los que se permite acceder
de esa mquina; esto lo conseguiremos mediante la orden access-list, cuya sintaxis es
la siguiente:

access-list ID accion proto dir-origen pto-origen dir-destino pto-destino

Si por ejemplo queremos habilitar un acceso HTTP desde cualquier lugar de Internet, y
adems acceso POP3 desde un determinado segmento externo (por ejemplo,
196.33.22.128/25) a la mquina 158.42.22.41, lo haremos mediante una lista de control
de dos entradas (que llamaremos prova), que podemos crear con las siguientes rdenes:
pixie(config)# access-list prova permit tcp any host 158.42.22.41 eq http
pixie(config)# access-list prova permit tcp 196.33.22.128 255.255.255.128 host 158.42.22.41 eq
http
pixie(config)#

Dentro de una lista de control es importante asegurarse que la regla ms general es


siempre la ltima; PIX funciona en este sentido como Firewall-1: en el momento en que
una determinada regla hace match, se aplica y no se sigue analizando el resto. Por
ejemplo, si queremos que ningn equipo del exterior haga ping a la mquina
158.42.22.41, excepto los que provienen de la red 196.72.31.0/24, definiremos la
siguiente lista de control de acceso:

pixie(config)# access-list prova permit icmp 196.72.31.0 255.255.255.0 host 158.42.22.41


pixie(config)# access-list prova deny icmp any any
pixie(config)#

Con las rdenes anteriores no hacemos ms que definir (o modificar, si ya exista) la ACL
`prova'; esto no tiene ningn efecto sobre el funcionamiento del cortafuegos, ya que
para que lo tenga tenemos que asociar esta lista a una interfaz de red: en concreto, a
aquella de la que va a provenir el trfico de entrada en cada caso. Para ello, utilizaremos
la orden access-group:

pixie(config)# access-group prova in interface outside


pixie(config)#

Con este comando asociamos la lista de control a la interfaz especificada; si esta interfaz
ya tena asociada una lista de control, la nueva reemplaza a la antigua pero las
conexiones no se pierden, ni siquiera las que estaban permitidas anteriormente pero
ahora se niegan. Esto es til para poder aadir entradas intermedias a las listas de
control sin que las conexiones establecidas por el interfaz al que queremos asociarlas se
pierdan: para ello, lo ms rpido es copiar la lista en un editor de textos, realizar sobre el
mismo las modificaciones necesarias, y grabarla de nuevo en el cortafuegos con otro
nombre; tras esto, la asociamos al interfaz correspondiente mediante access-group, y
cuando estemos seguros de que todo funciona correctamente la grabamos en memoria
mediante write mem.

Si lo que queremos es aadir una entrada al final de la lista de control no es necesario


todo esto: basta con ejecutar el access-list correspondiente para que la nueva entrada se
aada a la lista, y automticamente se aplique sobre el interfaz; si no queremos aadir,
sino eliminar entradas de una ACL, podemos ejecutar directamente no access-list, orden
que recibe como parmetro la entrada a eliminar:

pixie(config)# sh access-list prova


access-list prova permit tcp any host 158.42.22.41 eq smtp (hitcnt=0)
access-list prova permit tcp any host 158.42.22.41 eq pop3 (hitcnt=0)
access-list prova permit tcp any host 158.42.22.41 eq telnet (hitcnt=0)
pixie(config)# no access-list prova permit tcp any host 158.42.22.41 eq pop3
pixie(config)# sh access-list prova
access-list prova permit tcp any host 158.42.22.41 eq smtp (hitcnt=0)
access-list prova permit tcp any host 158.42.22.41 eq telnet (hitcnt=0)
pixie(config)#
Como siempre, una vez que estemos seguros de que la configuracin es correcta, ser
necesario grabar los cambios en memoria flash mediante write mem.
Rutado
En el cortafuegos PIX es necesario especificar mediante rutas estticas cmo vamos a
encaminar los paquetes que nos llegan, aadiendo una ruta para cada red conectada a
un interfaz; slo podremos asignar una ruta por defecto, asociada siempre al interfaz
outside.

Para ver las rutas del firewall utilizaremos la orden sh route:

pixie(config)# sh route
outside 0.0.0.0 0.0.0.0 172.17.1.3 1 OTHER static
inside 172.17.2.0 255.255.255.0 172.17.2.1 1 CONNECT static
dmz 192.168.63.0 255.255.255.0 192.168.63.156 1 CONNECT static
failover 192.168.87.208 255.255.255.252 192.168.87.209 1 CONNECT static
dmz 158.42.0.0 255.255.0.0 192.168.63.156 1 OTHER static
pixie(config)#

Como vemos, la ruta por defecto est asociada a la interfaz outside; adems, la interfaz
dmz tiene dos rutas, una para una clase pblica y otra para una privada, y tambin
existe una boca del firewall dedicada en exclusiva al failover, del que hablaremos ms
adelante.

Si lo que queremos es modificar cualquiera de estas rutas, aadir rutas nuevas, o


eliminar alguna de ellas, ejecutaremos la orden route, cuya sintaxis es la siguiente:
route interfaz direccion-remota mascara gateway metrica
Por ejemplo, si deseamos enrutar el trfico dirigido a la red 192.168.63.128/25 a travs
del interfaz dmz, que tiene como direccin IP 192.168.63.156, y que est directamente
conectado a la red (un salto), ejecutaramos esta orden:

pixie(config)# route dmz 192.168.63.128 255.255.255.128 192.168.63.156 1


pixie(config)#

Para eliminar una ruta, ejecutaremos el comando no route, que recibe como parmetro
la ruta que deseamos eliminar (algo similar a lo que suceda con las listas de control de
acceso).
Arranque y parada del cortafuegos
La orden reload (modo privilegiado) reinicia el firewall y carga su configuracin, bien
desde diskette bien desde la memoria flash (en caso de que no haya ningn disco en la
unidad). Al ejecutar reload se nos pedir confirmacin para reiniciar el cortafuegos, y es
muy importante que en caso de no querer ejecutar el comando tecleemos `n';
cualquier otra respuesta ejecuta la orden.

Configuraciones del sistema


Nombre de la mquina
Mediante la orden hostname cambiamos el nombre de host del cortafuegos:

dixie(config)# hostname pixie


pixie(config)# hostname dixie
dixie(config)#
Contraseas
En modo configuracin podemos cambiar la contrasea de acceso al modo privilegiado
mediante la orden enable password; mediante show enable vemos la cadena cifrada
con nuestra contrasea:

dixie(config)# show enable


enable password /hVDnFhQPQc4lzN5 encrypted
dixie(config)# enable password passprova
dixie(config)# show enable
enable password S6KVLr8BjSKx8os/ encrypted
dixie(config)#

Esta clave es diferente de la que se utiliza para acceder al cortafuegos va telnet; para
modificar esta ltima (por defecto ser `cisco') utilizaremos la orden passwd, y para
visualizar la cadena cifrada resultante show passwd:

dixie(config)# show passwd


passwd 2KFQnbNIdI.2KYOU encrypted
dixie(config)# passwd prova
dixie(config)# show passwd
passwd /hVDnFhQPQc4lzN5 encrypted
dixie(config)#

Si quisiramos restaurar esta contrasea a su valor original (`cisco'), no tenemos ms


que ejecutar la orden clear passwd:

dixie(config)# show passwd


passwd /hVDnFhQPQc4lzN5 encrypted
dixie(config)# clear passwd
dixie(config)# show passwd
passwd 2KFQnbNIdI.2KYOU encrypted
dixie(config)#

La cadena `encrypted' que aparece tras la contrasea indica que se trata de una clave
cifrada; tambin nos puede resultar til para asignar un password directamente en
cifrado, en lugar de hacerlo en texto claro:

dixie(config)# show passwd


passwd 2KFQnbNIdI.2KYOU encrypted
dixie(config)# passwd /hVDnFhQPQc4lzN5 encrypted
dixie(config)# show passwd
passwd /hVDnFhQPQc4lzN5 encrypted
dixie(config)# show enable password
enable password 2KFQnbNIdI.2KYOU encrypted
dixie(config)# enable password /hVDnFhQPQc4lzN5 encrypted
dixie(config)# show enable password
enable password /hVDnFhQPQc4lzN5 encrypted
dixie(config)#

En caso de prdida de la clave de acceso va telnet, no tenemos ms que conectar al


cortafuegos mediante una conexin serie y, desde el modo privilegiado asignar una
nueva contrasea; si lo que hemos perdido es la clave para situar al cortafuegos en
modo privilegiado, el proceso es algo ms complicado: en este caso debemos
descargar la utilidad PIX Password Lockout Utility apropiada para nuestra versin de
firewall (que podemos ver con sh version), desde la direccin
http://www.cisco.com/warp/public/110/34.shtml
Se trata de un fichero `.bin' que podemos transferir a un disquette mediante la orden
dd:

anita:~$ dd if=np51.bin of=/dev/fd0


144+0 records in
144+0 records out
anita:~$

Tenemos que arrancar con el disco al que hemos transferido este sistema, que nos
automticamente nos preguntar si queremos borrar las claves; le diremos que s y
reiniciaremos el cortafuegos, que tendr como contrasea de acceso remoto `cisco' y no
tendr password para pasar al modo privilegiado.
Cambios permanentes
Cada vez que nuestro PIX se apague perder su configuracin y cargar o bien una
introducida en un diskette (esto es slo teora, nunca nos ha funcionado correctamente)
o bien la que est grabada en su memoria flash; si deseamos que nuestros cambios sean
permanentes hemos de grabarlos o en disco o en memoria flash , mediante la orden
write (write floppy o write mem, en cada caso):

dixie# write mem


Building configuration...
Cryptochecksum: 206a9447 17e7ec36 d53c98d2 22a06c5e
[OK]
dixie# wr floppy
Building configuration...
[OK]
dixie#
Si lo que queremos es visualizar la configuracin que vamos a grabar (la actual),
podemos ejecutar la orden write terminal, que la volcar en pantalla; esto representa la
configuracin que se est ejecutando en estos momentos, cuyo resultado puede ser
diferente del proporcionado por sh conf (este ltimo muestra la configuracin que
hemos cargado al arrancar).

Configuracin de terminal

Para reconfigurar el nmero de lneas de nuestra terminal de conexin, tanto en modo


privilegiado como en modo usuario, podemos usar la orden pager, que recibe como
parmetro el nmero de lneas deseado:

dixie> show pager


pager lines 24
dixie> pager 30
dixie> show page
pager lines 30
dixie>

Para configurar el nmero de columnas de nuestra consola podemos utilizar el comando


terminal; si esta orden recibe como parmetro la palabra monitor, habilita la impresin
de mensajes de syslog en nuestra pantalla, mientras que si recibe como parmetro la
palabra width modifica el nmero de columnas. De nuevo, para ver la configuracin
actual utilizaremos la orden show:

dixie# show terminal

Width = 80, monitor


dixie# terminal width 90
dixie# show terminal

Width = 90, monitor


dixie#

Informacin del sistema


Las rdenes que nos permiten obtener informacin del estado actual del PIX comienzan
por la palabra `show'; algunas de ellas son las siguientes:
show processes
Muestra los procesos que se estn ejecutando en el cortafuegos.

show version
Muestra informacin genrica sobre el firewall, como la versin del software instalado en
el PIX, el uptime del sistema, ciertos parmetros hardware, licencias, etc. Este es un
ejemplo de dicha informacin:
dixie(config)# show version

Cisco Secure PIX Firewall Version 5.1(2)


Compiled on Tue 16-May-00 16:09 by bhochuli
Finesse Bios V3.3

dixie up 140 days 0 hours

Hardware: SE440BX2, 128 MB RAM, CPU Pentium II 349 MHz


Flash AT29C040A @ 0x300, 2MB
BIOS Flash AM28F256 @ 0xfffd8000, 32KB

0: ethernet0: address is 0090.279b.c9d2, irq 11


1: ethernet1: address is 0090.279b.c848, irq 10
2: ethernet2: address is 0090.279b.c759, irq 15
3: ethernet3: address is 0090.279b.c84c, irq 9

Licensed connections: 65536

Serial Number: 18018531 (0x112f0e3)


Activation Key: 0xfe1f8896 0xe1fcb1e2 0x3400545b 0x8f392616
dixie(config)#
show interface

Muestra informacin detallada sobre cada uno de los interfaces de red del firewall, de
forma muy parecida al ifconfig de Unix.

show conn
Muestra las conexiones activas a travs del cortafuegos.
show history
Muestra las ltimas rdenes ejecutadas en lnea de comandos, de una forma similar al
histrico que casi todos los shells de Unix incorporan; la interfaz del PIX es muy similar a
la de bash: Control-W borra una palabra, Control-E va al final de lnea, Control-B al
principio, Control-R realiza bsquedas, los cursores recorren el histrico de rdenes, etc.

show flashfs
Muestra informacin sobre el sistema de ficheros empotrado en la memoria flash de la
mquina.

show clock
Muestra la fecha y hora del sistema; podemos modificar esta informacin mediante la
orden clock:
pixie(config)# sh clock
01:38:34 Jun 11 2001
pixie(config)# clock set 03:30:00 Jun 11 2001
pixie(config)# sh clock
03:30:02 Jun 11 2001
pixie(config)#

show configure
Muestra la configuracin cargada al arrancar el cortafuegos (no tiene por qu ser la que
se est ejecutando en estos momentos; esta se puede ver con wr t). Es el contenido de
la memoria no voltil.

show failover
Muestra el estado del subsistema de tolerancia a fallos.

show who
Muestra las conexiones establecidas va telnet con el cortafuegos.

El sistema de log remoto


El PIX Firewall registra los eventos que se producen en la mquina en un sistema de log
que podemos visualizar en el propio cortafuegos mediante la orden sh log. Tambin
podemos enviar los registros a un sistema Unix que escuche peticiones de syslog remoto,
indicando la interfaz por la que se van a enviar los registros y la direccin del sistema
remoto mediante logging host:

pixie(config)# logging host inside 192.168.63.22


pixie(config)#

En el sistema donde deseemos enviar los registros, el demonio syslogd ha de estar


escuchando peticiones remotas (opcin `-r' del programa), y en los cortafuegos
intermedios ha de estar habilitado el trfico desde el PIX al puerto 514 (UDP) de la
mquina Unix.
Por defecto, PIX registra eventos ms relacionados con el estado del failover que con la
seguridad de los sistemas y los posibles ataques que pueden sufrir. Esto genera una gran
cantidad de mensajes que pueden hacer crecer al fichero de log de una forma
considerable con entradas de este tipo:
Jun 6 09:46:37 192.168.63.156 %PIX-1-103003: (Primary) Other firewall
network interface 0 failed.
Jun 6 09:46:49 192.168.63.156 %PIX-1-103005: (Primary) Other firewall
reporting failure.
Jun 6 09:46:49 192.168.63.156 %PIX-1-105004: (Primary) Monitoring on
interface 1 normal
Jun 6 09:51:04 192.168.63.156 %PIX-1-105009: (Primary) Testing on interface
0 Passed

Para evitar registrar estos mensajes, en el cortafuegos podemos ejecutar la orden no


logging message, que recibe como parmetro el nmero de mensaje que no queremos
guardar; por ejemplo, si queremos evitar el registro de la alerta PIX-1-103003,
ejecutaremos:

pixie(config)# no logging message 103003


pixie(config)#
Si queremos lo contrario, volver a registrar el mensaje en el sistema remoto,
ejecutaremos la misma orden pero sin el `no' delante, o bien clear logging disabled, que
habilita el registro de todos los mensajes.
pixie(config)# logging message 103003
pixie(config)#

Podemos ver los mensajes que no estamos registrando mediante el comando sh logging
disabled:

pixie(config)# sh logging disabled


no logging message 105008
no logging message 105009
no logging message 103003
no logging message 103004
no logging message 103005
pixie(config)#
A nosotros nos va a interesar ms registrar eventos registrados con entradas y salidas al
cortafuegos, y tambin con trfico negado en el mismo. Para ello, podemos ver la facility
y la severity de los mensajes de log en el sistema Unix; la facility es siempre PIX,
mientras que la severity es el nmero siguiente en el cdigo de mensaje registrado (de 1
a 7); por ejemplo, un mensaje con un cdigo como PIX-6-307002 corresponde a una
facility PIX y a una severity 6.

Podemos configurar nuestro syslog.conf para registrar los eventos provenientes del PIX
(para Unix, con severity local4) en diferentes ficheros; lo ms cmodo ser registrar
todos los eventos (ejecutando logging trap debugging) con una facility 20 (logging
facility 20), y luego denegar mensajes determinados - relativos al failover mediante no
logging message.
Failover
El sistema de alta disponibilidad implantado por PIX permite utilizar una unidad
secundaria que tomar el control de las conexiones en caso de que la primaria falle;
ambas unidades estarn conectadas por un cable serie (un RS-232 modificado) que
transmite a 9600 baudios, y contnuamente se intercambian mensajes `hello' para que
ambas puedan conocer el estado de la otra unidad. Si dos de estos mensajes
consecutivos - se envan a intervalos de 15 segundos - no son recibidos en un
determinado tiempo, entra en juego el failover para comprobar cual de las dos unidades
ha fallado y transferir el control a la otra. Entonces cada unidad cambia de estado: la
nueva unidad activa asume las direcciones IP y MAC de la anterior y comienza a aceptar
trfico, y la que antes era la activa ahora asume los parmetros de la que no lo era; el
resto de elementos de la red no ve ningn cambio en los dispositivos, por lo que no
existen cambios o timeouts en las tablas ARP.

Si queremos saber el estado del failover (por ejemplo para ver cul es la unidad activa
en un determinado momento) hemos de ejecutar la orden sh failover:

pixie(config)# sh failover
Failover On
Cable status: Normal
Reconnect timeout 0:00:00
This host: Primary - Active
Active time: 386520 (sec)
Interface failover (192.168.87.209): Normal
Interface dmz1 (192.168.63.156): Normal
Interface outside (172.17.1.1): Normal
Interface inside (172.17.2.1): Normal
Other host: Secondary - Standby
Active time: 405 (sec)
Interface failover (192.168.87.210): Normal
Interface dmz1 (192.168.63.157): Normal
Interface outside (172.17.1.2): Normal
Interface inside (172.17.2.2): Normal

Stateful Failover Logical Update Statistics


Link : failover
Stateful Obj xmit xerr rcv rerr
General 53081 0 50149 0
sys cmd 52067 0 50146 0
up time 0 0 0 0
xlate 9 0 0 0
tcp conn 1005 0 3 0
udp conn 0 0 0 0
ARP tbl 0 0 0 0
RIP Tbl 0 0 0 0

Logical Update Queue Information


Cur Max Total
Recv Q: 0 1 50149
Xmit Q: 0 3 53081
pixie(config)#

En el resultado de la orden anterior vemos que la unidad principal est funcionando


normalmente, mientras que la secundaria est en standby; esto ser lo habitual si no
entra en juego el failover o incluso si entra y la unidad principal se recupera, ya que en
ese caso se hace un rebalanceo. Si en lugar de que todas las interfaces estn en estado
normal aparecieran errores temporales de escasa duracin, no hay ningn problema, ya
que esto suele significar que el cortafuegos est testeando la alta disponibilidad y la
conectividad de las interfaces.

El failover es casi transparente a la administracin de la mquina, en el sentido de que la


configuracin slo se realiza en la unidad activa en cada momento, y automticamente
se transfiere a la que est en standby; adems, como hemos dicho, cuando entra la alta
disponibilidad las unidades intercambian sus direcciones IP, por lo que el acceso va
telnet a la mquina se realiza contra la misma direccin que durante el funcionamiento
normal de los equipos. Incluso si trabajamos con stateful failover, las unidades
mantienen la informacin de estado de cada conexin, por lo que en caso de switchover
ninguna de ellas se pierde; en caso contrario, las conexiones activas son eliminadas y el
cliente debe reestablecerlas.

Con la orden failover podemos habilitar el failover, y con no failover deshabilitarlo:

pixie(config)# no failover
pixie(config)# sh failover
Failover Off
Cable status: Normal
Reconnect timeout 0:00:00
pixie(config)#

Las rdenes anteriores tambin admiten argumentos; si indicamos `link' podemos definir
la interfaz de stateful failover, por la que ambas unidades intercambiarn informacin.
Con `ip address' podemos configurar una direccin de failover para cada interfaz de la
unidad secundaria, y con el parmetro `active' forzamos a una unidad determinada
ponerse como activa (o en standby, si ejecutamos no failover active). Como siempre,
podemos teclear el signo `?' para obtener ayuda desde lnea de comandos:

pixie(config)# failover ?
usage: [no] failover [active]
failover ip address <if_name> <ip_address>
failover timeout <hh:mm:ss>
failover reset
failover link <if_name>
pixie(config)# failover

También podría gustarte