Daca tot beneficiem de avantajele unui router serios, nu pocnitorile pe care ni le baga pe gat providerii de internet, atunci musai sa configuram si un DDNS. Dar sa incepem cu inceputul.
Ce este un DDNS?
Dynamic Domain Name System – adica un protocol sau un serviciu de retea care ofera posibilitatea notificarii unui sistem DNS de schimbarile, in timp real, survenite in configuratiile de retea. Mai pe romaneste, cum multi dintre noi avem IP dinamic, e ceva mai dificil sa configuram un server de web de exemplu, pentru ca se va schimba IP-ul si nu vom mmai avea acces la el. Drept urmare, avem nevoie de un sistem dinamic care sa trimita noua adresa IP serverelor de DNS si sa asocieze adresa cu serverul de web pe care il ave (sau mail, ftp…etc.)
Clar, exista DynDNS, NO-IP si multe alte servicii similare, care ne rezolva problema intr-un mod destul de facil. Dar, ce-ar fi daca am avea posibilitatea sa configuram un astfel de sistem dinamic direct in router? Pentru pocnitorile oferite de IPS-uri e destul de simplu, pentru ca, de obicei, au functia implementata. Ce facem insa cu un router CISCO?
Clar…il configuram…

Hai sa vedem si cum:
Presupunem ca vom folosi serviciile celor de la No-IP ca metoda de update al IP-ului si de asociere al unui nume de domeniu (ex.: domeniulmeu.com)

Intram in modul privilegiat, introducand o paraola daca e cazul (daca nu inseamna ca sunteti tampiti si nu merita sa aveti un router Cisco :) )
Router> enable

Modul de configurare este urmatorul pas:
Router# configure terminal

Mai departe trebuie sa specificam modul de update al configuratiei de retea si clar, al schimbarilor de IP:
Router(config)# ip ddns update method unnumeoarecare
Router(DDNS-update-method)# ddns

Specifica daca un cache intern va fi folosit ca mod de update:
Router(DDNS-update-method)# internal mycache altnumeoarecare

Specificam HTTP-ul ca mod de updatesi introducem url-ul de la No-IP (de exemplu…):
Router(DDNS-update-method)# http
Router(DDNS-HTTP)# add http://username:password%40dynupdate.no-
ip.com/nic/update%3Fhostname=domeniulmeu.com

Configuram si intervalul maxim de update(serviciul trebuie sa citeasca datele la un interval de timp, astfel incat sa nu apara itreruperi datorita schimbarilor de IP):
Router(DDNS-HTTP)# interval maximum 0 0 1 1 //(unde fiecare cifra reprezinta, in ordine, zile, ore, minute si secunde)

Bun… pana acum am configurat serviciul de update. In continuare trebuie sa-l asociem unei interfete:
Router(DDNS-HTTP)# exit
Router(DDNS-update-method)# exit
Router(config)# interface ethernet 1
Router(config-if)# ip ddns update hostname domeniultau.com
Router(config-if) ip ddns update unnumeoarecare (adica ala de la a treia linie de configurare)
Router(config)# exit

Serviciul ar trebui sa fie functional…
Succes!

Am primit cateva mail-uri in care mi se cereau diferite variante de IOS. Asa cum am scris si in respectivele mailuri, va spun si voua ca IOS-urile nu sunt gratuite. Sunt sisteme proprietare si e normal sa coste bani, in functie de caracteristici si implementari.

Totusi, daca vrei sa inveti cate ceva despre CISCO, un simulator nu iti este intotdeauna suficient. Asa ca apelezi la routere fizice sau la emulatoare tip GNS3. IAr pentru ele ai nevoie de IOS-uri.

Nu incurajez pirateria, ci doar ofer cateva sugestii, cum ar fi de exemplu amicul nostru Google, suficient de destept incat sa gaseasca ce ai nevoie…

De ex., o cautare generala dupa IOS ar putea avea urmatoarea sintaxa:

intitle:index.of ios parent directory bin

Bineinteles ca poti cauta si ceva mai specific, cum ar fi o anumita generatie de IOS-uri:

intitle:index.of c7200*.bin -site:cisco.com

