El Antidoto

Monday, July 25, 2011

Themenos

Hola,

Encontre esta pagina para gente ilustre que desea iluminar sus mentes con la obra de C.G. Jung y sus reflexiones:

http://www.themenos.cl

Saludos!

Labels: ,

Saturday, July 02, 2011

CCIE Security #29210

Finalmente, logre mi numero. En terminos presidenciales, no fue facil, ni ameno, ni trivial, ni grato. Fue un gran marepoto de adquisicion obsesiva-compulsiva de conocimientos nerd, no se lo deseo a nadie, no al menos de la forma en la que yo lo hice. Fueron dos intentos. El primero me dejo metodologia, know-how, y un sabor de la experiencia que me sirvio muchisimo. El segundo fue mas pro.. y donde aplique un nuevo acercamiento, uno donde la estrategia, el time management y el know-how colectivo fue lo mas importante. Entre 12-14 horas de estudio durante mes y medio encerrado con un home-lab virtualizando casi todo (excepto un switch y un IPS), 7 dias a la semana. Estudio desde multiples fuentes de technology labs + full day labs, libros, tutoriales en linea (incluyendo youtube), videos on demand, foros de discusion y otros recursos fueron _extremadamente_ relevantes. Cuando la moral estaba por el piso, leia historias de exito de CCIEs para darme animo. La prueba no es imposible, pero si requiere un compromiso personal muy fuerte. En mi caso, me cuesta explicarme como mi sra. me soportaba (se que al final ya no), y como mi hija era feliz subiendo todos los dias por la noche a demandar su besito de buenas noches y complementando mis diagramas de red con su arte rupestre. Finalmente, gracias a la combinacion de esfuerzo, suerte, persistencia, aire acondicionado (thanks konow) e intervencion divina resulto todo bien.

Si alguien (por alguna razon que desconozco) quisiera mas detalles sobre la metodologia de estudio, estoy disponible para compartirla.

Un saludo

Tuesday, November 09, 2010

Falsa hiperconectividad

Dia tras dia. Una y otra vez. Tipeo freneticamente las mismas URLs todos los dias en el browser. Con un falso sentido de esperanza, espero encontrarme con territorio no descubierto. Intento explicar mi compulsivo actuar, sin dar con una razon. Quisiera poder entablar un dialogo abierto con mi subconciente. Intento escapar de una ilusion, y evadir mi evidente esclavitud. Mi voluntad le sirve a mi mente sin cuestionamientos, como un peon a un despiadado rey. Admiro por un momento el espectaculo, aquel que quiero olvidar. Aquel show que me mantiene ocupado, para no poderlo cuestionar. La paradoja no me sorprende, solo me hace sentir mas como un zombie. No hay tiempo para deprimirse. Me hago conciente de la aceleracion con la que pasa mi vida. Cuestiono si llegara el momento adecuado. El momento en el que dire basta. El momento en el que me animare a buscar esa puerta, esa que no tiene llave ni manija, que no logro visualizar, pero que lleva a ese lugar desconocido al que quiero llegar. El lugar en el que tipear una URL es absolutamente irrelevante. El lugar en el que se puede pasar uno el dia entero escuchando al aire recorriendo hojas de alamos, tirado sin remordimientos ni obligaciones en el pasto fresco. El lugar donde no hay espacio para la angustia, donde estamos realmente presentes, donde el tiempo es irrelevante, donde cada palabra es nueva, donde el batir de las alas de una abeja es poderoso como una sinfonia, donde sorprenderse por las cosas simples es el dia dia, donde palabras como estas... dejan de importar.

Creo que estoy un poco atormentado.

Monday, August 02, 2010

WB1 - Lab02a - 2.4/2.5

Intentando retomar el estudio para el CCIE Security lab, cuya fecha que tengo programada es Febrero, hoy avance un poco, con una dificultad de un dolor grande en mi caso (la cabeza). Todo el dia sin tregua...argh!#@#!@

En fin, los puntos destacables de 2.4 y 2.5 del Lab 2a WB1:

1. Order of operations: input y output ACLs vienen _DESPUES_ de NAT, por lo que estos ACLs _DEBEN_ considerar las direcciones POST-NAT o no funcionan!
2. Tema viejisimo, pero se me olvido completamente. Para que un usuario ingrese a un router, e ingrese con un privilegio 15, sin tener que usar enable, es imperativo tener habilitado autorizacion. ejemplo:

aaa new-model
aaa authentication login VTY_1 local
aaa authorization exec VTY_2 local
username admin privilege 15 password 0 admin
line vty 0 4
authorization exec VTY_2
login authentication VTY_1
transport input ssh

3. Para que lock'n'key funcione, agregar al escenario de arriba:

username ccie password 0 ccie
username ccie autocommand access-enable host timeout 10
access-list dynamic-extended
ip access-list blah extended
[..........]
dynamic dacl timeout 100 permit tcp any any
int x
access-group blah in

Con esto, si el usuario ccie se autentica via SSH, a continuacion se habilitar el ACL que permite todo el trafico TCP en la interfaz X.

4. Si no dejan usar reflexive ACLs o CBAC, puede ser una opcion usar el bit established en un ACL con trafico TCP

5. Un ejemplo de reflexive ACL (SOLO FUNCIONAN CON NAMED ACLs!):

ip access-list extended out_acl
permit icmp any any echo
permit icmp any any echo-reply
permit icmp any any unreachable
permit tcp 9.4.45.0 0.0.0.255 host 9.16.146.14 eq 22 reflect REF_ACL timeout 180
permit tcp 9.4.45.0 0.0.0.255 host 192.1.49.12 eq 22 reflect REF_ACL timeout 180

ip access-list extended in_acl
deny ip 10.0.0.0 0.255.255.255 any
deny ip 172.16.0.0 0.15.255.255 any
deny ip 192.168.0.0 0.0.255.255 any
deny ip host 0.0.0.0 any log
deny ip 127.0.0.0 0.255.255.255 any log
deny ip 224.0.0.0 15.255.255.255 any log
deny ip 169.254.0.0 0.0.255.255 any log
deny ip host 255.255.255.255 any log
permit icmp any any echo
permit icmp any any echo-reply
permit icmp any any unreachable
permit tcp host 9.9.156.9 eq bgp host 9.9.156.5 gt 1024
permit tcp host 9.9.156.9 gt 1024 host 9.9.156.5 eq bgp
permit udp host 9.9.156.9 eq ntp host 4.4.4.4 eq ntp
permit udp host 9.9.156.9 eq ntp host 5.5.5.5 eq ntp
evaluate REF_ACL
deny ip any any

Until next time!


100 es un timeout global

Sunday, May 02, 2010

WB1 - Lab02a - IOS FW

Este lab es realmente eterno. Segun la guia son 10 horas pero claramente seran muchas mas. La primera parte es NTP. Un ejemplo de NTP server (R9) auth'ed y cliente auth'ed (R5):

R9#sh run inc ntp
ntp authentication-key 1 md5 aquivaelpass
ntp authenticate
ntp trusted-key 1
ntp source FastEthernet0/0
ntp master 1

ntp authentication-key 1 md5 aquivaelpass
ntp authenticate
ntp trusted-key 1
ntp clock-period 17179846
ntp source Loopback0
ntp server x.y.z.w key 1

Luego, pasamos a NAT. Aqui "inverti" mucho tiempo. Aqui hay algunos ejemplos de NAT condicionado a ciertos origenes/destinos y algunas perillas que se pueden ajustar:

ip nat translation tcp-timeout 40
ip nat translation udp-timeout 60
ip nat translation finrst-timeout 20
ip nat translation icmp-timeout 3
ip nat pool pul1 9.2.1.100 9.2.1.100 prefix-length 24 add-route
ip nat pool pul2 192.1.49.150 192.1.49.150 prefix-length 24
ip nat pool pul3 9.2.13.13 9.2.13.13 prefix-length 24 add-route
ip nat pool pul4 9.9.156.13 9.9.156.13 prefix-length 24
ip nat inside source list lista5 interface FastEthernet0/0.256 overload
ip nat inside source route-map rm1 pool pul1 reversible
ip nat inside source route-map rm2 pool pul2 reversible
ip nat inside source route-map rm3 pool pul3 reversible
ip nat inside source route-map rm4 pool pul4 reversible
!
ip access-list extended lista1
deny ip host 10.1.1.100 192.1.49.0 0.0.0.255
permit ip host 10.1.1.100 any
ip access-list extended lista2
permit ip host 10.1.1.100 192.1.49.0 0.0.0.255
ip access-list extended lista3
deny ip host 10.0.13.13 9.4.45.0 0.0.0.255
permit ip host 10.0.13.13 any
ip access-list extended lista4
permit ip host 10.0.13.13 9.4.45.0 0.0.0.255
ip access-list extended lista5
permit ip 10.1.1.0 0.0.0.255 any
permit ip 10.0.13.0 0.0.0.255 any
!
!
!
!
route-map rm4 permit 1
match ip address lista4
!
route-map rm3 permit 1
match ip address lista3
!
route-map rm2 permit 1
match ip address lista2
!
route-map rm1 permit 1
match ip address lista1
!