sau

intitle:index.of c3640*.bin -site:cisco.com

Sa nu uitam nici de firewall:

intitle:index.of cisco pix*.bin -site:cisco.com

Sper ca v-am fost de ajutor! :)

Cisco a confirmat zilele trecute existenta a doua vulnerabilitati in platforma de securitate. Una dintre ele, destul de grava, profita de o greseala de validare in momentul procesarii URL-urilor codificate cu Rot13 in SSL VPN. Teoretic, se poate folosi vulnerabilitatea pentru a initia un atac  de Cross Site Scripting.

Cea de-a doua vulnerabilitate, destul de asemanatoare, se foloseste de o greseala de programare in validarea intrarilor in WebVPN. Tot teoretic, se poare rescrie primul caracter hexadecimal al unui URL Cisco… Restul vi-l imaginati singuri…

ORicum, problemele au fost rezolvate in versiunile 8.0.4.34 si 8.1.2.25, care pot fi decarcate de la:

http://www.cisco.com/public/sw-center
http://www.cisco.com/pcgi-bin/tablebuild.pl/ASAPSIRT

Ce face omul la servici cand freaca menta? Exceptand site-urile porno,deconectarea serverului de baze de date, sau alte trasnai voite sau nu? Probeaza.

Si nu fuste sau pantaloni… De exemplu se poate proba un IPSec intre un Cisco 2821 si un free BSD.  Am considerat eu ca o sa fie chiar amuzant. Si n-a fost!!! Pentru ca, pe langa faptul ca mi-a luat jumatate de zi, cunostintele mele de Unix-Linux-BSD n-au fost chiar necesare si, mai ales suficiente. Pana la urma i-am dat de cap, iar rezolvarea e cam asa:

Dupa cumpresupun ca stiti, IPSec functioneaza in 2 modalitati: transport si tunnel. In cazul nostru vom folosi a doua varianta, iar diagrama de configurare va fi urmatoarea:

Diagrama configurare

Prima chestie pe care n-am stiut-o dar cu ajutorul Google am aflat-o este faptul ca avem nevoie de cateva modificari in kernelul de freeBSD. Asadar,/ usr/src/sys/i386/conf

si modificam urmatoarele linii:

options IPSEC 
options IPSEC_DEBUG options IPSEC_DEBUG 
device  crypto device crypto 

Compilam apoi kernelul cu optiunile:

cd / usr / src 
make buildkernel KERNCONF=name make buildkernel KERNCONF = name 
make installkernel KERNCONF=name make installkernel KERNCONF = name 

Apoi, avem nevoie de cateva configurari in racoon (google it!):


cd / usr / ports / * / ipsec-tools 
make make

In fereastra de optiuni nu uitati sa debifati optiunea de NAT Transversal, altfel nu mai trec in veci pachetele de date.

Un make install va fi apoi suficient. Dar nu se termina totul aici. Pentru ca  in  fisierul:

/ usr / local / etc / racoon / racoon.conf

avem de modificat cam asa:

# $ KAME: racoon.conf.in, v 1.18 2001/08/16 06:33:40 itojun Exp $ 

         path include "/ usr / local / etc / racoon"; 

         path pre_shared_key "/ usr / local / etc / racoon / psk.txt"; 
         # path pre_shared_key "/ etc / psk.txt"; 

         # "Log" inseamna nivelul de logging. Este urnmat de  "notify", "debug" sau "debug2". 
         log notify; 

         # "Padding" defineste anumiti parametri de padding. Nu trebuiesc modificati. 
         padding 
         { ( 
           maximum_length 20; 
           randomize off; 
           strict_check off; 
           exclusive_tail off; 
         } ) 

         # Daca nu exista nici o directiva specificata, racoon va asculta toate interfetele. 
         listen 
         { ( 
           isakmp 10.3.7.1 [500]; 
         } ) 

         # Specificatii pentru timer. 

         timer 

         { ( 
         #Aceste valori pot fi schimbate pe nodul de remote. 
           counter 5; # couter maxim. 
           interval 20 sec; #intrvalul maxim de retransmisie. 
           persend 1; #numarul de pachete pe transmisie. 

         # Timer pentru completarea fiecarui pas. 
           phase1 30 sec; 
           phase2 15 sec; 
         } ) 

         # determinarea configuratiei primei faze a transmisiei: 

         remote 10.5.40.3    
         { ( 
             exchange_mode main;  # Nu toate IOS-urile au suport pentru asa ceva... 
             # exchange_mode aggressive; 
             doi ipsec_doi; 
             situation identity_only; 
             nonce_size 16; 
             lifetime time 60 min; 
             initial_contact on; 
             support_proxy on; 
             proposal_check obey;
            ( 
                     encryption_algorithm 3des;  # Metoda de criptare 
                     hash_algorithm sha1;  # metoda de hash 
                     authentication_method pre_shared_key;  # metoda de autentificare cu o cheie comuna 
                     dh_group 2; # Lungimea cheii Diffie-Hellman (grup 2 - 1024-bit) 
                  } ) 
         } ) 

         { sainfo subnet 10.5.5.0/24 any address 10.10.10.0/23 any ( 

             pfs_group 2; 
             lifetime time 24 hour; 
             encryption_algorithm aes; 
             authentication_algorithm hmac_sha1; 
             compression_algorithm deflate; 
         } ) 

         { sainfo subnet 10.5.6.0/24 any address 10.10.10.0/23 any ( 

     # Similar, pentru a doua subretea: 

             pfs_group 2; 
             lifetime time 24 hour; 
             encryption_algorithm aes; 
             authentication_algorithm hmac_sha1; 
             compression_algorithm deflate; 
         } ) 

Apoi se creaza un fisier pentru salvarea cheilor:


         cd / usr / local / etc / racoon 
         touch psk.txt touch psk.txt 
         chmod 600 psk.txt chmod 600 psk.txt 
         chown root:wheel psk.txt chown root: wheel psk.txt 

Ramane ca la final sa activam IPSec si Racoon in / etc / rc.conf:

         racoon_flags = "-l / var / log / racoon.log" 
         ipsec_enable="YES" ipsec_enable = "YES" 
         ipsec_file="/etc/ipsec.conf" ipsec_file = "/ etc / ipsec.conf" 

Intr-un viitor apropiat vom vedea si cum se configureaza routerul CISCO…

Incepand cu versiunea  12.3 de IOS, majoritatea routerelor Cisco pot fi folosite ca  primary DNS servers.

Configuratia e relativ simpla, folosindu-ne de o comanda numita  ip dns primary :

ip dns server
ip dns primary siteultau.com soa ns.siteultau.com
admin@siteultau.com 86400 3600 1209600 86400

Urmatorul pas ar fi acela de a defini nameserverul primar si secundar pentru domeniu tau, folosind comanda ip host ns :

ip host siteultau.com ns ns.siteultau.com
ip host siteultau.com ns ns.isp.com

La fel de usor poti defini si routarea mailului pentru domaniul tau cu ajutorul comenzii  ip host mx :

ip host siteultau.com mx 10 mail.siteultau.com
ip host siteultau.com mx 20 mail.isp.com

A nu se uita ca, la final, trebuie sa definim si hosturile domeniului :

ip host ns.siteultau.com 192.168.0.1 ! adresa IP a routerului
ip host www.siteultau.com 192.168.1.1
ip host siteultau.com 192.168.1.1 ! alternativa pentru www.siteul.com
ip host mail.siteultau.com 192.168.1.2

SUCCES!!!

PEntru ca am citit aici un articol interesant despre remote admin, unde se amintea si de setarea SSH pe un router CISCO, m-am gandit ca n-ar fi rau sa vedem cum se configureaza. Dupa cum bine stiti, toti CCNA-istii invata cum se configureaza un acces telnet, care insa nu ofera nivelul de siguranta necesar unei retele corporative.

SSH (Secure Shell) ofera doua tipuri de versiuni de conectare, numite simplu SSH 1 si SSH 2. De mentionat ca sunt doua protocoale de comunicatie total diferite, motiv pentru care recomand versiunea 2, care ofera mult mai multa securitate. In orice caz, trebuie sa mentionam ca toate IOS-urile mai mari de versiunea 12 au suport pentru SSH1, dar SSH2 suporta doar 12.3—12.3(4)T, 12.2(25)S, 12.3(7)JA sau mai noi, care suporta 3DES.