Un par de cosas interesantes:

  • Un NAT pool con el add-route sirve para agregar la ruta como estatica en el router, y luego esta se puede propagar a otros peers... por lo tanto nunca se agrega la ruta explicitamente.
  • El ip nat inside source .... con reversible significa que es valido para trafico originado desde inside o desde el outside tambien, es decir, NAT bidireccional.

Adicionalmente, un ejemplo de NAT _SIN_ uso de inside o outside (no lo conocia!):


!
interface FastEthernet0/0
ip address 10.0.7.7 255.255.255.0
ip nat enable
duplex auto
speed auto
!
interface FastEthernet0/0.78
encapsulation dot1Q 78
ip address 9.9.156.7 255.255.255.0
ip nat enable
!
ip nat translation max-entries all-host 25
ip nat pool pul1 9.7.7.101 9.7.7.250 prefix-length 24 add-route
ip nat source list 11 pool pul1 overload
ip nat source static 10.0.7.10 9.7.7.10
ip nat source static 10.0.7.100 9.7.7.100
!

Luego, pase por el tema Time range y TCP intercept:

ip access-list extended legacy
permit icmp any any echo-reply
permit tcp any host 9.9.45.4 eq www time-range tr1
permit tcp any host 9.9.45.4 eq 443 time-range tr1

time-range tr1
periodic Saturday 19:35 to 19:37

Esto significa que el access-list legacy permite el trafico http/https al host 9.9.45.4 desde cualquier origen, solo los sabados de 19:35:00 a las 19:37:59. Ojo con ese detalle de los segundos (comprobado empiricamente)!!

Sobre TCP intercept:

Change the TCP Intercept Aggressive Thresholds
Two factors determine when aggressive behavior begins and ends: total incomplete connections and connection requests during the last one-minute sample period. Both thresholds have default values that can be redefined.

The two factors that determine aggressive behavior are related and work together. When either of the high values is exceeded, aggressive behavior begins. When both quantities fall below the low value, aggressive behavior ends.

!
ip tcp intercept list blah
ip tcp intercept max-incomplete low 150
ip tcp intercept max-incomplete high 300
ip tcp intercept mode watch
!
ip access-list extended blah
permit tcp any host 9.9.45.4 eq www
permit tcp any host 9.9.45.4 eq 443
!

Ojo con el orden de operaciones. TCP intercept viene despues de NAT!

Argh!

Saludotes

Tuesday, April 27, 2010

CCIE Security - WB1 - Lab 1a - Config ASA - parte 2

Despues de jugar con mi hija un rato, ver un pedazo de un bluray... toi aqui de vuelta. Mi mente me traiciona... no puedo evitar pensar en que alternativamente podria estar haciendo uso de mi tiempo en otras cosas. Quisiera comprar una pildora que me hiciera zombie mientras estudio y ya.. lo peor es que seguro existe una, pero con efectos colaterales poco gratos, como transformarme en una de las cosas que mas detesto (zombies :). ... by the way, vieron 28 weeks? Gran pelicula de zombies. Uno de los protagonistas principales era un stripper masculino de capa caida, cuestionable estado fisico y icono del loser mid-crisis en una pelicula inglesa, que tiene su momento de fama y que termina.. bueno, vean 28 weeks.

Suficiente basofia. De vuelta al CCIE-security-world, donde todas los security appliances, routers, switches, AAA srvrs son Cisco, donde no existe cuestionamiento (porque no tiene sentido), donde la aplicacion en el real-world no siempre es la que uno quisiera, pero... bueno, la prueba es la prueba, uno hace lo que le piden en ella y punto.