Haideti sa vedem si ce avem de facut pentru ca routerul nostru sa poata comunica:

Router(config)# hostname Routerulmeu
Routerulmeu(config)#
TR-Router(config)# ip domain-name Domeniulmeu.com
TR-Router(config)#
Routerulmeu(config)# crypto key generate rsa
The name for the keys will be: routerulmeu.Domeniulmeu.com
Choose the size of the key modulus in the range of 360 to 2048
for your General Purpose Keys. Choosing a key modulus greater than
512 may take a few minutes.

How many bits in the modulus [512]: 512
% Generating 512 bit RSA keys ...[OK]

TR-Router(config)#
*Mar  1 00:17:13.337: %SSH-5-ENABLED: SSH 1.5 has been enabled
TR-Router(config)#

SSH 1.5 este conventia folosita deCISCO pentru SSH1. Daca apare SSH 1.99 inseamna ca routerul suporta ambele versiuni de SSH.

Succes!!

Sa mergem mai departe cu configuratia initiala a unui router:

Configuratia unei interfete de retea:

configurare interfata de retea

configurare interfata de retea

ca de obicei, click pe imagine.

haideti sa vedem si comenzile si explicatia lor (daca e cazul):

RouterA> enable
RouterA# config terminal
RouterA(config)# interface fastethernet 0/0 * (intra in Submodul de Configuratie de Interfata)
RouterA(config-if)# ip address 192.168.0.1 255.255.255.0 (configureaza  IP-ul interfetei)
RouterA(config-if)# no shutdown (activeaza interfata)
RouterA(config-if)# description lan (aloca un nume interfetei)
RouterA(config-if)# exit
RouterA(config)#

* Tineti minte ca interfata poate fi  Ethernet sau Fast Ethernet si ca numarul poate fi 0, 1, 0/0, 0/1, etc. Datele variaza conform modelului de router…

La fel se configureaza si interfetele seriale ca DTE

In cazul DCE situatia e putin schimbata, dar nu cu mult:


RouterB> enable
RouterB# config terminal
RouterB(config)# interface serial 0/1
RouterB(config-if)# ip address 10.0.0.2 255.0.0.0
RouterB(config-if)# clock rate 56000 (configureaza sincronizarea intre link-uri)
RouterB(config-if)# no shutdown
RouterB(config-if)# description lan
RouterB(config-if)# exit
RouterB(config)#

Haideti sa vedem si explicatiile. In primul rand, va trebui sa ne lamurim ce este DTE si DCE.

Presupunem urmatoarea configuratie de retea:

dce+dte

dce+dte

Pentru comunicatiile pe distanta mare, WAN-urile utilizeaza transmisiunile seriale(bitii de date se transmit pe un singur canal). Acest tip de transmisie reprezinta o conexiune sigura, pe un rang specific de frecvente electromagnetice sau optice.

Pentru un router CISCO exista 2 tipuri de conexiuni seriale.

Daca respectiva conexiune se face direct cu providerul de internet sau prin intermediul unui dispozitiv care ofera semnal de temporizare, atunci routerul se numeste Terminal de Date (DTE).

Clar, exista si cea de-a doua varianta, si anume aceea in care routerul este cel care ofera temporizarea, caz in care se numeste DCE.

In concluzie, in situtia in care avem 2 routere conectate intre ele printr-un cablu serial, unul trebuie sa ofere temporizarea, caz in care folosim configuratia de mai sus.

Bun, daca am ajuns aici, atunci va propun pentru data viitoare un mic scenariu, si anume acela de a crea o arhitectura de retea care sa cuprinda vlan-uri, servere, routere, switch-uri, etc, intr-o formula complicata la prima vedere, dar pe masura ce vor exista si explicatiile, vom vedea ca este chiar simplu.

Respectivul scenariu va fi construit initial cu ajutorul PacketTracer (simulatorul celor de la Cisco) urmand ca pe viitor, aceeasi retea sa fie construita si in GNS3, cu masini virtuale, DMZ, firewall, etc.

Succes!

Cateva chestii putin mai avansate, pentru cei care se lovesc de asa ceva in retelistica. Promit sa nu mai fac si sa  explic de la 0 totul… :)

Split Tunneling: Este optiunea prin care clientul, in incercarea de a se conecta prin VPN, nu are acces la Internet:
int e0
ip address 192.168.40.51 255.255.255.0
sh int ip brief

FASA 1
crypto isakmp policy 20
authentication pre-shared
encryption 3des
hash md5
group 2

FASA II
crypto ipsec transform-set ESP_DES_SHA esp-des esp-sha-hmac
ip local pool VPNPOOL 11.0.0.1-11.0.0.20
<– pentru IP-ul clientilor de vpn

group policy clientgroup internal
group-policy clientgroup attributes
vpn-idle-timeout 20

Informatia trimisa clientului de VPN

dns-server value 192.168.1.20
split-tunnel-policy tunnel-all

username xxxxxx password xxxxxx

tunnel-group CISCO type ipsec-ra
tunnel-group CISCO general-attributes
address-pol VPNPOOL
default-group-policy clentgroup
authorization-server-group LOCAL
<- Propriul PIX il cere de forma automatica in local
authentication-server-group LOCAL

tunnel-group CISCO ipsec-attributes
pre-shared-key xxxxxxxxx

Cream un dinamic map in loc de crypto map

crypto dynamic-map DYNMAP 20 set transform-set ESP_DES_SHA
crypto map VPN 20 ipsec-isakmp dynamic DYNMAP
crypto map VPN interface outside
<- se aloca unei interfete

isakmp enable outside
isakmp identity address

username user1 password passsword1

COMPATIBILITATEA PROTOCOALELOR INTRE FAZA I SI II
In Faza I:

Cu aes folosim SHA
cu aes nu folosim niciodata MD5
Cu DEs nu folosim  SHA

In Faza II:

Cu 3des si Sha incompatibil
Cu aes si md5 incompatibil
cu aes si Sha sunt compatibile

TUNEL DINAMIC (urmatorii pasi in tunelul creat anterior)

crypto MAP MAPA 20 ipsec-isakmp dynamic DYN
tunnel-group CISCO type ipssc-va

tunnel-group CISCO general-attributes

group-policy clientegroup attributes
password-storage enable <- permite salvarea parolei pentru conexiuni posterioare.

…numai pentru cine intelege…

pentru ca m-au intrebat prietenii, mai jos gasiti cateva linii de configuratie SDM pentru un router Cisco intr-o retea virtuala GNS3:

Router(config)#username numele tau secret parola
Router(config)#username numele tau Privilege 15

Router(config)#ip http server

Router(config)#ip http authentication enable
Router(config)#ip http authentication local

Router(config)#line vty 0 4
Router(config-line)#login local
Router(config-line)#line con 0
Router(config-line)#login local

Pentru a functiona cu SSH adaugam:

Router(config)#ip http secure-server
% Generating 1024 bit RSA keys, keys will be non-exportable…[OK]

Router(config)#line vty 0 4
Router(config-line)#transport input telnet ssh

** Daca, prin absurd, nu functioneaza, deschideti un proiect GNS care functioneaza si stergeti partea cu placa de retea

… nu va ganditi la grilele de examen :) pe alea cautati-le singuri, desi nu vi le recomand. Nu din egoism, dar retelistica este o treaba seriosa si nu se merita sa aveti o diploma si sa nu aveti habar de ce aveti de facut.

Asadar, revenind la cadou, am gasit un site (http://packetlife.net/cheatsheets/) cu cateva fisiere PDF care va pot fi de mare ajutor. Fisierele sunt gratuite, si se pot distribui liber, asa ca mi-am permis sa le pun pe blog:

bgp cheatsheet

cisco-ios-versions

common-ports

eigrp

first-hop-redundancyip-access-lists

ipsec

ipv4-multicast

ipv6

is-is

mpls

ospf

qos

spanning-tree

subnetting

vlans_

Sper sa va fie de folos !

Pagina Următoare »