Durante el resto de la mitad del ejercicio de ASAs, pude constatar:



  • Que para evitar las traducciones de NAT hay dos sabores, identity NAT y NAT exemption, basicamente son lo mismo, pero en distintos formatos de comandos:
  • Identity NAT - nat (inside) 0 10.1.1.10 255.255.255.255
  • NAT Exemption - nat inside (0) access-list acl_name_here
  • Que para configurar un auth-proxy que intercepte todos los requests salientes de telnet, ftp, http desde una interfaz inside en un ASA es mas elegante usar ACLs con este formato de comando
  • access-list out_aaa permit tcp any any eq 23
  • access-list out_aaa permit tcp any any eq 80
  • access-list out_aaa permit tcp any any eq 21
  • aaa authentication match out_aaa inside AAA <-- siendo AAA un aaa-server previamente definido
  • Para virtual-telnet, igual hay que permitir explicitamente el acceso agregando un ACL, y si es accedido desde una interfaz de menor nivel de seguridad (ej: outsite, 0) a una de mayor nivel de seguridad (ej: inside, 100), es _necesario_ agregar un static (inside,outside) x x donde x es la IP de virtual-telnet (virtual telnet = auth proxy para otros puertos que no sean los autenticables via auth-proxy como telnet, ftp, http)
  • Que para permitir que una sesion BGP autenticada pase a traves de un ASA, es _imperativo_ dejar pasar el atributo 19 de TCP (que por defecto es limpiado) y deshabilitar la randomizacion del numero de secuencia TCP. Tipicamente se arma con una config similar a esta:
  • access-list BGP extended permit tcp any any eq bgp
    !
    tcp-map BGP
    tcp-options range 19 19 allow
    !
    class-map BGP
    match access-list BGP
    !
    policy-map global_policy
    class BGP
    set connection random-sequence-number disable
    set connection advanced-options BGP
  • Que para la configuracion de QoS en el ASA, primero se define el trafico de interes (con una access-list y luego un class-map que lo relaciona), luego bajo un policy-map se invoca al class-map, y se aplica priority, luego se llama al policy-map desde un service-policy y finalmente se habilita la interfaz (priority-queue interfaz)
  • !
    class-map VOIP
    match dscp ef
    !
    policy-map OUTSIDE
    class VOIP
    priority
    !
    service-policy OUTSIDE interface outside
    !
    priority-queue outside
    !

  • Que MPF es re power y hay que tenerle respeto. Que la forma de configurarlo tipicamente es definiendo un class-map type inspect , match X, luego con policy-map type inspect .. acciones, parametros, referencia al class.. y finalmente aplicando el policy-map type dentro del clasico policy-map invocandolo bajo un class con un inspect. No se entendio nada? Claro que no, a esta hora la correcta redaccion esta prohibida. Quizas queda mas claro con la config a continuacion que -en teoria- previene que la IP 10.1.1.87 use Yahoo:
  • !
    access-list NO_IM extended permit ip host 10.1.1.87 any
    !
    class-map imblock
    match access-list NO_IM
    !
    policy-map type inspect im impolicy
    parameters
    match protocol yahoo-im
    reset
    !
    policy-map IM
    class imblock
    inspect im impolicy
    !
    service-policy IM interface inside

Bueno, habiendo ya terminado el lab 1a en algo asi como en 7 horas (y deberian haber sido 4 segun la guia), y ya dejando listo el GNS3 para correr el lab 2a, que tiene un foco bien fuerte en IOS FW (CBAC), ZBFW (L2 y L3), rACLs, lock n key, NAT, TCP intercept, auth-proxy, PAM, y otros... con una duracion estimada de 10 horas, me voy al sobre, manana hay que laborar.

Thursday, April 22, 2010

CCIE Security - WB1 - Lab 1a - Config ASA

Hola,

Hable con el jefecito sobre el tema de timing para el CCIE. Segun mis calculos, deberia invertir aproximadamente 450+ horas para recorrer ambos workbooks end-to-end. Esto basicamente se traduce en un poco mas de 2 meses de dedicacion exclusiva al tema. La sugerencia fue re-agendar, lo cual es super razonable. Mi nueva agenda se traduce en dos horas de estudio diarias, mas 4 horas los fines de semana hasta fines de Diciembre, mas Enero con dedicacion exclusiva y un target de prueba de principio de Febrero del 2011, para luego irme de vacaciones.

En fin, hoy ya tuve mi primera sesion de labs de tecnologia, y parti con el tema "Configure Secure Networks using Cisco ASA Firewalls". Acabo de terminar las dos horas del dia de hoy, voy en schedule, dado que estoy en la mitad del ejercicio exactamente.

Que aprendi/recorde hoy:

  • Que cuando el PC se freezea mal... bueno, se pierde toda la config de los routers :)
  • Que el estudio para el CCIE pasado definitivamente sirve, pero esta medio oxidado y necesita speed-up
  • Que la info de autenticacion EIGRP va en las interfaces!
  • Que RIP e EIGRP hacen uso de key-chain, no asi OSPF.
  • Que la generacion de default route en EIGRP se hace con summary-address bajo la interfaz, no en el proceso
  • Que si ASA no tiene una ruta default, y esta originandola hacia otros peers via OSPF, necesita el comando default-information originate always bajo el proceso
  • Que jugando con las metricas, sla monitor y track puedes tener una ruta de respaldo que se active solo cuando un host X deja de responder el ping (nice), config a continuacion:
  • route outside 0.0.0.0 0.0.0.0 192.1.24.2 1 track 1
    route outside 0.0.0.0 0.0.0.0 192.1.24.4 5
    sla monitor 1
    type echo protocol ipIcmpEcho 192.1.24.2 interface outside
    timeout 1000
    frequency 3
    track 1 rtr 1 reachability
    sla monitor schedule 1 life forever start-time now
  • Que me demoro 10 minutos en configurar failover en ASA (sin hacer trampa) .. necesito mejorar el tiempo.


Saludotes!

Labels: , ,