Documente Academic
Documente Profesional
Documente Cultură
Curs Retelistica Automatic A PDF
Curs Retelistica Automatic A PDF
ii | R e e l e L o c a l e
2.3 Reele locale virtuale .................................................................................................... 75
2.3.1 Tipuri de VLAN-uri ................................................................................................... 78
2.3.2 Legturi acces/trunchi ............................................................................................. 79
2.3.3 Metode de identificare............................................................................................ 79
2.4 Rutare ntre VLAN-uri ................................................................................................... 82
2.5 Rezumat ........................................................................................................................ 83
2.6 Studiu de caz:................................................................................................................ 84
2.6.1 Comenzi pe switchuri Cisco ..................................................................................... 84
2.6.2 ncapsularea pachetelor: dot1q .............................................................................. 87
2.7 Realizarea unui bridge ntre conexiuni n Windows Server 2008................................. 89
3 Adresarea IP.......................................................................................................................... 92
3.1 Prezentarea protocolului IP .......................................................................................... 92
3.1.1 Structura antetului IPv4 .......................................................................................... 92
3.1.2 Structura antetului IPv6 .......................................................................................... 94
3.1.3 Clase de adrese........................................................................................................ 95
3.1.4 Masca de reea ........................................................................................................ 97
3.1.5 Subreele ................................................................................................................. 98
3.1.6 Super-reele............................................................................................................. 99
3.1.7 ARP ........................................................................................................................ 100
3.1.8 DHCP ...................................................................................................................... 105
3.2 Definirea parametrilor de reea n Linux .................................................................... 106
3.2.1 Configurarea temporar........................................................................................ 106
3.2.2 Configurarea permanent ..................................................................................... 107
3.3 Configurarea serviciului DHCP pe un server Linux ..................................................... 108
3.3.1 Instalarea i configurarea serverului DHCP ........................................................... 108
3.3.2 DHCP Relay ............................................................................................................ 110
3.3.3 Exemplu de configurare DHCP .............................................................................. 110
3.4 Configurarea adreselor de reea n Windows Server 2008 ........................................ 112
3.4.1 Network and Sharing Center ................................................................................. 112
3.4.2 Network Connections ............................................................................................ 114
3.4.3 Vizualizarea parametrilor de reea........................................................................ 116
3.4.4 Configurarea manual a adreselor IP .................................................................... 118
3.4.5 Definirea unei configuraii IP alternative .............................................................. 120
3.4.6 Asignarea automat a adreselor private (APIPA) .................................................. 121
3.5 Configurarea din linia de comand............................................................................. 122
3.5.1 Verificarea unei conexiuni ..................................................................................... 124
3.5.2 Configurri statice i dinamice prin PowerShelL ................................................... 126
3.6 Studiu de caz............................................................................................................... 128
4 Rutarea n Internet ............................................................................................................. 132
4.1 Protocoale de rutare i protocoale rutate.................................................................. 132
4.1.1 Ce este Internetul? ................................................................................................ 132
4.1.2 Tabele de rutare .................................................................................................... 133
4.1.3 Clasificarea rutelor ................................................................................................ 134
4.1.4 Rute statice............................................................................................................ 136
4.2 Protocoale rutate ....................................................................................................... 136
4.3 Protocoale de rutare .................................................................................................. 137
4.3.1 Determinarea cii optime ..................................................................................... 137
4.3.2 Clasificarea protocoalelor de rutare ..................................................................... 138
4.3.3 Protocoale distance-vector ................................................................................... 138
4.3.4 Protocoale link state.............................................................................................. 139
4.4 Sisteme autonome...................................................................................................... 139
4.4.1 Ce este un sistem autonom? ................................................................................. 139
4.4.2 Protocoale de rutare inter-AS ............................................................................... 140
iii | C u p r i n s
4.5 Configurri la nivel de router n Linux ........................................................................ 141
4.5.1 Activarea rutrii..................................................................................................... 141
4.5.2 Configurarea rutelor.............................................................................................. 142
4.6 NAT - Network Address Translation ........................................................................... 144
4.6.1 Translatarea de adrese n Linux ............................................................................ 146
4.6.2 Alterarea avansat a pachetelor ........................................................................... 147
4.6.3 Tunelare ................................................................................................................ 148
4.6.4 Configurarea tunelului GRE n Linux...................................................................... 149
4.7 Rutarea n Windows Server 2008 ............................................................................... 150
4.7.1 Routing and remote access services ..................................................................... 150
4.8 Studii de caz ................................................................................................................ 157
4.8.1 ncapsularea pachetelor: exemplificare port forwarding ..................................... 157
4.8.2 ncapsularea pachetelor: exemplu de tunelare .................................................... 158
5 Wireless .............................................................................................................................. 162
5.1 Introducere n reele wireless .................................................................................... 162
5.1.1 Introducere n comunicarea wireless .................................................................... 162
5.1.2 Considerente de nivel fizic .................................................................................... 163
5.1.3 Standarde pentru reele locale (WLANs) .............................................................. 165
5.1.4 Wireless MAN ........................................................................................................ 167
5.1.5 Implementarea reelelor wireless ......................................................................... 167
5.1.6 Comunicarea wireless............................................................................................ 170
5.1.7 Securitatea wireless............................................................................................... 175
5.2 Configurarea unei reele wireless n Linux configurri de baz .............................. 176
5.2.1 De ce wireless pe Linux? ........................................................................................ 176
5.2.2 Configurri de baz ............................................................................................... 177
5.3 Configurarea unei reele wireless n Linux - configurri avansate ............................. 184
5.3.1 Partajarea unei conexiuni la Internet ntr-o reea ad hoc..................................... 184
5.3.2 Configurri de securitate n wireless ..................................................................... 186
5.4 Wireless n Windows Server 2008 .............................................................................. 191
5.4.1 Activarea serviciului Wireless n Windows Server 2008 ........................................ 191
5.4.2 Configurarea profilurilor wireless.......................................................................... 191
5.4.3 Conectarea la o reea wireless .............................................................................. 192
5.4.4 Managementul conexiunilor wireless ................................................................... 195
5.4.5 Conexiuni wireless ad hoc ..................................................................................... 196
5.5 Administrarea n linie de comand i PowerShell ...................................................... 198
5.5.1 Managementul serviciului wireless prin netsh wlan ............................................. 198
5.5.2 Managementul serviciului wireless prin PowerShell ............................................. 202
6 Securitate i monitorizare .................................................................................................. 206
6.1 Secure Shell (SSH) ....................................................................................................... 206
6.1.1 Protocolul SSH ....................................................................................................... 207
6.1.2 Configuraii de baz SSH ....................................................................................... 209
6.1.3 Configuraii avansate SSH ..................................................................................... 212
6.2 Firewall ....................................................................................................................... 215
6.2.1 Filtrarea de pachete .............................................................................................. 216
6.2.2 Translatarea de adrese .......................................................................................... 218
6.2.3 Configurri avansate iptables ................................................................................ 220
6.3 Capturare pachetelor i analiza pachetelor. IDS/IPS. ................................................ 221
6.3.1 Wireshark configurri de baz ........................................................................... 221
6.3.2 Wireshark configurri avansate ......................................................................... 224
6.3.3 Snort captur de pachete n linie de comand. IDS/IPS. .................................... 225
6.4 Securitate i monitorizare n Windows Server 2008 .................................................. 230
6.4.1 Windows Firewall with Advanced Security ........................................................... 230
6.4.2 Monitorizare.......................................................................................................... 241
iv | R e e l e L o c a l e
7
v|Cuprins
9.1.2 Hypertext Transfer Protocol .................................................................................. 311
9.1.3 HyperText Markup Language ................................................................................ 312
9.1.4 Clieni web ............................................................................................................. 313
9.1.5 Servere web........................................................................................................... 313
9.2 Apache HTTP Server ................................................................................................... 314
9.2.1 Instalare ................................................................................................................. 315
9.2.2 Interaciunea cu serverul web............................................................................... 315
9.2.3 Configurare global ............................................................................................... 316
9.2.4 Gzduire virtual ................................................................................................... 328
9.3 Configurare suport SSL pentru Apache ...................................................................... 331
9.3.1 Activare modul. Configurare Port ......................................................................... 331
9.3.2 Generare certificat ................................................................................................ 332
9.3.3 Configurare virtual host ........................................................................................ 332
9.4 IIS 7 i Windows Server 2008...................................................................................... 333
9.4.1 Avantajele lui IIS 7 ................................................................................................. 334
9.4.2 Instalarea IIS 7 ....................................................................................................... 334
9.4.3 Interfaa de administrare ...................................................................................... 337
9.4.4 Adugarea unui site web ....................................................................................... 339
9.4.5 Configurarea site-urilor ......................................................................................... 341
9.4.6 Securitate .............................................................................................................. 345
9.4.7 Crearea i ntreinerea jurnalelor .......................................................................... 348
9.4.8 Crearea de directoare virtuale .............................................................................. 349
9.4.9 Aplicaie: Integrarea IIS 7 i PHP ........................................................................... 350
9.5 IIS 7 Configurri n linie de comand ....................................................................... 351
10
Securitatea reelei .......................................................................................................... 355
10.1
Riscuri de securitate ............................................................................................... 355
10.1.1 Principii de baz .................................................................................................. 355
10.1.2 Tipuri de atacuri de reea .................................................................................... 356
10.1.3 Prevenirea atacurilor ........................................................................................... 364
10.2
Auditarea reelei..................................................................................................... 365
10.3
Utilitare pentru asigurarea securitii .................................................................... 368
10.3.1 Nmap ................................................................................................................... 368
10.3.2 Metasploit ........................................................................................................... 370
10.4
Studii de caz ............................................................................................................ 373
10.4.1 ARP Poisoning...................................................................................................... 373
10.4.2 Firewalking .......................................................................................................... 377
11
Protocoale de nivel transport ......................................................................................... 380
11.1
Noiuni generale ..................................................................................................... 380
11.2
UDP ......................................................................................................................... 381
11.2.1 Caracteristici UDP ................................................................................................ 381
11.2.2 Formatul datagramelor UDP ............................................................................... 381
11.3
TCP .......................................................................................................................... 382
11.3.1 Caracteristici TCP ................................................................................................. 382
11.3.2 Formatul segmentelor TCP .................................................................................. 383
11.3.3 Conexiunea i comunicaia TCP........................................................................... 384
11.3.4 Controlul fluxului ................................................................................................. 392
11.4
Studiu de caz: Fragmentarea pachetelor UDP ....................................................... 395
12
Anexe .............................................................................................................................. 399
12.1
Anexa 1: Instalare Windows Server 2008 ............................................................... 399
12.2
Anexa 2: Sistemul de boot n Windows Server 2008.............................................. 404
1|Cuprins
Cine este...
Linus Torvalds este programator finlandez, cunoscut cel mai bine ca arhitectul ef al
nuceulului Linux (BDFL Benevolent Dictator For Life). Dup ce a primit o copie a
sistemului MINIX, a nceput lucrul la scrierea Linux pentru i386. S-a mutat in Statele Unite
unde susine micarea Open Software prin intermediul Linux Foundation. Este angajat al
Open Source Development Labs. Dezvolt n continuare kernelul Linux n cadrul comunitii
Linux.
Alan Cox este un programator britanic implicat n dezvoltarea nucleul Linux. n timp ce
era angajat la Universitatea Swansea din ara Galilor a instalat o distribuie de Linux ntr-o
reea intens folosit. A nceput s rezolve numeroase bug-uri i a rescris aproape integral
partea de reea din kernel. A ntreinut versiunea 2.2 de Linux, apoi a dezvoltat propria
versiune 2.4. A fost pentru o mult vreme considerat n cadrul comunitii Linux secundul
lui Linus Torvalds. Este un puternic susintor nrit programelor free/open-source.
David Miller este un dezvoltator al nucleului Linux implicat la partea de networking i
SPARC. A portat Linux pe arhitectura Sun Microsystem SPARC, argumentnd de ce Linux
merge mai bine dect Solaris. Este dezvolatorul stivei TCP/IP din Linux i unul din principalii
contribuitori la mbuntirea performaelor Linux n reelele cu trafic intens.
Dave Cutler este designer i devoltator al sistemelor de operare de la DEC (RSX-11M,
VMS, VAXELN) i de la Microsoft (Windows NT). S-a mutat de la DEC la Microsoft pentru a
conduce dezvoltarea Windows NT concentrndu-se pe implementarea sistemului de
operare pe procesorul pe 64bii Alpha de la DEC. Dupa dispariia DEC, a lucrat la portarea
Windows pe AMD 64.
aplicaiile: programe folosite direct de utilizator pentru rezolvarea unor sarcini specifice; n
aceast categorie intr suita Office, browser-e, clieni de e-mail, aplicaii multimedia, medii de
dezvoltare integrate etc.
aplicaii de baz: programele folosite n principal pentru gestiunea i administrarea sistemului
sau pentru a asigura servii aplicaiilor de nivel nalt; n aceast categorie intr interpretorul de
comenzi, compilatoare, linker-e, biblioteci etc.
2|Reele Locale
nucleul sau kernel-ul: componenta de baz (inima) sistemului de operare; conine cod care va
fi rulat n nivelul privilegiat al procesorului (supervisor) cu scopul de intermediere a accesului la
resursele fizice ale sistemului i de gestiune a acestora; nucleul este componenta esenial care
stabilete nivelul de performan i de securitate a sistemului de operare.
aplicaii
user space
aplicaii de baz
nucleu
kernel space
3|Cuprins
1
2
3
Descriere
Rdcina sistemului de fiiere
/bin/
/dev/
/etc/
Fiiere de configurare
http://www.gnu.org/
http://www.debian.org/doc/manuals/apt-howto/
http://www.pathname.com/fhs/
4|Reele Locale
/home/
/lib/
Biblioteci
/mnt/
/proc/
/root/
/sbin/
/usr/
/var/
/var/log/
Comenzile de baz pentru interaciunea cu sistemul de fiiere sunt: pwd, ls, cd, touch, rm,
mkdir, rmdir, cp, mv, link, unlink.
Pentru a afla informaii despre un utilizator al sistemului se pot folosi comnzile id sau
finger:
anaconda:~# id andreir
uid=1114(andreir) gid=1026(students) groups=1026(students),1037(rl)
anaconda:~# finger alexn
Login: alexn
Name: Alex Negrea
Directory: /home/students/alexn
Shell: /bin/bash
Never logged in.
No mail.
No Plan.
Utilizatorul privilegiat ntr-un sistem Unix este utilizatorul root cu uid-ul 0 i home-ul n
/root:
anaconda:~# head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
Utilizatorul root (de fapt utilizatorul cu uid-ul 0) are drepturi absolute n cadrul sistemului
i poate rula orice comand. Se recomand folosirea unui cont neprivilegiat. Doar atunci cnd
este nevoie se va folosi contul privilegiat.
Schimbarea unui utilizator se realizeaz cu ajutorul comenzii su urmat de introducerea
parolei pentru acel utilizator. Dac utilizatorul iniial este root, nu se solicit introducerea
parolei:
anaconda:~# head -1 /etc/passwd
5|Cuprins
root:x:0:0:root:/root:/bin/bash
anaconda:~# su - andreir
andreir@anaconda:~$ su - razvan
Password:
6|Reele Locale
anaconda:~# ls -l /etc/services
-rw-r--r-- 1 root root 18274 2007-02-02 04:09 /etc/services
anaconda:~# ls -l /var/mail/razvan
-rw-rw---- 1 razvan mail 0 2007-06-19 16:54 /var/mail/razvan
Exist i un echivalent binar al drepturilor exprimat n octal. Astfel, cele dou fiiere de mai
sus au drepturile 644, respectiv 660 n octal.
Cele trei drepturi de mai sus au semnificaii diferite cnd sunt folosite peste fiiere sau
directoare, conform tabelului de mai jos:
Drept
Efect fiier
Efect director
read
write
execute
7|Cuprins
Adugarea unui nou depozit nseamn adugarea unei noi linii n fiierul de configurare.
Aciunile care pot fi realizate cu ajutorul utilitarului apt sunt:
cutarea de pachete:
anaconda:/tmp# apt-cache search hevea
hevea - translates from LaTeX to HTML, info, or text
lyx - High Level Word Processor
hevea-doc - HeVeA documentation
http://kitenet.net/~joey/code/alien/
8|Reele Locale
Need to get 106kB of archives.
After unpacking 406kB of additional disk space will be used.
Do you want to continue [Y/n]? Y
n plus fa de apt, dpkg ofer opiuni pentru interogarea strii actuale a pachetelor sau a
coninutul acestora. Printre opiunile utile se numr:
9|Cuprins
anumit port i ofer resurse sau informaii unui client. Exemple de astfel de servere/daemoni
sunt: bind (Berkeley Internet Name Daemon), Apache/httpd, postfix, sshd, courier-imap.
n general, un serviciu este pornit la iniializarea sistemului de procesul init, primul
proces pornit de sistemul de operare. De aceea, n general, un daemon va avea asociat un
script de interaciune n /etc/init.d/. Operaiile de pornire, oprire, repornire a unui daemon
pot fi realizate, n mod generic, cu ajutorul unui astfel de script:
anaconda:/tmp# /etc/init.d/apache
Usage: /etc/init.d/apache {start|stop|reload|reload-modules|force-reload|restart}
anaconda:/tmp# /etc/init.d/bind9
Usage: /etc/init.d/bind9 {start|stop|reload|restart|force-reload}.
anaconda:/tmp# /etc/init.d/postfix
Usage: /etc/init.d/postfix {start|stop|restart|reload|flush|check|abort|force-reload}.
anaconda:/tmp# /etc/init.d/courier-imap
Usage: /etc/init.d/courier-imap {start|stop|restart|reload|force-reload}
State
PID/Program
name
tcp
tcp
tcp
tcp
tcp
tcp
tcp
[...]
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0.0.0.0:80
0.0.0.0:8080
0.0.0.0:113
0.0.0.0:21
141.85.37.25:53
127.0.0.1:53
0.0.0.0:25
0.0.0.0:*
0.0.0.0:*
0.0.0.0:*
0.0.0.0:*
0.0.0.0:*
0.0.0.0:*
0.0.0.0:*
LISTEN
LISTEN
LISTEN
LISTEN
LISTEN
LISTEN
LISTEN
3285/apache
3285/apache
3080/inetd
3179/vsftpd
2779/named
2779/named
3142/master
Diversele probleme care apar n cazul unei configurri invalide, defectuoase sau a altor
probleme sunt identificate prin intermediul jurnalelor. Fiecare serviciu folosete un fiier sau
subdirector n /var/log unde stocheaz diverse mesaje de informare sau avertizare pentru
administratorul de sistem. O intrare n cadrul fiierului de jurnalizare indic ora la care s-a
realizat intrarea (timestamp) i un mesaj de informare. Se folosete, de obicei, utilitarul tail
pentru a afia ultimele intrri dintr-un fiier de jurnalizare:
anaconda:/tmp# tail /var/log/mail.err
Sep 10 11:15:33 anaconda imapd-ssl: Error reading ACLs for INBOX.lists.gnupg.: Invalid
argument
Sep 10 11:16:04 anaconda last message repeated 5 times
Sep 10 11:16:26 anaconda last message repeated 4 times
Sep 12 12:14:18 anaconda courierpop3login: authentication error: Input/output error
[...]
10 | R e e l e L o c a l e
Rularea acestui script se poate realiza prin transmiterea ca argument interpretorului sau
prin rularea acestuia ca un executabil (dac are drept de execuie):
razvan@anaconda:/tmp$ bash hw.bash
Hello, World
razvan@anaconda:/tmp$ ls -l hw.bash
-rw-r--r-- 1 razvan razvan 41 Sep 13 14:45 hw.bash
razvan@anaconda:/tmp$ chmod a+x hw.bash
razvan@anaconda:/tmp$ ./hw.bash
Hello, World
0.2.8.3 Variabile
n programarea shell, ca i multe alte limbaje de scripting o variabil nu are un tip i poate
fi considerat, n funcie de nevoie, ir sau numr. Cteva exemple de iniializare de variabile
sunt enumerate mai jos:
var1=5
my_home_dir=/home/users/alpha
list=a b c d e
Referirea unei variabile se realizeaz prin prefixarea numelui acesteia cu $.
razvan@valhalla:~$ echo $a
5
razvan@valhalla:~$ b="a are valoarea $a"
razvan@valhalla:~$ echo $b
a are valoarea 5
11 | C u p r i n s
a=5
b=$((a+3))
echo $b
c=$(ls | wc -l)
echo $c
Cele mai folosite instruciuni de ciclare sunt for i while. Mai jos sunt prezentate cteva
exemple de folosire a acestora:
razvan@anaconda:/tmp$ for i in $(seq 1 10); do echo $i; done
1
2
3
4
5
6
7
8
9
10
razvan@anaconda:/tmp$ for i in "a b c"; do touch $i; done
razvan@anaconda:/tmp$ ls -l a b c
-rw-r--r-- 1 razvan razvan 0 Sep 13 14:51 a
-rw-r--r-- 1 razvan razvan 0 Sep 13 14:51 b
-rw-r--r-- 1 razvan razvan 0 Sep 13 14:51 c
razvan@anaconda:/tmp$ i=1; while test $i -le 5; do echo $i; ((i++)); done
1
2
3
4
5
12 | R e e l e L o c a l e
iulian:Iulian Moraru,,,
max:Maximilian Machedon,,,
cosmin:Cosmin Ratiu,,,
adrian:Adrian Nistor,,,
cristina:Cristina Carbunaru,,,
amihaiuc:Alex Mihaiuc,,,
13 | C u p r i n s
n sensul su de baz, un server trebuie s ofere servicii unor utilizatori sau altor servere,
ori, ca n cazul cel mai des intlnit n lumea real, o combinaie a celor dou. n termeni
tehnici, serverul reprezint, de fapt, sistemul de operare al mainii ce ndeplinete rolul de
server, mpreun cu aplicatiile pe care acesta le susine i le folosete pentru a putea oferi
serviciile menionate anterior. Evident, n aceste condiii, o platform de tip server va trebui
s suporte un nivel diferit de ncrcare i un mod diferit de utilizare a resurselor sale fa de o
platform desktop/workstation. De asemenea, un server trebuie s poat funciona o
perioad ndelungat de timp fr supraveghere i s implementeze mecanisme sigure de
recuperare n cazul erorilor sau evenimentelor neprevzute. Totodat, acestea trebuie
documentate ntr-un sistem de meninere a jurnalelor (logging) bine pus la punct pentru a
putea oferi rapid i coerent informaii despre evoluia sistemului. Acestea sunt, de asemenea,
aspecte prin care Windows Server 2008 se distaneaz de Vista i, implicit, de orice alt sistem
de operare orientat spre mediul desktop.
14 | R e e l e L o c a l e
n afar de Windows Server 2008, PowerShell mai poate fi instalat i poate rula pe
urmtoarele platforme:
Pentru toate sistemele de operare de mai sus este necesar prezena Microsoft .NET
Framework cel puin la versiunea 2.0.
La momentul scrierii acestei cri, versiunea curent de PowerShell ce poate fi descrcat
de pe site-ul Microsoft este Windows PowerShell 2.0 CTP21 (Community Technology Preview).
Versiunea de PowerShell inclus n Windows Server 2008 este 1.0. naintea instalrii unei
noi versiuni, este necesar dezinstalarea celei vechi folosind Add/Remove Programs sau
Programs and Features din Control Panel.
Pe versiunile de Windows pe 32 de bii, PowerShell se instaleaz implicit n directorul
%SystemRoot%\System32\WindowsPowerShell\v1.0.
Pe versiunile de Windows pe 64 de bii, varianta PowerShell pe 32 de bii se instaleaz n
directorul %SystemRoot%\SystemWow64\WindowsPowerShell\v1.0 iar varianta pe 64 de bii,
ca i n cazul anterior, la %SystemRoot%\System32\WindowsPowerShell\v1.0.
http://www.microsoft.com/technet/scriptcenter/topics/winpsh/pshell2.mspx
15 | C u p r i n s
0.3.2.4 Configurri
Interfaa PowerShell-ului poate fi configurat printr-un set relativ minimal de opiuni
disponibile prin clic-dreapta pe bara de titlu, la opiunea Properties.
Printre parametrii ce pot fi configurai se numr: mrimea buffer-ului, tipul de font folosit
i mrimea sa, mrimea ferestrei i a zonei ce poate fi derulat, precum i schema de culori
folosit.
Pentru a accesa ajutorul inclus n PowerShell, dup pornirea acestuia se poate introduce
comanda:
Get-Help
Majoritatea comenzilor PowerShell sunt simple, dar pot fi folosite n diverse combinaii.
Ele sunt usor identificabile dup formatul numelor: un verb i un substantiv separate printr-o
liniu (-), de exemplu: Get-Process, Start-Service, Get-Help. Din formatul comenzilor se
desprind cteva categorii:
Se observ c n rezultatul lui Get-Command sunt returnate doar acele comenzi specifice i suportate
nativ de ctre PowerShell, dar nu sunt listate toate comenzile suportate de acesta prin alias-uri sau din motive de
compatibilitate cu vechile comenzi DOS sau UNIX. Mai multe detalii n seciunea 0.3.2.10.
16 | R e e l e L o c a l e
[...]
DETAILED DESCRIPTION
[...]
PARAMETERS
[...]
n legtur cu lansarea programelor externe din PowerShell, trebuie avut n vedere faptul
c acesta mprumut aproape complet funcionalitatea oferit de cmd.exe, spre exemplu
posibilitatea lansrii de aplicaii att n linie de comand ct i a celor grafice (calculator,
notepad, etc) PowerShell identificnd executabilele de lansat n directoarele specificate de
variabila de mediu %PATH%, la fel ca i cmd.exe. De asemenea, redirectrile funcioneaz
identic. Afiarea variabilei de mediu %PATH% se poate face cu PowerShell prin comanda
Get-Content env:path.
Este posibil afiarea doar a unei categorii de informaii din pagina de ajutor. n exemplul
urmtor, se afieaz doar exemplele de utilizare ale comenzii Get-Process:
Get-Help Get-Process Examples
17 | C u p r i n s
sau
info <nume_comanda>
ce reprezint funcii interne ale PowerShell-ului care apeleaz Get-Help i pot fi privite ca
pe nite alias-uri.
Caracterul * poate fi folosit n cadrul comenzii Get-Help pentru a afia rezultatele mai
multor comenzi. Spre exemplu, urmtoarea comand afieaz toate seciunile de ajutor ce
ncep cu about, mpreun cu o scurt descriere a lor:
Get-Help about*
Pentru mai multe detalii legate de modul n care pot fi substituite irurile de caractere n
PowerShell (i n Windows, n general), se poate obine ajutor direct din interiorul PowerShellului introducnd comanda (totodat un exemplu pentru comanda anterioar):
Get-Help about_Wildcards
NPM(K)
-----17
5
4
34
5
10
2
PM(K)
----56868
1580
2604
49580
2120
24192
680
WS(K) VM(M)
----- ----9584
184
2320
51
4176
53
26888
342
3164
48
5000
155
996
21
CPU(s)
-----10.51
1.54
1.70
785.89
10.58
78.92
0.02
Id
-9308
556
604
10848
1416
3508
1408
ProcessName
----------winamp
wininit
winlogon
WINWORD
wlanext
WLTRAY
WLTRYSVC
Fr a i se aplica vreun filtru, comanda de mai sus afieaz sub forma unei liste civa
parametri ai interfeelor, ca prezena unei adrese IP, a unui server DNS, dac interfaa este
18 | R e e l e L o c a l e
configurat automat prin DHCP sau nu, numele su, etc, concatennd aceste informaii pentru
toate interfeele. La nivel de text, dac s-ar dori doar afiarea numelui interfeei i a adresei IP
configurate pe ea, s-ar folosi aceeai comand, filtrnd rezultatul su i pstrnd acelai mod
de afiare. n PowerShell, ns, rezultatul este un obiect din care se pot extrage doar
proprietile dorite, ca n exemplul urmtor:
get-wmiobject
Description
Win32_NetworkAdapterConfiguration
Select-Object
-property
IPAddress,
MemberType
Definition
------------------Method
System.Management...
Method
System.Management...
Method
System.Management...
Method
System.Management...
Method
System.Management...
Property
System.Byte DefaultTOS {get;set;}
Property
System.Byte DefaultTTL {get;set;}
Property
System.String Description {get;set;}
Property
System.Boolean DHCPEnabled {get;set;}
Property
System.String DHCPLeaseExpires {get;set;}
Property
System.String DHCPLeaseObtained {get;set;}
Property
System.String DHCPServer {get;set;}
Property
System.String DNSDomain {get;set;}
19 | C u p r i n s
0.3.2.10
NPM(K)
-----12
14
PM(K)
----247672
1796
WS(K) VM(M)
----- ----257788
368
2004
39
CPU(s)
-----435.57
0.22
Id
-7344
2544
ProcessName
----------AcroRd32
alg
Un fapt interesant de remarcat este c la utilizarea comenzii help, rezultatul este afiat n stilul
utilitarului more, din UNIX: tasta Enter pentru linia urmtoare sau Space pentru ecranul urmtor.
20 | R e e l e L o c a l e
65
109
133
154
47
187
[...]
3
3
4
6
2
10
2172
1216
1956
24324
1120
8288
796
968
3460
16160
472
7732
38
36
51
71
49
102
0.12
0.14
79.33
WS(K) VM(M)
----- ----257788
368
2004
39
796
38
968
36
3460
51
16160
71
472
49
7732
102
CPU(s)
-----435.57
0.22
0.12
0.14
79.33
0.11
33.62
2008
988
1952
1572
3452
1828
AppleMobileDeviceService
Ati2evxx
Ati2evxx
audiodg
brs
BTStackServer
Id
-7344
2544
2008
988
1952
1572
3452
1828
ProcessName
----------AcroRd32
alg
AppleMobileDeviceService
Ati2evxx
Ati2evxx
audiodg
brs
BTStackServer
PS C:\> Get-Proces
Handles
------243
127
65
109
133
154
47
187
[...]
NPM(K)
-----12
14
3
3
4
6
2
10
PM(K)
----247672
1796
2172
1216
1956
24324
1120
8288
0.11
33.62
LastWriteTime
------------8/1/2008
4:04 PM
Length Name
------ ---198444 procese.html
:
:
:
:
:
A14
Dell Inc.
Phoenix ROM BIOS PLUS Version 1.10 A14
3YN0W2J
DELL
- 27d70402
:
:
:
:
:
:
WORKGROUP
Dell Inc.
MM061
WIN-8J4PG74KHA9
Windows User
2145083392
De asemenea, WMI poate fi folosit i pentru interaciunea cu procese sau servicii. Listarea
lor se face prin comenzile: Get-WmiObject win32_process, respectiv Get-WmiObject
win_32_service. Atenie, aceste comenzi au rezultate extrem de voluminoase, din moment
ce afieaz toate informaiile ce pot fi extrase din obiectele de tip proces, respectiv serviciu. O
soluie pentru reducerea cantitii de informaii afiate o reprezint fie aplicarea unui filtru, fie
1
Se observ apoi, la vizualizarea paginii HTML obinute, c n aceasta au fost incluse sub forma capetelor
de tabel toate datele despre procese ce sunt returnate de comanda ps / Get-Process, mai exact, 62 de
parametrii specifici fiecrui proces, n comparaie cu cei 8 care sunt afiai implicit n consol, ceea ce confirm
nc o dat natura de obiect a rezultatelor comenzilor PowerShell.
21 | C u p r i n s
specificarea doar a anumitor cmpuri ce vor fi afate, mpreun cu valorile lor. n urmtorul
exemplu sunt interogate doar anumite proprieti ale obiectului ce ncapsuleaz informaii
despre sistemul de operare curent, obinut prin WMI:
PS C:\> Get-WMIObject -class Win32_OperatingSystem -property csname, Caption, Version,
TotalVirtualMemorySize, FreeVirtualMemory
__GENUS
__CLASS
[...]
__RELPATH
[...]
Caption
CSName
FreeVirtualMemory
TotalVirtualMemorySize
Version
: 2
: Win32_OperatingSystem
: Win32_OperatingSystem=@
:
:
:
:
:
Name
---iPod Service
DisplayName
----------iPod Service
:
:
:
:
:
:
1077
iPod Service
0
Manual
Stopped
OK
3. Se observ c serviciul este oprit. Se folosete metoda StartService() din obiectul de tip
serviciu returnat prin WMI pentru a-l porni:
PS C:\> (Get-WmiObject win32_service -filter "name='ipod service'").StartService()
__GENUS
__CLASS
__SUPERCLASS
__DYNASTY
__RELPATH
__PROPERTY_COUNT
__DERIVATION
__SERVER
__NAMESPACE
__PATH
ReturnValue
:
:
:
:
:
:
:
:
:
:
:
2
__PARAMETERS
__PARAMETERS
1
{}
:
:
:
:
:
:
0
iPod Service
904
Manual
Running
OK
22 | R e e l e L o c a l e
specifica sursa din care se extrag datele, cmpurile de interes precum i ce filtre se vor aplica
acestora, ntr-un printr-o sintax SQL:
PS C:\> get-wmiobject -query "select * from win32_service where name='dhcp'"
ExitCode
Name
ProcessId
StartMode
State
Status
:
:
:
:
:
:
0
Dhcp
1008
Auto
Running
OK
0-8: Obinerea strii unui serviciu folosind PowerShell i WMI, printr-o comand SQL
Exist, bineneles, o multitudine de alte moduri n care PowerShell poate fi folosit,
scurtturi i excepii n utilizare, dar detalierea acestora ar putea crea subiectul unei cri de
sine stttoare, aadar acestea vor fi excluse dintre subiectele tratate n paginile de fa.
Totui, pentru a putea aplica PowerShell n utilizarea diverselor servicii ce vor fi detaliate n
capitolele urmtoare, e necesar aprofundarea la un nivel mediu a tehnicilor de scripting n
PowerShell.
0.3.2.11
Scripting n PowerShell
n mod normal, e de ateptat ca orice interpretor de comenzi s suporte, nativ sau nu,
posibilitatea de a rula scripturi. Posibilitatea de scripting a existat i n trecut, prin intermediul
lui cmd.exe, dar capabilitile lui PowerShell se ridic mult deasupra acestora. Totodat, prin
scripting se observ mult mai clar interdependena dintre PowerShell i platforma .NET,
folosindu-se convenii de denumire i o sintax mult asemntoarelor limbajelor bazate pe
.NET, precum C#.
0.3.2.11.1
Evident, aceste msuri nu sunt suficiente dar ofer un grad sporit de evitare a procedurilor
ce ar putea cauza daune sistemului. Drepturile care stabilesc regulile dup care scripturile sunt
sau nu executate sunt dictate de politica de execuie activ n sistem. Pentru a vedea care este
aceasta, se folosete comanda urmtoare:
PS C:\> Get-ExecutionPolicy
Restricted
http://en.wikipedia.org/wiki/Rootkit i http://www.rootkit.com
23 | C u p r i n s
n exemplul de mai sus, politica activ este cea de Restricted, care este i cea implicit. Valorile
posibile pe care politica de execuie a sistemului le poate avea sunt:
Restricted: implicit, nu accept execuia niciunui script
AllSigned: sunt acceptate spre execuie doar scripturile semnate
RemoteSigned: este permis execuia scripturilor locale; restul trebuie semnate
Unrestricted: toate scripturile pot fi executate
Politica minim necesar pentru a putea rula local scripturi nesemnate este
RemoteSigned. Modificarea politicii curente de execuie n RemoteSigned se face cu
urmtoarea comand:
PS C:\> Get-ExecutionPolicy
Restricted
PS C:\> Set-ExecutionPolicy RemoteSigned
PS C:\> Get-ExecutionPolicy
RemoteSigned
0.3.2.11.2
Pentru a crea un script PowerShell, se creeaz un fiier text cu Notepad sau orice editor de
text i i se seteaz extensia ps1. Setarea unei alte extensii va avea ca efect, la rularea sa,
tentativa de a fi tratat de ctre Windows cu o aplicaie implicit ce accept extensia respectiv
i nu va fi executat de ctre PowerShell.
1. Se creeaz un fiier text cu urmtorul coninut:
$a = "Hello"
$b = "World!"
write-host $a
echo $b
0.3.2.11.3
Variabile
Atribuirea variabilelor cu o valoare se putea face i n trecut, prin intermediul lui cmd.exe
i al comenzii SET, cu diferena c acesta din urm nu suporta denumirea variabilelor folosind
spaii.
Dup cum se observ, nu s-a specificat nicieri tipul datelor ce sunt stocate n variabile.
Acest lucru poate crea uneori probleme n scripturi complexe, de aceea PowerShell ofer i
posibilitatea de a defini variabile cu tip. Cu alte cuvinte, PowerShell poate fi informat despre
1
24 | R e e l e L o c a l e
n secvena anterioar s-a atribuit valoarea 5 variabilei $a, dup care s-a afiat n consol
rezultatul expresiei $a + 3. Dup cum e de ateptat, se va afia 8.
Dar dac se ia n considerare exemplul urmtor:
$a = 7
$s = "un sir de caractere"
cod nesemnificativ
$a = "Nicoleta"
n continuare, cod nesemnificativ
write-host ($a + 7)
Pentru referirea la elementele unui vector, se folosete adresarea indexat, innd cont c
indecii elementelor dintr-un vector ncep de la 0 (zero), ca n majoritatea limbajelor de
programare i scripting: $vec[4], $vec[0], etc.
1
Exist i variabila predefinit $NULL. Orice variabil neiniializat (neutilizat) are coninutul egal cu
$NULL.
25 | C u p r i n s
Adugarea de noi elemente ntr-un vector se face tot prin intermediul operatorului +1:
PS C:\> $vec = $vec + 23, 48
PS C:\> Write-Host $vec
4 8 15 16 23 48
0.3.2.11.4
Expresii condiionale
Fragmentul de script de mai sus verific valoarea atribuit variabilei $a. Dac aceasta este
1 (numeric) va afia unu, daca este 2 va afia doi i pentru orice alt valoarea (inclusiv
valori non-numerice i alte tipuri) va afia diferit de unu sau doi2.
Dup cum se observ, singurul element relativ nou introdus este operatorul de egalitate
folosit n interiorul if-ului: eq. Exist o serie de ali operatori de comparaie ce pot fi folosii n
PowerShell, fiecare dintre acetia fiind descrii printr-o cratim (-) urmat de o abreviere de
dou litere a funciei numerice pe care acesta o ndeplinete precum i alte forme pentru
diferite tipuri de date. Lista este urmtoarea:
-eq Egalitate
-ne Inegalitate
-lt Mai mic
-le Mai mic sau egal
-gt Mai mare
-ge Mai mare sau egal
-contains Determin apartenena la un grup, retuneaz ntotdeauna [boolean]True sau
[boolean]False
-notcontains Determin neapartenena la un grup, retuneaz ntotdeauna
[boolean]$True sau [boolean]$False
-match Consisten la compararea prin expresii regulate
-notmatch Inconsisten la compararea prin expresii regulate
-like Consisten la compararea cu wildcard-uri
-notlike Inconsisten la compararea cu wildcard-uri
-band I binar
-bor SAU binar
-bnot negaie binar
-is Este de tipul (ex: $x is [int])
-isnot Nu este de tipul (ex: $x isnot [single])
1
2
26 | R e e l e L o c a l e
n plus, PowerShell implementeaz variantele case sensitive ale unor comenzi prezentate
mai sus (-clt, -cgt, -cle, -cge, -ceq, -cne, -clike, -cnotlike, -ccontains, cnotcontains, -cmatch, -cnotmatch), precum i o serie de operatori speciali, pe lng cei
clasici, ca +, -, /, %, *, !:
10)
& Operator de apel (ex: $a = Get-ChildItem &$a va executa Get-ChildItem)
-F Operator de formatare (ex: foreach($p in Get-Process) {"{0,-15} has {1,6}
handles" F $p.processname,$p.Handlecount} are ca efect afiarea liste de procese
n formatul <nume_proces> has <x> handles)
0.3.2.11.5
Instruciuni de ciclare
n PowerShell exist 4 moduri n care se pot defini ciclurile (repetiiile): for, foreach,
while i do..while.
Ciclul for are exact aceeai sintax ca i n limbajul C, spre exemplu:
for(<iniializri>;<condiie>;<repetare>)
{
<instruciuni>
}
27 | C u p r i n s
Din nou similar cu C, sintaxa unei construcii de tip While este urmtoarea:
while(<condiie>)
{
<instruciuni>
}
write-host $a
$a++
} while ($a -lt 10)
0.3.2.12
Aplicaii PowerShell
Dup enumerarea unei bune pri a capabilitilor de scripting ale lui PowerShell, pot fi
analizate o serie de exemple de utilizare mai complexe, folosind structurile studiate mai sus.
Fie urmtoarea secven de script:
Get-Service | ForEach {if ($_.Status -eq "Running") {write-host $_.DisplayName}}
n exemplul do..while nu este artat valoarea cu care este iniializat variabila $a. Implicit,
valoarea acesteia este $NULL. Exist anumite optimizri pentru lucrul cu aceast valoare, ca spre exemplu $a++,
n condiiile n care $a este $NULL, va returna valoarea 1, dar nu este recomandabil lucrul cu variabile
neiniializate.
28 | R e e l e L o c a l e
Get-ChildItem D:\Logs\* -include *.txt |
foreach {move-item $_ ($_ replace(".txt",".bak"))}
Codul de mai sus obine o list a tuturor fiierelor cu extensia .txt din directorul
D:\Logs\ i o trimite unui ciclu foreach care itereaz pe fiecare element i ruleaz comanda
move-item cu doi parametri: primul ramne numele fiierului primit din pipe iar al doilea
reprezint tot numele fiierului curent, dar cu extensia .txt substituit n .bak. Cu alte
cuvinte, comanda redenumete toate fiierele text din D:\Logs\ schimbndu-le extensia .txt
n .bak.
0.3.2.13
Dup cum se observ, Windows Registry este considerat ca fiind o unitate (un drive)
separat, numit HKLM (Hive Key Local Machine). Registry-ul este mprit n mai multe zone
logice, denumite hive-uri, ce poart denumirile din Windows API2 i prescurtri ca HKLM
(...Local Machine), HKCU (...Current User), HKCR (...Classes Root), HKU (...Users), etc.
Cu toate c Registry-ul este tratat ca un arbore, tentativa de a afia coninutul cheii Run
printr-un simplu dir va returna doar rezultatul urmtor:
PS HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run> dir
Hive:
Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersio
n\Run
SKC
--3
VC Name
-- ---1 OptionalComponents
Property
-------{(default)}
Acest lucru se ntmpl deoarece doar cheile sunt considerate obiecte, valorile lor fiind
tratate ca proprieti. Aadar, pentru obinerea valorii unei chei se poate folosi comanda GetItemProperty, eventual cu parametrul ., adic directorul curent, pentru a afia toate
valorile cheilor din locaia curent:
PS HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run> Get-ItemProperty .
[...]
PSChildName
PSDrive
PSProvider
IntelliPoint
SigmatelSysTrayApp
Windows Defender
SynTPEnh
vmware-tray
:
:
:
:
:
:
:
:
Run
HKLM
Microsoft.PowerShell.Core\Registry
"C:\Program Files\Microsoft IntelliPoint\ipoint.exe"
sttray.exe
C:\Program Files\Windows Defender\MSASCui.exe -hide
C:\Program Files\Synaptics\SynTP\SynTPEnh.exe
C:\Program Files\VMware\VMware Workstation\vmware-tray.exe
Este vorba despre cheia Run din HKEY_LOCAL_MACHINE. Excepia o reprezint cheia Run din
HKEY_CURRENT_USER care specific executabilele ce vor fi rulate doar cnd utilizatorul se autentific n
sistemul de operare.
2
http://msdn.microsoft.com
29 | C u p r i n s
VMware hqtray
:
googletalk
:
GrooveMonitor
:
Broadcom Wireless Manager UI :
SunJavaUpdateSched
:
VC
-0
0
0
0
2
0
Name
---HKEY_LOCAL_MACHINE
HKEY_CURRENT_USER
HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_PERFORMANCE_DATA
HKEY_USERS
Property
-------{}
{}
{}
{}
{Global, Costly}
{}
:
:
:
:
audio
Winamp.File.MP3
audio/mpeg
WMP11.AssocFile.MP3
0.3.2.14
Ora i data
Pentru a separa data i ora curent, se folosete parametrul DisplayHint lng care se
poate specifica date sau time:
PS C:\Users\Administrator> Get-Date -DisplayHint date
Saturday, August 02, 2008
PS C:\Users\Administrator> Get-Date -DisplayHint time
7:49:00 PM
De fapt, Get-Date returneaz deopotriv informaii legate de data i ora curent. Nu exist o
comand Get-Time ci doar parametri suplimentari ai lui Get-Date.
30 | R e e l e L o c a l e
C Impropriu denumit secol (century), de fapt extrage primele dou cifre ale anului (20 pentru
2008)
Y An de patru cifre
b Numele prescurtat al lunii
B Numele complet al lunii
M Lun de dou cifre
V Numrul sptmnii n intervalul 01..53
a Numele prescurtat al zilei sptmnii
A Numele complet al zilei sptmnii
u Numrul zilei sptmnii, ncepnd cu 1 corespunztor lui luni (Monday)
d Ziua din lun n dou cifre
j Ziua din an
r Timpul n format de 12 ore
T Timpul n format de 24 de ore
p ante meridian (a.m.) sau post meridian (p.m.)
H Ora n format de 24 de ore
I Ora n format de 12 ore
m Minute
S Secunde
Calcularea datelor din trecut sau viitor se face tot prin metode aplicate lui Get-Date, ca n
exemplele de mai jos. Se observ c scderea unitilor de timp se face prin aceleai metode,
dar argumente negative:
(Get-Date).AddMonths(3)
(Get-Date).AddHours(145)
(Get-Date).AddYears(-2)
Calcularea intervalului de timp dintre dou evenimente este util n special pentru
msurarea timpului de rulare a unui script i poate fi realizat ca n exemplul de mai jos:
$start = Get-Date
31 | C u p r i n s
<instruciuni>
$stop = Get-Date
$timediff = New-TimeSpan $start $stop
Write-Host Scriptul a rulat + $timediff.milliseconds + " milisecunde."
32 | R e e l e L o c a l e
1 Nivelul fizic
Ce se nva din acest capitol:
Cine este...
Alexander Graham Bell este un inventator i om de tiin eminent, creditat cu
inventarea telefonului. n 1881, primele cabluri torsadate (twisted pair) au fost folosite n
sistemele telefonice proiectate de Bell.
1.1 Semnale
La nivel fizic, unitatea de organizare a datelor este bitul. Biii pot fi reprezentai i
transmii printr-un canal de comunicaie cu ajutorul semnalelor. Rolul fundamental al nivelului
fizic este acela de a transforma semnalul n bii. tiind c la nivel fizic se lucreaz doar cu
semnale, sunt importante mijloacele prin care biii pot fi transportai ct mai eficient.
n cele ce urmeaz vor fi prezentate diverse tehnici i dispozitive ce fac posibil
optimizarea transferului de bii printr-un canal fizic.
33 | N i v e l u l f i z i c
se va citi 0,9, adic numrul 9. Transmisie eronat! Dac n schimb se folosete transmisia
digital, va trebui convertit 7 n binar, iar numrul 111 va fi transmis digital. Transmisia poate
avea 2 valori: spre exemplu, 0 logic ntre amplitudinile 0,1 i 0,4 i 1 logic ntre 0,8 i 1. Dac se
dorete transmiterea lui 1 logic de 3 ori, practic vor fi transmise 3 impulsuri cu amplitudinea
de 0,8. Dac la ele se adaug interferenele prezente pe linie, la cellalt capt vor fi citite 3
impulsuri de amplitudine 1, ceea ce nseamn tot 1 logic. Transmisie corect! Este adevrat c
exist numeroase cazuri n care datorit interferenelor prea mari se emite 0 i se
recepioneaz 1 sau invers, ns, n comparaie cu transmisia analogic, cea digital este mult
mai precis i mai robust.
Tipurile de semnale discutate mai jos sunt n marea lor majoritate digitale (acestea sunt
cele mai folosite n reele de calculatoare); atunci cnd este vorba despre semnale analogice,
acest lucru va fi precizat explicit.
34 | R e e l e L o c a l e
Date
Date
analogice
(ex: voce)
Dispozitiv
Semnal
Semnal
analogic
telefon
Date
digitale
(ex: text)
Date
analogice
Date
digitale
modem
Semnal
analogic
codec
Semnal
digital
digital
transceiver
Semnal
digital
1.1.2 Codarea
De-a lungul timpului au existat numeroase forme de transport al informaiei pe distane
lungi. Fiecare dintre aceste metode avea o anumit form de codare a informaiei. De
exemplu, indienii apache fceau un foc mare pe un deal i cu ajutorul unei pturi formau
rotocoale de fum. O variant de codare folosit ar putea fi: 3 rotocoale de fum nseamn c
este vnat mult prin zon, 4 rotocoale mari i dou mici nseamn c vine furtuna, etc. Apariia
codului Morse a revoluionat la vremea respectiv comunicaiile: fiecare liter avea propriul ei
simbol format din semnale lungi i scurte.
Procesul de transformare a informaiei ntr-un semnal ce poate fi transportat pe un canal
fizic se numete codare.
Transmiterea informaiei n reelele de calculatoare presupune aplicarea mai multor
procese de codare la diferite niveluri ale stivei OSI precum segmentarea datelor,
comprimarea datelor sau criptarea. Desigur, pentru a transmite informaia, aceasta trebuie
35 | N i v e l u l f i z i c
convertit ntr-un semnal digital binar. La nivelul fizic, pasul urmtor const n codarea
semnalului binar ntr-un alt semnal adecvat mediului fizic precum variaii ale nivelului de
tensiune ntr-un cablu de cupru, sau variaii ale luminozitii ntr-o fibr optic. Mai jos sunt
prezentate cteva metode de codare ale semnalelor binare n semnale fizice.
1.1.2.1.2 NRZI
n codarea Non-Return-to-Zero Inverted valoarea semnalului trece de pe un nivel pe altul
doar atunci cnd n irul de bii apare valoarea 1 logic. Ca exemplu, dac n starea curent
semnalul se afla pe nivelul de tensiune joas, la apariia unui bit de valoare 1, va trece pe
tensiune nalt. Apariia unuia sau mai multor bii de 0 nu schimb n niciun fel nivelul de
tensiune. Acesta va reveni la tensiune joas doar pentru a reprezenta urmtorul bit de 1
ntlnit n ir.
36 | R e e l e L o c a l e
Pentru exemplificare, n figura 1-3 este reprezentat codarea caracterului K n cele patru
variante discutate.
Caracterul A n hexazecimal are valoarea 0x41. Cum litera K se afl la o distan de 10
litere de A, nseamn c reprezentarea lui K n hexa este 0x4B.
A = 0x41, B = 0x42, ..., I = 0x49, J = 0x4A,
K = 0x4B
Reprezentarea binar:
4(16) = 4(10) = 0100(2)
B(16) = 11(10) = 1011(2)
Reprezentarea binar pentru litera K este 0100 1011.
clock
date
0
1
NRZ - L
NRZI
Manchester
Manchester
diferenial
1.1.3 Modularea
Modularea se refer la modificarea unui semnal folosind un alt semnal. ntr-o transmisie
radio semnalul cu ajutorul cruia este transportat informaia este o und, de exemplu o
sinusoid. Transmitorul emite n permanen o sinusoid (caracterizat de amplitudine,
frecven i faz) cu toi parametrii constani. n acest caz, cantitatea de informaie este nul,
adic pe aceast sinusoid nu este transmis niciun fel de informaie util. n momentul n
care ncepe transmisia datelor, semnalul util de date, adic biii, sunt folosii pentru a varia
parametrii sinusoidei. Cu alte cuvinte, datele - adic biii se reprezint prin modificri ale
37 | N i v e l u l f i z i c
sinusoidei iniiale. Cum, sau mai exact, ce trebuie modificat la sinusoid? Pot fi modificai
urmtorii parametri:
1.1.4 Multiplexarea
Multiplexarea este procedeul prin care mai multe canale de date sunt combinate ntr-un
singur canal fizic. Demultiplexarea este procesul invers multiplexrii, de separare a canalelor
iniialedin canalul fizic .
Exist numeroase tehnici de multiplexare, ntre care se numr:
TDM (Time Division Multiplexing): informaiilor din fiecare canal de date li se aloc o cuant de
timp predefinit, indiferent dac pe acele canale se transmite sau nu.
ATDM (Asynchronous time-division multiplexing): informaiilor din fiecare canal de date li se
aloc o cuant de timp variabil, n funcie de numrul de canale utilizate n acel moment.
FDM (Frequency Division Multiplexing): fiecare canal primete o anumit band de frecven.
Statistical multiplexing - Banda este alocat n mod dinamic fiecrui canal care are informaii
de transmis.
DWDM (Dense Wavelength Division Multiplexing) este o form de multiplexare dezvoltat
pentru transmisia pe fibr optic. DWDM este echivalentul optic al multiplexrii FDM.
38 | R e e l e L o c a l e
1.1.5.1 Latena
Latena, numit i ntrziere, este de dou tipuri: latena propagrii prin mediul de
transmisie i latena trecerii prin echipamentele de reea.
Primul tip de laten este dat de viteza de propagare a semnalului n mediul de transmisie
specific i de distana ntre surs i destinaie. De exemplu, pentru o transmisie prin mediul
electric viteza de propagare a semnalului este aproximativ dou treimi din viteza luminii.
Aceasta nseamn c un impuls electric va parcurge un segment de reea de 100 m n
100
0,5 10 6 secunde.
2
( 3 10 8 )
3
A doua surs a latenei o reprezint echipamentele de reea folosite pe parcurs. Fiecare
echipament execut operaii specifice, de la redresarea semnalului electric, pn la
determinarea cii optime pe care trebuie trimis fiecare pachet. Latena dispozitivelor de
interconectare variaz de la cteva microsecunde n cazul hubului i a convertoarelor de
mediu, pn la milisecunde n cazul comutatoarelor i a routerelor. Astfel, comparativ cu
latena introdus de un repetor Ethernet, de aproximativ 5,6 microsecunde, latena mediului
de conectare este cu un ordin de mrime mai mic.
Latena propagrii este n general semnificativ mai mic dect latena dispozitivelor de
interconectare, astfel nct deseori este considerat drept neglijabil. Cu toate acestea, exist
cazuri n care latena propagrii este factorul principal al ntrzierii totale a unui semnal, cel
mai relevant exemplu fiind cel al comunicaiilor prin satelit. Folosirea sateliilor geostaionari
face ca drumul total ntre surs i destinaie s fie de peste 75.000 km, aducnd latena total
a oricrei transmisiuni n jurul valorii de 0,5 secunde.
1.1.5.2 Atenuarea
Atenuarea este un termen general care se refer la reducerea puterii unui semnal.
Atenuarea are loc indiferent de tipul de semnal, analogic sau digital. Numit uneori i
pierdere (loss), atenuarea este o consecin a transmiterii semnalului la distane mari.
Atenuarea afecteaz reelele de calculatoare deoarece limiteaz distana maxim ntre
dispozitivele acesteia. Dac distana este prea mare, din cauza atenurii, la destinaie nu se va
mai putea interpreta semnalul corect.
39 | N i v e l u l f i z i c
Pentru transmisia la distane mai mari dect permite tipul de cablu utilizat se folosesc
anumite dispozitive, numite repetoare, care regenereaz semnalul (din punct de vedere
electric, optic sau wireless). Atenuarea afecteaz toate tipurile de medii de transmisie, ns are
valori diferite pentru fiecare mediu n parte. De exemplu, un semnal electric transmis pe un fir
de cupru se atenueaz mai repede dect un semnal optic (transmis pe o fibr optic).
Atenuarea n general se msoar n decibeli (dB), iar atenuarea specific unui anumit tip de
cablu se msoar n decibeli/metru sau decibeli/kilometru. Fiecare tip de cablu are o atenuare
specific. Cu ct aceast atenuare este mai mic, cu att acel cablu este considerat mai bun.
Atenuarea este un factor foarte important de luat n calcul n cazul proiectrii reelelor de fibr
optic. Echipamentele de fibr optic garanteaz o anumit distan (specificat n cartea
tehnic), ns aceast distan este garantat pentru o fibr optic cu o anumit atenuare / km
(specificat tot n cartea tehnic). Dac se folosete o fibr optic cu o atenuare mai mare,
atunci distana maxim garantat va fi mai mic. Dac ns se folosete fibr optic de o mai
bun calitate, transmisia va fi corect i la distane mai mari dect cea specificat.
Cum se determin distana maxim posibil pentru o transmisie?
Echipamentele impun o anumit valoare a atenurii care nu trebuie depit. Se poate
considera c:
1.1.5.3 Reflexia
Reflexia are loc de obicei atunci cnd un semnal ntlnete o linie de separaie ntre dou
medii. Atunci, o anumit parte din semnal se reflect napoi n mediul din care a venit i o
parte trece n mediul urmtor.
Reflexia poate aprea n cazul semnalelor electrice cnd, de exemplu, impulsurile electrice
sau biii ntlnesc o discontinuitate, moment n care o anumit parte din energia semnalului se
reflect. Dac nu este controlat, aceast energie poate interfera cu biii transmii mai trziu.
Milioane de bii sunt transmii n fiecare secund, iar aceast energie reflectat poate duce la
multe transmisii nereuite. Un exemplu este o reea pe cablu coaxial care are nevoie de un
terminator la fiecare capt. Dac nu ar avea acest terminator, la captul cablului ar aprea o
linie de separare ntre cele dou medii (aer i cupru), iar o parte din energie s-ar reflecta napoi
n firul de cupru.
Reflexia poate avea loc i n cazul sistemelor optice. Un semnal optic se reflect ori de cte
ori ntlnete o discontinuitate n fibra de sticl, ca de exemplu atunci cnd se ataeaz un
conector. De aceea este necesar o pregtire special n cazul atarii conectorilor de fibr
optic, pentru a nu permite reflexia luminii napoi n fibr.
1.1.5.4 Zgomotul
Zgomotul este o cantitate de energie nedorit (electric, electromagnetic sau radio) care
poate degrada calitatea semnalului transmis. Zgomotul afecteaz att transmisiile analogice
ct i cele digitale. n cazul semnalelor analogice, semnalul devine bruiat i uor deformat. Un
exemplu este o convorbire telefonic pe care se aude un zgomot de fond. n sistemele digitale,
zgomotele afecteaz valorile biilor transmii (0 sau 1), la destinaie acetia putnd fi
interpretai greit (adic 1 n loc de 0 i invers).
Zgomotul poate avea mai multe cauze: cmpurile electrice provenite de la motoare
electrice, lumina fluorescent (neoane), etc. - toate provenite de la surse exterioare cablului
afectat. Acest tip de zgomot se numete EMI (Electromagnetic Interference - Interferen
40 | R e e l e L o c a l e
Electromagnetic) dac provine de la surse electrice sau RFI (Radio Frequency Interference Interferen Radio) cnd provine de la surse radio, radar sau microunde. Zgomotul mai poate
proveni de la liniile de curent alternativ sau de la fulgere.
Fiecare fir dintr-un cablu poate aciona ca o anten. Cnd acest lucru se ntmpl, firul
practic absoarbe semnale electrice din celelalte fire din cablu sau din surse electrice exterioare
cablului. Dac zgomotul electric rezultat atinge un nivel destul de nalt, poate deveni foarte
dificil sau chiar imposibil pentru echipamentul de la cellalt capt s disting semnalul de
zgomot.
1.1.5.5 Crosstalk
Cablurile de cupru sunt afectate de interferene electromagnetice de la diferite surse din
afara cablului. Totui, cea mai important surs de zgomot pentru cablurile de cupru o
reprezint efectul numit crosstalk: interferena semnalelor ntre dou fire din interiorul
aceluiai cablu. Una dintre cele mai eficiente metode de prevenire a efectului de crosstalk este
torsadarea firelor. Prin torsadare, cmpurile electrice se anuleaz i firele din celelalte perechi
nu mai sunt influenate de semnalul din perechea iniial. De multe ori apar ns probleme la
ataarea conectorilor. Dup cum se va vedea n studiul de caz din acest capitol, atunci cnd se
dorete ataarea unui conector la captul unui cablu trebuie nti detorsadate toate perechile
din interiorul cablului. Dac se las o bucat prea mare detorsadat, n acea zon cmpurile
electrice generate de fiecare fir dintr-o pereche nu se vor mai anula i va aprea o interferen
ntre fire, numit NEXT (Near-End Crosstalk). Acest parametru, NEXT, este specific fiecrui
cablu. Cu ct un cablu este terminat (adic mufa este sertizat) cu mai mult atenie, cu att
efectul NEXT va fi mai mic. Valoarea maxim a parametrului NEXT este specific fiecrei
categorii de cablu (Cat3, Cat5, Cat6): cu ct categoria este mai mare, cu att interferena NEXT
trebuie s fie mai mic (adic se impune o calitate mai ridicat a sertizrii cablurilor).
Terminarea cu grij a cablurilor este cea mai important metod de prevenire a efectului
de crosstalk.
41 | N i v e l u l f i z i c
42 | R e e l e L o c a l e
ScTP, cte un nveli separat pentru fiecare pereche. Acest lucru l face mult mai rezistent la
interferene, dar i mult mai scump. n plus, fiind mai rigid, este i ceva mai greu de manevrat.
43 | N i v e l u l f i z i c
44 | R e e l e L o c a l e
UTP CAT5e a devenit cel mai rspndit mediu de transmisie pentru reelele locale.
Datorit performanelor mbuntite fa de versiunea original, i datorit unui pre mult
mai mic dect al CAT6, CAT5e este cea mai potrivit alegere pentru infrastructura reelelor
Gigabit Ethernet. Cu toate acestea, CAT5e menine recomandarea limitrii segmentelor de la
cablu la 100 de metri, la fel ca i n cazul celorlalte tipuri de cabluri definite de TIA/EIA.
Este de reinut faptul c standardul folosit pentru Gigabit Ethernet, 1000BASE-T, impune
utilizarea a 4 perechi de fire torsadate, spre deosebire de versiunile anterioare (10BASE-T i
100BASE-T) care foloseau n comunicaie doar dou perechi. Aadar, standardul de Ethernet
ales pentru infrastructur este cel care specific numrul de perechi necesare n comunicaie,
i nu standardul de cablu. Categoria specific doar caracteristicile specifice cablului, precum:
numrul de perechi existente, pasul de torsadare, diametrul firelor, parametrii NEXT, FEXT i,
cel mai important, limita superioar de frecven. Astfel, un cablu CAT5e folosit pentru
100BASE-T (FastEthernet) utilizeaz n comunicaie 2 perechi de fire din cele 4 disponibile, n
timp ce acelai cablu pentru infrastructuri de 1000BASE-T (Gigabit Ethernet) necesit toate
cele 4 perechi.
45 | N i v e l u l f i z i c
Categorie
cablu
Viteza de
transmisie
Frecven
Cat 1
1Mbps
Cat 2
4Mbps
Cat 3
16MHz
10 Mbps
100 Mbps
Cat 4
20MHz
16 Mbps
100 Mbps
Cat 5
100MHz
Cat 5e
155MHz
Cat 6
Cat 6a
Cat 7
Cat 8
250MHz
500MHz
625MHz
1200Mhz
10 Mbps
100 Mbps
10 Mbps
100 Mbps
1 Gbps
100Mbps
1 Gbps
10 Gbps
10 Gbps
10 Gbps
Utilizare
Telefonia
clasic
Transmisiuni
seriale
TokenRing
10BaseT
100BaseT4
TokenRing
10BaseT
100BaseT4
ATM,
TokenRing,
10BaseT
100BaseTX
10BaseT,
100BaseTX,
1000BaseT
100BaseTX
1000BaseT
10GBaseT
10GbaseT
10GbaseT
T568 B
Pin
T568 A
Alb-portocaliu
Portocaliu
Alb-Verde
Albastru
Alb-albastru
Verde
Alb-maro
Maro
1
2
3
4
5
6
7
8
Alb-Verde
Verde
Alb-portocaliu
Albastru
Alb-albastru
Portocaliu
Alb-maro
Maro
46 | R e e l e L o c a l e
Dup cum se tie, tehnologiile 100BaseTX i 10BaseT folosesc doar dou perechi din cele
patru: una pentru transmisie (Tx+ i Tx-) i una pentru recepie (Rx+ i Rx-). Conform
standardelor de mai sus, acestea sunt portocaliu i verde (pinii 1,2,3 i 6). Atenie: firele de Tx
precum i firele de Rx trebuie s fac parte din aceeai pereche! Se observ c prima pereche
ajunge pe pinii 1 i 2 iar a doua pereche pe pinii 3 i 6.
n funcie de corespondena perechilor dintr-un capt cu pinii de la cellalt capt, cablurile
se mpart n trei categorii:
1.2.2.3.1 Straight-through
Cablul direct (straight-through) are ambele capete sertizate conform aceluiai standard
(T568A - T568A n SUA, sau T568B - T568B n Europa). Se folosete atunci cnd se conecteaz o
staie la un switch sau la un hub. Cele dou capete avnd aceeai ordine a firelor, fiecare pin al
conectorului dintr-un capt comunic direct cu pin-ul corespunztor al conectorului de la
cellalt capt al cablului.
Atunci cnd se conecteaz o staie la un switch sau hub se folosete un cablu direct!
1.2.2.3.2 Crossover
Cablul crossover se folosete la conectarea a dou calculatoare ntre ele, fr a mai folosi
un switch sau un hub. Prin felul n care este construit acest cablu, pinul 1 de la un capt va
corespunde pinului 3 de la cellalt capt, iar pinul 2 pinului 6. Aceasta nseamn c datele
transmise prin perechea Tx de la un capt vor ajunge pe pinii de Rx de la conectorul opus.
Astfel, dou calculatoare pot transfera date direct ntre ele, fr a mai trece printr-un alt
echipament, dac plcile lor de reea sunt legate printr-un cablu crossover. ntruct singura
diferen dintre T568A i T568B este inversarea perechii portocalii cu perechea verde, un
cablu crossover poate fi vzut ca avnd un conector sertizat conform T568A i pe cellalt
conform T568B. Un astfel de cablu va funciona pentru standardul 10BASE-T sau 10BASE-TX,
unde se folosesc doar 2 perechi. Pentru 1000BASE-T (Gigabit crossover) ns, trebuie inversate
i celelalte dou perechi (albastru i maro), i, n plus, schimbate ntre ele firele fiecrei
perechi (cea dungat cu cea uniform).
Pentru a transfera date direct ntre dou staii, se folosete un cablu crossover!
1.2.2.3.3 Rollover
Cablul de consol (rollover) este folosit atunci cnd se dorete conectarea pe un port de
consol a unui router. Exist mai multe variante de cabluri ce pot fi folosite pentru a face
legtura ntre un PC i un port de consol al unui router. ntotdeauna portul calculatorului
pentru o astfel de legtur este unul serial (DB-9 sau DB-25). Portul de pe router poate fi DB25 sau RJ-45. Astfel, se poate folosi un cablu ce are ca terminatori o muf DB-9 i una RJ-45
sau un cablu rollover i un adaptor RJ45 DB9 (sau RJ45 DB25).
47 | N i v e l u l f i z i c
Un sistem de transmisie pe fibr optic este format dintr-un emitor (LED sau laser), o
fibr transportoare i un receptor. Semnalul pe fibr optic este, de fapt, unda luminoas
emis de un LED sau de un laser, n funcie de tipul de fibr.
S-a observat c pentru anumite lungimi de und semnalul sufer o atenuare mai mic
dect pentru altele. n urma studiilor, s-au stabilit trei intervale (ferestre) pentru valorile
lungimilor de und la care atenuarea este foarte sczut i care permit emitorului s
genereze mai multe semnale luminoase, iar receptorului s detecteze mai multe semnale.
Aceste intervale sunt prezentate n graficul de mai jos.
48 | R e e l e L o c a l e
1.3.1 multi-mode
Fibra multi-mode are dimensiunea core-ului de 50 sau 62,5 microni, acest lucru permind
transmiterea semnalului prin reflexie n pereii core-ului. Acest tip de fibr permite distane
mai mici dect cea single-mode (deoarece lumina are un drum mai lung de parcurs), ns este
mai ieftin i mai uor de folosit (mai uor de terminat cu conectori i de sudat). De asemenea,
echipamentele care emit semnal pe fibra optic multi-mode sunt mai ieftine, deoarece
folosesc LED-uri (light emitting diode) cu lungimi de und de 850 sau 1300 nanometri. Aceste
echipamente cu LED-uri nu sunt periculoase pentru oameni (nu afecteaz ochii).
1.3.2 single-mode
Fibra optic single-mode are o dimensiune a core-ului de 10 microni (mai nou ntre 5 i 8
microni), acesta acionnd ca un ghidaj pentru raza luminoas a semnalului care se transmite
astfel aproape fr reflexie. Echipamentele terminale folosesc pentru a emite semnale
luminoase lasere cu lungimi de und de 1310 sau 1550 nanometri. Deoarece laserul emite o
und luminoas foarte puternic i focalizat, aceste echipamente pot produce leziuni grave
ochiului. Aadar, dac vrem s vedem lumin ntr-o fibr optic, cel mai bine ar fi s alegem un
echipament multimode sau o lantern!
49 | N i v e l u l f i z i c
LED
850nm sau 1300nm
Multimode
Mic
Scurt
Redus
Lung
Laser
1310nm sau 1550nm
Singlemode
Mare
Lung
Ridicat
Scurt
1.3.4.1 mbinri
Prin mbinare (splicing) se nelege conectarea permanent a dou cabluri de fibr optic.
mbinrile se realizeaz cu ajutorul unor dispozitive numite splice-uri. Caracterul permanent al
50 | R e e l e L o c a l e
mbinrii este cel care face diferena ntre un conector i un splice. Totui, terminologia poate
crea confuzii, deoarece exist productori ce ofer i splice-uri nepermanente, care pot fi
decuplate n scopul efecturii unor reparaii sau rearanjri.
mbinrile sunt necesare, spre exemplu, pentru realizarea unor cabluri cu lungimi mai mari
dect cele predefinite. Se poate ntmpla adesea ca un instalator de fibr optic s aib n stoc
mai multe cabluri cu diverse lungimi (n general productorii ofer cabluri de lungime limitat
maxim 6 km) dar s nu aib unul de 10 km. Cu ajutorul splice-urilor se pot mbina dou sau
mai multe segmente pentru a obine cablul de lungimea dorit.
Realizarea mbinrilor necesit o aliniere foarte precis a celor dou core-uri, astfel nct,
la trecerea luminii prin punctul de jonciune, s se piard ct mai puin energie. Cu alte
cuvinte, trebuie ca aproape toat lumina venit pe o fibr s ajung n core-ul celei de-a doua.
Contactul efectiv ntre cele dou tuburi de sticl nu este neaprat necesar. Cea mai mare
provocare pentru designer-ii de splice-uri este dat de necesitatea alinierii foarte precise.
Exist dou mari tipuri de mbinri: mecanice sau prin sudur.
mbinrile prin sudur folosesc un arc electric pentru a topi i suda cele dou fibre de
sticl. Aceste suduri implic o procedur complicat de aliniere, controlat prin calculator, i
reuesc s limiteze pierderile la doar 0,05dB. Costurile manoperei pentru acest tip de mbinare
sunt, ns, foarte ridicate, la fel i costurile de timp.
mbinrile mecanice sunt rapid de implementat i nu necesit o instruire prealabil, ns
pierderile sunt de aproape 0,2dB.
1.3.4.2 Conectori
Un cablu de fibr optic poate fi terminat n dou feluri folosind splice-uri prin care se
realizeaz mbinri permanente sau nepermanente ntre dou fibre sau folosind conectori
pentru cuplarea cablului la un echipament de reea. Aceste terminaii trebuie s fie alese n
conformitate cu tipul fibrei i instalate astfel nct s minimizeze pierderile de lumin i s nu
permit ptrunderea impuritilor. ntruct fibra optic a aprut la sfritul anilor `70,
productorii au scos pe pia peste 80 de modele de conectori i numeroase metode de
instalare, fiecare ncercnd s scad ct mai mult atenuarea (pierderea de semnal) i reflexia
(apariia de semnale reziduale). Dintre acestea, ns, doar cteva tipuri sunt folosite n mod
curent. Cei mai populari conectori sunt cei de tip ST (Straight Tip) i SC (Subscriber Connector).
Conectorul de tip ST, aprut n 2005, are o form circular, asemntoare ntr-o anumit
msur cu BNC-ul i este nc folosit pentru reelele multimode. Cilindrul (ferula) care susine
fibra are 2,5 mm, la fel ca majoritatea conectorilor i este confecionat cel mai adesea din
ceramic sau metal i rareori din plastic. ntruct mbinarea se face prin presare, se poate
ntmpla s nu fie poziionat corect i, de aceea, n caz c se sesizeaz pierderi prea mari,
trebuie scos i reconectat. Din pcate, acest conector ocup loc mult i, de aceea, conectorul
recomandat n acest moment este SC, care are o form dreptunghiular i o conectare de tip
push-pull.
SC a fost definit n standardul TIA-568-A, dar nu a fost folosit la nceput deoarece costa de
dou ori mai mult dect un conector ST. n ziua de azi este cel mai popular datorit
performanelor sale foarte bune, a manipulrii foarte facile i a preului aproape egal cu cel al
unui conector ST. Este disponibil i n varianta pentru configuraii duplex. Trebuie menionat
c transmisia pe fibr optic se face pe o pereche (un fir pentru TX i unul pentru RX);
conectorii duplex permit terminarea ambelor fibre n aceeai muf.
Conectorii impun o atenie sporit la terminarea cablurilor de fibr optic, deoarece
punctele de jonciune sunt cele care introduc cea mai mare atenuare i unde se poate
ntmpla ca lumina fi reflectat napoi n fibr.
51 | N i v e l u l f i z i c
1-17: Conectori ST i SC
52 | R e e l e L o c a l e
Tipul de fibr
Lungimea de und
850 nm
1300 nm
850 nm
1300 nm
1310nm
1550nm
Multimode 50/125m
Multimode 65,5/125 m
SingleMode 9m
Atenuarea / km
3,5 dB
1,5 dB
3,5dB
1,5 dB
0,4dB
0,3dB
Bandwidth
Tipul de fibr
10BASE-FL
100BASE-FX
100BASE-SX
1000BASE-SX
10
100
100
1000
850nm
1300nm
850nm
850nm
1000BASE-LX
1000
1000BASE-LH
1000
1300nm
1310nm
1550nm
Distana
recomandat
2 km
2 km
300 m
550 m
220 m
550 m
5 km
70 km
53 | N i v e l u l f i z i c
und) i toate aceste domenii sunt disjuncte, ele pot fi multiplexate mpreun pe o fibr pe
distan foarte mare.
1-19: WDM
Sistemul WDM folosete pentru transmisia pe distane foarte mari un multiplexor la
transmitor pentru combinarea semnalelor pe un canal comun i un demultiplexor la
receptor pentru a le despri. Fiecare fibr de la destinaie conine un filtru special (construit
folosind o prism), care filtreaz toate lungimile de und mai puin una. Semnalele rezultate
pot fi rutate ctre destinaie sau recombinate n diferite feluri pentru transmisii ulterioare.
Concept publicat nc din anii 1970, tehnologia WDM a progresat extrem de rapid. Dac
primul sistem WDM combina doar 2 canale, sistemele moderne pot combina pn la 160 de
semnale, putnd astfel extinde un sistem de 10Gbps pn la o valoare teoretic de 1Tbps doar
pe o pereche de fibr optic. n 2001 existau produse pe pia cu 96 de canale de 10Gbps
fiecare, deci un total de 960Gbps. n laboratoare se lucreaz deja la sisteme ample ce cuprind
peste 200 de canale. Atunci cnd numrul de canale este foarte mare i lungimile de und sunt
foarte apropiate (0,1nm) sistemul este numit DWDM (Dense WDM).
54 | R e e l e L o c a l e
electroni din afara cablului. Fotonii dintr-o fibr nu interacioneaz ntre ei i nu sunt afectai
de fotonii din exterior.
Pe de alt parte, fibra este o tehnologie mai puin familiar i necesit o pregtire pe care
muli ingineri nu o au. Terminarea fibrei (adic ataarea conectorilor) este un procedeu dificil
care necesit mult pregtire i experien. De asemenea, fibra optic este suficient de
pretenioas i, de aceea, necesit o utilizare mai atent dect cablul UTP (nu trebuie ndoit
prea tare, clcat sau strns dup piciorul mesei, etc). Deoarece transmisia optic este prin
natura ei unidirecional, comunicaiile bidirecionale necesit fie dou fibre, fie dou benzi de
frecven diferite pe aceeai fibr. Nu n ultimul rnd, interfeele pentru fibr cost mult mai
mult dect interfeele electrice.
Cu toate acestea, este foarte probabil c n viitor toate comunicaiile de date pe lungimi
mai mari de cteva zeci de kilometri se vor face prin fibr optic.
0,1 Mbps
5 Mbps
10 Mbps
30 Mbps
Din acest tabel putem observa c n viitor, pentru a beneficia i de servicii HDTV, cerinele
minime ale unei reele n ceea ce privete limea de band vor depi 50 Mbps.
55 | N i v e l u l f i z i c
56 | R e e l e L o c a l e
1.5.1 Repetorul
Principala funcie a repetorului este aceea de a extinde suprafaa acoperit de o reea.
Repetorul este un echipament care primete un semnal i l retransmite la o putere mai mare,
mpiedicnd ca atenuarea sa ating o valoare prea mare, sau l redirecioneaz, pentru ca
semnalul s poat ocoli un obstacol. Sunt importante aspectele legate de cost i, n special, de
latena introdus. Ambele trebuie s fie ct mai mici.
Un repetor digital amplific, restaureaz, sincronizeaz sau aplic orice combinaie a
acestor funcii asupra unui semnal digital.
Comunicaiile intercontinentale sau cele pe sub ocean ar fi imposibile fr existena
repetoarelor.
57 | N i v e l u l f i z i c
http://www.atlantic-cable.com/Maps/index.htm
58 | R e e l e L o c a l e
1.5.2 Convertorul
Convertorul sau transceiver-ul - termen provenind din combinarea lui trans(mitter) cu
(re)ceiver - ofer posibilitatea inteconectrii a dou medii de comunicaie diferite.
Convertoarele sunt clasificate n dou categorii: convertoare pasive i convertoare active, cele
din urm necesitnd alimentarea la o surs de curent pentru a putea funciona.
59 | N i v e l u l f i z i c
lcaului, pentru ca firul de cupru s poat intra. Prin folosirea cletelui de sertizat lamelele
sunt mpinse n lcaurile unde se gsesc firele. Prin apsare, lamelele vor strpunge firul de
cupru, realizndu-se astfel contactul electric.
Pentru realizarea unui patch UTP straight-through firele trebuie s se gseasc n ambii
conectori, fie n ordinea impus de T568A, fie T568B. Acelai standard trebuie respectat i la
un capt i la cellalt.
Pentru realizarea unui patch UTP crossover perechea verde dintr-un capt este inversat
cu perechea portocalie din cellalt. Cu alte cuvinte, una din terminaii respect T568A, cealalt
T568B.
Pentru realizarea unui patch UTP rollover, se sertizeaz un capt al cablului folosind unul
dintre standarde, iar la cellalt capt firele se aeaz n ordine invers (n oglind) pinul 1 va
corespunde pinului 8, pinul 2 va corespunde pinului 6, etc.
Ordinea firelor pentru cele dou standarde se regsete n figura 1-11.
Dac nu se respect standardul, exist un risc major ca cele dou fire folosite pentru Rx
sau Tx s nu fac parte din aceeai pereche, i s nu-i mai anuleze reciproc cmpurile
electrice. Practic, torsadarea nu mai acioneaz corect si sunt generate interferene ce
altereaz semnalul electric. (Cu alte cuvinte ori nu va merge, ori va merge extrem de prost!)
n general, n Europa se folosete standardul 568B , iar n Statele Unite 568A. De ce este
important de tiut i de respectat acest lucru? Teoretic, nu conteaz care din acest standard
este utilizat att timp ct ambele mufe (de la cele dou capete) sunt fcute folosind acelai
standard. Practic ns, la construirea i administrarea unei reele de mari dimensiuni lucreaz
muli oameni, care nu ntotdeauna comunic ntre ei. Aadar, pentru reducerea erorilor
umane este necesar respectarea aceluiai standard.
60 | R e e l e L o c a l e
2 Reele Ethernet
Ce se nva din acest capitol?
Cine este...
Norman Abramson este vicepreedintele ALOHAnet, prima reea de calculatoare,
nfiinat la Universitatea din Hawaii. Ideea ALOHAnet este de a folosi o infrastructur de
cost sczut de tipul radioului pentru amatori pentru a lega calculatoarele universitii,
aflate la mare distan. Desi reeaua nu se mai foloseste, a reprezentat un punct de
pornire al Interetului. Norman Abramson a primit de la IEEE medalia Alexander Graham
Bell.
Bob Metcalfe este co-inventator al protocolului Ethernet, fondator al 3Com i al legii
care i poart numele. n timp ce i susinea doctoratul la MIT s-a implicat n conectarea
universitii la noua reea ARPAnet, fiind responsabil cu gsirea unui hardware care s
fac legatura. n timp ce a fost angajat la Xerox PARC a co-inventat Ethernetul. Dupa ce a
plecat de la Xerox a pornit 3Com, companie ce fabric componente de reelistic. Legea lui
Metcalfe afirm c valoarea unei reele de telecomnunicaii este direct proporional cu
ptratul numrului de utilizatori.
61 | R e e l e E t h e r n e t
denumit Organizational Unique Identifier (OUI), iar urmtorii trei octei sunt dai de ctre
fabricant n mod unic fiecrui dispozitiv de reea. Astfel, spaiul adreselor fizice poate fi
ordonat fr ndoial dup productor, informaie totui inutil, deoarece rar se ntmpl ca
ntr-o reea s existe dispozitive de reea produse de un singur productor.
n concluzie mulimea adreselor fizice este o mulime neordonat, care n plus nu poate
folosi integral spaiul de adrese. Cu toate acestea schema de adresare fizic este unul dintre
puinele lucruri ce nu a trebuit schimbat i nici mcar actualizat pe parcursul ultimilor douzeci
de ani. IEEE a anunat faptul c spaiul adreselor fizice nu va fi epuizat mai devreme de anul
21001. Dei diferena ntre schema de adresare fizic (MAC - 48 de bii) i schema de adresare
de nivel trei dominant astzi n Internet (IPv4), ce asigur identificarea fiecrei staii n mod
unic printr-o adres logic pe 32 de bii, nu este foarte mare (doar 16 bii), n ziua de astzi
exist o nevoie de extindere a celei din urm la 128 de bii (IPv6). Apariia i dezvoltarea rapid
a reelelor de calculatoare personale va duce treptat la epuizarea adreselor IPv4, estimat de
unii vizionari ntre anii 2019 2040.
Adresele fizice ofer suport pentru 3 tipuri de comunicaie: direct (unicast), prin difuzare
(broadcast) i cu destinaie multipl (multicast), primele dou tipuri fiind mult mai populare
dect ultimul tip de comunicaie. Adresa de difuzare pentru nivelul legtur de date are o
valoare unic, aceasta fiind: FF:FF:FF:FF:FF:FF.
Avnd numeroase avantaje (uurina de instalare i ntreinere, capacitatea de a introduce
noi tehnologii, fiabilitatea, costul relativ sczut), reelele Ethernet sunt de tip shared-media
(mediu multiacces mai multe staii conectate la acelasi mediu fizic), deci orice cadru transmis
de ctre o staie va fi recepionat de ctre toate celelalte staii din reeaua local.
http://standards.ieee.org/regauth/oui/
62 | R e e l e L o c a l e
Suma de control este ataat la sfritul cadrului, sub forma unui cmp de 4 octei, n
scopul detectrii erorilor de transmisie. Numrul erorilor CRC este extrem de redus n reele
locale actuale, astfel c relevana acestui cmp este sczut.
Succesul viitor al reelelor Ethernet pare incontestabil. Standardul Ethernet a continuat s
se dezvolte i este nc n curs de dezvoltare. n reelele locale preurile switchurilor de
GigabitEthernet i a interfeelor de reea se apropie tot mai mult de preurile de FastEthernet.
Metro Ethernet a devenit o tehnologie rspndit n reelele de ISP, tehnologie ce i
propune aducerea standardului Ethernet n reelele metropolitane (MAN), nucleul reelei fiind
bazat pe o structur IP/MPLS deja existent. Noi standarde la 10 Gbps pe cupru i fibra optic
multi-mode au aprut deja pentru a rspunde cerinelor de band din reelele metropolitane.
Prin mrirea vitezelor i a lungimii maxime a unui segment, Ethernet devine o tehnologie
viabil att pentru MAN ct i pentru WAN.
n figura de mai jos este prezentat o evoluie sumar a standardelor Ethernet. n iulie
2003 s-a standardizat 802.3ae, ce ofer viteze de pn la 10 Gpbs doar pentru reele de fibr
optic. Ultima standardizare a Ethernet-ului (IEEE 802.3an) a fost aprobat pe 17 iulie 2006 i a
fost publicat pe 1 septembrie 2006, oferind viteze de pn la 10 Gpbs pe cablu torsadat
(UTP). Dei exist echipamente de reea spre vnzare, standardul pentru 40Gbps este ateptat
n 2009.
Ethernet
Concurena
802.3 1 Mbps
1983
802.5 4 Mbps
802.3 10 Mbps
802.5 16 Mbps
ATM 155 Mbps
1995
802.3u 100 Mbps
1996
1998
2003
2.1.2 CSMA/CD
Problema iniial de la care au pornit reelele Ethernet era gsirea unei metode de
arbitrare a accesului la mediul de comunicaie comun. Aceast dificultate a fost prima oar
explorat n anii `70, la o universitate din Hawaii, ntr-un proiect ce i propunea s ofere acces
mai multor utilizatori la o reea fr ca semnalele lor s se amestece. Rezultatul proiectului a
fost reeaua Alohanet, care a devenit mai trziu baza pentru CSMA/CD (Carier Sense Multiple
Access / Colison Detection), metoda de acces la mediu folosit n reelele Ethernet.
Reelele Ethernet sunt de tip shared-media, deci orice cadru transmis de ctre o staie va fi
recepionat de ctre toate celelalte staii din reeaua local. Toate calculatoarele, la
recepionarea unui cadru valid, vor verifica dac adresa MAC nscris n cadrul cmpului
destinaie din antetul cadrului primit este identic cu adresa MAC proprie. Dac nu se
stabilete c cele dou adrese sunt identice, cadrul este ignorat i nu va fi transmis ctre
nivelul reea.
Prezena adresei surs n cadru se explic prin faptul c orice comunicaie este
bidirecional, n sensul c orice cadru transmis are de obicei ca urmare emiterea unui cadru
de rspuns.
63 | R e e l e E t h e r n e t
Protocolul CSMA/CD este cel pe baza cruia funcioneaz Ethernet. Deoarece Ethernet se
bazeaz pe un mediu de tip partajat (shared-media), numai o singur staie poate transmite la
un moment dat.
Se primesc date
pentru transmisie
Mediu
liber?
u
D
a
Asambleaz cadrul
ncepe transmisia
A aprut o
coliziune?
Transmite semnal de
bruiaj
N
u
Transmite cadrul
urmtor
Mai sunt
cadre?
ncercri= ncercri+1
Ateapt q
microsecunde
ncercri <
max_ncercri?
Calculeaz
Dalgoritmul de
backoff
N
u
Transmisie
ncheiat
N
u
Abandoneaz
transmisia
64 | R e e l e L o c a l e
65 | R e e l e E t h e r n e t
coliziuni. n condiiile full-duplex, singura limitare a distanei este cea tehnologic. Un exemplu
este FastEthernet pe fibra optic single-mode, a crui distan este limitat de standardul IEEE
802.3 la 3000m, n condiii de acces CSMA/CD, ns pentru o legtur punct-la-punct fullduplex, se pot folosi transceiver-uri puternice obinnd o legtur de pn la 120km.
Standardul 10Gigabit nu mai prevede un mod de comunicaie half-duplex ci doar fullduplex, motiv pentru care toi parametrii legai de apariia coliziunilor (numr de ncercri,
timp de backoff, etc) sunt nespecificai.
66 | R e e l e L o c a l e
Pe interfeele unui switch se pot conecta staii sau segmente ntregi. Cu toate acestea,
reelele switched sunt rspunsul la cerinele crescnde de securitate i de lime de band
pentru fiecare nod. Reelele comutate vor folosi cte un port pentru fiecare staie, reducnd
dimensiunea domeniilor de coliziune la doar dou noduri (unul fiind placa de reea din
respectiva staie, iar cel de-al doilea portul din switch care o conecteaz pe aceasta).
Principalele funcii ale unui switch sunt: nvarea adreselor (popularea tabelei MAC) i
modul de comutare a cadrelor. Pe lng acestea, exist o serie de funcii pe care unele
switchuri le pot oferi: eliminarea buclelor de nivel doi, separarea reelelor locale virtuale, etc.
Adres MAC
00.48.C2.01.78.12
00.00.2E.00.59.91
00.00.54.91.01.4A
67 | R e e l e E t h e r n e t
deoarece tabela sa de comutare este goal, astfel nct el transmite cadrul pe toate
segmentele la care este conectat, n afar de segmentul de pe care a fost primit cadrul
(flooding). n aceast etap, funcionarea switchului este similar cu cea a unui hub. nainte de
a retransmite cadrul switchul verific dac adresa surs este prezent n tabela sa de
comutare. n acest caz nu este, astfel nct switchul creeaz prima intrare n tabela de
comutare, intrare ce conine adresa fizic a staiei A1 i interfaa switchului ce conecteaz
segmentul A. Cadrul ajunge att pe segmentul D (unde staiile D1 i D2 decid c acesta nu le
este adresat i l ignor) ct i pe segmentul B, la staiile B1 i B2 i la switchul 2.
Switchul 2 decide c destinaia se afl n segmentul din care a primit cadrul i deci nu l
mai retransmite, iar staia B1 decide c ea este destinatarul cadrului.
Urmtoarele intrri n tabela de comutare sunt adugate n mod similar, pe baza
informaiilor coninute n cmpul surs a cadrelor ce ajung la switch.
Chiar i comunicaia ntre dou staii aflate n acelai segment poate afecta limea de
band din ntreaga reea, dac switchul nu a apucat s-i construiasc tabela de comutare.
Se consider c staia A1 trimite un cadru ctre A2, dup cel trimis ctre B1. Cadrul ajunge
la destinaie fr ajutorul switchului, dar switchul, neidentificnd destinaia n tabela sa de
comutare, va retransmite cadrul att pe segmentul B, ct i pe segmentul D.
Datorit dificultii cutrii ntr-o mulime neordonat, n tabela de comutare nu sunt
pstrate toate adresele staiilor din reeaua local, ci doar ale celor cu o probabilitate mare s
transmit n viitorul apropiat - mai exact a ultimelor staii care au transmis. Pentru
implementarea acestui concept, o intrare ntr-o tabel de comutare va include i o etichet de
timp, pe lng adresa MAC i interfa. Eticheta de timp este actualizat cnd se primete un
nou cadru cu aceeai adres surs. Acest mecanism permite nlturarea intrrilor nvechite i
duce deci la restrngerea dimensiunii tabelei de comutare. Preul pltit, n cazul n care o
staie nu transmite niciun cadru un interval de timp, este consumul din limea de band a
tuturor segmentelor din reea.
Exist o singur excepie notabil la procesul descris mai sus: n cazul n care adresa
destinaie a cadrului este aceeai cu adresa surs, cadrul este considerat invalid, va fi aruncat,
n plus adresa surs nu va fi folosit pentru popularea tabelei de comutare.
68 | R e e l e L o c a l e
69 | R e e l e E t h e r n e t
O bucl de nivel legtur de date apare ntr-o reea atunci cnd ntre dou dispozitive ale
acesteia exist dou sau mai multe legturi active, fiecare conexiune folosind doar dispozitive
de interconectare ce pot analiza cel mult informaii de nivel legtur de date.
70 | R e e l e L o c a l e
71 | R e e l e E t h e r n e t
Cost
250
100
62
39
19
14
6
4
2
72 | R e e l e L o c a l e
n cel de al doilea caz trebuie fcut o comparaie ntre cele dou porturi ce definesc
conexiunea redundant. Mai nti sunt comparate costurile celor dou porturi; dac acestea
sunt egale, factorul decisiv este identificatorul switchului: portul de pe switchul cu
identificatorul cel mai mic (cu prioritatea cea mai mic sau n cazul n care prioritile sunt
egale, cu adresa MAC cea mai mic) devine port activ, n vreme ce portul cu identificatorul mai
mare este marcat ca inactiv i este trecut n starea blocat.
Fie reeaua din figur. Se vor urmri pentru aceast reea cu dou bucle etapele construirii
arborelui de acoperire.
73 | R e e l e E t h e r n e t
Conexiunile ce fac parte din arborele de acoperire sunt: B-A, C-D-A, D-A i E-D-A, astfel
sunt marcate drept porturi rdcin cele patru porturi corespunztoare acestor conexiuni (de
pe switchul B portul ce face parte din legtura B-A, etc.)
n pasul al treilea trebuie stabilite porturile active pentru legturile B-E i B-C.
Pentru conexiunea B-E, costul portului de pe switchul B este 19, n vreme ce costul
portului de pe E este 23. Prin urmare portul de pe B va fi marcat ca port activ, iar portul de pe
E va fi marcat ca non-designated sau inactiv. n mod similar, pentru conexiunea B-C, portul de
pe switchul B va fi activ, avnd un cost de 19, iar portul de pe C va fi trecut n starea blocat,
fiind un port non-designated.
B
P
D
P
9
B
P
74 | R e e l e L o c a l e
Pentru comutarea direct nu este necesar nici mcar recepionarea integral a antetului
cadrului, adresa destinaie fiind suficient. Aceast metod se numete comutare direct
rapid (fast forward) i ofer o laten de aproximativ 21 de microsecunde. Datorit faptului
c retransmisia cadrului ncepe imediat dup citirea adresei destinaie, cadrele eronate vor fi
transmise cu erori. Dei aceste cadre sunt respinse la nivelul legtur de date al destinaiei (de
ctre placa de reea), traficul generat de retransmisia lor poate, n cazul unui mediu de
transmisie cu multe erori, s duc la o depreciere sever a performanelor reelei.
Al doilea tip de comutare direct este comutarea fr fragmente (fragment free). n
aceast metod de comutare fragmentele de cadre rezultate n urma unei coliziuni sunt
filtrate. ntr-o reea ce respect specificaiile standardului Ethernet dimensiunea fragmentelor
de coliziuni nu poate depi 64 de octei. n cazul comutrii fr fragmente, switchul decide c
irul de octei recepionai nu face parte dintr-un fragment rezultat n urma unei coliziuni i
abia apoi ncepe retransmisia pe portul destinaie. Latena n acest caz este de minim 51,2
microsecunde, timpul necesar recepionrii a 64 de octei.
75 | R e e l e E t h e r n e t
variaz extrem de mult. Astfel, dac un switch cu 8 porturi fr nicio facilitate suplimentar
poate s coste sub 100$, un switch aparinnd aceluiai productor, dar oferind un
management avansat i posibilitatea inserrii de noi module poate s ajung la 2000$.
76 | R e e l e L o c a l e
porturile unui switch ce nu sunt n VLAN-ul respectiv. Acesta este un avantaj deoarece ofer
toate beneficiile pe care le ofer o reea comutat, dar fr dezavantajele de a avea toi
utilizatorii ntr-un singur domeniu de broadcast. Cu ajutorul VLAN-urilor putem controla uor
mrimea domeniilor de broadcast prin: controlul dimensiunii totale a VLAN-urilor sale;
restricionarea numrului de porturi pe switch n cadrul unui VLAN; restricionarea numrului
de utilizatori ce folosesc aceste porturi.
O alt problem o reprezint securitatea. n cadrul unei reele Ethernet comutate toate
staiile pot vedea toate celelalte staii i nu exist o politic de oprire a broadcast-urilor trimise
de staii sau de oprire a rspunsurilor utilizatorilor la ele. Orice plac de reea poate fi setat
ntr-un mod transparent (promiscuous), copiind tot traficul ce sosete pe canalul de
comunicaie.
Astfel, prin crearea VLAN-urilor i a domeniilor de broadcast separate, administratorii pot
avea control asupra fiecrui port i asupra fiecrui utilizator. Zilele cnd utilizatorii puteau s
se conecteze cnd doreau cu staia aflat la oricare din porturile unui switch, obinnd acces la
resurse, ar trebui s fie istorie demult, deoarece administratorul are controlul asupra
porturilor i asupra resurselor ce se pot accesa prin acele porturi. Dei VLAN-urile sunt create
n concordant cu resursele de care un utilizator are nevoie, switchurile pot fi configurate s
informeze staiile de management n legtur cu orice acces neautorizat sesizat. Iar dac se
dorete i comunicare ntre VLAN-uri se pot implementa restricii pe router pentru a obine un
nivel nalt de securitate.
VLAN-urile ofer un grad mare de flexibilitate i scalabilitate. Prin implementarea lor se
creeaz domenii de broadcast mai mici. Asta nseamn c broadcast-urile trimise de un nod
dintr-un VLAN nu vor ajunge pe porturile configurate n alt VLAN. Aa c, prin atribuirea
porturilor sau utilizatorilor unui VLAN pe un switch, se ctig flexibilitatea de a aduga numai
pe acei utilizatori pe care i dorim n domeniul de broadcast respectiv. Aceast abordare poate
funciona i pentru blocarea broadcast storm-urilor cauzate de o plac de reea defect, ct i
pentru prevenirea unui echipament intermediar de a le propaga n toat reeaua. Aceste
broadcast storm-uri se pot ntmpla i n cadrul unui VLAN, dar ele vor fi reduse numai la
VLAN-ul din care au pornit.
VLAN-urile impun o mai mare scalabilitate ntr-o reea comutat. Cnd un VLAN devine
prea mare, se pot crea alte VLAN-uri, oprind astfel broadcast-urile s afecteze limea de
band a reelei cu ct sunt mai puini utilizatori ntr-un VLAN, cu att numrul broadcasturilor este mai mic. Trebuie ns inut cont n mod special, cnd este vorba de proiectarea unei
reele cu VLAN-uri, de serviciile disponibile n reea i trebuie neles mecanismul conectrii
utilizatorilor la aceste resurse.
Un alt avantaj pe care l ofer VLAN-urile este impactul sporit asupra performanei reelei.
Putem grupa utilizatorii ce folosesc aplicaii intensive de reea ntr-un VLAN separat. De
exemplu, putem crea un VLAN separat pentru un tehnician ce testeaz o aplicaie multicast i
pentru serverele pe care acesta le folosete. Acesta se va bucura de timpi de rspuns foarte
buni din partea resurselor pe care le utilizeaz, fiind ntr-un LAN dedicat, n timp ce ntregul
departament tehnic nu i va mai exprima nemulumirea n legtura cu scderea ratei de
transfer a filmului pe care ateapt s l downloadeze, deoarece ntreaga aplicaie este izolat
ntr-un VLAN separat.
VLAN-urile uureaz gestionarea migraiilor, adugrilor i a schimbrilor din reea
network management. Prin intermediul software-ului de pe switch se pot aduga utilizatori
ntr-un VLAN, iar mai trziu li se poate schimba apartena ntr-un altul. Recablarea pentru
asigurarea conectivitii nu mai este necesar ntr-o reea comutat deoarece tool-urile de
management ale reelei permit reconfigurarea logic a sa n doar cteva secunde.
77 | R e e l e E t h e r n e t
VLAN2
172.16.2.0/24
Distribuie
VLAN3
172.16.3.0/24
Tehnic
VLAN4
172.16.4.0/24
Finane
VLAN5
172.16.5.0/24
Management
VLAN6
172.16.6.0/24
Vnzri
VLAN7
172.16.7.0/24
78 | R e e l e L o c a l e
79 | R e e l e E t h e r n e t
80 | R e e l e L o c a l e
switch ce primete un cadru, coninnd un marcaj de VLAN (tag), trebuie mai nti s identifice
identificatorul de VLAN (VLAN ID), dup care switchul se uit n tabela de filtrare pentru a lua o
decizie. Dac switchul ce a primit cadrul are numai o legtur de trunchi, atunci cadrul va fi
trimis pe aceasta. ns, o dat ce un cadru trebuie s ajung pe o legtur de acces, se verific
identificatorul de VLAN cu VLAN-ul ce se afl pe acea legtur, iar dac acestea corespund,
switchul nltur VLAN ID-ul i trimite cadrul pe acel segment de reea.
Scopul primar al metodelor de trunchiere este acela de a asigura comunicaia ntre
switchuri, ntr-o arhitectur bazat pe VLAN-uri. Cisco a creat ISL, acesta funcionnd numai
ntre echipamente Cisco. Dac se dorete un protocol de trunchiere ce nu este proprietar, se
va folosi IEEE 802.1Q. n cele ce urmeaz, va fi analizat standardul 802.1Q, metoda de
trunchiere ISL ne mai fiind suportat pe nicio platform Cisco Catalyst.
802.1Q reprezint standardul IEEE pentru marcarea cadrelor (frame tagging) ce
traverseaz o legtur de trunchi. Fiind un standard IEEE, acest protocol poate fi folosit cu
uurin ntre echipamentele ce provin de la diferii productori. 802.1Q nu ncapsuleaz
cadrul original, ci n schimb, insereaz un cmp de 4 octei n antetul cadrului Ethernet original,
recalculnd suma de control (FCS), nainte ca acesta s fie trimis pe o legtur de trunchi.
Overheadul pe care acest protocol l introduce este de 4 octei, ceea ce duce la o lungime
maxim a cadrului Ethernet de 1522 de octei.
Cmpul de 4 octei, inserat ntre cmpurile Adres Surs i Lungime/Tip, este format din
dou pri: primii 2 octei indic identificatorul protocolului VLAN, ce are ntotdeauna valoarea
0x8100, iar urmtorii 2 octei conin trei cmpuri. Sub-cmpul cel mai important este
identificatorul de VLAN, ce ocup cei mai puin semnificativi 12 bii, ceea ce indic faptul c o
legtur de trunchi ce utilizeaz protocolul 802.1Q poate suporta pn la 4096 de VLAN-uri.
Cmpul Prioritate (Priority) de 3 bii se refer la standardul IEEE 802.1p, de prioritate a
traficului. Acest cmp face distincia ntre traficul n timp real implementat hard i cel
implementat soft i de traficul intens pentru o mai bun calitate a serviciilor n Ethernet.
1
Preambul
6
Adres
destinaie
6
Adres
surs
46-1500
Lungime/Tip
Date
4
Sum de
control
6
Adres
destinaie
6
Adres
surs
46-1500
TAG
Lungime/Tip
Date
4
Sum de
control
3b
1b
12b
Prioritate
CFI
VLAN ID
81 | R e e l e E t h e r n e t
lungimea maxim admisibil. Acestea sunt denumite cadre baby giant, switchurile
raportnd astfel de cadre drept erori sau cadre prea mari. Pentru a rezolva aceast problem,
switchurile trebuie s neleag standardul IEEE 802.3ac, ce extinde lungimea maxim a
cadrului Ethernet la 1522 octei.
Standardul 802.1Q introduce conceptul de VLAN nativ. Cadrele ce aparin acestui VLAN nu
sunt modificate cnd sunt transportate pe o legtur de trunchi. VLAN-urile native mai sunt
cunoscute sub numele de VLAN-uri de management. Cnd se configureaz 802.1Q pe o
legtur de trunchi, trebuie configurat acelai VLAN nativ n ambele pri ale trunchiului.
Implicit, VLAN-ul nativ este VLAN 1, iar toate porturile sunt n acest VLAN cnd switchul este
pornit.
VLAN-ul nativ este utilizat pentru tot traficul nemarcat primit pe o legtur trunchi,
configurat cu 802.1Q. Aceast opiune este dorit n special numai pentru a asigura
comunicaia direct, fr modificarea cadrelor, ntre porturile capabile de 802.1Q i cele mai
vechi 802.3. Totui, n toate celelalte cazuri, poate deveni foarte duntoare (VLAN hopping),
deoarece cadrele asociate cu VLAN-ul nativ i pierd nu numai marcajul, identificatorul, ci i
clasa de prioritate (biii de prioritate) cnd sunt transportate pe o legtur 802.1Q. Din aceste
motive pierderea mijloacelor de identificare i de clasificare folosirea VLAN-ului nativ ar
trebui evitat. n cazurile n care acest lucru nu poate fi fcut, ntotdeauna se alege un VLAN
nefolosit, diferit de cel implicit, pentru VLAN-ul nativ al tuturor legturilor trunchi.
Pentru a exemplifica lucrurile menionate pn acum, se consider figura de mai jos.
Staia A ce se afl conectat pe portul A al switchului 1 (S1), dorete s trimit un pachet
staiei B, ce se afl conectat pe portul B al switchului 3 (S3). Legturile de trunchi au VLANurile native configurate astfel: legtura dintre S1 i S2 este configurat cu VLAN nativ 100, iar
legtura dintre S2 i S3 este configurat cu VLAN nativ 200. Ambele staii de afl n VLAN 200.
82 | R e e l e L o c a l e
Dup ce staia A afl toate informaiile necesare pentru construirea pachetului de date, l
transmite, acesta ajungnd pe portul A al switchului S1. Switchul S1 citete adresa MAC
destinaie i verific tabela de comutare pentru o eventual asociere. Aa cum se observ i n
tabelul de mai sus, pachetul va trimis pe portul D al switchului S1. Dar, nainte de trimiterea
pachetului, S1 va trebui s adauge informaia de nivel doi (VLANID), pe baza creia switchul S2
va ti crui VLAN s trimit cadrul. Se observ, ca dac VLAN-ul nativ este diferit de VLAN-ul
din care face parte staia ce transmite, switchul ce primete cadrul va trebui sa adauge
identificatorul de VLAN pentru pachetul respectiv. Cnd pachetul este primit de switchul S2,
acesta va urma aceeai pai de decizie, n schimb, va observa c VLAN-ul nativ al legturii de
trunchi pe care trebuie s transmit cadrul este acelai cu cel al staiei ce a transmis cadrul
respectiv (staia A). n urma acestui lucru, identificatorul de VLAN este ters i pachetul este
trimis switchului S3, ce l va trimite mai departe staiei B.
Succesiunea de pachete este urmtoarea:
De la staia A la switchul S1:
MAC destinaie MAC surs
Lungime/Tip
Date
CRC
MAC B
MAC A
0x0800
X
X
De la switchul S1 la switchul S2:
MAC B
MAC A
0x8100
200
0x0800
De la switchul S3 la staia B:
MAC B
MAC A
0x0800
0x0800
83 | R e e l e E t h e r n e t
2-22: Router ce asigur comunicaia ntre VLAN-uri, folosind doar o singur interfa fizic
(router on a stick).
Not: Majoritatea routerelor nu suport trunking pe interfeele Ethernet, dei actualmente
exist IOS (Internetwork Operating System) pentru modelele 2610 ce ofer acest lucru.
2.5 Rezumat
Dup cum s-a prezentat, Ethernet se bazeaz pe un mediu de tip partajat (shared-media),
deci numai o singur staie poate transmite la un moment dat. Astfel, dac numrul nodurilor
pe un segment crete, probabilitatea de apariie a coliziunilor se va mri. Domeniul de
coliziune este acea zon dintr-o reea care va fi afectat de apariia unei coliziuni n interiorul
ei. Reeaua local poate fi mprit n domenii de coliziune separate prin intermediul unor
dispozitive din categoria switchurilor.
84 | R e e l e L o c a l e
Switchurile construiesc dinamic i menin o tabel de asocieri ntre adresele MAC i una
din interfeele sale, numit tabel de comutare. Aceast tabel este construit pe baza adresei
surs a cadrului primit pe unul dintre porturile switchului, n tabela de comutare fiind
introdus asocierea <MAC_surs port_intrare>.
Impactul redundanei asupra reelelor formate numai din switchuri este esenial. Pentru
identificarea buclelor de nivel legtur de date i ntreruperea lor s-a dezvoltat protocolul
numit STP - Spanning Tree Protocol, ce pornete de la construirea unui arbore de acoperire pe
graful determinat de dispozitivele de interconectare i de conexiunile dintre acestea.
O dezvoltare n domeniul interconectrii LAN-urilor este posibilitatea de separare a
topologiei logice de topologia fizic, lucru realizat prin VLAN-uri (Virtul LAN). VLAN-urile mpart
o reea bazat pe switchuri n domenii de broadcast separate, un lucru foarte important i
necesar din cauz c switchurile de nivel doi mpart reeaua n domenii de colizune
independente, neavnd niciun efect asupra domeniilor de broadcast. Un nou format pentru
cadrele Ethernet (802.1Q) a fost introdus pentru a oferi o modalitate mai simpl de
introducere a VLAN-urilor n organizaii.
-----
Fiecare adres nvat de switch este inut n tabela de comutare o anumit perioad de
timp numit timp de mbtrnire (aging time), valoare implicit fiind de 300 de secunde.
SwitchB#show spanning-tree
VLAN0001
Spanning tree enabled protocol ieee
Root ID
Priority
32768
1
http://standards.ieee.org/regauth/oui/oui.txt
85 | R e e l e E t h e r n e t
Address
0008.a327.8900
Cost
19
Port
6 (FastEthernet0/6)
Hello Time
2 sec Max Age 20 sec
Bridge ID
Priority
Address
Hello Time
Aging Time
Interface
Role Sts Cost
Prio.Nbr Type
---------------- ---- --- --------- -------- -------------------------------Fa0/4
Desg FWD 19
128.4
P2p
Fa0/6
Root FWD 19
128.6
P2p
Fa0/9
Desg FWD 19
128.9
P2p
Fa0/12
Desg FWD 19
128.12
P2p
Mai sus este prezentat ieirea comenzii show spanning-tree. Aceast comand este util
cnd se dorete aflarea rdcinii din propria reea, prioritatea i adresa MAC a acestuia.
Totodat se observ costul portului prin care se conecteaz root bridge-ul la switch. Acesta are
valoarea de 19, ceea ce indic faptul c switchul este conectat direct la root bridge pe portul 6.
Valorile timpilor de trimite a cadrelor BPDU (default 2 sec.) i de trecere din starea de blocking
n listening (Max Age) i apoi n learning i forwarding (Forward Delay) sunt la valorile
implicite. Se observ aici rolul (port rdcin Fa0/6) i statusul fiecrui port de pe switch,
toate cele patru fiind n starea de forwarding.
SwitchA#show mac-address-table aging-time
Vlan
Aging Time
------------300
Dac se dorete numai o scurt prezentarea a opiunilor STP se poate folosi comanda
ceea ce indic numrul porturilor ce se afl n diferitele stri
STP i VLAN-ul din care acestea fac parte. n ieirea de mai jos patru porturi sunt n starea de
forwarding, n VLAN-ul 1.
show spanning-tree summary,
Dac se dorete vizualizarea recalculrii topologiei de ctre STP i trecerea porturilor prin
diferitele stri la schimbarea unei staii de pe un port al switchului pe altul, se poate folosi
comanda:
SwitchB#debug spanning-tree events
Spanning Tree event debugging is on
SwitchB #
01:06:53: STP: VLAN0001 we are the spanning tree root
SwitchB #
01:06:54: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/6, chann
SwitchB #
01:06:57: set portid: VLAN0001 Fa0/6: new port id 8006
01:06:57: STP: VLAN0001 Fa0/6 -> listening
SwitchB #
01:06:58: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/6, chanp
SwitchB #
01:07:02: STP: VLAN0001 heard root 32768-0008.a327.8900 on Fa0/6
01:07:02:
supersedes 32769-0008.219f.5e40
01:07:02: STP: VLAN0001 new root is 32768, 0008.a327.8900 on port Fa0/6, cost 19
01:07:02: STP: VLAN0001 sent Topology Change Notice on Fa0/6
SwitchB #
86 | R e e l e L o c a l e
01:07:12: STP: VLAN0001 Fa0/6 -> learning
SwitchB #
01:07:27: STP: VLAN0001 sent Topology Change Notice on Fa0/6
01:07:27: STP: VLAN0001 Fa0/6 -> forwarding
La pornirea switchului toate porturile se afl n VLAN-ul 1 pn la o nou atribuire. VLANurile 1002 i 1004 sunt rezervate pentru reelele FDDI (Fiber-Distributed Data Interface), n
timp ce VLAN-urile 1003 i 1005 pentru reelele Token Ring.
SwitchC#show vlan brief
VLAN Name
Status
Ports
---- -------------------------------- --------- ------------------------------1
default
active
Fa1/0/1, Fa1/0/2, Fa1/0/3
Fa1/0/4, Fa1/0/5, Fa1/0/6
Fa1/0/7, Fa1/0/8, Fa1/0/9
Fa1/0/10, Fa1/0/11, Fa1/0/12
Fa1/0/13, Fa1/0/14, Fa1/0/15
Fa1/0/16, Fa1/0/17, Fa1/0/18
Fa1/0/19, Fa1/0/20, Fa1/0/21
Fa1/0/22, Fa1/0/23, Fa1/0/24
Gi1/0/1, Gi1/0/2, Gi1/1/1
1002 fddi-default
act/unsup
1003 trcrf-default
act/unsup
1004 fddinet-default
act/unsup
1005 trbrf-default
act/unsup
Not: Dac se atribuie un port unui VLAN ce nu exist, portul este inactiv pn ce se
creeaz VLAN-ul respectiv.
Numai porturile configurate ca porturi de acces sunt afiate.
SwitchC (config)#int fastEthernet 1/0/6
SwitchC (config-if)#switchport mode trunk
SwitchC (config-if)#switchport trunk encapsulation dot1q
SwitchC #show interface fastEthernet 1/0/6 switchport
Name: Fa1/0/6
Switchport: Enabled
Administrative Mode: dynamic auto
Operational Mode: down
Administrative Trunking Encapsulation: dot1q
Negotiation of Trunking: On
Access Mode VLAN: 1 (default)
Trunking Native Mode VLAN: 1 (default)
<...>
87 | R e e l e E t h e r n e t
ncapsulare, metod gestionat de DTP Dynamic Trunking Protocol. Dac interfaa vecin
suport ISL i 802.1Q i ambele interfee sunt configurate s negocieze metoda de ncapsulare,
pe legtura de trunchi se va folosi ISL.
Rezolvare:
1. Succesiunea de pachete este urmtoarea:
De la staia C la switchul Sw2:
MAC destinaie
MAC F
MAC surs
MAC C
Lungime/Tip
0x0800
Date
X
CRC
X
MAC C
0x8100
100
0x0800
MAC C
0x0800
0x0800
MAC C
88 | R e e l e L o c a l e
coliziuni.
Pentru cel de al doilea caz n care toate legturile sunt full-duplex nu va exista niciun
domeniu de coliziune n reea.
2b. Domeniile de difuzare sunt conectate doar de routere. Prin definirea de VLAN-uri i
switchurile limiteaz domenii de broadcast. n cazul topologiei singura modalitate de a asigura
conectivitatea ntre VLAN 100 i VLAN 200 este configurarea routerului R1 ca router-on-astick. Pentru aceasta legtura dintre Sw2 i R1 trebuie s transporte ambele VLAN-uri.
Problematica domeniilor de broadcast se aplic doar reelelor multiacces, astfel pentru
reeaua dintre R1 i R2 (legtura serial) nu va exista un domeniu de difuzare.
Cele 4 domenii de broadcast sunt:
{R1(e0), A, C, D, F, Sw1(1), Sw1(2), Sw1(4), Sw1(7), Sw2(1),
Sw2(24), Sw3(1), Sw3(7), Sw4(4), Sw4(7)}
{R1(e0), B, E, Sw1(1), Sw1(2), Sw1(4), Sw1(8), Sw2(1), Sw2(24),
Sw3(8), Sw4(4)}
{R1(e1), X}
{R2(e0, Z}
Sw2(7),
Sw3(1),
Port
1
89 | R e e l e E t h e r n e t
90 | R e e l e L o c a l e
ntrebri
1. Care este rezultatul segmentrii unei reele cu un switch ?
Crete numrul domeniilor de coliziune
Scade numrul domeniilor de coliziune
Crete numrul domeniilor de broadcast
Scade numrul domeniilor de broadcast
2. Care este numrul minim de adrese MAC asociate cu un switch de nivel doi?
Una
Dou
Attea cte porturi exist
Niciuna
3. Cte domenii de broadcast sunt n figura de mai jos ?
1
2
3
4
4. Ce nivel din stiva OSI este folosit de ctre switchurile Ethernet pentru a lua o decizie ?
Nivelul 1
Nivelul 2
Nivelul 3
Nivelul 4
91 | R e e l e E t h e r n e t
fast-forward
cut-through
fragment-free
store and forward
92 | R e e l e L o c a l e
3 Adresarea IP
Ce se nva din acest capitol?
Specificaiile protocolului IP
Noiuni de subnetting
Funcionarea protocolului ARP
Funcionarea protocolului DHCP
Configurri de reea n Linux
Configurri de reea n Windows
Cine este...
Vint Cerf este considerat printele Internetului". Dup ce a absolvit Universitatea
Stanford, a lucrat la IBM, iar apoi s-a ntors la Universitate la UCLA, unde a conectat
primele dou noduri a ARPAnet (predecesorul Internetului). A proiectat protocolul IP i a
contribuit la dezvoltarea protocolului TCP. Din 2005, Vint Cerf lucreaz la Google ca
vicepreedinte.
93 | A d r e s a r e a I P
0
31
4
vers
lung.
16
TOS
Lungime total
identificator
fragment
antetului
TTL
19
flags
Protocol
decalaj
suma de control a
Adresa IP surs
Adresa IP destinaie
Opiuni (dac e cazul)
Date
...
94 | R e e l e L o c a l e
ciclarea la infinit a unor pachete IP n cazul unor topologii cu bucle de rutare. O utilizare mai
recent a acestui cmp permite unui ISP s controleze conectarea unei staii, pentru o
legtur dat. De exemplu, un ISP poate ntrerupe conectivitatea atunci cnd pe o legtur n
loc de o staie se conecteaz neautorizat un router ce are n spate o ntreag reea local.
Marea majoritate a traficului n Internet cltorete ntre surs i destinaie pstrnd
aceleai valori pentru cmpurile antetului IP, sigurul cmp modificat fiind cmpul TTL. Dei
operaia de decrementare a valorii cmpului TTL este una simpl, ea determin o ncrcare
semnificativ a routerului, deoarece n urma modificrii acestui cmp va trebui s fie
recalculat i suma de control a antetului. Suma de control se bazeaz pe un algoritm de
redundan ciclic (un algoritm CRC) ce are proprietatea c se poate verifica uor, dar se
calculeaz mult mai greu (verificarea se poate efectua fr a calcula explicit valoarea sumei de
control).
Cmpul protocol specific ce protocol a fost folosit pentru ncapsularea de nivel transport.
n figura de mai jos sunt prezentate cteva dintre valorile cele mai ntlnite ale acestui cmp.
Valorile 4 i 41 sunt folosite n cazul tunelrii iar valoarea 59 este folosit pentru a indica c nu
mai exist un alt antet, o astfel de conexiune fiind numit IP raw.
Valoare
1
4
6
17
41
59
Protocol
ICMP
IPv4
UDP
TCP
IPv6
Fr antet
95 | A d r e s a r e a I P
vers
clas trafic
Etichet de flux
Lungime date
Antet urm.
Limit hopuri
Date
...
Primii bii
Nr. bii
reea
Nr. de
reele
Nr. bii
staie
Nr. staii
27
24
224-2
10.
16
214
16
216-2
110
24
221
28-2
D
E
1110
11110
Adrese multicast
Rezervat
3-1: Spaiul de adrese IP
Domeniul de
valori
1.0.0.0
126.255.255.255
128.0.0.0
191.255.255.255
192.0.0.0
223.255.255.255
96 | R e e l e L o c a l e
Clasa B
Clasa C
Reea
1
Staie
2
Reea
1
Staie
3
Reea
1
Staie
4
Staie
2
Clasa D
3-2: Adresarea IP
Clasa C se definete prin alocarea primilor 3 octei pentru definirea reelei i doar a
ultimilor 8 bii pentru identificarea staiilor din aceeai reea. Primii trei bii din primul octet
trebuie s fie 110, adic valoarea acestui prim octet trebuie s se afle ntre 192 i 223 pentru
ca o adres s aparin unei clase C.
Numrul reelelor de clas C depete 2 milioane, fiecare dintre acestea putnd s
cuprind 254 de staii.
Clasa de adrese D este folosit pentru reele multicast. n decursul ultimilor 15 ani au
existat numeroase standarde i propuneri de standardizare pentru asigurarea unei
97 | A d r e s a r e a I P
infrastructuri de multicast, dar realitatea anului 2008 este c traficul de multicast reprezint
doar o foarte mic poriune din traficul transferat n Internet. Cu toate acestea, convergena
reelelor de date cu cele de telefonie sau de televiziune ofer o not de optimism n legtur
cu viitorul comunicaiilor multicast. n Romania abia n anul 2006 a devenit disponibil
comercial serviciul de trasmisiuni de multicast, un singur ISP oferind n acest moment acces la
un M-Bone naional.
Pentru adresa multicast spaiul de adrese este plat, toi cei 4 octei fiind folosii pentru
definirea adresei de staie. Deoarece primii 4 bii ai primului octet sunt fixai, i anume 1110,
numrul adreselor de multicast este de 268 milioane. Cu toate acestea au fost definite mai
multe regiuni disjuncte, regiuni menite s serveasc obiective diferite: de la asigurarea
integrrii cu o infrastructur de unicast, pn la definirea unor spaii de adrese de multicast
private. Primele 256 de adrese (cele cuprinse ntre 224.0.0.0 i 224.0.0.255) sunt definite ca
aparinnd zonei Local Network Control Block, aceastea fiind adresele folosite i de
protocoalele de rutare: spre exemplu OSPF rezerv dou dintre aceste adrese de multicast:
224.0.0.5 i 224.0.0.6 pentru procesul de alegere a routerului desemnat, iar RIPv2 folosete
adresa 224.0.0.9 pentru trimiterea actualizrilor.
Clasa de adrese E este rezervat i nu poate fi folosit n reelele publice sau n soluii de
multicast.
98 | R e e l e L o c a l e
Pentru aceeai adres, dar folosind prefixul /26 adresa de reea ar fi: 141.85.37.128/26, iar
adresa de difuzare: 141.85.37.191/26.
reea
staie
1000 1101.0101 0101.0010 0101.10 00 0101 - 141.85.37.133
1111 1111.1111 1111.1111 1111.11 00 0000 255.255.255.192 - /26
--------------------------------------1000 1101.0101 0101.0010 0101.10 00 0000 141.85.37.128/26 - reea
1000 1101.0101 0101.0010 0101.10 11 1111 141.85.37.191/26 - difuzare
Este important de observat c aceai adres poate fi adres de staie sau adres de
difuzare n funcie de masca de reea aleas.
3.1.5 Subreele
Totalitatea nodurilor ce pot comunica ntre ele folosind dispozitive de nivel fizic i legtur
de date (de exemplu: repetoare i switchuri) definesc o reea local. Altfel spus, o reea local
va cuprinde totalitatea echipamentelor de reea ce pot comunica fr intermedierea unui
router.
O reea local coincide cu un domeniu de difuzare. Astfel, toate staiile din aceai reea
local vor primi pachetele de broadcast.
Din motive de securitate, dar i pentru optimizarea consumului de band n cadrul unei
reele locale, un administrator poate decide separarea unor seciuni din reea n subreele
diferite. Pentru asigurarea adresrii va trebui s mpart spaiul iniial de adrese n mai multe
seciuni disjuncte.
Atenie! Distinia ntre reele i subreele este una pur istoric. Reele erau
denumite doar spaiile de adrese ce corespundeau claselor A, B i C. n prezent noiunile sunt
folosite interschimbabil.
Pentru a mpri spaiul de adrese 144.1.40.0/21 n dou jumti se pornete de la
reprezentarea binar a spaiului iniial, apoi sunt delimitate cmpurile de reea i staie. Din
cmpul de staie vor fi marcai un numr de bii pentru definirea de subreele. Aceti bii vor
defini un nou cmp numit cmp de subreea.
reea
staie
10010000.00000001.00101 000.0000 0000 - 144.1.40.0/21
10010000.00000001.00101 000.0000 0000 - 144.1.40.0/22 -prima subreea
10010000.00000001.00101 100.0000 0000 - 144.1.48.0/22 -a doua subreea
subreea
Pentru a mpri spaiul 144.1.48.0/22 n 5 subreele, se caut cea mai apropiat putere a
lui 2 egal sau mai mare cu numrul de subreele cutat. Astfel pentru a obine 5 subreele va
trebui s mprim spaiul de adrese n 8 seciuni egale. Prefixul de reea pentru fiecare dintre
cele 8 subreele va fi /25, adic prefixul spaiului iniial la care se adaug numrul de bii
necesar pentru a reprezenta cele 8 valori diferite.
reea
10010000.00000001.001011
10010000.00000001.001011
10010000.00000001.001011
[...]
10010000.00000001.001011
staie
00.0000 0000 - 144.1.40.0/22
00.0000 0000 - 144.1.40.0/25 prima subreea
00.1000 0000 - 144.1.48.0/25 a doua subreea
11.1000 0000 - 144.1.48.0/25 a opta subreea
subreea
99 | A d r e s a r e a I P
3.1.6 Super-reele
Dimensiunea tabelei de rutare afecteaz att latena procesului de gsire a cii optime,
ct i resursele hardware necesare pentru router (memorie, procesor). Pentru reducerea
numrului de rute se poate folosi procesul de agregare a spaiilor de adrese.
Agregarea de adrese este procesul invers mpririi n subreele.
n exemplul de mai jos sunt prezentate 4 spaii de adrese alese special ca s difere doar
prin cei mai puin semnificativi doi bii ai cmpului de reea.
reea
staie
1011 1110.0001 0100.0000 0100.0000 0000 - 190.20.4.0/24
1011 1110.0001 0100.0000 0101.0000 0000 - 190.20.5.0/24
1011 1110.0001 0100.0000 0110.0000 0000 - 190.20.6.0/24
1011 1110.0001 0100.0000 0111.0000 0000 - 190.20.7.0/24
------------------------------------------------------1011 1110.0001 0100.0000 0100.0000 0000 - 190.20.4.0/22
100 | R e e l e L o c a l e
3.1.7 ARP
n prezent protocolul de rezoluie a adresei ARP este vzut adesea ca o component
esenial a arhitecturii TCP/IP, dar lucrurile nu au stat dintotdeauna aa. nceputul anilor 80 a
reprezentat o perioad marcat de incertitudini n ceea ce privete standardizarea
protocoalelor pentru reelele de calculatoare. Dac la nivelul reelelor locale IEEE a reuit s
reduc alegerea la trei standarde: Ethernet, Token Ring i Token Bus, comunicaia ntre aceste
reele trebuia asigurat ori de IP ori de CLNS (Connectionless Network Service). Nici anii ce au
urmat nu au impus protocolul IP ca principalul ctigtor la nivelul reea de la nceputul anilor
90, competiia desfurndu-se ntre IP i IPX sau Apple Talk.
Pentru legturile punct-la-punct nu exist nicio diferen ntre comunicaia unicast i
broadcast. Din acest motiv, pentru legturile punct-la-punct nu este necesar un mecanism
pentru determinarea adresei de nivel 2, folosindu-se doar adresa de difuzare. Ethernetul este
ns un mediu multiacces, putnd exista mai multe destinaii n cadrul aceleai reele locale.
ARP a fost standardizat de IETF n 1982 prin RFC 826 i reprezint mecanismul pentru
asigurarea comunicaiei unicast ntr-o infrastructur multiacces. Astfel, ARP i-a propus s
ofere modalitatea de asociere a unei perechi <adres de reea, protocol de reea> cu o adres
unic de nivel legtur de date. Dei standardul prevede posibilitatea funcionrii ARP n
conjuncie cu o varietate de protocoale de nivel reea, n practic acesta a devenit o
component integrant a stivei de protocoale TCP/IP/Ethernet. Prin urmare, principala
aplicabilitate a protocolului ARP a fost i rmne determinarea corespondenelor ntre
adresele IP i adresele MAC.
ARP se bazeaz pe construirea i meninerea unei tabele ARP. O tabel ARP are rolul de a
pstra corespondenele nvate ntre adresele IP i cele MAC. Acestea sunt construite dinamic
i sunt stocate n memoria RAM. Dei exist mecanisme pentru adugarea static sau
eliminarea unei intrri ntr-o tabel ARP, sunt rare situaiile n care un administrator de reea
va apela la ele.
Fiecare computer sau dispozitiv de reea i pstreaz propria sa tabel ARP, n realitate
existnd cte o tabel ARP pentru fiecare interfa activ. Astfel, un router cu trei interfee
Ethernet va menine trei tabele ARP distincte.
Cum funcioneaz ARP? Cum este construit tabela ARP?
Pentru a realiza configuraiile de reea ale unei staii vor trebuit precizai minim patru
parametri: adresa IP a staiei, masca de reea, adresa routerului implicit (default gateway) i
adresa IP a serverului de DNS.
Serverul de DNS este folosit pentru a obine adresa IP a destinaiei pornind de la numele
acesteia, spre exemplu o interogare de DNS va indica faptul c www.cs.pub.ro este asociat cu
adresa 141.85.37.5.
Datele de la nivelul aplicaie vor fi prelucrate n conformitate cu operaiile specifice
nivelurilor prezentare i sesiune (dac e cazul) dup care vor fi ncapsulate la nivelul transport,
precizndu-se cel mai adesea tipul serviciului (portul surs, portul destinaie). Urmeaz
ncapsularea nivelului reea care va ataa antetul IP, antet ce va conine informaiile legate de
adresa IP surs i adresa IP destinaie, aceasta din urm fiind n general obinut n urma unei
rezoluii de DNS. Pentru construirea antetului de nivel legtur de date va trebui determinat
adresa MAC destinaie.
Adresele de nivel legtur de date au relevan local, nu i relevan global precum
adresele de nivel reea. Din acest motiv adresa MAC destinaie din antetul de nivel doi va fi
aceeai cu adresa MAC a destinaiei doar n cazul n care aceasta se afl n aceeai reea local.
Altminteri, din punctul de vedere al reelei locale, adresa MAC destinaie va fi adresa primului
101 | A d r e s a r e a I P
router ctre destinaie, deoarece orice router va mrgini reeaua local. Astfel, nainte de a
cuta n tabela ARP, va trebui determinat care este urmtoarea destinaie.
Pentru primul pas n procesul de rezoluie a adresei va trebui determinat dac destinaia
se afl n aceai reea local. Pentru aceasta se aplic masca de reea att adresei destinaie
ct i adresei surs, iar dac rezultatele operaiilor de I logic coincid, se va considera c sursa
i destinaia se afl n aceai reea local. n cazul acesta n tabela ARP va fi cutat direct
adresa MAC a destinaiei, pornind de la adresa IP destinaie. Dac tabela ARP nu conine nicio
intrare asociat cu adresa IP destinaie, nodul surs va temporiza (ntrzia) ncapsularea
datelor i va crea un cadru nou, numit cerere ARP. Acest nou cadru va fi un cadru de difuzare
la nivel legtur de date (deoarece adresa MAC a destinaiei nu este cunoscut), dar va avea n
cmpul de date informaii despre adresa IP destinaie. Nodul destinaie va identifica cadrul
drept o cerere ARP, i va actualiza mai nti tabela proprie, iar apoi va trimite un cadru, numit
rspuns ARP, ce va fi unicast att la nivel legtur de date, ct i la nivelul reea. Pe baza
acestui cadru sursa i va actualiza propria tabel ARP va ncapsula antetul de nivel legtur de
date i va trimite cadrul.
MAC
surs
0C18:
7A11:
7111
Date
Tip cadru
0x0806
cod
operaie
1
MAC
surs
0C18:
7A11:
7111
IP surs
MAC dest.
IP dest
193.23.
1.4
0000:
0000:
0000
193.23.
1.7
102 | R e e l e L o c a l e
doar staia (interfaa de reea) a crei adres IP se regsete n cmpul de date al cadrului va
iniia un rspuns transmis ca unicast att la nivel reea, ct i la nivel legtur de date.
Totodat, pe baza coninutului cmpului de date din cadrul de cerere ARP va fi creat prima
intrare n tabela ARP a staiei care s-a recunoscut ca i destinatar (n cazul de fa, A2).
MAC
dest.
0C18:
7A11:
7111
Antet
MAC
surs
0C18:
7A92:
711B
Tip cadru
0x0806
cod
operaie
2
MAC
surs
0C18:
7A92:
711B
Date
IP surs
193.23.
1.7
MAC
dest.
0C18:
7A11:
7111
IP dest
193.23.
1.4
MAC
dest.
0C18:
7A92:
711B
Antet 2
MAC
surs
0C18:
7A11:
7111
Antet 3
Date
Tip cadru
IP dest
IP surs
0x0800
193.23.
1.7
193.23.
1.4
103 | A d r e s a r e a I P
aflat pe calea ctre destinaie, altfel spus, adresa routerului implicit (default gateway). Dac n
tabela ARP nu exist o intrare pentru routerul implicit, atunci va fi trimis un cadru cerere ARP,
pe adresa de difuzare de nivel 2, pentru a afla adresa IP a routerului implicit. Acesta va
rspunde cererii, cu un cadru unicast ce va fi folosit pentru actualizarea tabelei ARP pe staia
surs. n cele din urm va fi construit antetul de nivel 2 pentru cadrul de date, astfel nct
adresa IP destinaie va fi adresa IP a destinaiei finale, dar adresa MAC destinaie va fi adresa
MAC a routerului implicit.
n cazul reelei de mai sus se consider c staia A1 vrea s comunice cu B1. Dup operaia
IP(A1)&masc(A1) = IP(B1)& masc(A1), se determin c B1 nu se afl n aceai reea local.
Astfel A1 va cuta n tabela ARP o coresponden pentru adresa routerului implicit, adic
pentru 193.23.1.1. Dac aceast coresponden nu exist, va trimite un cadru de cerere ARP
dar care va avea precizat n cmpul de date ca adres IP destinaie 193.23.1.1. Cadrul fiind
unul de difuzare, va fi recepionat de ctre toate dispozitivele de reea aflate pe acest
segment. A2 i A3 vor ignora cadrul, deoarece acesta va avea precizat ca adres IP destinaie
alt valoare dect adresele lor. Routerul va trimite un cadrul de rspuns ARP similar cu cel din
3-*ref+, n care MAC surs va fi: 00.48.0C.18.7A.A2, iar IP surs va fi 193.23.1.1.
Pe baza cadrului de cerere ARP, routerul i va actualiza propria tabel ARP
corespunztoare interfeei dinspre segmentul A, iar apoi pe baza cadrului de rspuns A1 i va
aduga n tabela ARP o intrare nou, ce face corespondena ntre 193.23.1.1 i adresa MAC a
interfeei routerului: 00.48.0C.18.7A.A2. Din acest moment staia A1 va ncapsula transmisia
destinat staiei B1 folosind adresa IP a lui B1 (24.8.17.2) i adresa MAC a interfeei e0 a
routerului (00.48.0C.18.7A.A2).
Adresa destinaie va folosi routerului pentru a determina interfaa pe care trebuie trimis
pachetul i astfel procesul de rutare va determina c pachetul trebuie trimis pe interfaa e1 a
routerului. Routerul va face mai nti testul dac interfaa pe care trebuie trimis pachetul este
n aceai reea cu destinaia final a pachetului. n cazul de fa IP(e1)&masc(e1) va da acelai
rezultat cu IP(B1)&masc(e1), astfel va fi cutat n tabela ARP a interfeei e1, o
coresponden pentru adresa IP a lui B1. Dac aceast coresponden nu exist va fi trimis o
cerere ARP ce va conine adresa IP destinaie a staiei B1 (a destinaiei finale).
Dac n schimb B1 nu ar fi fost n aceai reea cu interfaa e1, ar fi fost extras din ruta
folosit adresa urmtorului hop, i cutat n tabela ARP o coresponden pentru adresa
urmtorului hop.
Pentru topologia din figur*ref+, n urma a dou procese de cerere/rspuns ARP i o
rescriere a antetului de nivel 2 operat de router, pachetul va ajunge la destinaie, aceast
comunicaie simpl fiind realizat prin trimiterea a nu mai puin de 6 cadre cu antete de nivel
2 diferite. n plus, n tabela ARP a staiei A1, a interfeei e0, a interfeei e1 i a staiei B1 a fost
adugat cte o nregistrare
Cum are loc comunicaia ntre staii aflate n reele diferite dac nu s-a precizat adresa
routerului implicit?
Pentru sistemele de operare ce ruleaz la nivelul staiilor, lipsa adresei routerului implicit
echivaleaz cu limitarea comunicaiei la reeaua local. Pe de alt parte, n cazul routerelor ce
au ca interfa de ieire o reea de tip multiacces (de exemplu Ethernet), dar nu au precizat i
adresa urmtorului router trebuie cutat un alt mecanism pentru a asigura ieirea din reeaua
local. Un caz similar este i cel al unor dispozitive dedicate ce ruleaz sisteme de operare
monolitice, cu implementri pariale ale stivei TCP/IP datorit resurselor hardware mult mai
limitate dect n cazul calculatoarelor personale (de exemplu maini de marcat, automate de
cafea, etc.). Att pentru rute incomplet specificate, ct i pentru implementri pariale ale
stivei TCP/IP nu va mai exista diferen ntre comunicaia ntre noduri din aceai reea local i
104 | R e e l e L o c a l e
comunicaia ntre noduri aflate n reele diferite. Staiile nu vor mai avea nevoie dect de
precizarea adresei IP, pentru orice adres IP destinaie urmnd s iniieze o cerere ARP.
Soluia se bazeaz pe rularea la nivelul routerului de ieire din reeaua local a serviciului
de proxy ARP.
Proxy ARP este o extensie a protocolului de rezoluie a adresei. Pornind de la faptul c
routerul nu va transfera pachetele de difuzare, Proxy ARP va determina routerul s rspund
la toate cererile ARP destinate unor adrese n afara reelei cu adresa MAC a interfeei
conectate n acea reea.
Este important de subliniat c, dei pentru o adres IP dat nu poate exista mai mult de o
singur intrare n tabela ARP, mai multe adrese IP pot fi asociate cu o singur adres MAC,
acest fapt fcnd posibil funcionarea comunicaiei prin Proxy ARP.
n topologia folosit anterior, pentru a permite comunicaia ntre A1 i B1 folosind proxy
ARP, testul de apartenen n aceai reea nu mai poate fi fcut la nivelul staiei, deoarece
aceasta nu mai are disponibil o masc de reea. A1 va iniia un cadru de cerere ARP, ce va
avea ca adres IP destinaie B1 (i nu adresa IP a interfeei e0). Cererea va ajunge la toate
staiile conectate n reeaua local, dar A2 i A3 o vor ignora nerecunoscnd adresa IP
destinaie. Routerul n schimb, rulnd proxy ARP, va testa mai nti dac cererea ARP este
destinat unei staii aflate n afara reelei din care provine. Testul va folosi masca i adresa
interfeei pe care a fost primit cererea, precum i adresa IP destinaie. Cum
IP(B1)&masc(e0) este diferit de IP(e0)&masc(e0), routerul va decide c destinaia se afl n
alt reea. n acest caz routerul va trimite cadrul de rspuns ARP folosind ca adres surs de
nivel reea adresa destinaiei finale (n cazul de fa adresa lui B1 - 24.8.17.2), i adresa de
MAC a interfeei de ieire din reea, adic 00.48.0C.18.7A.A2. Totodat, routerul i va aduga
n tabela ARP a interfeei e0 corespondena ntre 0C.18.7A.11.71.11 i 193.23.1.4, iar A1 i va
aduga n tabela ARP intrarea ce asociaz 00.48.0C.18.7A.A2 cu 24.8.17.2.
Cadrul de date va fi ncapsulat apoi folosind tabela ARP, preciznd ca adres IP destinaie
24.8.17.2, iar ca adres MAC destinaie 00.48.0C.18.7A.A2, exact ca i n cazul folosirii unui
router implicit.
Router implicit vs. Proxy ARP?
Spre deosebire de Proxy ARP, n care cererea ARP este adresat staiei destinaie, n cazul
precizrii routerului implicit cererea ARP este adresat direct routerului. n cazul proxy ARP
staiile se comport ca i cum toate destinaiile s-ar afla n reeaua lor local, avnd ca adres
MAC adresa routerului. Aceasta nseamn c dac o staie vrea s transmit ctre trei staii
aflate n reele diferite, staia surs va emite trei cereri ARP (cte una pentru fiecare). Cererile
vor fi interceptate i li se va rspunde de ctre router; aceasta duce la o cretere a traficului,
precum i a dimensiunii tabelei ARP de la nivelul staiei. n cazul default gateway staia surs
va testa apartenena destinaiilor la reeaua proprie i n cazul n care observ c ele fac parte
din alt reea, staia surs nu va trimite cereri ARP direct ctre ele ci vor folosi adresa MAC a
routerului implicit (pe care o pot afla trimind o singur cerere ARP). Proxy ARP ncarc
routerul, care trebuie s rspund la cererile ARP destinate staiilor din afara reelei;
precizarea routerului implicit ncarc staiile, care trebuie s testeze apartenena staiilor
destinaie la reeaua local.
Dei pare fireasc ntrebarea care dintre cele dou metode este mai bun, n reelele
locale competiia s-a ncheiat n favoarea metodei bazate pe folosirea routerului implicit.
Staiile de lucru au devenit foarte puternice n decursul ultimilor 15 ani, astfel nct
distribuirea la nivelul staiilor a testului de apartenen a sursei i destinaiei la acelai LAN
aduce acestora o ncrcare nesemnificativ, elibernd routerul de procesul decizional asociat
cu Proxy ARP.
105 | A d r e s a r e a I P
Pe de alt parte, ncrcarea routerului la rularea Proxy ARP nu este semnificativ, mai ales
pentru un router ce conecteaz o reea local. Din acest motiv majoritatea routerelor (toate
routerele CISCO spre exemplu) vor avea activat implicit Proxy ARP.
n cazul unei reele locale cu mai mult de o singur ieire de Internet, precizarea routerului
implicit ofer un control mult mai strict al staiilor, i permite implementarea balansrii pe
baz de surs a traficului.
Dac s-ar analiza strict doar cele dou protocoale, concluzia ar fi c n cazul n care staiile
comunic preponderent cu alte staii din cadrul aceleai reele locale comunicaia bazat pe
folosirea routerului implicit va fi lent, datorit testului suplimentar, n vreme ce pentru cazul
unei reele n care majoritatea traficului prsete reeaua local Proxy ARP va emite cte o
cerere ARP pentru fiecare adres destinaie diferit.
3.1.8 DHCP
DHCP (Dynamic Host Configuration Protocol) este un protocol client-server prin
intermediul cruia serverul furnizeaz staiei client parametrii de configurare necesari
funcionrii ntr-o reea. DHCP ofer, de asemenea, posibilitatea controlului accesului la
reeaua local (pe criteriul adresei fizice), precum i mobilitate, mutarea dintr-o reea n alta
fiind posibil fr reconfigurarea manual a gazdei.
DHCP furnizeaz un mecanism prin care serverul atribuie adrese IP clienilor. Exist trei
modaliti de alocare a adreselor IP: alocare dinamic, manual sau automat.
Alocarea dinamic presupune definirea unui set de adrese IP. Adresele IP alocate sunt
nlturate din mulimea adreselor disponibile, dar n momentul expirrii perioadei de
nchiriere (dac nu este prelungit contractul de nchiriere) acestea se pot ntoarce n zona
adreselor disponibile pentru ca apoi s fie alocate unui alt nod de reea. Perioada de nchiriere
a adreselor IP variaz n funcie de implementarea serverului de DHCP, valori uzuale fiind 24
sau 192 de ore.
Alocarea manual presupune definirea pe server de asocieri ntre adrese MAC i adrese
IP. La primirea unei cereri DHCP, adresa MAC surs va fi cutat n lista de asocieri. Dac nu
exist o asociere definit, n funcie de configuraie, serverul poate ignora cererea, sau poate
trece n modul de alocare dinamic. Alocarea manual permite administratorului
implementarea unor politici de control al accesului la reea, fiind una dintre primele
recomandri de securizare a reelei locale. n acelai timp, permite un grad de flexibilitate
ridicat n cazul schimbrilor de topologie precum apariia unui nou server de DHCP sau
schimbarea routerului de ieire din reeaua local (default gateway).
Alocarea automat mbin simplitatea de configurare a alocrii dinamice (trebuie doar
definit setul de adrese IP disponibile, i nu o list de asocieri MAC-IP) cu avantajele de
securitate ale alocrii statice: n cazul unui reele cu numr de adrese disponibile egal cu cel al
staiilor o nou staie nu va putea primi parametrii de reea, deoarece o adres IP alocat nu
se mai ntoarce n mulimea adreselor disponibile dect la restartarea serviciului de DHCP.
Funcionnd n reeaua local, DHCP nu necesit un serviciu orientat pe conexiune care s
ofere controlul traficului, detectarea i rectificarea erorilor sau secvenierea corect a datelor.
Un astfel de serviciu (TCP) ar introduce ncrcare i ntrzieri nejustificate. De aceea, se
folosesc datagrame UDP, pe portul 67 pentru server i pe portul 68 pentru client.
Conversaia dintre client i server const n urmtorii pai:
1. La pornire, staia client DHCP trimite cereri pentru iniierea comunicaiei cu serverele DHCP.
Aceste cereri sunt trimise prin intermediul mesajelor BROADCAST de tip DHCPDISCOVER.
2. La primirea cererilor, serverul determin dac o poate onora. n caz afirmativ, serverul
rspunde cu mesaj UNICAST de tip DHCPOFFER, care poate include adresa IP, masca de reea,
106 | R e e l e L o c a l e
adresa gateway, adresa serverului de nume, precum i perioada de valabilitate. n caz negativ,
cererea poate fi transmis mai departe, ctre un alt server DHCP (DHCP relay).
3. Dac oferta este acceptat de ctre client, acesta va trimite un mesaj BROADCAST de tip
DHCPREQUEST, n care sunt cerui parametrii respectivi. Se trimite un mesaj de tip
BROADCAST i nu unul de tip UNICAST pentru a stabili care server a fost ales, n cazul n care
DHCPDISCOVER a ajuns la mai multe servere. n implementrile uzuale ale DHCP, staia ncepe
s foloseasc adresa IP alocat, dei procesul de confirmare nc nu s-a ncheiat.
4. Serverul ales trimite un mesaj de confirmare UNICAST, de tip DHCPACK. n cazul n care adresa
a fost alocat pn la primirea DHCPREQUEST, serverul va trimite un mesaj DHCPNACK,
procesul relundu-se de la pasul 1.
Dac se dorete atribuirea adresei 192.1.3.1/26 vor trebui precizate explicit att masca de
reea, ct i adresa de difuzare:
# ifconfig eth0 192.1.3.1 netmask 255.255.255.252 broadcast 192.1.3.63
Comanda ifconfig mai poate fi folosit att pentru inspectarea configuraiilor curente de
reea, a parametrilor de funcionare: MTU, numr de pachete trimise, numr de pachete
primite, etc
# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0A:95:E2:04:D4
inet addr:10.38.252.237 Bcast:10.38.255.255 Mask:255.255.0.0
inet6 addr: fe80::20a:95ff:fee2:4d4/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:553119 errors:0 dropped:0 overruns:0 frame:0
TX packets:904848 errors:0 dropped:0 overruns:0 carrier:0
[...]
Pentru fiecare interfa fizic de reea pot fi definite mai multe interfee logice, denumite
subinterfee. Din punct de vedere logic, fiecare subinterfa a unui router reprezint o
interfa distinct. Din acest motiv dou subinterfee nu pot avea adrese IP din aceeai
subreea. n exemplul de mai jos sunt definite adresa IP, masca de reea i adresa de difuzare
pentru interfaa eth0:1, adic pentru una dintre subinterfeele interfeei eth0:
# ifconfig eth0:1 42.1.3.1 netmask 255.255.0.0 broadcast 42.1.255.255
Toi parametrii de reea se reseteaz la oprirea interfeei ce poate fi fcut specific pentru
o interfa sau prin repornirea serviciului de reea, cea ce duce la reiniializarea tuturor
interfeelor de reea. Configuraiile temporare de reea se vor pierde n cazul dezactivrii
interfeei. n cazul unei subinterfee dezactivarea este echivalent cu tergerea sa.
# ifconfig eth0:1 down
# /etc/init.d/rc.d/networking restart
107 | A d r e s a r e a I P
Astfel, pentru configurarea unui interfee este necesar precizarea adresei IP, a prefixului
de reea, precum i a adresei de difuzare:
# ip addr add dev eth0 192.168.38.11/24 broadcast 192.168.38.255
# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:0a:95:e2:04:d4 brd ff:ff:ff:ff:ff:ff
inet 192.168.38.11/24 brd 192.168.38.255 scope global eth0
Pentru a defini configuraii pentru subinterfee este folosit opiunea label. Din motive
de compatibilitate, se recomand ca numele etichetelor s nceap cu numele interfeei.
Astfel, pentru eth0 etichete valide sunt: eth00, eth0.0, eth0:0, eth0-test. Pentru c
ifconfig vede etichetele ca pe o interfa virtual, el nu poate rula dect cu cele de tip
interfa:numr.
# ip addr add dev eth0 192.168.38.11/24 broadcast 192.168.38.255 label eth0:0
# ip addr show label eth0:0
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:0a:95:e2:04:d4 brd ff:ff:ff:ff:ff:ff
inet 192.168.38.11/24 brd 192.168.38.255 scope global eth0:0
Pentru activarea sau dezactivarea unei interfee, sau tergerea configuraiilor logice
asociate cu o subinterfa se folosete un alt utilitar al pachetului iproute2: ip link. De
exemplu, pentru a nchide interfaa eth0 se poate folosi comanda:
ip link set eth0 down
Utilitarul ip link mai poate fi util pentru schimbarea parametrilor de nivel legtur de
date (adres MAC, MTU, etc), precum i la afiarea acestor parametri:
# ip link show
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:0a:95:e2:04:d4 brd ff:ff:ff:ff:ff:ff
108 | R e e l e L o c a l e
iface eth0 inet static
address 192.168.1.3
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.2
up echo $IFACE up
down echo $IFACE down
up route add -host 192.168.38.100 gw 192.168.1.17
n exemplul de mai sus, interfeei eth0 i este atribuit adresa 192.168.1.3/24, adresa
routerului implicit este 192.168.1.1, serverul de DNS 192.168.1.2. La ridicarea (activarea)
interfeei va fi afiat mesajul eth0 up i va fi adugat n tabela de rutare o rut ctre
reeaua 192.168.38.100/32 (reea format dintr-o singur adres) cu urmtorul hop
192.168.1.17.
Pentru obinerea dinamic a parametrilor de reea este editat tot fiierul
/etc/network/interfaces. Spre exemplu, pentru a configura dinamic interfaa eth0:
auto eth0
iface eth0 inet dhcp
Orice modificri permanente vor fi aplicate doar n urma repornirii serviciului de reea:
#/etc/init.d/networking restart
Specificarea altui port dect cel implicit poate fi util n procesul de depanare sau n
securizarea reelei.
Fiierul de configurare al serverului DHCP este /etc/dhcpd.conf. De asemenea, fiierul
/var/lib/dhcp/dhcpd.leases pstreaz baza de date a clienilor DHCP pentru serverul
respectiv.
Fiierul de configurare pstreaz informaii despre clienii din reea. n cadrul lui, pot fi
declarate opiuni globale, aplicabile tuturor clienilor, sau opiuni pentru fiecare client sau
grup de clieni.
Considernd acest aspect, exist dou tipuri de specificaii n cadrul fiierului dhcpd.conf:
parametrii i declaraii.
Declaraiile sunt folosite pentru a descrie topologia reelei sau clienii, i precizeaz
adresele care pot fi atribuite clienilor. Exist patru tipuri de declaraii care contureaz
topologia reelei: host, goup, subnet i shared-network.
109 | A d r e s a r e a I P
routers 192.168.1.1;
subnet-mask 255.255.255.0;
broadcast-address 192.168.1.255;
domain-name-server 141.87.37.2;
option
domain-name-servers
ADRESA
[,
ADRESA1
host gazda1{
hardware ethernet 00:02:55:F3:12:F0;
fixed-address 192.168.1.3;
}
clienilor;
range ADRESA1 ADRESA2: intervalul din care vor fi atribuite dinamic adrese IP clienilor,
la clieni necunoscui.
110 | R e e l e L o c a l e
group{
[parametri de grup]
subnet ADRESA1
[parametri
}
subnet ADRESA2
[parametri
}
netmask MASCA1{
de subretea]
netmask MASCA2{
de subretea]
host NUME{
[parametri de host]
}
host NUME1{
[parametri de host]
}
}
Fiierul poate conine spaii, linii goale sau tab-uri adiionale pentru formatare. Sintaxa
este case-insensitive, comentariile ncepnd cu # i sfrindu-se cu linie nou.
Schimbrile fcute fiierului de configurare vor avea efect dup restartarea serverului:
/etc/init.d/dhcp restart
Un alt fiier pentru configurarea serverului DHCP este /etc/default/dhcp. Aici pot fi
specificate, de exemplu, interfeele pe care serverul s asculte cereri DHCP (folosind declaraia
INTERFACES).
Agentul DHCP poate fi configurat la pornire, prin parametrii transmii comenzii dhcrelay,
sau prin intermediul fiierului /etc/default/dhcp-relay.
n acest fiier se pot specifica:
111 | A d r e s a r e a I P
iface eth1 inet static
name Ethernet LAN card
address 10.16.200.1
broadcast 10.16.200.255
netmask 255.255.255.0
network 10.16.200.0
Cele dou staii date ca exemplu sunt configurate dup cum urmeaz:
root@MPLS-2:/etc/network# cat interfaces
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
name Ethernet LAN card
root@MPLS3:/etc# cat /etc/network/interfaces
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
name Ethernet LAN card
La pornirea staiilor, sau cnd este repornit serviciul de reea, acestea vor iniia o
conversaie cu serverul DHCP n urma creia vor obine adresele IP i parametrii de
configurare.
root@MPLS3:/etc# /etc/init.d/networking restart
Setting up IP spoofing protection: rp_filter.
Reconfiguring network interfaces...ifup: interface lo already configured
Internet Software Consortium DHCP Client 2.0pl5
[...]
Listening on LPF/eth0/00:02:55:f3:12:f0
Sending on LPF/eth0/00:02:55:f3:12:f0
Sending on Socket/fallback/fallback-net
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPNAK from 192.168.1.1
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 8
DHCPOFFER from 192.168.1.1
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPACK from 192.168.1.1
bound to 192.168.1.3 - renewal in 1000 seconds.
done.
112 | R e e l e L o c a l e
n cazul staiei MPLS3 se observ c a fost atribuit adresa 192.168.1.3, deoarece aceast
staie are adresa fizic 00:02:55:f3:12:f0, specificat cu parametrul host n fiierul de
configurare al serverului.
root@MPLS-2:/etc/network# /etc/init.d/networking restart
Setting up IP spoofing protection: rp_filter.
Reconfiguring network interfaces...
ifup: interface lo already configured
[...]
Listening on LPF/eth0/00:02:55:f3:0c:02
Sending on LPF/eth0/00:02:55:f3:0c:02
Sending on Socket/fallback/fallback-net
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPNAK from 192.168.1.1
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 5
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 7
DHCPOFFER from 192.168.1.1
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPACK from 192.168.1.1
bound to 192.168.1.11 - renewal in 1000 seconds.
done.
n cazul staiei MPLS2 adresa atribuit este urmtoarea adres liber din intervalul de
adrese specificat, respectiv 192.168.1.11 .
113 | A d r e s a r e a I P
114 | R e e l e L o c a l e
Link Layer Topology Discovery (LLTD) Mapper este componenta care interogheaz celelalte
dispozitive din reea i care generaz Network Map-ul.
LLTD Responder este componenta interogat, care rspunde cererilor venite de la LLTD
Mapper
Cele dou componente sunt instalate implicit doar pe Windows Vista i Windows Server
2008, dar este posibil instalarea unui LLTD Responder i pe un calculator ce ruleaz Windows
XP, permindu-i acestuia s fie vzut de ctre un LLTD Mapper din reea ce genereaz un
Network Map.
Alte opiuni disponibile n Network and Sharing Center:
Network Discovery: Permite calculatorului propriu s poat localiza alte calculatoare din reea
i s poat fi localizat, la rndul su. Opiunea poate fi setat pe On, Off sau poate avea
valoarea Custom, spre exemplul n situaia n care Network Discovery este activ dar firewall-ul
nu deine o regul pentru a permite funcionarea sa n reea.
File Sharing: Partajarea fiierelor creeaz automat o permisiune n firewall pentru ca
protocolul s poat funciona. Activarea File Sharing-ului permite utilizatorilor s partajeze
fiierele din propriul profil, adic din %systemroot%\Users\%username%. Administratorii de
sistem pot partaja orice fiier din calculator.
Public Folder Sharing: n directorul de profil al fiecrui utilizator exist un subdirector numit
Public care este automat partajat n momentul activrii acestei opiuni. La activarea Public
Folder Sharing este activat automat i opiunea de File Sharing.
Printer Sharing: Opiunea ofer posibilitatea de partajare a accesului la imprimantele instalate
local, pentru a putea fi folosite de orice alt calculator din reea. De asemena, activarea aceste
opiuni are ca efect i activarea opiunii de File Sharing.
Password Protected Sharing: Opiunea este disponibil doar pe sistemele care nu sunt
membre ale unui domeniu. n momentul activrii sale, accesul la resursele locale partajate este
restricionat doar pentru cei care au un cont valid de utilizator pe calculatorul gazd.
115 | A d r e s a r e a I P
Din fereastra Initial Configuration Tasks (afiat de la prima lansare a sistemului, dup
instalare), clic pe Configure Networking;
Din interfaa Network and Sharing Center, clic pe Manage Network Connections;
De la meniul Start, scriind comanda ncpa.cpl sau control netconnections fie n cmpul
de Search, fie la Run.
Network Clients: ntr-o reea Windows, clienii sunt componente software care permit unei
staii s se conecteze cu un anumit sistem de operare din reea. Implicit, singurul client
disponibil pentru toate conexiunile locale este Client for Microsoft Networks. Acesta permite
calculatoarelor ce ruleaz Windows s se conecteze i s partajeze resurse ntre ele.
Network Services: Serviciile sunt componente software ce ofer funcionaliti suplimentare
conexiunilor. File and Printer Sharing for Microsoft Networks i QoS Packet Scheduler sunt dou
dintre serviciile ataate implicit tuturor conexiunilor locale. File and Printer Sharing for
Microsoft Networks permite calculatorului s partajeze fiiere pentru a fi accesate din reea.
QoS Packet Scheduler ofer control asupra traficului din reea, cu posibilitatea de a prioritiza
anumite fluxuri de date i servicii.
Network Protocols: Calculatoarele comunic printr-o conexiune doar prin intermediul
protocoalelor ataate acelei conexiuni. Suportul pentru IPv4 i IPv6 este inclus implicit pentru
116 | R e e l e L o c a l e
toate conexiunile locale, alturi de suportul pentru LLTD Mapper i LLTD Responder (descrise n
seciunea 3.4.1).
Este posibil vizualizarea setrilor avansate pentru conexiunile din Network Connections.
Pentru aceasta, din fereastra Network Connections, se alege opiunea Advanced Settings din
meniul Advanced1:
n Windows Vista este posibil ca meniul (File, Edit, View, etc.) s nu fie afiat implicit. n acest caz, se
ine apsat tasta Alt i acesta va aprea.
117 | A d r e s a r e a I P
Media State . . . . . . . . . .
Connection-specific DNS Suffix
Description . . . . . . . . . .
Physical Address. . . . . . . .
DHCP Enabled. . . . . . . . . .
Autoconfiguration Enabled . . .
.
.
.
.
.
.
:
:
:
:
:
:
Media disconnected
Bluetooth LAN Access Server Driver
00-19-7D-E1-AC-04
Yes
Yes
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
.
.
.
.
.
.
:
:
:
:
:
:
Media disconnected
fiberlink.rdsnet.ro
Broadcom 440x 10/100 Integrated Controller
00-13-D4-9E-50-C8
Yes
Yes
118 | R e e l e L o c a l e
119 | A d r e s a r e a I P
120 | R e e l e L o c a l e
121 | A d r e s a r e a I P
Totui, dac un server DHCP devine neoperaional, staiile vor recurge la APIPA doar dup expirarea
timpului de nchiriere a ultimei configuraii obinute de la acesta, deci trecerea nu se va face instantaneu.
122 | R e e l e L o c a l e
Suffix
. . . .
. . . .
. . . .
. . . .
.
.
.
.
.
:
: fe80::525:fc37:994d:636f%14
: 169.254.216.1
: 255.255.255.0
:
n general, navigarea prin comenzile disponibile n netsh se poate face treptat, n sensul
c la fiecare adugare a unui parametru, dac acesta nu constituie o comand complet,
netsh va afia o list cu toi parametrii suportai n continuare, mpreun cu o scurt explicaie
a lor. Spre exemplu, dac se dorete vizualizarea tuturor comenzilor de tip show, se poate
introduce urmtoarea comand:
PS C:\Users\Administrator> netsh interface ipv4 show
The following commands are available:
Commands in this context:
show addresses - Shows IP address configurations.
show compartments - Shows compartment parameters.
show config
- Displays IP address and additional information.
show destinationcache - Shows destination cache entries.
show dnsservers - Displays the DNS server addresses.
show dynamicportrange - Shows dynamic port range configuration parameters.
1
Explicaia pentru acest comportament st n faptul c o staie care recurge la APIPA o va face pentru c
este setat s obtin o configuraie automat i nu a reuit acest lucru. Deci, practic, nlocuirea configuraiei
APIPA cu cea prin DHCP se face deoarece configuraia primar are prioritate n faa celei alternative.
2
http://tools.ietf.org/html/rfc3927
3
http://tools.ietf.org/html/rfc4862
123 | A d r e s a r e a I P
show global
- Shows global configuration parameters.
show icmpstats - Displays ICMP statistics.
show interfaces - Shows interface parameters.
show ipaddresses - Shows current IP addresses.
[...]
Se observ c se pot afia la acest pas configuraiile de pe fiecare interfa, serverele DNS
configurate, statistici, rute, conexiunile active i o multitudine de alte informaii.
n exemplul urmtor se dorete stabilirea unei configuraii statice pe o anumit interfa.
Pentru aceasta, este necesar s se ruleze nti o comand show care s listeze interfeele de
reea mpreun cu numerele lor de ordine:
PS C:\Users\Administrator> netsh interface ipv4 show interfaces
Idx
--1
16
10
12
14
17
Met
MTU
State
Name
--- ----- ----------- ------------------50 4294967295 connected
Loopback Pseudo-Interface 1
40
1500 connected
Wireless Network Connection
30
1500 disconnected Local Area Connection
20
1500 connected
Local Area Connection 2
20
1500 connected
Local Area Connection 3
40
1500 disconnected Local Area Connection 4
Dac se dorete modificarea configuraiei pentru interfaa wireless, spre exemplu, din
rezultatul obinut mai sus se reine valoarea cmpului Idx din dreptul lui Wireless Network
Connection (16 n cazul de fa).
n continuare, pentru a seta configuraia static pe interfaa wireless, se ruleaz comanda
urmtoare. Valoarea folosit pentru parametrul name reprezint indexul interfeei returnat de
comanda show precedent:
netsh
interface
ipv4
set
address
mask=255.255.255.0 gateway=192.168.100.1
name=16
source=static
address=192.168.100.75
Din moment ce prezena unui server DNS este important pentru funcionarea oricrei
reele conectate la Internet i critic ntr-o configuraie Active Directory, se poate aduga
adresa unui server DNS folosind netsh n modul urmtor, folosind acelai index al interfeei
pentru a o identifica:
netsh interface ipv4 add dnsserver name=16 address=192.168.100.40
Adugarea unui server DNS folosind netsh permite specificarea unui parametru
suplimentar, index, care permite numerotarea i, implicit, introducerea mai multor servere
DNS.
Prin intermediul PowerShell se poate obine rapid o list detaliat a tuturor interfeelor de
reea instalate n sistem, prin urmtoarea comand
Get-WmiObject -Class Win32_NetworkAdapterConfiguration
Win32_NetworkAdapterConfiguration
format-
Description
-----------
124 | R e e l e L o c a l e
PS C:\> Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE ComputerName . | Select-Object -Property IPAddress
IPAddress
--------{192.168.1.2, fe80::14c8:f79a:2ed7:74a6}
{192.168.13.1, fe80::9dd5:cc72:ab31:8927}
{192.168.216.1, fe80::525:fc37:994d:636f}
Rezultatului obinut mai sus i s-a aplicat un filtru dup proprietatea IPEnabled pentru a
selecta doar interfeele care au adrese configurate. Parametrul ComputerName urmat de punct
(.) reprezint maina local iar trimiterea prin pipe (|) comenzii Select-Object cu
parametrul Property setat indic afiarea doar a proprietii IPAddress a fiecrui obiect
returnat.
Din toate comenzile anterioare ce returneaz obiecte cu anumite propriti se observ c
PowerShell afieaz implicit doar cteva dintre ele. Pentru a afia toate proprietile unui
obiect sau, ca n cazul de fa, toate informaiile despre conexiunile de reea, se poate folosi
comanda Select-Object cu parametrul Property, ca i mai sus, dar specificndu-i-se
acestuia s afieze toate proprietile printr-un wildcard (*):
PS C:\Users\Administrator>
Filter IPEnabled=TRUE -ComputerName
DHCPLeaseExpires
Index
Description
DHCPEnabled
DHCPLeaseObtained
DHCPServer
DNSServerSearchOrder
IPAddress
IPEnabled
DefaultIPGateway
InterfaceIndex
IPSubnet
MACAddress
[...]
De reinut faptul c o comand precum ipconfig (sau alte comenzi PowerShell ce analizeaz interfeele)
va afia adresa configurat pe interfa, care poate fi o adres privat, chiar dac staia are conectivitate la
Internet prin intermediul unui gateway.
125 | A d r e s a r e a I P
/?.
Din aceast list se observ c pentru a trimite mai multe pachete, comanda accept
parametrul n urmat de numrul dorit.
PS C:\Users\Administrator> ping google.com
Pinging google.com [64.233.167.99]
Reply from 64.233.167.99: bytes=32
Reply from 64.233.167.99: bytes=32
Reply from 64.233.167.99: bytes=32
Reply from 64.233.167.99: bytes=32
3
30
27
31
41
143
155
157
158
153
ms
ms
ms
ms
ms
ms
ms
ms
ms
ms
38
26
25
39
41
143
155
155
156
153
ms
ms
ms
ms
ms
ms
ms
ms
ms
ms
8
25
25
35
41
143
156
150
156
154
ms
ms
ms
ms
ms
ms
ms
ms
ms
ms
mygateway1.ar7 [192.168.1.1]
172.29.252.46
172.29.32.153
gtr10-gtr11.ip.t-com.hr [195.29.240.97]
mil8-hpt-11.mil.seabone.net [195.22.196.81]
ash2-new11-racc3.new.seabone.net [195.22.216.207]
g2-12-bas2.dce.yahoo.com [206.223.115.2]
ae1-p141.msr1.re1.yahoo.com [216.115.108.19]
ge-9-3.bas-a1.re4.yahoo.com [216.39.49.3]
yahoo.com [206.190.60.37]
Address
172.16.87.35
|
172.16.87.218
|
192.168.52.1
|
192.168.80.1
|
10.54.247.14
|
10.54.1.196
126 | R e e l e L o c a l e
Type
dynamic
dynamic
dynamic
dynamic
dynamic
127 | A d r e s a r e a I P
Pentru setarea configuraiilor dinamice sau statice asupra interfeelor de reea se va folosi
WMI i clasa Win32_NetworkAdapterConfiguration care permite modificarea parametrilor
necesari pentru a realiza aceasta.
2. Pentru a activa configuraia prin DHCP, trebuie rulat metoda EnableDHCP n contextul
fiecrei interfee de reea. n consecin, se obine o list a interfeelor filtrate dup cele
capabile de configuraii IP, pentru a exclude interfeele ce folosesc NetBEUI, IPX/SPX,
AppleTalk, etc, i se ruleaz metoda de mai sus pentru fiecare interfa obinut astfel. Scriptul
care realizeaz aceasta este urmtorul:
$interfete = Get-WmiObject Win32_NetworkAdapterConfiguration | Where {$_.IPEnabled -eq "TRUE"}
foreach($interfata in $interfete) {$interfata.EnableDHCP()}
4. Se poate folosi acum comanda ipconfig /all pentru a verifica noua configuraie. Dac s-a
realizat cu succes contactarea serverului DHCP, trebuie s fie vizibil i intervalul de timp pentru
care configuraia automat este valid (valorile Lease Obtained i Lease Expires).
Drept rezultat, sunt configurate cu valori statice: adresa IP, masca de reea, default
gateway-ul, servere DNS (principal i secundar) i servere Wins. Configuraia complet poate fi
verificat de la proprietile conexiunii, TCP/IP Properties, la categoria Advanced. Aici pot fi
vizualizate configuraiile IP, DNS i WINS.
Din moment ce PowerShell lucreaz cu tipuri de date bine definite, este important de
remarcat tipurile unor parametri folosii n scriptul de mai sus:
128 | R e e l e L o c a l e
Care este clasa din care face parte spaiul de adrese primit?
Cum trebuie mprit spaiul de adrese pentru a respecta cerinele problemei?
Ce adresa vom aloca gateway-ului (ruterului de ieire din reea) pentru reeaua din cmin?
Care este adresa de difuzare pentru reeaua departamentului de cercetare?
Cte adrese de staie sunt disponibile n reeaua utilizat de ctre secretariat? Care sunt aceste
adrese?
6. Care este a 5-a adres de staie din primul laborator?
Rspunsuri
1. Exprimarea zecimal a primului octet din adresa de reea disponibil este cuprins n intervalul
[192 223+, ceea ce nseamn c primii trei bii ai acestui octet sunt 110, deci adresa primit
aparine clasei C.
2. Pentru a rezolva problema trebuie create cele cinci subreele descrise n enun. Mai nti vom
ncerca s mprim spaiul disponibil astfel nct toate reelele s poat conine acelai numr
de staii. Pentru aceasta trebuie s decidem ci bii sunt necesari pentru definirea unei
subreele (astfel nct s putem crea 5 distincte). Rspunsul la aceast ntrebare este dat de
cea mai mic putere a lui 2 care genereaz un numr mai mare sau egal cu necesarul de reele.
n cazul nostru, 23=8 i 8 este mai mare dect 5, aadar, pentru a crea 5 subreele sunt
necesari 3 bii. Aceti trei bii (de subreea) se vor aduga n continuarea mtii de reea a
spaiului ce urmeaz a fi mprit, formnd noua masc de reea pentru noile subreele. Masca
de reea pentru o clas C este /24, adic este format din primii 24 de bii consecutivi;
adugnd n continuarea acestora nc trei, obinem masca /27 (255.255.255.224).
210 .
89 .
24 de bii
reea
32 .
0 0 0
3 bii
subreea
0 0 0 0 0
5 bii
staie
000 00000
001 00000
/27
/27
prima subreea
a doua subreea
Numrul de bii rmai disponibili pentru cmpul de staie este 5 (32 27). nseamn
c putem avea cte 25-2 = 32-2 = 30 de adrese de staie n fiecare subreea. Acest lucru nu
corespunde ns cu cerinele problemei: reeaua din cmin trebuie s conin 50 de staii.
Pentru a satisface cerinele impuse de problem trebuie folosite mti de reea cu
lungime variabil.
129 | A d r e s a r e a I P
Se ia reeaua cu cel mai mare numr de staii necesar, n cazul de fa, reeaua din cmin, cu
50 de staii, i se va decide ci bii sunt necesari pentru a defini 50 de adrese de staie. Cum
nu putem utiliza adresa de reea (cea n care toi biii de staie sunt 0) i nici adresa de difuzare
(cea n care toi biii de staie sunt 1), trebuie gsit cea mai mic putere a lui 2 ce genereaz
un numr cu cel puin doi mai mare dect numrul necesar. n cazul de fa, 2 6-2 = 64 2 = 62
i 62 este mai mare dect 50, ceea ce nseamn c sunt necesari 6 bii pentru asigurarea
spaiului de adrese pentru reeaua din cmin. Prin folosirea a 6 bii din cei 8 disponibili, rezult
c pentru a defini subreeaua ne mai rmn 2 bii, adic prefixul noi subreele va fi /26. Adresa
de reea pentru reeaua din cmin este 210. 89. 32. 01 000000 /26, adic 210.89.32.64 /26.
Au mai rmas de definit reelele pentru laboratoare, cercetare i secretariat. Numrul
cel mai mare de staii este cel pentru reelele din laborator, 25 de staii. Vom proceda la fel ca
mai sus, alegnd numrul de bii necesar pentru definirea adreselor de staii. Acesta este 5 (252 = 30 i 30 > 25). Pentru reeaua din cmin am folosit una dintre cele 4 reele /26 pe care leam creat. Putem mpri o reea /26 n dou reele /27 prin extinderea mtii de reea cu un
bit. Spre exemplu, a treia reea /26 creat: 210. 89.32. 10 00000 /26, adic 210. 89.32. 128 /26
are 32-26 = 6 bii disponibili (neacoperii de masca de reea). Aceti bii pot fi mprii la
rndul lor (aa cum am fcut cu spaiul iniial) n bii de reea i bii de staie. Cum noi avem
nevoie de 5 bii pentru staii ntr-o reea de laborator, mai rmne un bit pentru subreea. Cu
un bit putem defini dou reele (21, deoarece cu un bit putem reprezenta 2 valori). n
problema noastr, exact de dou reele a cte 25 de calculatoare este nevoie. Aadar,
mprim a treia reea /26 n 2 reele /27 i obinem cele dou reele pentru laboratoare:
210.89.32.10000000
210.89.32.10100000
/26
/26
=
=
210.89.32.128
210.89.32.160
/26
/26
3. n realitate, se poate aloca gateway-ului orice adres valid de staie, exist ns o convenie
de care bine s inem cont. Prin convenie, pentru gateway se folosete prima adres valid
de staie, adic, n cazul reelei din cmin, reprezentarea binar a lui 1 pe 6 bii (cinci de 0
urmai de un 1).
Adresa gateway-ului pentru reeaua din cmin:
210.89.32.01000001 /26
210.89.32.65 /26
Adresa de difuzare este cea care are toi biii de staie sunt 1:
210.89.32.11011111 /28
130 | R e e l e L o c a l e
5. Adresa reelei utilizate de ctre secretariat este
210.89.32.224 /28 = 210.89.32.11100000 /28
Cu cei patru bii din zona de staie putem defini 16 adrese. ntruct nu putem folosi adresa de
reea i nici adresa de broadcast, rezult c rmn 14 adrese valide pentru staii. Acestea sunt:
210.89.32.11100001 /28 prima adres de staie
[...]
210.89.32.11101110 /28 ultima adres de staie
Cu alte cuvinte, adresele alocabile staiilor pentru secretariat sunt cele cuprinse n intervalul
de adrese 210.89.32.225 210.89.32.238
6. Considerm c primul laborator este cel cu adresa de reea 210.89.32.128 /26.
Cea de-a 5-a adres de staie este:
210. 89. 32.10000101
131 | A d r e s a r e a I P
ntrebri
132 | R e e l e L o c a l e
4 Rutarea n Internet
If you asked a hundred people walking down the street...I would bet you that 90 of them, if not
99 of them, would ask, 'What's a router?'
Stewart Wolpin
Cine este...
Len Bosack i Sandy Lerner sunt co-fondatory Cisco Systems. Bosack i Lerner sunt
creatorii primului router multi-protocol, dispozitiv care s-a dovedit un succes comercial.
n 1990, Bosack i Lerner au prsit Cisco i au vndut aciunile pentru o valoare
estimat de 170 de milioane de dolari.
Dac noul calculator are o plac de reea, atunci va avea i adres MAC, singura problem
fiind aceea de a face rost i de a atribui calculatorului o adres IP. O calitate important a
Internetului const n capacitatea calculatoarelor de a fi TCP/IP compliant, adic de a rula
stiva de protocoale TCP/IP i de a poseda o adres IP.
Internetul poate fi definit mai precis ca ansamblul global al tuturor reelelor
interconectate ce sunt TCP/IP compliant.
Dup cum s-a precizat, pentru a conecta dou calculatoare este nevoie de diverse
dispozitive de interconectare. Un astfel de dispozitiv este routerul. Routerul face posibil
scalabilitatea Internetului, i astfel chiar existena sa. Prin urmare, orice definiie relevant a
Internetului trebuie s porneasc mai degrab de la routere dect de la staii.
Odat cu dispozitivele de interconectare apar i numeroase protocoale. Privit din punctul
de vedere al funcionrii sale, Internetul este definit de simbioza a dou tipuri de protocoale
de nivel reea: protocoale de rutare i protocoale rutate.
Protocoalele de rutare sunt cele ce stabilesc regulile prin care informaiile despre reele
sunt schimbate ntre routere n scopul obinerii unei tabele de rutare adecvate topologiei.
133 | R u t a r e a n I n t e r n e t
Protocoalele rutate sunt acele protocoale responsabile pentru asigurarea unui mod de
identificare a entitilor ce particip n Internet prin stabilirea unei scheme de adresare ce
trebuie s asigure unicitatea i ierarhizarea adreselor.
Masc
/26
/26
/24
/24
Next hop
172.17.0.9
194.230.5.65
199.17.17.0
Interfa
E0
S0
E1
-
134 | R e e l e L o c a l e
Pentru a nelege mai uor modul de decizie a unui router se va presupune c un router cu
o tabel de rutare identic cu cea prezentat n figura de mai sus primete un pachet cu
adresa destinaie 194.230.85.66.
Din ntregul pachet singura informaie relevant pentru nivelul reea al unui router este
adresa logic destinaie. n primul rnd, routerul va trebui s determine dac nu este el
destinatarul acestui pachet, iar pentru aceasta va compara adresele logice ale tuturor
interfeelor sale active cu adresa destinaie a pachetului. Dac este destinatarul pachetului
atunci va trimite datele nivelurilor superioare.
n cazul n care routerul nu are nicio interfa activ cu aceeai adres ca cea a pachetului,
routerul va trece la pasul doi, ncercnd s determine dac destinaia se afl n aceeai reea
ca i sursa. Pentru aceasta va analiza adresa i masca interfeei pe care a primit pachetul n
cauz. Astfel va aplica masca asociat interfeei de intrare pe adresa interfeei urmnd ca
rezultatul s fie comparat cu rezultatul operaiei de i logic ntre aceeai masc de reea i
adresa destinaie. Dac cele dou rezultate coincid, routerul va ignora pachetul, altfel urmnd
s nceap procesul efectiv de rutare.
Prima rut din tabela de rutare va fi extras, iar rezultatul operaiei de i logic ntre
adresa destinaie i masca de reea cuprins n aceast rut va fi comparat cu adresa de reea.
n cazul n care cele dou valori coincid, antetul de nivel legtur de date al pachetului va fi
rescris (antetul de nivel reea rmnnd neschimbat) i pachetul va fi trimis ctre urmtorul
hop. Dac valorile difer, va fi extras urmtoarea rut pn la gsirea primei potriviri sau
pn la epuizarea rutelor, caz n care pachetul urmeaz s fie ignorat.
n cazul exemplului de fa, se presupune c pachetul cu destinaia 194.230.85.66 trebuie
rutat. Prima rut va aplica masca /26 adresei destinaie, rezultnd 194.230.85.64, valoare
diferit de 194.230.85.0. Nici a doua rut nu este potrivit pentru aceast destinaie, astfel
ajungndu-se la cea de a treia rut.
Aparent prima i a treia rut se refer la aceeai reea. La o privire mai atent mtile de
reea difer, astfel a treia rut se refer la un spaiu de adrese de patru ori mai mare dect
prima. n realitate, datorit caracterului secvenial al utilizrii tabelelor de rutare i a faptului
c primele dou rute se refer la dou sferturi din acelai spaiu de adrese, numrul de adrese
diferite ce vor folosi a treia rut va fi doar dublu (i nu de patru ori mai mare) dect numrul
de adrese ce vor folosi prima rut.
n urma aplicrii mtii /24 pentru adresa destinaie, rezult 194.230.85.0 i anume adresa
reelei destinaie din aceast rut. Pentru a putea trimite pachetul va trebui aflat adresa MAC
a urmtorului hop, i anume 194.230.5.65. n urma interogrii tabelei ARP sau a unei cereri
ARP, adresa MAC surs este rescris cu adresa MAC a interfeei E1, iar adresa MAC destinaie
este nlocuit cu adresa MAC corespunztoare urmtorului hop.
135 | R u t a r e a n I n t e r n e t
n rutarea cu rute classfull procesul este diferit, i anume adresa destinaie extras din
antetul unui pachet ajuns la router va fi mai nti comparat cu 192, i n cazul n care e mai
mic de 192 va fi comparat cu 128, determinndu-se astfel clasa de adrese i implicit masca
de reea. Din acest punct procesul este similar cu cel din rutarea classless, adic se va efectua
o operaie de i logic ntre adresa destinaie i masca reelei, rezultatul urmnd a fi
comparat cu adresa de reea coninut n rut.
Odat cu rspndirea rutrii classless a aprut clasificarea rutelor n funcie de tipul
destinaiei. Astfel sunt rute de tip nod (sau rute host) i rute de tip reea. Rutele host conin
informaii doar despre o singur staie, adic masca de reea este /32. Odat cu creterea
Internetului, i implicit a dimensiunii tabelelor de rutare, a crescut i presiunea de a agrega ct
mai mult rutele, precum i a se renuna la rutele de tip nod. Cu toate acestea, datorit
modului de inserare a rutelor, i deci datorit promovrii rutelor de tip nod la nceputul tabelei
de rutare, acestea avnd prefixul maxim, rutele host mai sunt nc folosite pentru unele
optimizri de trafic, mai ales pe routerele de la periferia Internetului.
Al treilea criteriu de clasificare a rutelor este n funcie de modul de conectare, iar cele
dou tipuri de rute sunt: rutele direct conectate i rutele gateway (ctre reele distante).
Rutele direct conectate sunt rute ctre reele n care routerul n cauz are o interfa, i n
majoritatea cazurilor aceste rute sunt automat introduse n tabela de rutare de sistemul de
operare n momentul configurrii i activrii interfeei respective. Rutele direct conectate nu
conin, n general, adresa urmtorului hop, avnd specificat doar interfaa de ieire din
router. Astfel, rutele direct conectate sunt singurele rute valide care pot avea specificat ca
interfa de ieire o interfa multiaccess (gen Ethernet), fr a necesita precizarea adresei
urmtorului hop.
O a patra clasificare a rutelor se face n funcie de mediul de acces la reea, avnd astfel
rute pe medii punct la punct i rute pe medii multiacces. Rutele ctre o reea conectat pe o
legtur punct la punct pot fi specificate ori prin interfaa de ieire din router, ori prin adresa
urmtorului hop, ori prin ambele. Rutele pe medii multiacces sunt specificate doar prin adresa
urmtorului hop, interfaa de ieire nefiind suficient.
Din punctul de vedere al unui router, dou medii de transmisie acoper marea majoritate
a rutelor; altfel spus, dou tipuri anume de interfee sunt mult mai populare dect restul. Cele
dou tipuri de interfee sunt interfeele Ethernet i cele seriale. Ethernet permite transmisia
peste un mediu multiacces, n vreme ce interfaa serial este punct la punct. Alte interfee
punct la punct destul de rspndite sunt cele de fibr optic i cele ISDN.
Un tip special de rut este ruta implicit.
O ruta implicit (rut default) este ruta spre care se trimit toate pachetele pentru care nu
se cunoate o destinaie specific.
Altfel spus, ruta implicit este ruta care se potrivete cu toate destinaiile, avnd n partea
de adres de reea din rut un spaiu de adrese ce cuprinde toate adresele IP. Acest spaiu de
adrese este 0.0.0.0/0 i, dei deseori ruta implicit este denumit ca ruta cu 4 de zero sau
quad-zero route, caracteristica distinctiv a acestei rute se afl n masca de lungime zero.
Exist situaii n care pot exista mai multe rute implicite ntr-o tabel de rutare. n tabela
de rutare de mai jos, ultimele dou rute sunt dou rute implicite.
Adres reea
Masc
Next hop
Interfa
......
0.0.0.0
/0
194.230.5.65
S0
0.0.0.0
/0
S1
4-2: Tabel de rutare cu dou rute implicite
136 | R e e l e L o c a l e
Dac ambele rute apar n tabela de rutare, este evident c niciun pachet nu va ajunge s
fie prelucrat de cea de-a doua rut implicit, toate pachetele fiind acceptate de prima.
Dezactivarea unei interfee, ca urmare a nchiderii administrative sau a ntreruperii
legturii de nivel fizic sau de nivel legtur de date, are ca rezultat nlturarea tuturor rutelor
ce folosesc respectiva interfa ca interfa de ieire din router. Astfel, n absena celei de-a
doua rute implicite n cazul dezactivrii interfeei S0, toate pachetele care ar fi fost rutate prin
prima rut implicit ar urma s fie ignorate.
n concluzie, ntr-o tabel de rutare exist o singur rut implicit activ, dar pot fi
precizate mai multe rute default n scopuri de backup.
Ultima clasificare este i cea mai relevant n prezent. Pornind de la informaia pe baza
creia sunt construite rutele, distingem rutele statice de rutele dinamice. Aceast clasificare
se refer doar la rutele gateway, deoarece rutele direct conectate sunt introduse automat n
tabela de rutare.
137 | R u t a r e a n I n t e r n e t
Dei Macintosh ocup 3,5% din piaa mondial de calculatoare personale, efortul pentru
susinerea soluiilor bazate pe Apple Talk n rndul marilor productori de echipamente de
reea s-a diminuat rapid, trecnd pe un plan colateral ncepnd cu anii `95.
IPX, n schimb, a fost mult vreme un competitor redutabil pentru IP. De fapt, competiia
dintre stiva de protocoale TCP/IP i SPX/IPX s-a tradus n limbajul reelelor locale de
calculatoare n competiia dintre Microsoft i Novell.
O discuie a avantajelor unuia dintre protocoale fa de cellalt poate ocupa destul spaiu.
n cele din urm, rspunsul la ntrebarea de ce IP, i nu IPX? ine mai degrab de raiuni de
marketing dect de raiuni tehnice.
Singura concuren real pentru protocolul IPv4 este protocolul IPv6, dar slaba sa
rspndire actual poate susine afirmaia c exist, de fapt, un singur protocol rutat n
Internet. Mai mult, migraia ctre IPv6 nu a nceput din nucleul Internetului pentru a se
propaga apoi spre reelele locale. n prezent exist reele locale IPv6 legate cel mai adesea prin
mecanisme de tunelare peste IPv4.
138 | R e e l e L o c a l e
Distana
administrativ
Tip rut
Direct conectat
Rut static
Rut agregat
BGP
EIGRP
IGRP
OSPF
IS-IS
RIP
ODR
iBGP
0
1
5
20
90
100
110
115
120
160
200
http://tools.ietf.org/html/rfc1058
139 | R u t a r e a n I n t e r n e t
RIP folosete drept metric numrul de hopuri sau routere pn la reeaua destinaie.
Pentru a se evita efectele negative ale buclelor logice a fost stabilit o metric maxim, astfel
nct orice informaie despre o rut cu o metric mai mare de 15 este ignorat.
Actualizrile se fac transmind toate informaiile de rutare i nu doar cele ce s-au
modificat de la ultima actualizare, dar sunt trimise folosindu-se adrese de difuzare. Prin
urmare, pachetele de actualizare vor ajunge doar la routerele adiacente, deoarece n mod
implicit routerele filtreaz pachetele de broadcast.
Actualizrile se fac implicit la 30 de secunde, acest timp reprezentnd un compromis ntre
timpul de convergen i cantitatea de band utilizat pentru actualizri. Astfel, timpul de
convergen la RIP n cel mai defavorabil caz este de 7 minute jumtate (15 hopuri), calificnd
RIP n categoria protocoalelor de rutare intern cu o convergen sczut. n msura n care se
impune un timp de convergen mai mic, perioada de actualizare poate fi redus, ducnd ns
la un consum mai ridicat de lime de band.
Fiecare router ce primete un pachet de actualizare va incrementa metrica fiecrei rute
coninute n pachet cu 1, deoarece rutele coninute n pachet i sunt accesibile prin
intermediul unui hop suplimentar, i anume routerul ce a trimis pachetul de actualizare. Apoi,
pentru fiecare dintre rutele din pachetul de actualizare, va ncerca s determine dac nu exist
deja o rut cu o metric mai bun ctre aceeai destinaie n tabela de rutare.
140 | R e e l e L o c a l e
http://tools.ietf.org/html/rfc4271
141 | R u t a r e a n I n t e r n e t
sau sysctl:
cuirass:~# sysctl -a | grep ip_forward
net.ipv4.ip_forward = 0
cuirass:~# sysctl -w 'net.ipv4.ip_forward=1'
net.ipv4.ip_forward = 1
cuirass:~# sysctl -a | grep ip_forward
net.ipv4.ip_forward = 1
142 | R e e l e L o c a l e
scope link
src 172.16.68.128
scope link
src 172.16.68.128
src 172.16.68.128
n tabelul de mai sus exist o rut direct conectat (link) i o rut implicit. Ruta direct
conectat este interfaa eth0 prin care sistemul se conecteaz la reeaua local. Ruta implicit
folosete ca gateway 172.16.68.2.
143 | R u t a r e a n I n t e r n e t
172.16.68.0/24 dev eth0 proto kernel scope link src 172.16.68.128
default via 172.16.68.2 dev eth0
cuirass:~# ip r a 192.168.38.100/32 via 172.16.68.2
cuirass:~# ip r a 192.168.38.0/24 via 172.16.68.2
cuirass:~# ip r l
192.168.38.100 via 172.16.68.2 dev eth0
192.168.38.0/24 via 172.16.68.2 dev eth0
172.16.68.0/24 dev eth0 proto kernel scope link src 172.16.68.128
default via 172.16.68.4 dev eth0
n exemplul de mai sus s-a adugat o rut de tip host ctre staia cu adresa IP
192.168.38.100 i o rut de tip reea ctre reeaua 192.168.38.0.
n exemplul urmtor se adaug o rut implicit:
cuirass:~# ip r a default via 172.16.68.4
cuirass:~# ip r l
192.168.38.100 via 172.16.68.2 dev eth0
192.168.38.0/24 via 172.16.68.2 dev eth0
172.16.68.0/24 dev eth0 proto kernel scope link
default via 172.16.68.2 dev eth0
src 172.16.68.128
src 172.16.68.128
Sunt ntlnite frecvent cazuri n care este nevoie de mai multe rute ctre o singur
destinaie. Motivul principal al unei astfel de implementri este redundana. n cazul n care o
rut devine inutilizabil, poate fi folosit una dintre rutele de rezerv. Criteriul pentru
stabilirea rutei principale este costul acesteia. Din punct de vedere al sistemului de operare,
prioritatea rutelor este stabilit de metric. Rutele instalate folosind comenzile de mai sus au
metrica default 0. Pentru schimbarea metricii (i prioritizarea rutelor) se poate folosi opiunea
metric la adugarea unei intrri n tabela de rutare:
cuirass:~# ip r a 192.168.3.2 via 172.16.68.5 metric 5
cuirass:~# ip r l match 192.168.3.2
192.168.3.2 via 172.16.68.5 dev eth0 metric 5
default via 172.16.68.5 dev eth0
Comanda ip r l match este folosit pentru a afia intrrile din tabela de rutare care
corespund unei anumite reele. n exemplul de mai sus se afieaz ruta de tip host ctre
192.168.3.2 i ruta implicit care se potrivete cu orice adres.
src 172.16.68.128
src 172.16.68.128
144 | R e e l e L o c a l e
Opiunea up este folosit la rularea unei comenzi dup activarea interfeei. n exemplul de
mai sus, dup activarea interfeei se adaug o rut ctre reeaua 192.168.38.100.
Spaiul de adrese
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
10.0.0.0 10.255.255.255
172.16.0.0 172.31.255.255
192.168.0.0 192.168.255.255
http://tools.ietf.org/html/rfc1631
http://tools.ietf.org/html/rfc1918
145 | R u t a r e a n I n t e r n e t
146 | R e e l e L o c a l e
10.0.0.2
10.0.0.2
64.6.8.13
141.85.37.1
141.85.37.1
52108
2002
22
22
Internet
10.0.0.3
10.0.0.3
64.6.8.13
64.6.8.13
141.85.37.1
141.85.37.1
52108
2003
22
22
Fiecare tabel conine un set de lanuri dedicate unui anumit tip de aciune. n fiecare lan
pot fi adugate reguli specifice care definesc modul n care vor fi prelucrate diversele pachete.
Pentru translatarea de adrese se folosete tabela nat. n aceast tabel exist trei lanuri
predefinite: PREROUTING - modific pachetul imediat ce acesta intr n router, nainte de a fi
rutat, OUTPUT - modific pachetele generate local nainte ca acestea s intre n procesul de
rutare, i POSTROUTING - modific pachetele ce urmeaz s plece din router, dup ce acestea
au fost rutate. intele valide sunt ACCEPT, DROP, QUEUE, REJECT, LOG, SNAT, DNAT, MASQUARADE,
REDIRECT.
147 | R u t a r e a n I n t e r n e t
Prima regul poate fi interpretat n felul urmtor: toate pachetele ce vin cu adresa IP
surs din reeaua 192.168.0.0/24 vor fi trimise pe interfaa eth1 cu adresa IP surs 1.2.3.4,
dup ce acestea vor fi rutate. Cea de-a doua regul va schimba adresa IP destinaie
(14.15.16.17) a pachetelor ce intr pe interfaa eth0 cu adresa IP 192.168.100.1, nainte ca
acestea s fie rutate.
n exemplul de mai jos a fost prezentat configurarea iptables pentru translatarea de
adrese pe sistemul 141.85.37.1 din reeaua 192.168.1.0/24. Aceast main este doar
router, iar serverul de web, serverul de e-mail i serverul de DNS ruleaz pe servere diferite, n
reeaua intern. Routerul are conectat interfaa eth0 la reeaua intern i interfaa eth1 la
Internet.
iptables -t nat -A POSTROUTING -o eth1 -s
iptables -t nat -A PREROUTING -i eth1
destination 192.168.1.2
iptables -t nat -A PREROUTING -i eth1
destination 192.168.1.3
iptables -t nat -A PREROUTING -i eth1
destination 192.168.1.4
iptables -t nat -A PREROUTING -i eth1
destination 192.168.1.4
Prima linie din exemplu este folosit pentru ca staiile din reea s poat accesa Internetul.
La trecerea pachetelor prin router, adresa surs a staiilor (adres privat) va fi nlocuit cu
adresa routerului (adres public).
Urmtoarele linii vor trimite traficul de web, e-mail i DNS ctre serverele din interior. n
acest context, din exterior, aparent routerul este i server de web, e-mail i DNS.
Ce se ntmpl dac se dorete ca serviciile din reeaua intern, care sunt fcute publice,
s fie vzute din exterior ca rulnd pe porturi diferite fa de cele standard? Metoda ce poate
fi aplicat aici se numete port forwarding. Aceast metod permite unei staii (firewall) s
trimit cererile ce i sunt adresate ctre o alt staie ce va procesa aceste cereri. Cea mai
folosit ntrebuinare a acestei metode apare cnd serverele ruleaz pe staii aflate n reeaua
intern (dup firewall). Cu alte cuvinte, se presupune existena unui gateway cu dou
interfee, eth0 fiind conectat la reeaua intern i eth1 la Internet. Fie 141.85.37.1 adresa IP
public a interfeei eth1 i 192.168.0.2 adresa IP a staiei pe care ruleaz un serviciu web, pe
portul implicit 80, staie ce va putea fi accesat din exterior. n exemplul de mai jos se va face
redirectarea conexiunilor ce vin pe 141.85.37.1:8888 (<IP_extern:port>) ctre 192.168.0.2:80
(IP_intern:port).
iptables -t nat -A PREROUTING -i eth1 -p tcp d 141.85.37.1 dport 8888 j DNAT -todestination 192.168.0.2:80
148 | R e e l e L o c a l e
informaii precum TTL, TOS, sau pentru a marca un pachet. Marcarea pachetelor este folosit
doar n interiorul routerului. Odat ce un pachet prsete routerul, informaiile adugate la
marcare vor fi ndeprtate. n prezent, marcarea pachetelor este folosit de ctre sistemul de
Quality of Service (QoS).
Exist trei lanuri predefinite: INPUT - modific pachetele destinate routerului, FORWARD modific pachetele n curs de rutare, i POSTROUTING - modific pachetele dup rutare. intele
valide includ ACCEPT, DROP, QUEUE, REJECT, LOG precum i cele specifice tabelei, prezentate
mai jos.
MARK marcheaz pachetul cu valoarea specificat prin opiunea --set-mark. Pachetele
marcate se pot folosi ulterior n procesul de rutare sau QoS.
TOS seteaz cmpul de type of service la valoarea specificat prin opiunea --set-tos.
TTL seteaz cmpul TTL la valoarea specificat prin opiunea --ttl-set, decrementeaz
valoarea acestuia (dac se folosete opiunea --ttl-dec) sau incrementeaz valoarea
acestuia (dac se folosete opiunea --ttl-inc).
Mai jos este prezentat un exemplu de alterare avansat a pachetelor, n care dou staii
din reeaua intern, 141.85.37.13 i 141.85.37.169 pot accesa doar reeaua intern
(reeaua departamentului) i reeaua imediat urmtoare (reeaua organizaiei).
iptables -t mangle -A FORWARD -s 141.85.37.13 -j TTL --ttl-set 2
iptables -t mangle -A FORWARD -s 141.85.37.169 -j TTL --ttl-set 2
4.6.3 Tunelare
O reea privat virtual (VPN Virtual Private Network) reprezint o modalitate de
asigurare a unei conexiuni sigure peste o infrastructur public. Principalele tehnologii ce
permit stabilirea unei astfel de conexiuni sunt criptarea i tunelarea. Odat cu apariia
reelelor private virtuale de nivel 2, componenta de criptare a fost abandonat, singura
caracteristic universal a soluiilor de VPN rmnnd tunelarea.
Principalul scop al tunelrii ntr-o reea virtual este de a ascunde (fr a altera) att
identitatea sursei ct i a destinaiei fa de routerele de pe parcurs, routere ce aparin
infrastructurii publice. Dac s-ar apela la o translatare de adres, informaiile originale nu ar fi
accesibile dect serverului de translatare de adres.
n cazul tunelrii antetul iniial al pachetului este pstrat nealterat, atandu-se un nou
antet ce va avea ca adres surs adresa captului local al tunelului, iar ca adres destinaie
adresa celuilalt capt al tunelului.
Cel mai adesea tunelarea se realizeaz la nivelul reea prin tunelarea traficului IPv4 printrun tunel IPv4, precum n cazul VPN, sau tunelarea unui alt protocol rutat, spre exemplu
tunelarea traficului IPv6 peste o infrastructur IPv4 (tunel 6to4).
Se poate folosi tunelare i n cazul traficului de nivel legtur de date, cea mai ntlnit
metod de tunelare fiind tunelarea dot1q, folosit de ISP n cazul n care acesta ofer
conservarea informaiilor de VLAN din reelele clienilor.
O categorie aparte de tunelare o reprezint tunelarea de nivel 2,5 folosit spre exemplu n
arhitecturile de IP MPLS.
Avnd n vedere c principalul scop al tunelrii IP peste IP este acela de a oferi securitate,
trebuie s rspundem la ntrebarea:
n ce msur se obine un plus de securitate folosind tunelarea, atta vreme ct
informaiile originale se afl n continuare n cadrul original?
Rspunsul la aceast ntrebare ine de aprecierea volumului foarte mare de date ce
trebuie comutate n nucleul Internetului. Valoarea foarte ridicat a traficului determin ca
orice prelucrare adiional a cadrelor s aib consecine semnificative pentru scalabilitatea
reelei. Altfel spus, dei teoretic este posibil selectarea foarte precis doar a pachetelor de
149 | R u t a r e a n I n t e r n e t
http://tools.ietf.org/html/rfc1701
150 | R e e l e L o c a l e
Folosirea tunelelor GRE n Linux va fi exemplificat printr-un scenariu tipic. Exist dou
reele A i B interconectate printr-o reea C. Reelele A i B dein staii cu adrese private.
Routerul R1 este folosit pe post de gateway de reeaua A, iar routerul R2 este folosit pe post
de gateway de reeaua B.
Informaiile asociate celor dou reele sunt prezentate n tabelul de mai jos:
Reea A
Reea B
Adres reea
172.16.68.0/24
Adres reea
10.38.0.0/16
Adres intern R1
172.16.68.1
Adres intern R1
10.38.0.1
Adres extern R1
141.85.37.178
Adres extern R1
141.85.37.1
172.16.68.128
10.38.6.123
ip
ip
ip
ip
t add netb mode gre remote 141.85.37.1 local 141.85.37.178 ttl 255
l set netb up
addr add 172.16.68.1 dev netb
route add 10.38.0.0/16 dev netb
Ruta ctre reeaua B este intermediat de interfaa virtual netb asociat tunelului GRE.
La fel, pentru reeaua B se creeaz tunelul neta i interfaa cu acelai nume:
root@csr:~#
root@csr:~#
root@csr:~#
root@csr:~#
ip
ip
ip
ip
t
l
a
r
n acest moment, dei aflate n reele private, staiile pot comunica unele cu celelalte. Prin
tunelul folosit toate pachetele de la staiile din reeaua A vor ajunge la staiile din reeaua B. O
captur de pachete folosind tcpdump are urmtorul coninut:
22:07:36.819507 IP 141.85.37.178 > 141.85.37.1: GREv0, length 88: IP 172.16.68.128 >
10.38.6.123: ICMP echo request, id 41995, seq 1, length 64
22:07:36.820140 IP 141.85.37.1 > 141.85.37.178: GREv0, length 88: IP 10.38.6.123 >
172.16.68.128: ICMP echo reply, id 41995, seq 1, length 64
22:07:37.827154 IP 141.85.37.178 > 141.85.37.1: GREv0, length 88: IP 172.16.68.128 >
10.38.6.123: ICMP echo request, id 41995, seq 2, length 64
22:07:37.827657 IP 141.85.37.1 > 141.85.37.178: GREv0, length 88: IP 10.38.6.123 >
172.16.68.128: ICMP echo reply, id 41995, seq 2, length 64
Se observ ca staia cu adresa 172.16.68.128 din reeaua A transmite pachete IMCP Echo
request ctre staia cu adresa 10.38.6.123 din reeaua B, iar aceasta i rspunde. Toat
comunicaia este ncapsulat n tunelul GRE. Pachetele ICMP sunt ncapsulate n pachete IP n
care adresele IP surs, respectiv destinate sunt adresele IP externe ale routerelor R1 i R2.
151 | R u t a r e a n I n t e r n e t
152 | R e e l e L o c a l e
153 | R u t a r e a n I n t e r n e t
Pentru a crea o rut static se alege nti categoria, IPv4 sau IPv6 din cadrul rolului Routing
and Remote Access iar din panoul de aciune se alege More Actions > New Static Route
i se completeaz parametrii descrii mai sus.
Dup creare, rutele statice vor aprea listate la categoria corespunztoare (IPV4 sau IPv6),
pot fi editate prin dublu-clic i terse selectndu-le i apsnd Delete n panoul de aciuni. De
asemenea, rutele devin active imediat ce au fost configurate.
154 | R e e l e L o c a l e
155 | R u t a r e a n I n t e r n e t
156 | R e e l e L o c a l e
157 | R u t a r e a n I n t e r n e t
158 | R e e l e L o c a l e
ARP este folosit n practic doar ca o metod de prevenire a unor atacuri *vezi cap 13+ *ref+,
dar datorit scalabilitii greoaie este rareori implementat.
Se presupune c n reea este folosit default gateway.
Switchurile vor comuta pachetele fr a le altera, n vreme ce fiecare router va opera cel
puin schimbarea antetului de nivel 2; astfel pachetul de la A la E va suferi 3 rescrieri.
1. Pachetul trimis de A ctre E (adic n afara reelei locale) va fi destinat la nivel 2
routerului de ieire, iar la nivel 3 adresei obinute n urma rezolvrii de nume, adic adresei
publice a lui R3. Pachetul fiind unul de cerere HTTP portul destinaie va fi 80:
MAC[A]
MAC[R1(e0)]
IP[R3(e0)]
IP[A]
80
9494
date
IP[R3(e0)]
IP[R1(s0)]
80
43911
date
MAC[R2(e0)]
IP[R3(e0)]
IP[R1(s0)]
80
43911
date
MAC[R3(e2)]
IP[E)]
IP[R1(s0)]
80
13821
date
MAC[R3(e2)]
IP[E)]
IP[R1(s0)]
999
13821
date
159 | R u t a r e a n I n t e r n e t
Ruterul A va asigura translatarea de adrese pentru ntreaga reea 10.1.1.0/24, iar routerul
B va tunela tot traficul din reeaua 201.9.4.0/24 i l va trimite prin interfaa sa virtual
tunnel0. Tunelul este stabilit ntre 194.2.4.6 i 194.2.1.1. n plus, rutarea este asigurat
folosind rute statice atfel: pe routerele A i D rutele sunt precizate prin adresa urmtorului
hop, iar pe B i C rutele sunt precizare doar prin interfaa de ieire.
Se consider c n urma unei pene de curent toate echipamentele sunt proaspt
reiniializate. Staia X va accesa un server de web aflat pe staia Z. Care vor fi antetele tuturor
cadrelor ce vor fi trimise n reea pentru a livra cererea emis de staia X la staia Z?
Pachetul de cerere web va trece prin 5 reele i pentru a fi livrat vor generate 13 cadre:
FFFF:FFFF:FFFF
MAC[X]
10.1.1.1
10.1.1.12
Date
MAC[X]
MAC[A(e0)]
10.1.1.12
10.1.1.1
MAC[A(e0)]
MAC[X]
114.5.1.7
10.1.1.12
FFFF:FFFF:FFFF
MAC[A(e1)]
201.9.4.2
201.9.4.1
Date
MAC[A(e1)]
MAC[B(e1)]
201.9.4.1
201.9.4.2
Date
MAC[B(e1)]
MAC[A(e1)]
114.5.1.7
201.9.4.1
FFFF:FFFF:FFFF
MAC[B(e0)]
194.2.1.1
194.2.4.6
Date
MAC[B(e0)]
MAC[C(e0/6)]
194.2.4.6
194.2.1.1
Date
MAC[C(e0/6)]
MAC[B(e0)]
194.2.1.1
194.2.4.6
114.5.1.7 201.9.4.1
Date
194.2.1.1
194.2.4.6
114.5.1.7 201.9.4.1
Date
FF
Date
80
80
55555
51311
FFFF:FFFF:FFFF
MAC[D(e7)]
114.5.1.7
114.5.1.1
Date
MAC[D(e7)]
MAC[Z]
114.5.1.1
114.5.1.7
Date
MAC[Z]
MAC[D(e7)]
114.5.1.7
201.9.4.1
Date
Date
Date
160 | R e e l e L o c a l e
ntrebri
1. Existena unei intrri n tabela de rutare de forma 141.85.37.0/24 141.85.254.37
nseamn:
trimite toate pachetele venite din reeaua 141.85.37.0/24 ctre 141.85.254.37
trimite toate pachetele venite ctre reeaua 141.85.37.0/24 ctre 141.85.254.37
trimite toate pachetele venite din reeaua 141.85.37.0/24, sau din orice alt subreea
cuprins n acest spaiu de adrese, ctre 141.85.254.37
trimite toate pachetele venite ctre reeaua 141.85.37.0/24, sau ctre orice alt
subreea cuprins n acest spaiu de adrese, ctre 141.85.254.37
2. Decizia de a ruta sau nu un pachet se bazeaz pe:
Adresa surs
Adresa destinaie
Adresa surs i portul surs
Adresa destinaie i portul destinaie
3. Fie tabela de rutare de mai jos:
Adres reea
Masc
Next hop
Interfa
194.230.85.0
/26
172.17.0.9
E0
200.230.85.128
/26
S0
194.230.85.0
/24
194.230.5.65
E1
i o nou rut: 199.230.5.0/30 S1. Noua rut va fi inserat pe:
prima poziie
dup prima rut deja existent
dup cea de a doua rut deja existent
ultima poziie n tabela de rutare
4. Ctre ce interfa va fi rutat un pachet destinat pentru 171.15.68.0 dac tabela de rutare
este cea de mai jos:
Adres reea
Masc
Next hop
Interfa
171.15.63.0
/24
172.17.0.9
S0
171.15.64.0
/23
S1
0.0.0.0
/0
194.230.5.65
S2
va fi trimis pe S0
va fi trimis pe S1
va fi trimis pe S2
nu va fi rutat
5. Fie dou routere. Primul are urmtoarele adrese asignate: 7.1.1.1/24 S0 i 7.1.3.1 S
1, al doilea 7.1.3.2/24 S0 i 7.1.2.1 S1. Care este numrul minim de rute ce trebuie adugat
pe routerul 1 pentru a asigura comunicaia ntre 7.1.1.0/24 i 7.1.2.0/24?
7.1.2.1 / 24 S1
tot ce e mai sus plus: 7.1.2.1 /24 S0
tot ce e mai sus plus: 0.0.0.0 /0 S1
doar: 0.0.0.0 /0 S1
161 | R u t a r e a n I n t e r n e t
162 | R e e l e L o c a l e
5 Wireless
The wireless telegraph is not difficult to understand. The ordinary telegraph is like a very
long cat. You pull the tail in New York, and it meows in Los Angeles. The wireless is the same,
only without the cat.
Albert Einstein
Cine este...
Nikola Tesla este un inventator i un om de tiin n domeniul electricitii. Mai muli
biografi contemporani l consider pe Tesla omul care a inventat secolul 20. Patentele i
descoperirile teoretice ale lui Tesla au format baza sistemelor de curent electric alternativ.
n 1893 a demonstrat pentru prima oar posibilitatea comunicaiei fr fir (unde radio).
Este considerat descoperitorul comunicaiei fr fir.
163 | W i r e l e s s
3 GHz
Unde radio
3 THz
Microunde
Infraroii
Ultraviolete
Raze
X
Raze
Gama
Lumin vizibil
430 T H z-750 T H z
Undele electromagnetice nu sunt clar delimitate din punct de vedere al propagrii, precum
este semnalul de pe un cablu de cupru protejat de un izolator. Orice dispozitiv care ascult
mediul i este n raza de propagare, poate recepiona semnalul wireless. Acesta este un
considerent de securitate foarte important.
Undele electromagnetice nu sunt protejate de semnale exterioare, precum este semnalul de
pe un cablu de cupru protejat de un izolator. Odat cunoscut frecvena de transmisie a unei
reele wireless, administratorul de reea trebuie s fie contient de alte dispozitive sau
tehnologii ce funcioneaz n aceeai frecven.
Semnalul wireless se atenueaz odat cu propagarea prin mediul fizic. Atenuarea poate
interveni din mai multe cauze:
o
o
o
o
164 | R e e l e L o c a l e
dispozitivelor wireless trebuie s fie aceeai n toat lumea reelelor de calculatoare, pentru ca
tehnologia s fie compatibil.
Distana de propagare
Undele de frecvena joas sunt absorbite foarte puin n atmosfer, de aceea ele pot
strbate distane foarte mari. Cu ct crete frecvena unei unde, cu att aceasta este absorbit
mai mult n atmosfer. De asemenea, undele joase prezint o capacitate de penetrare a
materialelor foarte mare, fiind cu att mai potrivite pentru transmisiile de date. Spre
deosebire de acestea, undele de frecvene mari tind s sufere reflexii i refracii pe diverse
suprafee.
Concluzionnd, dac se folosete banda de 2.4 GHz, absorbia n atmosfer o s fie mai
mic, reflexia semnalului de asemenea, deci distana posibil de propagare o s fie mai mare.
Limea de band
165 | W i r e l e s s
Folosind o frecvena mai mare obinem o cretere aproximativ liniar a limii de band.
Spre exemplu, folosirea benzii de 900 MHz oferea o band de 860 Kbps. Odat cu trecerea la
2.4, banda teoretic a ajuns la valoarea de 2 Mbps.
Din nefericire, banda de 2,4 GHz a ajuns s fie destul de aglomerat. n aceast band
opereaz Bluetooth, perifericele wireless, telecomenzile i alte dispozitive cu care vor aprea
inevitabil interferene. Banda de 5 GHz este destul de puin ocupat ns dezavantajul este
absorbia mai mare a semnalului n mediul fizic.
Costul echipamentelor
Costul echipamentelor ce funcioneaz in banda de 5 GHz sunt sensibil mai scumpe dect
cele din banda de 2.4 GHz. Acesta a fost i unul din motivele pentru care tehnologia de 2.4
GHz a ctigat teren pe piaa wireless.
Tabelul de mai jos sintetizeaz proprietile undelor, prezentate pn acum:
Criteriu/Frecven
Distan
Lime de band
Interferene
Cost
Frecvene mici
mare
mic
mari
mic
Frecvene mari
mic
mare
mici
mare
Wi-Fi Alliance este un consoriu format din peste 300 dintre cele mai mari companii din domeniul IT,
avnd ca scop promovarea i dezvoltarea tehnologiilor wireless.
166 | R e e l e L o c a l e
Se mai folosete 802.11b? n general, astzi, nu prea mai exist pe pia echipamente
exclusiv 802.11b ci doar 802.11b/g. Mai poate fi ns folosit de ctre dispozitive care au nevoie
de acoperire mare i nu de lime de band. O serie de sisteme embedded intr n aceast
ultim categorie.
167 | W i r e l e s s
proiectului, se ateapt ca noul standard s fie finalizat n decursul anului 2008, cel trziu
2009.
Noul standard i propune s ofere o band de 600 Mbps i o raz de acoperire de 2-4 ori
mai mare dect a standardelor actuale. n acelai timp, prin mrirea ratei de transfer i
micorarea timpului de funcionare a dispozitivului, se va diminua consumul de energie.
Pentru a crete performanele, standardul se bazeaz pe tehnologia MIMO (Multiple Input
Multiple Output) care folosete un sistem de mai multe antene pentru transmisia i recepia
datelor. O cerin important pentru noul standard este pstrarea compatibilitii cu
standardele deja existente 802.11a/b/g. Astfel, un echipament 802.11n va putea funciona fie
n banda de 2,4 GHz, fie n banda de 5 GHz.
n ciuda faptului c standardul nu este deocamdat finalizat, o serie de productori au fost
atrai de performanele teoretice oferite de noua tehnologie i au nceput deja s ofere
produse bazate pe versiunea 4.0 ale specificaiilor temporare.
Reele ad hoc
Reele de tip infrastructur
168 | R e e l e L o c a l e
169 | W i r e l e s s
La prima vedere, conceptul de asociere de nivel 2 la o reea poate suna confuz. ntr-o
reea unde protocolul de nivel 2 este Ethernet, nu exist conceptul de reea de nivel 2. ntr-o
topologie 802.3, noiunea de reea exist doar la nivel superior, la nivel IP. ns, ntr-o reea
wireless, conceptul de reea exist att la nivelul protocolului 802.11, ct i la nivelul
protocolului de nivel 3.
O reea wireless, este identificat la nivel 2, de un nume special, denumit n standard: SSID
(Service Set Identifier). Dac un client dorete s se asocieze cu o reea wireless (termenul de
asocierea se refer implicit la conectivitate de nivel 2), trebuie s cunoasc SSID-ul acestei
reele. Majoritatea clienilor wireless permit scanarea mediului pentru a gsi SSID-ul reelelor
la care se pot asocia. Dup ce o staie s-a asociat unei reele, se va face o cerere DHCP pentru
a obine o adres IP. Rspunsul la aceast cerere va trebui sa vin fie de la un server DHCP
dedicat aflat pe o staie n reea, fie direct de la AP (n cazul n care AP-ul are deja integrat un
server DHCP).
Routerele wireless sunt dispozitive care pot realiza n acelai timp funciile unui AP, unui
switch de nivel 2 i unui router. Aceste echipamente sunt prevzute cu:
Bridge-urile seamn foarte bine cu access point-urile din punctul de vedere al arhitecturii
hardware. Ele sunt folosite ns pentru interconectarea reelelor printr-o legtur wireless. Un
exemplu tipic de utilizare a bridge-urilor este realizarea unei conexiuni ntre dou cldiri.
Un bridge, asemeni unui AP, are o interfa wired i una wireless: cadrele ce vin pe una
dintre interfee sunt transmise ctre cealalt, cu eventuala translaie ntre formatele cadrelor
celor dou reele. De asemenea, un bridge poate decide s nu transmit mai departe un
pachet n cazul n care tie c destinatarul se afl n reeaua din care a venit pachetul. Un
bridge ns, nu permite asocierea nodurilor, de aceea, pentru a conecta mai multe staii
dotate cu interfee wireless, este n continuare nevoie de un access point.
170 | R e e l e L o c a l e
Uninterruptible power supply dispozitive care n cazul unei pane de curent, pot oferi energie electric,
fr a ntrerupe fluxul de alimentare.
2
Distribution System termenul este echivalent cu access point.
171 | W i r e l e s s
ctre AP
0
0
1
1
de la AP
0
1
0
1
adresa 1
destinaie
destinaie
BSSID
receptor
adresa 2
surs
BSSID
surs
transmitor
adresa 3
BSSID
surs
destinaie
destinaie
adresa 4
surs
La nceputurile standardului, ideea era una destul de practic, cci dispozitivele care sunt
n general dotate cu capabiliti wireless, au acumulatori cu timp limitat de funcionare. S-a
observat ns, c informaia de durata poate deschide reeaua la unele hibe de securitate i de
aceea cmpul de durat nu este folosit n comunicaiile din prezent.
http://standards.ieee.org/getieee802/download/802.11-2007.pdf
172 | R e e l e L o c a l e
5.1.6.2.1 CSMA/CA
n concluzie, nu putem folosi CSMA/CD pentru a asigura accesul la mediul wireless
partajat. Soluia adoptat de standard se numete CSMA/CA (Carrier Sense Multiple
Access/Collision Avoidance). Funcionarea acestui mecanism se bazeaz pe trimiterea unui
cadru special de ACK de la destinaie la surs, dup fiecare cadru 802.11 primit la destinaie.
Dac dup trimiterea unui cadru, nu se primete un ACK, se ateapt un timp aleator i se
ncearc din nou s se trimit cadrul pentru care nu s-a primit ACK. Se analizeaz modul n care
aceast metod rezolv problema staiei ascunse:
Atenie! deoarece n wireless, pentru fiecare cadru trimis, se ateapt un ACK, banda
efectiv de care se dispune, este de la nceput njumtit.
O alt metod de acces la mediu prevzut n CSMA/CA presupune folosirea unor mesaje
speciale de tip RTS (request to send) i CTS (clear to send). Folosind acest mecanism, o staie
ntreab AP-ul dac mediul de transmisie este liber folosind un mesaj de tip RTS. Acest cadru
ajunge doar la AP. AP-ul, fiind punctul central al reelei, nu are problema staiei ascunse. Dac
mediul este liber, AP-ul trimite un CTS n care specific staia ce a obinut permisia de a
transmite. Mesajul de tip CST ajunge la toate staiile din reea, nu doar la cea care a cerut
acces la mediu prin mesajul RTS anterior. Astfel staia ce dorea s transmit va primi acces, iar
celelalte staii vor considera mediul ocupat de aceasta.
173 | W i r e l e s s
5.1.6.4 Roaming
Colocalizarea mai multor reele poate fi folosit i n alt scop: mrirea acoperirii i benzii
unei reele wireless prin adugarea de access point-uri. Pentru a realiza acest deziderat, nu
este suficient s adugam mai multe AP-uri la reea aa cum punem mai multe becuri pentru a
face mai mult lumin. n momentul n care apar mai multe access point-uri, automat se
creeaz mai multe reele wireless. n consecin, vor aprea coliziuni ntre ele dac nu folosim
canale disjuncte.
5-8: Roaming
174 | R e e l e L o c a l e
Topologia din figur poart numele de ESS (Extended Service Set) i funcioneaz astfel:
AP-urile sunt conectate n acelai reea Ethernet i funcioneaz respectiv pe 3 canale
disjuncte (1-7-13). Astfel, cnd o staie intr n raza de acoperire a reelei, ea va fi asociat APului cu semnalul cel mai puternic din acea zona. Aici se aplic funcia de reasociere a AP-urilor.
Dac o persoan cu un PDA traverseaz de la stnga la dreapta reeaua, PDA-ul va fi asociat pe
rnd fiecruia dintre AP-uri. Spre exemplu cnd semnalul de la access point-ul 1 devine prea
slab, adaptorul va fi intrat deja n raza access point-ului 2 i va fi asociat acestuia fr
pierderea conexiunii la reea. Acest serviciu, ca i la telefonia mobil, poart numele de
roaming.
Folosind o topologie ESS, nu se extinde doar raza reelei, ci i se ofer mai mult band
clienilor mobili. Aceasta pentru c fiecare AP ofer clienilor lui pn la 54 Mbps, deci n total
ele vor constitui o reea wireless cu o band de 3x54 Mbps = 162 Mbps.
5.1.6.5 VLAN-uri
VLAN-urile se configureaz n general pe switchuri pentru a putea obine mai multe
domenii de broadcast. Aceste VLAN-uri se pot extinde i n reelele wireless prin maparea unui
SSID diferit pentru fiecare VLAN dorit . Prin aceasta operaie se obine o virtualizare a access
point-ului, acesta aprnd ca mai multe reele diferite. Singura limitare este ca toate reele
trebuie s funcioneze pe acelai canal cci un transmitor wireless nu poate genera trafic pe
mai multe canale n acelai timp. Bineneles c nu orice AP va putea s suporte VLAN-uri. De
fapt, singurul lucru de care are nevoie AP-ul, este suport pentru protocolul 802.1q, pentru a
putea realiza un trunk1 cu switchul n care este legat. Unele AP-uri suport chiar si tehnici de
QoS (802.1p2) pentru a putea clasifica importana traficului din fiecare VLAN.
Un motiv important pentru care s-ar dori existena VLAN-urilor pe AP-uri este separarea
reelei wireless dup diferite privilegii de securitate (guest, user, VIP).
5-9: VLAN-uri
1
2
A se vedea capitolul 2
http://en.wikipedia.org/wiki/802.1p
175 | W i r e l e s s
176 | R e e l e L o c a l e
http://www.ou.edu/committees/itc/policy/Guidelines_for_Passwords.html
177 | W i r e l e s s
n prezent, s-au fcut progrese reale pentru oferirea unui suport ct mai bun pentru
drivere wireless, astfel c, n prezent, Linux ofer att soluii de reele adhoc, infrastructur de
dimensiuni mici i medii ct i soluii enterprise.
Unul din proiectele interesante care i propune s mreasc gama de suport wireless n
Linux este NDISwrapper1. Pentru c muli productori nu elibereaz i drivere Linux pentru
plcile wireless livrate, NDISwrapper face posibil instalarea de drivere wireless scrise n
Windows API pe o platform Linux. Mai multe informaii se pot gsi pe pagina web a
proiectului.
temporar - prin intermediul unor comenzi ce se aplic n momentul n care sunt introduse. Ele
afecteaz software-ul ce ruleaz n RAM, deci configurrile nu vor fi persistente la urmtoarea
pornire a sistemului.
permanent - prin editarea fiierului de configurare /etc/network/interfaces i
restartarea serviciului de reea. Fiierul este ncrcat la fiecare repornire a sistemului.
http://ndiswrapper.sourceforge.net/joomla/
http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html
178 | R e e l e L o c a l e
1. Oprirea interfeei Ethernet.
Dei nu este un caz des ntlnit, unele drivere wireless nu permit configurarea reelei dac
detecteaz conectivitate pe o legtura Ethernet, deci nainte de a configura reeaua ad hoc
trebuie decuplat cablul Ethernet.
2. Oprirea firewall-ului
3. Oprirea NetworkManager-ului
[ OK ]
Se recomand verificarea pe lista oficial de pe pagina web Ubuntu1 dac placa wireless
suport modul ad hoc pe Ubuntu.
5. Verificarea driverului
Este posibil s apar probleme cu driver-ul instalat implicit de Ubuntu sau recunoaterea
plcii wireless de ctre sistemul de operare. Pentru a putea verifica detectarea plcii wireless,
se vor folosi comenzile:
waters@myr:-$ lspci
[...]
04:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection
(rev 02)
Dac placa wireless nu apare n output, cel mai probabil Ubuntu nu a avut integrat un
driver pentru placa de reea. n acest caz trebuie cutat pe site-ul productorului un driver
wireless, iar dac nu exist driver pentru Linux, putei folosi soluia NDISwrapper pentru a
instala un driver de Windows.
no wireless extensions.
https://help.ubuntu.com/community/WifiDocs/WirelessCardsSupported
179 | W i r e l e s s
wlan0
Urmtoarele comenzi vor trebui introduse n ordinea n care sunt listate mai jos. Trebuie
avut grij cu secvenierea comenzilor cci unele comenzi pot afecta setrile realizate anterior.
Pentru a evita probleme de configurare ce ar putea aprea din cauza driver-ului, se va opri
interfaa wireless nainte de aplicarea parametrilor de reea:
waters@myr:~$ sudo ifconfig wlan0 down
adhoc
Parametrul mode are cea mai mare prioritate n configuraie i trebuie introdus
ntotdeauna primul n secvena de comenzi de configurare. Valorile sale relevante sunt:
master - aceast valoare desemneaz interfaa ca fiind una de AP. Se va folosi numai dac se
dorete realizarea unui server Linux care s poat funciona ca Access Point. Se recomand
consultarea WiFi-Docs1 pentru posibilitatea setrii plcii n acest mod.
managed acest mod se folosete cnd se dorete conectarea la un AP ntr-o reea tip
infrastructur
ad hoc specific opiunea unei reele ad hoc
Pentru unele adaptoare wireless este necesar i configurarea unui canal de comunicare.
waters@myr:~$ sudo iwconfig wlan0 channel 1
ntr-o reea adhoc se pot folosi i ali parametrii opionali ai comenzii iwconfig pentru a
seta bit-rate-ul, puterea de transmisie sau parametrii de securitate.
Pn la acest pas, a fost configurat o reea wireless ce ofer conectivitate de nivel 2.
Pentru a putea asigura comunicare de nivel 7 trebuie configurai, mai nti, parametrii de
nivel 3: adresele IP (de asigurarea conectivitii 4-7 se ocupa stiva TCP/IP i sistemul de
operare).
https://help.ubuntu.com/community/WifiDocs/MasterMode
180 | R e e l e L o c a l e
sudo
ifconfig
wlan0
192.168.1.1
netmask
255.255.255.0
broadcast
Atenie! toate staiile din reeaua ad hoc trebuie s se afle n acelai subnet pentru ca
reeaua s poat funciona corect. Se poate folosi utilitarul ping pentru verificarea legturii de
nivel 3 i SSH pentru testarea legturii de nivel 7.
181 | W i r e l e s s
Scan completed :
Cell 01 - Address: 00:1B:FC:60:D7:8D
ESSID:"YoGi"
Mode:Master
Channel:1
Frequency:2.412 GHz (Channel 1)
Quality=71/100 Signal level=-63 dBm Noise level=-75 dBm
Encryption key:on
IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : CCMP TKIP
Authentication Suites (1) : PSK
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s
24 Mb/s; 36 Mb/s; 54 Mb/s; 6 Mb/s; 9 Mb/s
12 Mb/s; 48 Mb/s ; 54 Mb/s
Extra:tsf=000000ca49a2cfbc
182 | R e e l e L o c a l e
Comenzile pentru efectuarea operaiilor de mai sus sunt dup cum urmeaz:
waters@myr:-$
waters@myr:-$
waters@myr:-$
waters@myr:-$
waters@myr:-$
sudo
sudo
sudo
sudo
sudo
ifconfig
iwconfig
iwconfig
iwconfig
ifconfig
wlan0
wlan0
wlan0
wlan0
wlan0
down
mode managed
essid guest
channel 11
up
Observaie: deoarece nc nu s-a realizat asocierea la reeaua 802.11b cu SSID guest, bitrate-ul clientului este nc setat pe valoarea implicit de 54 Mbps. Cum standardul 802.11g
este cel mai ntlnit n reele fr fir, majoritatea clienilor vor avea caracteristicile implicite ale
acestui protocol.
Mai rmne de configurat doar asignarea unui IP pe interfaa wireless pentru a putea
comunica la nivel 3 n reea. Una din diferenele importante dintre o reea ad hoc i una
infrastructur este una de administrare. ntr-o reea ad hoc nu exist administrator i de aceea
fiecare utilizator trebuie s seteze IP-ul static pe interfaa de reea, avnd grij ca toate IP-urile
s se afle n acelai subnet. Reeaua de tip infrastructur va presupune un minim de
administrare i mai mult, existena unei metode centralizate de setare a adreselor IP pe
fiecare staie, fr intervenia utilizatorilor: un server DHCP. n cazul n care AP-ul ofer
funcionalitatea unui server DHCP, intervalul din care serverul DHCP ofer adrese IP poate fi
configurat din interfaa grafica a AP-ului.
183 | W i r e l e s s
Prin realizarea repornirii serviciului de reea, se vor aplica parametrii mode, channel si
SSID, iar apoi se va face o cerere DHCP pentru configurarea parametrilor de nivel 3.
waters@myr:~$ sudo /etc/init.d/networking restart
* Reconfiguring network interfaces...
Internet Systems Consortium DHCP Client V3.0.6
Copyright 2004-2007 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
Listening on LPF/wlan0/00:18:de:b9:ac:da
Sending on
LPF/wlan0/00:18:de:b9:ac:da
Sending on
Socket/fallback
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 3
DHCPOFFER of 192.168.2.107 from 192.168.2.1
DHCPREQUEST of 192.168.2.107 on wlan0 to 255.255.255.255 port 67
DHCPACK of 192.168.2.107 from 192.168.2.1
bound to 192.168.2.107 -- renewal in 53306 seconds.
[ OK ]
Dup asociere se poate verifica sincronizarea parametrilor ntre clientul wireless i reeaua
802.11b, printre care adresa MAC a AP-ului cu care s-a fcut asocierea i rata de transfer ce a
fost negociat la maximul posibil al reelei: 11Mpbs.
waters@myr:~$ iwconfig wlan0
wlan0
O cererea DHCP efectuat configureaz mai mult dect adresa IP pe interfaa wireless;
aceasta introduce i o ruta implicit (rut default) ctre adresa IP a gateway-ului i ofer
staiei i o adres valid a unui server DNS. Existena rutei implicite se verific prin comanda
route:
waters@myr:~$ route -n
Kernel IP routing table
Destination
Gateway
192.168.2.0
0.0.0.0
0.0.0.0
192.168.2.1
Genmask
255.255.255.0
0.0.0.0
Use Iface
0 wlan0
0 wlan0
Rezultatul comenzii conine o rut implicit ctre adresa 192.168.2.1. Dup ce s-a aflat
adresa IP a gateway-ului, se poate testa conectivitatea cu acesta prin comanda ping:
184 | R e e l e L o c a l e
waters@myr:~$ ping 192.168.2.1 -c 3
PING 192.168.2.1 (192.168.2.1) 56(84)
64 bytes from 192.168.2.1: icmp_seq=1
64 bytes from 192.168.2.1: icmp_seq=2
64 bytes from 192.168.2.1: icmp_seq=3
bytes of data.
ttl=64 time=1.75 ms
ttl=64 time=1.64 ms
ttl=64 time=2.19 ms
--- 192.168.2.1 ping statistics --3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 1.640/1.865/2.199/0.240 ms
Dac se ajunge n acest pas, se poate considera ca accesul n reeaua local este lipsit de
probleme, odat ce se poate da ping n adresa de gateway. Singurul lucru ce ar putea cauza
probleme de conectivitate n exterior este protocolul DNS. Pentru a verifica dac serverul
DHCP a oferit o adres pentru un server de nume, se va consulta fiierul /etc/resolv.conf:
waters@myr:~$ cat /etc/resolv.conf
nameserver 82.76.253.115
185 | W i r e l e s s
se cumpr un router pentru reeaua local i se conecteaz cele dou staii direct la router.
se configureaz staia B ca gateway/router pentru staia A.
Se va analiza pe scurt varianta 2, cci varianta 1 presupune mai mult un efort financiar,
dect unul de configurare. Rezultatul urmrit poate fi descris astfel:
staia A trebuie s tie s trimit tot traficul destinat unei staii n Internet, ctre staia B. Cu
alte cuvinte, staia A trebuie s configureze ca gateway pe staia B, folosind o rut static.
staia B va trebui s trimit pe interfaa eth0 tot traficul primit pe interfaa wlan0 i destinat
n Internet. (pentru ca staia A s poat trimite pachete n Internet)
staia B va trebui s trimit pe interfaa wlan0 tot traficul primit pe interfaa eth0 i destinat
staiei A. (pentru ca staia A s poat primi pachete din Internet)
Pentru a putea realiza aceast configuraie este nevoie de un firewall Linux pe staia B.
Ubuntu are deja inclus un firewall n linie de comand numit iptables, nsa utilizarea sa va fi
studiat ulterior n aceast carte, iar nelegerea sintaxei iptables nu este necesar n acest
capitol pentru a oferi o soluie n problema de fa.
Pentru a obine comportamentul dorit, se va instala pachetul firestarter, un firewall
extrem de simplist. Comand pentru instalare este:
waters@myr:~$ sudo apt-get install firestarter
Dup instalare, se poate porni programul prin introducerea firestarter & n linia de
comand. Acesta va porni intr-un mod wizard de configurare n care va trebui specificat
interfaa din reeaua local i interfaa ce duce spre gateway. Restul configuraiei de firewall
va fi fcut de ctre Firestarter automat.
Se indic deci interfaa spre gateway:
186 | R e e l e L o c a l e
A mai rmas doar configurarea gateway-ului pe staia A. Comanda de mai jos indic staiei
A, s trimit toate pachetele destinate n Internet, staiei B.
waters@myr:~$ sudo route add default gw IP_wlan0_B
187 | W i r e l e s s
Atenie! dup cum s-a prezentat anterior n subcapitolul de securitate n reele fr fir,
securitatea WEP este foarte uor de compromis; un utilizator contient de acest risc nu va
trebui s foloseasc niciodat acest tip de criptare, dect dac dorete s i sparg propria
reea, n scop didactic.
188 | R e e l e L o c a l e
Alturi de cheia partajat, n fiierul de configurare vor mai trebui adugate urmtoarele
directive:
1.
2.
1.
2.
wpa-driver specific driverul folosit. Dac nu s-a instalat un driver cu ajutorul NDISwrapper,
se va folosi parametrul wext (Linux wireless extensions); acesta este driverul generic instalat de
Linux.
wpa-ssid specific SSID-ul reelei.
wpa-ap-scan primete parametrul 1, daca reeaua are SSID broadcast activat, i parametrul
2, n caz contrar.
wpa-proto versiunea protocolului. Parametrii pot fi WPA2 sau WPA.
wpa-pairwise, wpa-group aceste dou directive primesc acelai tip de parametru, care
specific procolul de criptare folosit. Valorile pot fi:
CCMP pentru AES
TKIP pentru TKIP (asigura compatibilitatea WPA2 cu WPA)
wpa-key-mgmt este folosit pentru a indica metoda de autentificare folosit. Accept
parametrii:
WPA-PSK n cazul autentificrii pe baz de cheie partajat
WPA-EAP n cazul autentificrii pe baza unui server specializat (RADIUS, TACACS+)
189 | W i r e l e s s
wpa-psk specific cheia partajat sub form de hash accept ca parametru hash-ul generat
anterior cu wpa_passphrase
Conform specificaiilor de mai sus, fiierul de configurare pentru reeaua test arat astfel:
auto wlan0
iface wlan0 inet dhcp
wpa-driver wext
wpa-ssid YoGi
wpa-ap-scan 1
wpa-proto WPA2
wpa-pairwise CCMP
wpa-group CCMP
wpa-key-mgmt WPA-PSK
wpa-psk a8a9c6966946c520a16d020e7590d1ad35d4de60332a22d7349264007194b0e9
Captura pachetelor i spargerea cheii WEP se vor realiza cu pachetul aircrack-ng. Acesta
se poate instala folosind utilitarul apt n linie de comand:
waters@myr:~$ apt-get install aircrack-ng
n scenariul ce urmeaz se va folosi mai nti airodump pentru a captura pachetele din
reea ntr-un fiier de pe disc. Asupra acestuia se va aplica aircrack pentru a analiza vectorul
de IV i a gsi parola.
Odat setat modul Monitor, se poate porni captura de pachete cu airodump. Ca
parametri se vor folosi:
-t: specific tipul de pachete criptate ce trebuie capturat. Valorile posibile sunt WEP, WPA,
WPA2.
-b: specific banda n care funcioneaz reeaua wireless
190 | R e e l e L o c a l e
Not: se presupune c informaii precum banda sau canalul pe care reeaua funcioneaz
au fost aflate anterior printr-o scanare simpl cu utilitarul iwlist.
waters@myr:~$ sudo airodump-ng -t WEP -b g -c 11 -w capture wlan0
[ CH 11 ][ Elapsed: 53 s ][ 2008-08-05 11:57
BSSID
PWR RXQ
Beacons #Data, #/s CH MB ENC CIPHER AUTH ES
00:1D:7E:4C:4F:1D
0
100
523
50
1
11 54. WEP
WE
l
BSSID
00:1D:7E:4C:4F:1D
STATION
00:1D:D9:5D:8F:00
PWR
0
Rate
54-54
Lost
2
Packets
235
Probes
Dei captura de mai sus a fost lsat rulnd 5 minute, se poate observa c numrul de
pachete transmis de staia cu adresa MAC 00:1D:D9:5D:8F:00 a fost doar 235. Pentru a putea
sparge o cheie WEP de 128 bii cu o probabilitate de 100% va fi nevoie ca indicatorul de date
utile(#Data) s fie cel puin 100000 iar numrul de pachete cel puin la fel de mare. Din
pcate, momentan, n reeaua de mai sus nu are loc foarte mult transfer de date. Dei s-ar
putea atepta pn cnd activitatea de pe mediu ar fi ceva mai mare, pachetul aircrack-ng
ofer o metod mai rapid.
Folosind utilitarul airepaly, se pot trimite pachete ARP request la care AP-ul este obligat
s rspund. Din pachetele de ARP reply se pot captura IV-urile de care este nevoie. ns AP-ul
nu va rspunde niciodat la un request ce vine de la o adresa MAC de nu este asociat reelei.
Din acest motiv, pentru ca acest atac sa funcioneze, pachetele ARP vor trebui trimise cu un
MAC surs pe care AP-ul l cunoate n tabela sa ARP.
Una din cele mai importante statistici din rezultatul pe care l ofer comanda airodumpng, este un tabel al staiilor asociate deja la reea ce conine i adresele MAC ale acestor staii.
Astfel se va folosi drept MAC surs unul dintre MAC-urile statiilor obinute anterior.
Sintaxa comenzii aireplay ce va fi folosit n acest caz este:
aireplay-ng <tipul pachetelor injectate> -b <Adresa MAC a AP-ului> -h <Adresa MAC a unui
client asociat> <interfaa de reea>
Tipul pachetelor ARP request este identificat de numrul 3. Pentru mai muli parametrii i
mai multe tipuri de pachete ce pot fi generate, se va consulta pagina man a utilitarului. Se
poate deci porni injectarea de pachete astfel:
waters@myr:~$ sudo aireplay-ng -3 -b 00:1D:7E:4C:4F:1D -h 00:1D:D9:5D:8F:00 wlan0
Not: n atacul de mai sus, nu conteaz dac AP-ul are configurat securitate bazat pe
filtrare de adrese MAC, cci pentru pachetele ARP se folosete ca adresa surs, o adres deja
asociat, nefiltrat.
Acum c s-a generat destul trafic, pentru decriptarea pachetelor de date capturate se va
folosi utilitarul aircrack-ng, specificndu-i numele fiierului n care s-au salvat datele
capturate.
waters@myr:~$ sudo aircrack-ng capture.cap
Opening capture.cap
[...]
KEY FOUND! [ AA:BB:CC:DD:EE ]
Probability: 100%
191 | W i r e l e s s
Din meniul Start > Administrative Tools > Server Manager sau direct din Quick
Launch se pornete Server Manager n subcategoria Features i se localizeaz Wireless LAN
Service n lista de feature-uri.
Se apas pe Next i se confirm instalarea:
O instalare terminat cu succes va afia urmtorul mesaj, la categoria Results:
192 | R e e l e L o c a l e
Fereastra Connect to a network, principala metod accesibil utilizatorilor individuali pentru ai configura conexiunea la o reea wireless
Politici de grup (Group policy) accesibile administratorilor ntr-un mediu Active Directory1
pentru a configura centralizat i a distribui configuraia altor calculatoare membre ale
domeniului.
Linie de comand, folosind utilitarul netsh.exe i comanda netsh wlan, ce permite
configurarea manual a reelelor wireless. Netsh permite, de asemenea, exportarea
profilurilor wireless n fiiere xml i importarea lor ulterioar, eventual pe alte sisteme.
>
Network
and
sharing
center
>
Manage
wireless
Dac este prezent, prin clic pe pictograma Network din System Tray, urmat de clic pe opiunea
Connect or disconnect...
Doar pe Windows Vista, prin accesarea opiunii Connect to... din meniul Start.
http://www.microsoft.com/windowsserver2008/en/us/active-directory.aspx
193 | W i r e l e s s
Detectarea unei reele wireless non broadcasting este posibil deoarece unele AP-uri pot fi configurate
astfel nct s trimit cadre de tip beacon avnd cmpul de SSID setat pe valoarea NULL. Mai multe detalii despre
cadrele beacon la http://en.wikipedia.org/wiki/Beacon_frame.
194 | R e e l e L o c a l e
Autentificarea de tip shared key nu este inclus n list. Aceasta poate fi configurat
ulterior dar Microsoft nu recomand utilizarea ei deoarece ofer un nivel extrem de sczut de
securitate.
Encryption type reprezint metoda folosit pentru criptarea cadrelor de date trimise n reea.
Opiunile disponibile depind de metoda aleas de autentificare:
o
o
o
Security key / Passphrase: Se introduce cheia WEP n cazul securitii de tip WEP, cheia
partajata WPA sau WPA2 pentru variantele Personal ale acestora, iar pentru variantele
Enterprise i 802.1x, cheia se determin automat la realizarea autentificrii.
Start this connection automatically: Windows se va conecta automat la reea cnd aceasta
este detectat. Altfel, conectarea trebuie facut manual prin fereastra Connect to a network.
195 | W i r e l e s s
Connect even if the network is non broadcasting: Windows va ncerca s se conecteze la reea
chiar i cnd aceasta nu i anun SSID-ul prin broadcast. Se vor trimite cadre de tip probe
request1 ce reprezint un risc de securitate deoarece acestea conin numele reelei cutate.
196 | R e e l e L o c a l e
De fapt, o reea ad hoc presupune o reea wireless i nu are sens n alt context.
197 | W i r e l e s s
oriunde cu destul de mult uurin, poate fi folosit n orice scop (partajarea fiierelor, jocuri
n reea) i permite chiar i partajarea unei conexiuni la Internet.
Pentru a crea o reea ad hoc n Windows Server 2008, se urmeaz secvena urmtoare de
pai:
1. Se deschide interfaa Connect to a network (prezentat n 5.4.3)
2. Se alege Set up a connection or network
3. Din lista tipurilor de conexiuni disponibile, se alege Set up an ad hoc (computer-to-computer)
network i se apas Next.
198 | R e e l e L o c a l e
Atenie! Dup cum s-a menionat mai sus, dup crearea unei reele wireless sistemul se
conecteaz automat la ea, ceea ce implic faptul c orice alt conexiune wireless ce era activ
n acel moment va fi deconectat.
Dac nu se bifeaz opiunea Save this network (figura 5-23) profilul reelei nou create va fi
ters automat n momentul n care ultimul client se deconecteaz de la ea sau cnd cel care a
creat reeaua se deconecteaz sau iese din raza celorlaltor clieni.1
poate aplica filtre, poate modifica rute i poate seta o multitudine de parametri ai interfeelor
de reea.
Parametrul wlan reprezint un context al comenzii netsh i este folosit mpreun cu
aceasta pentru a efectua modificri asupra configuraiilor reelelor wireless.
Pentru a folosi comanda, se introduce netsh wlan fie n promptul de comand cmd.exe,
fie n PowerShell.
O serie important de informaii sunt oferite de comanda netsh wlan show drivers;
comanda afieaz capabilitile driverului interfeei wireless instalate n sistem. Se pot
identifica tipurile de standarde suportate, protocoalele de securitate ce pot fi folosite, precum
i informaii despre driverul propriu-zis. Opional, se poate aduga comenzii parametrul
interface, cu sintaxa interface=Wireless Network Connection, prin care se specific o
anumit interfa wireless:
PS C:\Users\Administrator> netsh wlan show drivers
Interface name: Wireless Network Connection
Driver
Vendor
Provider
Date
Version
[...]
Type
Radio types supported
FIPS 140-2 mode supported
Authentication and cipher
:
:
:
:
:
199 | W i r e l e s s
Unknown
CCMP
WPA-Enterprise TKIP
WPA-Personal
TKIP
WPA-Enterprise CCMP
WPA-Personal
CCMP
Authentication and cipher supported in ad-hoc mode:
WPA2-Personal
CCMP
Open
None
Open
WEP
[...]
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
Pentru afiarea listei reelelor wireless configurate, echivalentul listei obinute prin
interfaa Connect to a network, se poate folosi comanda netsh wlan show profiles:
PS C:\Users\Administrator> netsh wlan show profiles
Profiles on interface Wireless Network Connection:
Group Policy Profiles (read only)
--------------------------------<None>
User Profiles
------------All User Profile
All User Profile
All User Profile
: DLINK_WIRELESS
: ccielab
: nnet
Afiarea unei liste a reelelor wireless detectate se face prin comanda netsh wlan show
networks:
PS C:\Users\Administrator> netsh wlan show networks
Interface Name : Wireless Network Connection
There are 5 networks currently visible.
SSID 1 : YoGi
Network type
Authentication
Encryption
: Infrastructure
: WPA-Personal
: CCMP
SSID 2 : ccielab
Network type
Authentication
Encryption
: Infrastructure
: WPA2-Personal
: CCMP
SSID 3 : Bee
Network type
Authentication
Encryption
[...]
: Infrastructure
: Open
: WEP
200 | R e e l e L o c a l e
profile
"nnet"
is
saved
in
file
".\Wireless
Network
Connection-nnet.xml"
ncrcarea configuraiilor din fiierele xml exportate se face prin utilizarea parametrului
add profile, ca n urmtorul exemplu:
netsh wlan add profile filename= C:\"my_wlan_profile.xml" user=all interface= "Wireless
Network Adapter"
Opional, mai pot fi folosii doi parametri suplimentari: parametrul user, care dac
rmne nespecificat, import setrile automat pentru utilizatorul curent sau poate primi una
dintre valorile all sau current, iar parametrul interface pentru a specfica o anumit
intrefa wireless pentru care profilul s fie aplicat.
La specificarea intefeei, se pot folosi simbolurile ? i * (wildcard) pentru aproximarea
denumirilor.
Exportarea modificrilor efectuate se poate realiza i prin parametrul dump, care va
exporta un script ce poate fi executat pentru a reface o configuraie intermediar, spre
exemplu:
netsh wlan dump > c:\wlandump.txt
201 | W i r e l e s s
Dac n sistem este instalat doar o singur interfa wireless, parametrul interface
poate s lipseasc. n cazul n care se ncearc conectarea la o reea folosindu-se o interfa
care este deja conectat la o alt reea, se va realiza deconectarea de la reeaua anterioar i
conectarea la cea dat ca parametru. Conectarea la aceeai reea la care interfaa este deja
conectat va returna un mesaj care anun conectarea cu succes, dar starea conexiunii nu va fi
modificat n niciun fel.
Comanda de mai sus realizeaz adugarea unui filtru care interzice conectarea la reele de
tip infrastructur cu numele linksys. Permisiunile posibile sunt de tipul allow, block sau
denyall. De asemenea, tipul reelei dat prin parametrul networktype poate fi
infrastructure sau adhoc.
De asemenea, se folosete o comand similar pentru tergerea unui filtru:
netsh wlan delete filter permission=block ssid=linksys networktype=infrastructure
Att n cazul adugrii ct i n cazul tergerii de filtre, utilizarea parametrului ssid este
necesar doar pentru valorile de allow sau block ale parametrului permission. Dac se
creeaz sau se terge un filtru cu permisiunea denyall, parametrul ssid nu trebuie inclus.
Definirea profilurilor wireless este, de asemenea, posibil prin intermediul lui netsh wlan.
Pentru a aduga sau terge profiluri se folosesc parametrii add profile sau delete profile,
ca n exemplele urmtoare, pentru adugare, respectiv, tergere de profiluri:
netsh wlan
Adapter user=all
add
profile
filename=my_wlan_profile.xml
interface=Wireless
Network
Adugarea profilurilor necesit specificarea fiierului din care s fie ncrcate setrile. Din
acest fiier se ncarc i numele propriu-zis al profilului, ce este folosit mai apoi pentru
comanda de tergere. Trebuie inut cont de faptul c setrile stocate n fiiere de tip profil nu
sunt ncrcate dect la comenzi de tip add profile, configuraia curent fiind stocat n
sistemul de operare, astfel c modificarea unui fiier profil fr ncrcarea lui nu va avea niciun
efect (cu alte cuvinte, nu sunt considerate fiiere de configurare).
Parametrul interface este opional n ambele cazuri i cere folosirea unui nume de
interfa conform modului n care ele sunt afiate prin comanda netsh wlan show
interfaces. n momentul folosirii lui, adugarea sau tergerea profilurilor va avea efect doar
pe interfaa respectiv. De asemenea, specificarea parametrului user este opional i va
efectua modificrile pentru utilizatorul respectiv. Altfel, comenzile de creare sau tergere
profiluri se vor aplica doar utilizatorului curent.
Pentru tergerea profilurilor, omiterea parametrului interface va avea ca efect tergerea
profilului respectiv de pe toate interfeele active.
202 | R e e l e L o c a l e
Server 2008 se va conecta automat la reelele wireless prin interfaa corespunztoare. Implicit,
acest serviciu este activ.
Un exemplu de utilzare este urmtorul:
netsh wlan set autoconfig enabled=yes inteface=Wireless Network Adapter
Parametrul enabled poate accepta valoarea yes sau no, iar menionarea interfeei este
obligatorie.
Comanda set profileorder ofer posibilitatea de a atribui prioriti profilurilor
configurate pentru a defini ordinea n care se prefer conectarea prin acestea.
Exemplul urmtor definete prioritatea 2 pentru un anumit profil de pe o anumit
interfa:
netsh wlan set profileorder name=linksys_profile interface=Wireless Network Adapter
priority=2
O valoare mai mic reprezint o prioritate mai buna, iar dac valoarea parametrului
priority este setat pe 1 sau 0, profilul declarat va trece automat pe prima poziie, indiferent
Activarea sau dezactivarea modului tracing se face prin specificarea parametrului mode
mpreun cu valorile yes sau no. Deoarece comportamentul implicit al tracing-ului este de a se
dezactiva n momentul restartrii sistemului, pentru meninerea sa activ din momentul
autentificrii utilizatorilor este necesar includerea modului persistent.
MACAddress
----------
AdapterType
-----------
DeviceID
--------
Name
----
6
7
Broadcom 440x...
Dell Wireless...
18
Bluetooth LAN...
:
:
:
:
:
:
:
BCM43XX
00:19:7E:11:91:64
Ethernet 802.3
7
Dell Wireless 1390 WLAN Mini-Card #3
11000000
203 | W i r e l e s s
Dup ce s-a obinut referina la obiectul creat, acestuia i se pot seta diferite proprieti sau
i se pot apela metodele. Pentru o list complet a proprietilor i metodelor disponibile se
poate trimite obiectul nou creat comenzii Get-Member:
PS C:\Users\Administrator> $my_wireless | Get-Member
204 | R e e l e L o c a l e
ntrebri
Ifconfig
iproute2
iwconfig
route
7. Tehnica folosit n protocolul wireless pentru acces la mediu este:
CSMA/CD
CSMA/CA
Wireless CSMD
CSMW
205 | W i r e l e s s
206 | R e e l e L o c a l e
6 Securitate i monitorizare
Ce se nva din acest capitol?
Cine este...
Bruce Schneier este un specialist n securitate. Schneier este autorul Applied
Cryptography i Practical Cryptography. Schneier a proiectat sau contribuit la
proiectarea mai multor algoritmi de criptare precum Blowfish, Twofish, Helix. n acest
moment, Schneier este CSTO la BT Counterpane, companie pe care a nfiinat-o.
Daniel J. Bernstein este matematician i programator. Actualmente este profesor la
Universitatea din Illinois. Bernstein este autorul qmail, publicfile i djbdns. Bernstein a
publicat un numr important de articole n matematic. Bernstein este autorul bibliotecii
matematice djbfft folosit pentru calculul FFT.
Theo de Raadt este fondatorul i conductorul proiectelor OpenBSD i OpenSSH. De
Raadt a fondat OpenBSD dup ce a prsit proiectul NetBSD. Proiectelor OpenBSD i
derivate sunt cunoscute pentru preocuparea pentru securitate. O personalitate abraziv,
Theo de Raadt a avut conflicte cu ali membri din comunitatea open-source, dar i sunt
recunocute meritele n promovarea driverelor free software i a modelului deschis de
dezvoltare.
207 | S e c u r i t a t e i m o n i t o r i z a r e
SSH v1
O singur component care
se ocup de transport,
autentificare i sesiune
Nu
SSH v2
Componente separate
pentru transport,
autentificare i sesiune
Da
Nu
Da
Folosete un algoritm de
criptare/decriptare puternic
6.1.1.1 Instalare
Cea mai popular implementare a protocolului SSH o reprezint pachetul OpenSSH, un
proiect open source, lansat i creat de cei de la OpenBSD. n prezent, cea mai nou versiune de
OpenSSH este 4.7p1, lansat pe 4 septembrie 2007.
Pachetul ssh este compus dintr-un server (sshd), un client (ssh - disponibil implicit pe
majoritatea distribuiilor) i un set de utilitare, pentru gestiunea cheilor. n general sshd este
pornit de scripturile de iniializare ale sistemului i ruleaz permanent n background.
Instalarea serverului SSH include instalarea unor module adiionale cum ar fi:
https://honor.trusecure.com/pipermail/firewall-wizards/1998-June/002845.html
208 | R e e l e L o c a l e
rssh
The following NEW packages will be installed:
openssh-server ssh
0 upgraded, 2 newly installed, 0 to remove and
Need to get 206kB of archives.
After unpacking 586kB of additional disk space
Do you want to continue [Y/n]? y
[...]
Setting up openssh-server (4.2p1-7ubuntu3) ...
Creating SSH2 RSA key; this may take some time
Creating SSH2 DSA key; this may take some time
* Restarting OpenBSD Secure Shell server...
0 not upgraded.
will be used.
...
...
[ ok ]
Odat instalat, serverul SSH este pornit automat. Pentru pornirea sau repornirea sa se
poate folosi scriptul /etc/init.d/ssh.
root@myr:~# /etc/init.d/ssh -h
Usage: /etc/init.d/ssh {start|stop|reload|force-reload|restart}
simetrice (cu chei secrete), care folosesc aceeai cheie att la criptarea ct i la decriptarea
mesajelor.
asimetrice (cu chei publice), care folosesc chei distincte de criptare i decriptare. Una din chei
este inut secret i este cunoscut doar de proprietarul ei. A doua cheie (perechea ei) este
fcut public, deoarece este imposibil deducerea unei chei din cealalt.
Una dintre metodele de autentificare folosit de protocolul SSH este bazat pe algoritmul
RSA (Rivert-Shamir-Adleman). Publicat nc din 1977, RSA este un algoritm folosit pentru
criptografia cu chei publice.
Criptografia cu chei publice funcioneaz n modul urmtor: o persoan care dorete s
primeasc mesaje secrete deine dou chei, una public i una privat. Cheia public poate fi
afiat pe pagina Web personal sau fcut public printr-un alt mijloc, aceasta putnd fi
vzut de ctre oricine. Cheia privat, n schimb, va fi inut secret pe staia local. Dac n
aceste condiii cineva va dori sa trimit mesaje secrete acestei persoane, va lua cheia public
afiat pe pagina Web personal i va cripta mesajul. Cnd mesajul va ajunge la destinaie,
persoana ce deine cheia privat (perechea cheii publice care a fost utilizat n criptarea
mesajului trimis) va decripta mesajul cu ajutorul acesteia. n absena cheii private mesajul nu
va putea fi decriptat, astfel nct numai destinatarul lui de drept l va putea citi.
n procesul de instalare a serverului, va fi creat implicit o pereche de chei (public i
privat), fiecare cheie fiind stocat ntr-unul dintre fiierele: /etc/ssh/ssh_host_rsa_key i
/etc/ssh/ssh_host_rsa_key.pub. n fiierul ssh_host_rsa_key.pub este salvat cheia
public, iar n fiierul ssh_host_rsa_key cheia privat.
209 | S e c u r i t a t e i m o n i t o r i z a r e
n rezultatul comenzii de mai sus se poate observa faptul ca s-au mai fcut conexiuni
anterioare pe acel server de SSH, fiind oferit att ora i data ultimei conexiuni, ct i adresa IP
de la care s-a realizat conexiunea.
Cnd un client de SSH iniiaz pentru prima dat o conexiune ctre un server nou, acesta
din urm va trebui sa se autentifice ctre client. Fiecare server de SSH are un identificator unic
(host key) cu care se autentific clienilor. Acest ID este implementat prin chei publice i chei
private. La primirea unei conexiuni de la un client, serverul ofer cheia sa public, fcnd astfel
posibil autentificarea. La acceptarea cheii publice de la server, clientul adaug aceast cheie
n fiierul known_hosts. Astfel, urmtoarea conexiune pe care acest client o va face la server
nu va mai necesita transferul cheii publice, aceasta existnd deja stocat pe client.
Pentru a realiza acest lucru, clientul SSH va salva cheia serverului n fiierul local
$HOME/.ssh/known_hosts. La urmtoarea conectare pe acelai server, clientul SSH va verifica
acest fiier i, dac va gsi cheia public oferit de acesta se va afia pentru autentificare doar
parola.
Un exemplu de fiier known_hosts este urmtorul:
waters@myr:/$ ls ~/.ssh/known-hosts
acmserver,141.85.37.165
ssh-rsa
AAAAB3NzaC1yc2EAAAABIwAAAIEA7ijnAivb7dfGLkfYJlSk0wDWd2MkeP9YQctVfyb/8OfgVTLlp3eMimItJKv7rL5Angb
+A8bxdBy+tn7n0iDyoMNIAQP+rVBG2tDw1wTdl0mAhes90rOy4xOtVBOaF40dg7iy3/9zgp8HlVdiVjibuXeaIKAzew/k/I
XSB8YRd18=
atlantis.cs.pub.ro,141.85.37.4
ssh-rsa
AAAAB3NzaC1yc2EAAAABIwAAAIEAqJT/wsciLHg9g1CHrFkvx9KaSl4Z7uQROWSEJd6zFWey4aMmcW//A6rrNK7DK6luv+A
eJLMHA8+1IcnzDSV+pFUH/7IeR1ryrkyGmQRjnp5crrVDPY+ixOrR3Drpn6tpEb8woW12Ti0QXGNywc3g7w7VbSTP7AZGwN
lMBes26PM=
210 | R e e l e L o c a l e
Pe prima linie sunt trecute numele serverului de la distan i adresa IP a acestuia, apoi
urmnd cheia public. n exemplul de mai sus exist dou servere la care utilizatorul s-a
conectat n prealabil i a cror cheie public a fost salvat.
Aceste chei se pot afla n dou locuri din sistemul de fiiere:
n captura de mai jos se poate observa cum la prima conexiune realizat la un server,
clientul reine amprenta acestuia n fiierul known_hosts:
Warning: Permanently added 'localhost' (RSA) to the list of known hosts.
student@localhost's password:
Linux ubuntu 2.6.15-26-386 # 1 PREEMPT Thu Aug 3 02:52:00 UTC 2006 i686 GNU/Linux
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
pwd"
ntrebarea ce se ridic n continuare este cum se poate verifica amprenta RSA. Dac s-a
realizat o conexiune la un server SSH, dar un atacator a interceptat conexiunea, este posibil ca
n urma unei neatenii, prin simpla acceptare a respectivei chei, s se accepte de fapt cheia
fals i nu pe cea real. O metod ar putea fi publicarea amprentei RSA (cheia public) pe siteul oficial al celui ce ofer un astfel de serviciu. Dac nu exist aceast posibilitate, cheia
trebuie verificat imediat dup ce v-ai autentificat. Acest lucru se realizeaz folosind utilitarul
ssh-keygen i comparnd rezultatele obinute cu cele oferite de server. Dac rezultatele sunt
identice, atunci autentificarea s-a realizat cu succes pe staia dorit.
ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub
Exist dou modaliti de execuie a comenzilor prin SSH. Prima presupune executarea
comenzilor dorite dup realizarea conexiunii. Prin cea de-a doua metod comenzile dorite
sunt date ca argumente clientului SSH. Pentru aceasta din urm, de fiecare dat cnd se va
executa o anumit comand, va trebui introdus parola utilizatorului ce deschide sesiunea.
root@myr:~# ssh student@localhost ls
student@localhost's password:
Examples
root@myr:~# ssh student@localhost pwd
student@localhost's password:
/home/student
root@myr:~# ssh student@localhost uname -a
211 | S e c u r i t a t e i m o n i t o r i z a r e
student@localhost's password:
Linux ubuntu 2.6.15-26-386 # 1 PREEMPT Thu Aug 3 02:52:00 UTC 2006 i686 GNU/Linux
[Port 22] specific portul pe care ascult serverul; portul implicit este 22.
[ListenAddress 192.168.1.2] specific interfaa pe care ascult daemon-ul sshd.
n schimb, dac se dorete copierea unui fiier de pe o staie la distan pe staia local se
poate folosi urmtoarea sintax:
scp utilizator@staie_distan:/cale_fiier_remote /cale_fiier
212 | R e e l e L o c a l e
Pentru a pstra numele original al fiierului ce trebuie copiat se omite specificarea noului
nume.
root@myr:~# scp test.txt user@anaconda.cs.pub.ro:
ntr-un mod asemntor se poate realiza copierea unui director i a coninutului acestuia:
root@myr:~# scp r test user@anaconda.cs.pub.ro:Data/NewTest/
Data/NewTest, aflat
anaconda.cs.pub.ro.
Cum s-a menionat i mai sus, se poate specifica i calea pentru fiierul ce se dorete a fi
copiat. n exemplul de mai jos, fiierul data.txt, aflat n subdirectorul scoala/teste (relativ
la directorul home al utilizatorului user), va fi copiat n directorul curent, fiierul pstrnd
acelai nume.
root@myr:~# scp user@anaconda.cs.pub.ro:scoala/teste/data.txt .
Transferarea unei conexiuni TCP/IP prin canalul sigur oferit de SSH poate fi specificat fie
din linia de comand, fie din fiierele de configurare. O aplicaie posibil a redirectrii TCP/IP
este trecerea de un firewall n vederea citirii potei electronice.
Utilitarul ssh menine i verific automat o baz de date cu identificrile bazate pe RSA ale
tuturor mainilor pe care utilizatorul s-a conectat. Baza de date este inut n
.ssh/known_hosts. Dac informaia de identificare a unui server se schimb, ssh afieaz un
avertisment i nu permite autentificarea utilizatorului pentru a preveni un atentat la parola lui.
Opiunea StrictHostKeyChecking poate fi folosit pentru a preveni autentificrile pe maini
ale cror chei nu sunt cunoscute sau care au fost schimbate.
213 | S e c u r i t a t e i m o n i t o r i z a r e
Dup ce se realizeaz acest lucru, trebuie activat serviciul de stocare a cheilor private
(ssh-agent) i apoi adugate cheile n acesta (ssh-add). Pentru adugarea cheilor private va
trebui introdus passphrase-ul fiecreia, astfel nct accesul s fie permis pentru adugarea lor
n fiierul ~/.ssh/id_rsa. n urma acestor pai, conectarea se va face automat, fr nevoia
introducerii unei parole.
root@myr:~# ssh-agent
SSH_AUTH_SOCK=/tmp/ssh-nWcDud7170/agent.7170; export SSH_AUTH_SOCK;
SSH_AGENT_PID=7171; export SSH_AGENT_PID;
echo Agent pid 7171;
root@ubuntu:~# ssh-add
Enter passphrase for /root/.ssh/id_rsa:
Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)
214 | R e e l e L o c a l e
mailhost reprezint numele serverului de email, 110 este portul implicit pe care ascult
clientul de email, user este numele de utilizator i opiunea N specific doar redirectarea
portului, fr executarea de comenzi.
Un alt exemplu poate fi urmtorul:
root@myr:~# ssh -L 7777:work:22 -l user gate
Regula de mai sus poate fi interpretat astfel: se deschide o sesiune SSH a utilizatorului
user, pe staia gate. Ct timp sesiunea rmne deschis, toate conexiunile ctre portul 7777
de pe staia local sunt redirectate ctre portul 22 de pe staia work.
Pentru conectarea prin tunel se specific portul local 7777.
root@myr:~# ssh p 7777 localhost
Opiunea L va spune staiei gate c de fiecare dat cnd va primi date venind cu un
marcaj de tunel, s deschid o sesiune pe portul 22 pe staia work i s trimit respectivele
date. Toate datele sunt transmise staiei gate cu un port surs aleator (ex: 2002) i cu un
marcaj de tunel. Cu alte cuvinte, staia local accept conexiuni pe portul 7777 i trimite toate
datele pe portul 2002 staiei gate, spunndu-i c acestea provin de la tunelul 7777.
215 | S e c u r i t a t e i m o n i t o r i z a r e
Dup ce sa confirmat c portul 7777 a fost deschis, se poate realiza o conexiune prin
tunelul SSH deschis.
root@myr:/root/.ssh# ssh -p 7777 -l cico localhost
Password:
Last login: Sat Sep 22 13:58:01 2007 from 86.121.174.62
Linux anaconda 2.6.18-4-686 # 1 SMP Wed May 9 23:03:12 UTC 2007 i686
[....]
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
6.2 Firewall
Probabil c cel mai cunoscut dispozitiv de securitate este firewall-ul. Prin definiie,
firewall-ul este un sistem sau un grup de sisteme care implementeaz politica de acces ntre
dou sau mai multe reele. Firewall-urile pot fi clasificate n patru mari clase: firewall-uri
dedicate, firewall-uri integrate n routere, firewall-uri integrate n servere i firewall-uri
personale.
Firewall-urile dedicate sunt maini ce ruleaz un sistem de operare special conceput
pentru filtrarea de pachete i translatarea de adrese. Exemple de astfel de firewall-uri sunt
sistemele PIX sau CheckPoint. Aceste sisteme sunt capabile s susin un numr mare de
conexiuni, dar facilitile de rutare sunt extrem de limitate. Pentru o reea simpl se poate
folosi firewall-ul ca router, ns pentru reele mai complexe este necesar un router.
Firewall-urile integrate n routere sunt folosite pentru a nltura neajunsul anterior. Ele
nu pot susine acelai numr de conexiuni, dar se descurc mai bine n topologii mai complexe,
216 | R e e l e L o c a l e
unde este nevoie de facilitile unui router. Multe produse ofer faciliti de firewall integrate
n routere, de la module de firewall pentru routere high-end, pn la routerele extrem de
compacte, dedicate utilizrii n reele SOHO1.
Firewall-urile de server sunt implementate ca un software adiional peste un sistem de
operare de reea (Linux, NT, Win2K, Novell, UNIX). Exemple de astfel de pachete software
sunt: Netfilter, Microsoft ISA Server, Novell Border Manager. Ele sunt comparabile ca faciliti
i performane cu firewall-urile integrate n routerele de nivel mediu.
Firewall-urile personale sunt instalate pe calculatoarele personale. Ele sunt concepute
pentru a preveni atacuri doar asupra calculatorului pe care ruleaz. Este important de reinut
c aceste tipuri de firewall-uri nu sunt optimizate pentru reele ntregi de calculatoare.
Exemple de firme ce produc firewall-uri personale sunt McAfee i Symantec.
Principalele mecanisme prin care un firewall asigur protecia reelei sunt filtrarea de
pachete i translatarea de adrese, care vor fi analizate mai pe larg n continuare.
217 | S e c u r i t a t e i m o n i t o r i z a r e
Pachetul poate fi identificat dup adresa surs, adresa destinaie, tipul pachetului, portul
(TCP, UDP) sau tipul mesajului (ICMP), interfaa pe care intr/iese pachetul, dac este
fragment dintr-un pachet, dac este pachet care iniiaz o conexiune (TCP).
Lanurile sunt seturi de reguli prin intermediul crora se determin ce aciune trebuie
luat asupra unui pachet. Pentru fiecare dintre tabelele definite ( filter, nat, mangle)
exist lanuri implicite (INPUT, OUTPUT, FORWARD, PREROUTING, POSTROUTING) ce asigur o
structur distribuit a regulilor. Cu alte cuvinte, lanurile predefinite nu caracterizeaz o
singur tabel, tabelele mprind unul sau mai multe lanuri. De exemplu, lanul de OUTPUT
aparine att tabelei filter ct i tabelei nat. La fel, lanul de INPUT aparine att tabelei
filter ct i tabelei mangle. Cnd un pachet ajunge la o staie ce implementeaz o astfel de
politic (bazat pe iptables), vor trebui luate anumite decizii asupra acestuia, realizndu-se
analiza fiecrui lan menionat mai sus. n figura de mai jos se ilustreaz modul n care se va
face verificarea fiecrui lan.
PREROUTING
FORWARD
POSTROUTING
?
INPUT
OUTPUT
Decizie de rutare
Internet
Internet
?
Proces
intern
Decizia de rutare
nat
mangle
filter
X
X
INPUT
FORWARD
OUTPUT
POSTROUTING
X
X
X
X
X
X
X
X
X
218 | R e e l e L o c a l e
Regula de mai sus poate fi interpretat n modul urmtor: toate pachetele ce sunt
destinate staiei locale, ce au adresa IP surs n reeaua 10.0.0.0/8 i sunt de tip ICMP, nu vor fi
acceptate. Opiunea t precizeaz tabela, n cazul de fa filter, -A (append) specific
adugarea regulii lanului de INPUT, -s specific adresa IP surs a pachetelor, -p protocolul
folosit, iar j (jump) precizeaz aciunea ce va trebui ndeplinit n cazul n care pachetele se
ncadreaz n regula respectiv.
n exemplul de mai jos este prezentat configurarea iptables pentru filtrare de pachete
pe maina 141.85.37.1 din reeaua 141.85.37.0/24. Aceast main este router, firewall,
server de web, server de e-mail i server de DNS i are conectat reeaua intern pe interfaa
eth0 i legtura la Internet pe interfaa eth1.
iptables
iptables
iptables
iptables
iptables
iptables
iptables
iptables
iptables
-t
-t
-t
-t
-t
-t
-t
-t
-t
filter
filter
filter
filter
filter
filter
filter
filter
filter
-A
-A
-A
-A
-A
-A
-A
-A
-A
INPUT
INPUT
INPUT
INPUT
INPUT
INPUT
INPUT
INPUT
INPUT
-s
-s
-p
-p
-p
-p
-p
-p
-j
iptables
iptables
iptables
iptables
iptables
-t
-t
-t
-t
-t
filter
filter
filter
filter
filter
-A
-A
-A
-A
-A
FORWARD
FORWARD
FORWARD
FORWARD
FORWARD
192.168.0.0/16 -j DROP
10.0.0.0/8 -j DROP
tcp --destination-port
tcp --destination-port
tcp --destination-port
tcp --destination-port
udp --destination-port
tcp ! --syn -j ACCEPT
REJECT
22
80
25
53
53
-j
-j
-j
-j
-j
ACCEPT
ACCEPT
ACCEPT
ACCEPT
ACCEPT
-s 192.168.0.0/16 -j DROP
-s 10.0.0.0/8 -j DROP
-i eth1 -s 141.85.37.0/24 -j ACCEPT
-i eth0 -p tcp ! --syn -j ACCEPT
- j REJECT
Configurarea pentru pachetele ce sunt destinate mainii (lanul INPUT) conine reguli
pentru filtrarea pachetelor cu adrese private (pentru a evita atacurile ce folosesc falsificare
adreselor IP), iar apoi reguli pentru accesarea serviciilor ce ruleaz pe main: serverul de ssh,
serverul de web, serverul de e-mail, serverul de DNS. Penultima regul este necesar dac
dorim s putem accesa de pe server Internetul sau reeaua local. Regula va opri ncercrile de
conectare la server, dar va lsa pachetele de rspuns s se ntoarc la server.
Configurarea pentru pachetele ce trebuie rutate (lanul FORWARD) ncepe cu dou reguli
pentru filtrarea pachetelor cu adrese private. Urmtoarea regul accept toate pachetele ce
vin din reeaua intern i au adrese corecte (pentru a preveni atacuri ce folosesc falsificarea
adresei IP iniiate din interiorul reelei). Urmtoarea regul accept pachetele din Internet ce
sunt replici la traficul iniiat din interior, dar nu i pachetele de iniiere a unor conexiuni ctre
reeaua intern.
n fine, configurarea pentru pachetele generate de server conine reguli pentru filtrarea
adreselor private, pentru a evita folosirea serverului n atacuri ce falsific adresa IP.
219 | S e c u r i t a t e i m o n i t o r i z a r e
translatare nu este injectiv, adic dac pentru mai multe adrese din mulimea A corespunde
o singur adres din mulimea B, aceasta poart denumirea de translatare de adrese
dinamic.
Avantajul folosirii translatrii de adrese dinamice const n faptul c se pot partaja adrese
rutabile disponibile. Astfel, calculatoarelor din reeaua local li se aloc adrese private, iar
routerul (firewall-ul) va face o translatare de adrese dinamic din mulimea de adrese private
n mulimea de adrese publice. Se observ ns c aceast abordare permite ca doar Card(B)
calculatoare din reeaua local s aib conversaii simultane n Internet.
O metod mai avansat de translatare de adrese o reprezint translatarea de adrese
suprancrcat NAT overloaded, denumit uneori i PAT (Port Address Translation) sau
masquerading. Aceast metod permite un numr de aproximativ 64000 de conversaii
simultane de la orice host intern ctre exterior cu o singur adres extern. Implementarea
nlocuiete pachetul din reeaua local cu adresa surs S, adresa destinaie D, portul surs P,
portul destinaie Q, cu altul nou ce va avea adresa surs M (adresa routerului), adresa
destinaie D, portul surs K. Portul destinaie nu se schimb. De asemenea se memoreaz
asocierea (S,P) - K. Dac un pachet ajunge pe router din exterior, avnd adresa destinaie M,
adresa surs Q i portul destinaie K, atunci acest pachet va fi nlocuit cu un altul cu adresa
destinaie S, adresa surs Q, portul destinaie P i va fi trimis n reeaua local. Portul surs nu
se schimb.
220 | R e e l e L o c a l e
rutare, i POSTROUTING - modific pachetele ce urmeaz s plece din router, dup ce acestea
au fost rutate. intele valide sunt ACCEPT, DROP, QUEUE, REJECT, LOG, SNAT, DNAT, MASQUARADE,
REDIRECT.
SNAT se folosete pentru a indica o translatare de adrese de tip PAT pe adresa surs.
Adresa surs a pachetului va fi modificat la una din intervalul specificat prin opiunea --tosource. Cu aceeai opiune se poate specifica i intervalul n care se va alege portul surs cnd
se face translatarea de adrese. Aceast int este valid numai n lanul POSTROUTING (i
lanurile chemate din acest lan).
DNAT se folosete pentru o translatare de adrese de tip PAT pe adresa destinaie. Adresa
destinaie a pachetului va fi modificat la una din intervalul specificat prin opiunea --todestination. Aceast int este valid numai n lanurile PREROUTING i OUTPUT (i lanurile
chemate din acest lan).
MASQUERADE este echivalent cu SNAT. Adresa surs va fi nlocuit cu adresa setat a
interfeei pe care va fi trimis pachetul. Trebuie folosit n loc de SNAT dac adresa la care se
face translatarea este setat dinamic (prin DHCP de exemplu).
REDIRECT se folosete pentru a redirecta pachetul, local, pe portul specificat de opiunea
--to-port. Aceast int este valid numai n lanurile PREROUTING i OUTPUT.
Pentru a evidenia mai bine lucrurile menionate mai sus pot fi analizate urmtoarele dou
reguli:
iptables -t nat -A POSTROUTING -o eth1 s 192.168.0.0/24 -j SNAT
--to-source 1.2.3.4
iptables -t nat -A PREROUTING i eth0 -d 14.15.16.17 -j DNAT --to-destination 192.168.100.1
Prima regul poate fi interpretat n felul urmtor: toate pachetele ce vin cu adresa IP
surs din reeaua 192.168.0.0/24 vor fi trimise pe interfaa eth1 cu adresa IP surs 1.2.3.4,
dup ce acestea vor fi rutate. Cea de-a doua regul va schimba adresa IP destinaie
(14.15.16.17) a pachetelor ce intr pe interfaa eth0 cu adresa IP 192.168.100.1, nainte ca
acestea s fie rutate.
n exemplul de mai jos s-a prezentat configurarea iptables pentru translatarea de adrese
pe maina 141.85.37.1 din reeaua 192.168.1.0/24. Aceast main este doar router, iar
serverul de web, serverul de mail i serverul de DNS ruleaz pe servere diferite, n reeaua
intern. Routerul are conectat interfaa eth0 la reeaua intern i interfaa eth1 la Internet.
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.0/24 -j SNAT --to-source 141.85.37.1
iptables -t nat
destination 192.168.1.2
iptables -t nat
destination 192.168.1.3
iptables -t nat
destination 192.168.1.4
iptables -t nat
destination 192.168.1.4
-A PREROUTING -i eth1 -p tcp --destination-port 80 -j DNAT --to-A PREROUTING -i eth1 -p tcp --destination-port 25 -j DNAT --to-A PREROUTING -i eth1 -p tcp --destination-port 53 -j DNAT --to-A PREROUTING -i eth1 -p udp --destination-port 53 -j DNAT --to-
Prima linie din exemplu este folosit pentru ca staiile din reea s poat accesa Internetul.
La trecerea pachetelor prin router, adresa surs a staiilor (adres privat) va fi nlocuit cu
adresa routerului (adres public).
Urmtoarele linii vor trimite traficul de web, e-mail i DNS ctre serverele din interior. n
acest context, din exterior, aparent routerul este i server de web, e-mail i DNS.
221 | S e c u r i t a t e i m o n i t o r i z a r e
trimit cererile ce i sunt adresate, altei staii ce va procesa aceste cereri. Cel mai folosit mod
de ntrebuinare al acestei metode este acela cnd serverele ruleaz pe staii aflate n reeaua
intern (dup firewall). Cu alte cuvinte, se presupune existena unui gateway cu dou
interfee, eth0 fiind conectat la reeaua intern i eth1 la Internet. Fie 141.85.37.1 adresa IP
public a interfeei eth1 i 192.168.0.2 adresa IP a staiei pe care ruleaz un serviciu web, pe
portul implicit 80, staie ce va putea fi accesat din exterior. n exemplul de mai jos se va face
redirectarea conexiunilor ce vin pe 141.85.37.1:8888 (<IP_extern:port>) ctre 192.168.0.2:80
(IP_intern:port).
iptables -t nat -A PREROUTING -i eth1 -p tcp d 141.85.37.1 dport 8888 j DNAT -todestination 192.168.0.2:80
222 | R e e l e L o c a l e
fapt numele atribuit utilitarului. Trebuie specificat c nu se urmrete niciun fel de exagerare
n afirmaia faptului c Wireshark este considerat mna dreapta a oricrui administrator. Cu
ajutorul su se poate face inspecia la nivelul antentelor unui pachet i mai mult la nivel de
stream TCP. Aplicaia se poate folosi att n scopuri administrative ct i n scopuri de
troubleshooting pentru reea. Popularitatea acestei aplicaii este motivat de:
sau, din interfaa grafic GNOME, din Applications > Internet > Wireshark.
Atenie! Pentru a putea captura toate pachete, wireshark trebuie pornit ca root.
223 | S e c u r i t a t e i m o n i t o r i z a r e
Selectarea interfeei: se poate alege interfaa pe care s se fac captura dintr-o list aflat n
partea de sus a ferestrei.
Opiunea de a seta interfaa n modul promiscuous: modul acesta impune acceptarea i
captura tuturor pachetelor, nu doar cele destinate staiei. Aceast opiune era folosit n trecut
cnd huburile nc erau utilizate n topologii de reea. n prezent aceast opiune este
redundant pentru reele cablate pentru c la nivelul doi ntr-o reea se va afla mereu un
switch care nu permite alt trafic pe un segment, n afar de traficul destinat unei staii aflate pe
acel segment. Totui, opiunea este extrem de util n cazul interfeelor wireless.
Capture filter: acesta este cmpul n care se poate introduce un filtru de captur. Implicit, cnd
se pornete o captur, se vor afia toate pachete ce ajung la interfaa de reea. Dac se
folosete un filtru de captur, se poate impune o restricie asupra pachetelor ce se doresc
capturate. Spre exemplu se pot captura doar pachetele cu un anumit IP surs, sau dup
protocolul de nivel 4 folosit.
Capture file: ofer posibilitatea de a salva captura ntr-un fiier pe disc. Acest fiier poate fi
ncrcat ulterior i utilizat pentru aplicarea unor filtre de afiare (display filters).
Pentru a porni o captur simpl, se apas butonul de start din fereastra de opiuni. Odat
pornit captura, fereastra principala a aplicaiei se va mpri n dou componente:
6.3.1.4 Filtre
n afara cazului n care se dorete realizarea unei statistici precum cea descris mai sus,
foarte rar va interveni situaia n care se va dori capturarea ntregului trafic. Motivul pentru
acest lucru este cantitatea mare de trafic neinteresant. Mai ales pe wireless, doar protocolul n
sine creeaz cam zece pachete pe secund prin folosirea de: beacon-uri, ack-uri i broadcasturi. Pentru ca este ineficient parcurgerea unei liste de captur foarte mare pentru a cuta
pachetele dorite, Wireshark pune la dispoziie dou tipuri de filtre:
Filtrul de captur: se poate aplica din meniul de Capture Options i presupune o captur
selectiv bazat pe regulile filtrului
Filstrul de afiare: se aplic peste o captura deja efectuat. Este mai puternic dect filtrul de
captur i este folosit mpreuna cu expresii regulate avansate pentru a gsi un anumit tip de
pachete ntr-o captura salvat.
Aplicarea filtrelor de captur se face din meniul Capture Options. Se pot aplica mai multe
filtre predefinite unei capturi ce urmeaz s fie fcut. Filtrele de afiare se invoc
asemntor, asupra unei capturi deja realizate, din meniul Analyze > Display Filters.
224 | R e e l e L o c a l e
6.3.2.1.1 Operatori
1. Operatorii de comparaie pe care limbajul i ofer se pot folosi n una din cele dou forme
posibile: forma literal i forma matematic:
forma literal
eq
ne
gt
lt
ge
le
forma matematic
==
!=
>
<
>=
<=
forma literal
and
or
xor
not
forma matematic
&&
||
^^
!
3. Operatorul boolean este exprimat n mod implicit prin numele cmpului. De exemplu dac se
folosete ca filtru a operatorul TCP, se vor selecta doar acele pachete ce au ca protocol de
nivel patru TCP. Folosirea operatorului logic not n faa cmpului TCP, are ca rezultat
selectarea pachetelor ce nu folosesc TCP.
4. Adresele IP: sunt suportate protocoalele Ipv4 i IPv6. Este suportat i notaia CIDR:
192.168.1.0/24.
n situaia n care exist un cmp inclus ntr-un alt cmp, acestea se pot nlnui n aceeai
maniera: telnet.auth_mod.name; acest cmp identific pachetele ce conin numele de
autentificare pentru protocolul telnet.
225 | S e c u r i t a t e i m o n i t o r i z a r e
eth.src[0:2] acesta expresie va selecta primii 2 octei din adresa MAC surs. Formatul
[x:y] va referii y octei din adresa MAC, ncepnd cu octetul x.
eth.src[3-4] expresia va selecta octeii 4 i 5 din adresa MAC surs. Formatul [x-y] va
2. Selectarea tuturor pachetelor cu adresa IP surs 10.0.0.5 care au bitul de TCP FIN setat.
ip.src == 10.0.0.5 and tcp.flags.fin
3. Selectarea tuturor pachetelor care nu au adresa IP 10.0.0.5, nici ca IP surs, nici ca IP destinaie
!(ip.addr == 10.0.0.5)
Atenie! Expresia ip.addr != 10.0.0.5 va evalua ntotdeauna true, pentru c va testa ca cel
puin unul din cmpurile IP s fie diferit de 10.0.0.5.
4. Selectarea tuturor pachetelor Ipv4 care au cmpul TTL mai mare sau egal cu 1 i care au primii
3 ovtei ai MAC-ul de la un vendor specific.
ip.version eq 4 and ip.ttl >=2 and eth.addr[0-2] == 00:1A:5E
Bineneles c regulile se pot complica, depinznd de scenariu, ns pn n acest punct sau descris elementele de baz a limbajului filtrelor de afiare.
226 | R e e l e L o c a l e
Modul simplu de captur de pachete n acest mod snort captureaz traficul definit ca trafic
interesant
Modul de captur de pachete cu jurnalizare snort poate s stocheze captura ntr-un fiier pe
disc n diferite formate: format syslog, text, binar.
Modul IDS/IPS n acest mod, snort permite definirea de reguli de identificare a unui tipar de
trafic i generare de alerte, invocarea de alte programe, etc.
n timpul instalrii, aplicaia va configura ntr-un mod interactiv interfaa activ pe care
snort va asculta implicit i subnetul de reea din care va accepta pachete.
Dup ce a fost instalat, se poate verifica existena utilitarului n calea implicit, rulnd
comanda snort. Aplicat fr niciun parametru, comanda va afi toate opiunile snort
alturi de un mesaj explicativ.
root@myr:/home/rl# snort
[...]
Uh, you need to tell me to do something...
227 | S e c u r i t a t e i m o n i t o r i z a r e
Expresia pe care snort o primete ca argument este folosit pentru a defini filtre n linia de
comand. Exist mai multe primitive i cuvinte cheie care se pot folosi, dar deoarece
abordarea prezentrii acestui utilitar va fi una bazat mai mult pe exemple i funcionalitate,
acestea nu vor fi enumerate aici. Pentru o lista complet a primitivelor i expresiilor se poate
consulta pagina man a aplicaiei.
Se va crea urmtorul scenariu:
Mai nti se va porni snort folosind o expresie regulat ce va captura doar traficul cu IP
destinaie 192.168.1.2 (adic staia local) i cu portul destinaie 21 (FTP).
root@myr:/home/rl#
snort
/etc/init.d/proftpd start
Dup cum se poate observa din rezultatul de mai jos, snort a capturat informaia din
pachet de la nivel 2 la nivel 7.
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
09/07-18:05:34.732455 0:E0:20:20:14:48 -> 0:17:31:49:39:99 type:0x800 len:0x4B
192.168.0.254:50613 -> 192.168.1.2:21 TCP TTL:63 TOS:0x10 ID:7505 IpLen:20 DgmLen:61 DF
***AP*** Seq: 0x9751DAEE Ack: 0xB5B61579 Win: 0x5C TcpLen: 32
TCP Options (3) => NOP NOP TS: 26265674 26264608
55 53 45 52 20 72 6C 0D 0A
USER rl..
[...]
09/07-18:05:34.733011 0:17:31:49:39:99 -> 0:E0:20:20:14:48 type:0x800 len:0x60
192.168.1.2:21 -> 192.168.0.254:50613 TCP TTL:64 TOS:0x0 ID:53593 IpLen:20 DgmLen:82 DF
***AP*** Seq: 0xB5B61579 Ack: 0x9751DAF7 Win: 0x5B TcpLen: 32
TCP Options (3) => NOP NOP TS: 26264774 26265674
33 33 31 20 50 61 73 73 77 6F 72 64 20 72 65 71 331 Password req
75 69 72 65 64 20 66 6F 72 20 72 6C 0D 0A
uired for rl..
[...]
09/07-18:05:35.957654 0:E0:20:20:14:48 -> 0:17:31:49:39:99 type:0x800 len:0x4B
192.168.0.254:50613 -> 192.168.1.2:21 TCP TTL:63 TOS:0x10 ID:7507 IpLen:20 DgmLen:61 DF
***AP*** Seq: 0x9751DAF7 Ack: 0xB5B61597 Win: 0x5C TcpLen: 32
TCP Options (3) => NOP NOP TS: 26265797 26264774
50 41 53 53 20 72 6C 0D 0A
PASS rl..
228 | R e e l e L o c a l e
Problema folosirii afirii la ieirea standard este faptul ca snort poate captura mult mai
repede dect poate afia pe ecran. De aceea la un trafic susinut, snort va ncepe s sar
peste unele pachete pentru a putea afia informaia pe monitor. De aceea, de obicei, snort se
ruleaz cu opiunea -l, care permite salvarea capturii n jurnale.
Modul clear text: este mai ncet, ns se poate citi uor informaia din log-uri.
Modul binar: este cel mai rapid mod de jurnalizare, ns e nevoie de utilitare speciale pentru a
citi logurile. De asemenea formatul binar este compatibil cu tcpdump i ofer i avantajul
posibilitii aplicrii a mai multe reguli snort asupra capturii, pentru a analiza pachetele
pentru un posibil atac.
snort
Doar n cazul folosirii jurnalizrii n format ASCII se creeaz cte un director pentru fiecare
IP surs care deschide o conexiune. n acest director se afl un fiier clear-text, n care se afl
stocat captura.
root@myr:/var/log/snort#
TCP:56443-21
root@myr:/var/log/snort#
TCP:56443-21: ASCII text
ls 192.168.0.254/
file 192.168.0.254/TCP\:56443-21
snort
Acest tip de jurnalizare este mult mai rapid i spre deosebire de cel modul clear-text,
captura este pstrat ntr-un singur fiier:
root@myr:/var/log/snort# ls
snort.log.1220806500
root@myr:/var/log/snort# file snort.log.1220806500
snort.log.1220806500: tcpdump capture file (little-endian) capture length 1514)
Snort ofer binenteles i un mod facil de a citi informaia dintr-o captur n format binar,
folosind opiunea r:
root@myr:/var/log/snort#
[...]
229 | S e c u r i t a t e i m o n i t o r i z a r e
Deasemenea, formatul pcap este folosit i de aplicaii cu interfaa GUI, precum Wireshark.
Deci captura poate fi ncrcat i vizualizat i n mod grafic.
Din configuraia de mai sus, snort va considera ca reeaua ce trebuie protejat este
reeaua 192.168.1.0/24, iar orice alta reea (var EXTERNAL_NET any) este vzut ca o posibil
ameninare.
Pentru a putea demonstra modul n care snort acioneaz se va presupune urmtorul
scenariu:
De pe staia cu IP-ul 192.168.0.254 de pe care s-a iniiat conexiunea FTP n exemplul anterior,
se va porni acum o scanare nmap cu fingerprint-ing.
snort va detecta aceast ncercare de scanare i va crea un fiier de alarm n
/var/log/snort/ care se va putea interpreta cu utilitare speciale.
snort
snort
[ OK ]
[ OK ]
-l
2008-09-07
2008-09-07
2008-09-07
2008-09-07
2008-09-07
19:46
21:33
21:33
21:33
21:33
192.168.0.254
alert
snort.log.1220806500
snort.log.1220812428
tcpdump.log.1220812063
230 | R e e l e L o c a l e
S-a generat un fiier de alert de aproximativ 6 KB. Pentru a putea interpreta acest fiier
se pot folosi destul de multe utilitare, att n linie de comand, ct i n mediu grafic. Unul din
cele mai cunscute este snortsnarf. Acest utilitar poate interpreta un fiier de alarm generat
de snort i l poate afia n format HTML cu link-uri utile ctre diferite site-uri ce pot spune
mai multe despre tipul de atac interceptat.
General: n acest tab se gsesc cele mai simple opiuni, de pornire i oprire a firewall-ului. De
asemenea, exist i posibilitatea de blocare a tuturor conexiunilor iniiate din exterior (Block all
incoming connections) pentru a activa rapid protecia total n reele publice, nesecurizate.
Aceast opiune ignor toate excepiile active la acel moment.
231 | S e c u r i t a t e i m o n i t o r i z a r e
Exceptions: Lista cuprinde aplicaiile detectate n sistem iar bifarea lor are ca efect activarea
permisiunii aplicaiilor de a deschide porturi. Pot fi adugate noi programe (executabile, de
fapt) la lista de excepii sau pot fi adugate separat i porturi.
Advanced: Aici pot fi selectate conexiunile de reea pe care Windows Firewall s le
monitorizeze. De asemenea, de aici pot fi restaurate setrile implicite legate de funcionarea
firewall-ului i de excepiile sale.
Dup cum se observ, fereastra de dialog descris mai sus nu ofer o multitudine de
opiuni legate de configurarea Windows Firewall i nu poate fi considerat efectiv o unealt
administrativ deoarece ofer un grad extrem de sczut de flexibilitate.
Dac se dorete modificarea unor setri mai avansate (reguli, n spe, care, la rndul lor,
formeaz politicile de securitate) trebuie utilizat interfaa Windows Firewall with Advanced
Security, accesibil din Server Manager sau de la Start > Administrative Tools. Aceasta
ofer opiunea de a gestiona regulile de intrare i ieire a pachetelor i de a crea reguli de
securitate pentru conexiuni care pot restriciona conectarea la un server pe baza unor
informaii de autentificare mai complexe, cum ar fi apartenena la un domeniu.
Interfaa este mprit n trei panouri:
n stnga, un panou ce afieaz diferitele elemente de configurare, cum sunt regulile sau
opiunile de monitorizare;
n partea dreapt panoul de aciuni, comun celor mai multe interfee de administrare din
Server Manager;
n partea central panoul de detalii, al crui coninut se modific dinamic, n funcie de
seleciile din primul panou.
232 | R e e l e L o c a l e
Domain: Calculatoarele ce ruleaz Windows Vista sau Windows Server 2008 pot detecta dac
se poate realiza apartenena la un domeniu ntr-o anumit reea la care sunt conectate. Acest
profil necesit ca toate calculatoarele s fie membre ale unui domeniu pentru a putea accesa
controller-ul de domeniu.
Public: Profilul Public este folosit de ctre firewall pentru a proteja sistemul cnd acesta este
conectat la o reea public, spre exemplu una wireless. Practic, pentru Windows Server 2008, o
reea public reprezint orice reea care nu se afl n interiorul perimetrului reelei delimitate
de firewall-ul acesteia.
Private: Profilul comunic firewall-ului modul n care s protejeze sistemul n momentul n care
acesta este membru al unei conexiuni private, adic aparine unei reele protejate de un
firewall hardware.
Pentru c fiecare dintre cele trei profiluri poate stoca setri distincte cu privire la regulile
firewall-ului, acestea ofer un grad sporit de flexibilitate n optimizarea nivelului de securitate
oferit de firewall pentru diferite tipuri de conexiuni. Spre exemplu, conexiunile spre reele
233 | S e c u r i t a t e i m o n i t o r i z a r e
publice vor folosi profilul Public care va impune un set de reguli mai restrictive, n timp ce
conectarea la reelele locale izolate, securizate i/sau aflate sub propria administrare poate
necesita un set mai permisiv de reguli, cum ar fi partajarea fiierelor i a imprimantelor n
reea, reguli configurate n cadrul profilului Private.
Modificarea tipului unei conexiuni se poate face manual (mai puin pentru tipul Domain,
care are cerine suplimentare). Windows aplic, ns, i n mod automat aceste profiluri n
funcie de tipul de trafic inspectat pe interfaa conectat. Astfel c, n cazul apartenenei la un
domeniu, se aplic nti profilul Domain, ajungndu-se ulterior la opiunea de a aplica unul
dintre celelalte dou profiluri. Pentru situaia de mai sus, peste profilul Domain se aplic
automat profilul Private deoarece se consider c zona delimitat de staiile dintr-o reea,
membre ale unui domeniu, reprezint deja o zon de un anumit grad de securitate i
siguran. Dac interfaa nu este autentificat la un controller de domeniu (deci conexiunea sa
nu este membr a unui domeniu) atunci se aplic automat profilul Public.
234 | R e e l e L o c a l e
Program: Decizia se ia n funcie de programul care iniiaz o conexiune (regul outbound) sau
care dorete deschiderea unui port (regul inbound). Informaia care identific aplicaia
cuprinde doar calea spre executabilul su.
Port: Astfel de reguli au n vedere conexiunile pe baza numerelor de port (unul sau un interval)
pe care acestea le utilizeaz. Tot aici se poate specifica i pentru ce protocol de nivel transport
(TCP sau UDP) se aplic regula.
Predefined: Aceste reguli generalizeaz anumite programe sau servicii ale sistemului
simplificnd detaliile funcionrii lor. Spre exemplu, o astfel de regul poate fi instituit pentru
a controla accesul la partajarea fiierelor sau imprimantelor sau pentru a permite funcionarea
protocolului Remote Desktop (pentru administrarea de la distan).
Afiarea regulilor definite implicit n Windows Firewall se face printr-un simplu clic pe
categoria dorit n panoul din stnga: Inbound Rules sau Outbound Rules. Deoarece lista poate
deveni destul de cuprinztoare, mai ales dup definirea regulilor proprii i pe servere cu o
multitudine de aplicaii i servicii instalate, acesteia i se pot aplica filtre din panoul de aciuni1.
Aplicarea filtrelor poate adresa profilul de care acestea aparin, starea lor (active sau nu) i
grupul din care fac parte (adic aplicaia sau serviciul de care aparin). Filtrele pot fi aplicate
secvenial. Pentru tergerea tuturor filtrelor active se face clic pe link-ul Clear all filters.
Pentru a vizualiza proprietile unei reguli (indiferent dac este de tip inbound sau
outbound), se poate face dublu clic pe regul din panoul central (indiferent de prezena
filtrelor).
Atenie, nu se pot modifica toate proprietile regulilor predefinite; n cele mai multe
dintre cazuri, executabilul asociat regulii nu poate fi schimbat, la fel ca i porturile i setul de
protocoale incluse n regul. Aceste restricii sunt impuse deoarece regulile implicite adreseaz
funcionarea serviciilor Windows care folosesc porturi i protocoale standard pentru a
comunica.
Este de la sine neles c filtrele afecteaz doar afiarea anumitor reguli; ele nu afecteaz n niciun fel
funcionarea lor. Pentru aceasta se folosete proprietatea Enabled disponibil pentru fiecare regul.
235 | S e c u r i t a t e i m o n i t o r i z a r e
General: Cuprinde numele i o descriere textual a regulii, ofer posibilitatea de a activa sau
dezactiva regula i tipul aciunii descrise de regul: permiterea conexiunii, blocarea ei sau
permiterea n condiii securizate1 (IPSec). Dac regula cere ca o conexiune permis s fie
criptat, pentru cele necriptate se vor aplica alte reguli dac exist sau se vor conforma
comportamentului implicit descris n profilul conexiunii. Opiunea Override block rules specific
faptul c aceast regul va suprascrie orice alte reguli care ar putea bloca conexiunea n cauz.
Opiunea este necesar pentru a permite o conexiune pentru c, n mod normal, regulile de
blocare au prioritate sporit fa de cele permisive.
Programs and Services: Specific executabilul sau serviciul de sistem pentru care se va aplica
regula. Orice program i serviciu poate fi adugat atta timp ct ruleaz prin propriul su
executabil. Atenie la adugarea container-elor de servicii sau a programelor care gzduiesc
executabile, ca svchost.exe, dllhost,exe, inetinfo.exe pentru c pot reprezenta riscuri de
securitate. Regulile care se aplic pentru un anumit program sau serviciu pot fi folosite i
pentru a permite unor aplicaii s accepte conexiuni din Internet, atta timp ct acestea
folosesc Windows Sockets (winsock) pentru a deschide propriile porturi.
Users and computers: Permite specificarea cror calculatoare sau utilizatori (sau grupuri de
utilizatori) au dreptul de a se conecta la calculatorul local n contextul serviciului sau
programului cruia regula i este asociat. Opiunile legate de utilizatori i calculatoare pot fi
utilizate doar dac s-a specificat ca aciune a regulii permiterea conexiunilor dac acestea sunt
securizate. De asemenea, configuraia este valabil doar pentru reguli de tip inbound, iar
utilizatorii sau calculatoarele ce se pot autentifica trebuie s fie accesibile prin Active Directory
Domain Services.
Pentru aceasta trebuie s existe i o regul corespunztoare de tipul Connection Security Rule.
236 | R e e l e L o c a l e
All programs: Regula va fi aplicat tuturor programelor ale cror conexiuni se potrivesc cu setrile
regulii.
This program path: Regula se va aplica doar conexiunilor iniiate din sau spre un anumit program
selectabil prin executabilul su.
Services: Permite selectarea unui anumit serviciu din lista de servicii instalate n sistem, deoarece
1
majoritatea ruleaz gzduite n interiorul altor executabile, ca services.exe sau
2
lsass.exe .
3. n continuare (figura 6-5) se poate alege protocolul i, eventual, porturile pentru care regula va
fi aplicat. Dac la pasul anterior s-a selectat o aplicaie, nu e necesar selectarea protocolului
deoarece Windows l va identifica din interfaa winsock.
4. n continuare se pot specifica adresele IP, att locale ct i de la distan pe a cror conexiuni
se va aplica regula. Pot fi definite adrese, intervaluri de adrese sau subreele. De asemenea, se
pot alege aici i tipurile conexiunilor de tip reea pe care va fi aplicat regula.
5. Aciunea ce poate fi aplicat n momentul n care regula firewall-ului intr n funciune, poate
s permit realizarea conexiunii n orice situaie (deci crearea unei reguli de tip Allow), doar n
cazul n care conexiune este securizat (mai multe detalii n seciunea 6.4.1.2) sau poate bloca
realizarea conexiunii (crearea unei reguli de tip Deny).
6. n urmtoarea seciune se pot bifa profilurile pentru care regula s se aplice: Private, Public sau
Domain.
7. n fine, n ultima etap se d un nume regulii i, eventual o descriere care rezum parametrii i
aciunile sale (preferabil i scopul pentru care a fost creat regula).
8. Butonul Finish creeaz regula, ce poate fi editat ulterior ca i orice alt regul implicit
(conform seciunii 6.4.1.2).
Utilitar responsabil cu pornirea i oprirea serviciilor, pornirea automat a lor la iniializarea sistemului si
oprirea lor la nchiderea sa.
2
Utilitar cu multiple responsabiliti de securitate, incluznd autentificarea utilizatorilor. int pentru
numeroi virui.
237 | S e c u r i t a t e i m o n i t o r i z a r e
Pentru a crea o astfel de regul se selecteaz Connection Security Rules din panoul stng i
se face clic pe link-ul New Rule din panoul de aciuni, dup care se urmeaz etapele
urmtoare:
238 | R e e l e L o c a l e
1. Pentru nceput, se alege tipul regulii ce se dorete a fi creat. Pentru a avea acces la toate
opiunile, pentru exemplul de fa se va alege tipul Custom.
2. Urmtoare opiune cere configurarea capetelor conexiunii (endpoints). Endpoint-ul 1 poate fi
calculatorul local sau o subreea de adrese IP ce pot fi atribuite calculatorului local, iar
endpoint-ul 2 va fi ceallalt capt al conexiunii, specificat printr-o adres IP sau un interval.
o
o
Request authentication for inbound and outbound connections: Autentificarea nu este obligatorie,
dar este de preferat. Conexiunile inbound i outbound nesecurizate vor reui dar dac se dorete
utilizarea unei autentificri se poate realiza acest lucru.
Require authentication for inbound connections and request authentication for oubound
connections: Conexiunile iniiate n exterior trebuie s fie autentificate, dar pentru cele iniiate local
este opional.
Require authentication for inbound and outbound connections: Att conexiunile iniiate din
exterior ct i cele iniiate local trebuie autentificate, altfel regula va bloca realizarea lor.
Do not authenticate: Nu este necesar autentificarea.
Dup creare, regula apare n lista de Connection Security Rules i i se pot modifica
proprietile ca i n cazul regulilor Inbound sau Outbound.
239 | S e c u r i t a t e i m o n i t o r i z a r e
240 | R e e l e L o c a l e
n Windows Server 2008, setrile ce adreseaz IPSec sunt incluse n Windows Firewall i
sunt accesibile la pagina IPSec Settings din cadrul ferestrei de proprieti a firewall-ului.
Modificarea setrilor implicite sunt accesibile prin apsarea butonului Customize. Acestea vor
afecta toate regulile de tip Connection Security Rule definite n firewall.
Configurrile pentru IPSec se ncadreaz n trei categorii: schimbul de chei (key exchange),
protejarea datelor (data protection) i modalitatea de autentificare (authentication method).
Pentru a schimba modul n care se realizeaz schimbul de chei, se alege optiunea
Advanced din grupul Key Exchange i se face clic pe butonul Customize.
241 | S e c u r i t a t e i m o n i t o r i z a r e
Hellman P-384. Trebuie avut n vedere i faptul c selectarea acestui algoritm impune
clientului restricia ca acesta s ruleze cel puin Windows Vista iar serverul Windows Server
2008. Tot aici poate fi modificat i durata de via a cheilor. Teoretic, securitatea unei chei
este invers proporional cu durata sa de via.
Tot din fereastra principal a setrilor IPSec poate fi modificat i metoda folosit pentru
asigurarea securitii datelor (criptare). Pentru aceasta se selecteaz opiunea Advanced din
categoria Data protection (Quick Mode) i se apas butonul Customize.
Implicit se folosesc doi algoritmi pentru a asigura integritatea i securitatea datelor: ESP i
AH. Protocolul Encapsulating Security Payload (ESP) ofer autentificarea sursei datelor,
integritate i protecie mpotriva atacurilor de tip replay pentru coninutul pachetelor IP.
Protocolul Authentication Header (AH) ofer securitate pentru antetul IP.
Ultima categorie de opiuni se refer la metoda de autentificare folosit pentru a realiza
conexiuni securizate:
Computer and User (Using Kerberos V5) autentific att calculatorul ct i utilizatorul.
Kerberos V5 folosete un sistem de chei sau tichete atribuite calculatoarelor din domeniu.
Mesajele trimise de aceste calculatoare sunt autentificate prin tichet care este ataat n date.
Computer (Using Kerberos V5) autentific doar calculatorul.
User (Using Kerberos V5) autentific doar utilizatorul.
Computer certificate from this certification authority necesit specificarea unui CA (Certificate
Authority) iar autentificarea se face baza certificatelor digitale
6.4.2 Monitorizare
Un aspect important al administrrii oricrei reele l reprezint monitorizarea serverelor
i a traficului din reea. n Windows Server 2008, monitorizarea performanei serverului este
realizat de ctre utilitarul Reliability and Performance Monitor. Pe de alt parte, un alt
utilitar, Event Viewer, permite monitorizarea jurnalelor meninute pentru a ajuta la
identificarea problemelor ce pot aprea n funcionarea pe termen lung a serverului.
242 | R e e l e L o c a l e
CPU: Sunt afiate ocuparea procesorului (sau procesoarelor) precum i frecvena maxim. De
asemenea, utilizarea sa este detaliat pentru fiecare aplicaie n parte, dupa PID, nume, numr
de fire de execuie din aplicaia respectiv, procentajul din procesor folosit i ncrcarea medie
de-a lungul timpului.
Disk: Este afiat fluxul total de date la citire/scriere din secunda curent. Statisticile detaliate
pentru fiecare proces cu privire la utilizarea discului, cuprind: numele procesului, PID-ul su,
fiierul curent aflat n scriere sau citire, vitezele curente de citire i scriere prioritatea
procesului respectiv pentru acces la disc i valoarea medie a timpului de rspuns al discului.
Network: Este afiat traficul total prin interfeele de reea la momentul curent. Pentru fiecare
proces, identificat prin nume i PID sunt detaliate: adresa destinaiei cu care aplicaia schimb
date la momentul respectiv, datele trimise i primite i lrgimea de band total utilizat.
Memory: Se afieaz global numrul de page faults1 pe secund i procentajul de memorie
utilizat la momentul respectiv. Pentru fiecare proces n parte, se ine evidena: numrului de
hard faults-uri pe minut, a working set-ului, adic a cantitii totale de memorie folosita de
acea instan a aplicaiei, memoria partajabil, care poate fi accesat i de ctre alte aplicaii i
memoria privat.
Din cadrul Reliability and Performance Monitor, utilitarul Reliability Monitor ofer o
perspectiv global asupra evenimentelor din sistem ce au afectat de-a lungul timpului
funcionarea sa ntr-un mod negativ.
Un page fault reprezint o situaie n care se acceseaz date din memoria virtual a unui proces dar
care nu se gsesc n memoria fizic i trebuie aduse din fiierul de paginare.
243 | S e c u r i t a t e i m o n i t o r i z a r e
244 | R e e l e L o c a l e
ntrebri
245 | D N S
7 DNS
You know its love when you memorize her IP address to skip DNS overhead
Cine este...
Paul Mockapetris este inventatorul DNS. Mockapetris a lucrat ca manager de program
la diverse companii de reelistic i Internet. Din 2003, activeaz la Institutul de tiine
Informatice (ISI) de la Universitatea din California de Sud.
Paul Vixie este autorul unui numr important de RFC-uri i utilitare standard UNIX. A
fost creatorul serverului DNS bind i arhitectul acestuia pn la versiunea 8. Opereaz
serverul rdcin L din DNS.
246 | R e e l e L o c a l e
ro
pub
cs
net
roedu
com
netacad
acs
Aceste domenii sunt administrate de ctre ICANN (Internet Corporation For Assigned
Names and Numbers). Ele sunt subdomenii ale unui domeniu generic, fr nume, care este
rdcina ierarhiei. Toate domeniile din Internet sunt pn la urm subdomenii ale acestor
domenii din vrful ierarhiei. nregistrarea unui subdomeniu .eu cost aproximativ 14 euro pe
247 | D N S
an, iar un subdomeniu .ro cost ceva mai mult de 50 USD + TVA (19%), dar este nregistrat pe
via. De la 1 ianuarie 2007, persoanele fizice i juridice din Romania pot trimite cereri pentru
nregistrarea de domenii .eu. Potrivit EURid (European Registry for Internet Domains), pn la
data de 20 septembrie 2007, Romnia a contribuit" cu 11,851 de nume de domenii .eu
active. Comparativ, locuitorii Germaniei dein 822,712 de domenii .eu, iar cei ai Republicii
Cehe dein 53,830 de domenii.
Dup cum s-a precizat mai sus, protocolul DNS ofer i posibilitatea de reverse-lookup.
Aceast facilitate este folosit de utilitare de troubleshooting precum traceroute sau
ping.Pentru a pstra o consisten n funcionare, i traducerea invers se face tot cu ajutorul
unui domeniu, care poart numele de in-addr.arpa. El nu este un top-level domain i a fost
creat pentru a permite rezolvare invers, din adrese IP n nume.
Acesta conine subdomenii care corespund cu octeii dintr-o adres IP, n ordine invers.
De exemplu, pentru adresa 141.85.37.1, cererea pentru traducerea invers se va face pentru
1.37.85.141.in-addr.arpa. n baza de date DNS acestei intrri i corespunde numele staiei.
248 | R e e l e L o c a l e
Principalul rol al serverului de nume asociat unui domeniu este de a rspunde la cereri despre
staiile i serverele aflate n gestiunea sau autoritatea sa.
Se spune c un server de nume este server autoritar pentru o intrare din baza de date DNS
dac intrarea face parte din domeniul gestionat de serverul de nume.
249 | D N S
250 | R e e l e L o c a l e
251 | D N S
5. Cererea ajunge la serverul ns.pub.ro care va cuta n cache adresa statiei www.linux.org;
se presupune c adresa nu se gsete n cache; drept consecin, serverul ntoarce un rspuns
negativ, specificnd ca hint serverul rdcin B.root-servers.net - 192.228.79.201;
6. Serverul cs.pub.ro va trimite cererea serverului rdcin B.root-servers.net; acesta va
cuta adresa statiei www.linux.org n cache; se prespune, din nou, c nu gsete adresa n
cache, astfel c va trimite un rspuns negativ iar ca hint serverul de nume asociat domeniului
.org, s spunem ns.org - 216.66.41.146;
7. Serverul cs.pub.ro trimite atunci cererea serverului ns.org; acesta va cuta adresa
www.linux.org n cache; se presupune c nu o va gsi; va trimite, deci, un rspuns negativ,
iar ca hint serverul asociat domeniului linux.org, s spunem ns.linux.org;
8. n continuare, serverul cs.pub.ro trimite cererea serverului ns.linux.org; acesta, fiind
serverul autoritar pentru zona linux.org, va cuta adresa www.linux.org n baza de date
i va ntoarce un rspuns pozitiv i autoritar cu adresa IP asociat;
9. Serverul cs.pub.ro ntoarce rspunsul staiei lemon.cs.pub.ro i l introduce n cache.
Pentru a nelege mai bine, toate cererile i rspunsurile implicate n rezolvarea cererii au
fost reprezentate n figura de mai jos. Cererile sunt reprezentate cu linie continu, n timp ce
rspunsurile sunt reprezentate cu linie punctat. Pentru fiecare cerere sau rspuns a fost
reprezentat informaia solicitat, respectiv oferit i amprenta de timp corespunztoare.
252 | R e e l e L o c a l e
nregistrare pentru serverele de nume, etc. Fiecare dintre tipurile de nregistrri sunt
cunoscute n terminologia DNS dup mnemonici, cele mai folosite fiind nregistrrile: A,
CNAME, MX, NS, PTR, SOA.
A identific nregistrri de tip adres, fiind folosite pentru rezolvarea direct a numelui. Aceste
nregistrri asociaz chei de tip nume de staie de genul www.kde.org cu o adres IPv4.
Pentru a asocia chei de tip nume de domeniu unor adrese IPv6 se folosesc nregistrri de tip
AAAA.
user@orange:~$ host -t A cs.pub.ro
cs.pub.ro has address 141.85.37.5
PTR identific nregistrri de tip pointer i sunt folosite pentru rezolvarea invers. Acestea
NS identific nregistrri de tip server de nume (name server) i sunt folosite pentru a indica
numele serverelor de nume autoritate (att cele master ct i cele slave, dac este cazul)
asociate domeniului specificat n cheie. nregistrrile de tip NS sunt folosite pentru delegarea
de subdomenii ctre alte servere de nume.
user@orange:~$ host -t NS cs.pub.ro
cs.pub.ro name server pub.pub.ro.
cs.pub.ro name server ns.cs.pub.ro.
MX identific nregistrri de tip server de mail i sunt folosite pentru a indica numele serverelor
SOA identific nregistrri de tip start of authority ce specific diveri parametri pentru
domeniul indicat n cheie: seria bazei de date, intervalul de timp la care serverul slave verific
seria, adresa de mail a administratorului de domeniu, etc.
user@orange:~$ host -t SOA cs.pub.ro
cs.pub.ro has SOA record ns.cs.pub.ro. admin.cs.pub.ro. 2007072101 28800 7200 604800
86400
TXT identific o nregistrare de tip descriere. Aceasta asociaz numele de staie indicat de
CNAME identific o nregistrare de tip alias. Un alias este un nume de domeniu alternativ
pentru numele specificat n cheie. Aliasul va fi asociat cu aceeai adres cu care este asociat i
cheia. De exemplu, considernd aliasul mail.cs.pub.ro la numele prof.cs.pub.ro, i
presupund c adresa prof.cs.pub.ro este 141.85.37.3, atunci adresa
mail.cs.pub.ro va fi 141.85.37.3.
user@orange:~$ host -t CNAME mail.google.com
mail.google.com is an alias for googlemail.l.google.com.
253 | D N S
Ca o observaie cheile folosite n DNS (numele domeniilor, staiilor, etc.) sunt limitate la
caractere alfanumerice (a-z, A-Z, 0-9) i caracterul '-'. Numele de domeniu complete nu pot
depi 255 de caractere, iar numele de domeniu relative nu pot depi 63 de caractere.
n cazul n care sunt configurate mai multe servere DNS, se va interoga ntotdeauna
primul. Celelalte servere se interogheaz doar dac serverul interogat anterior nu rspunde.
Cmpul baz_de_date poate fi hosts pentru rezolvarea numelor staiilor, passwd pentru
rezolvarea numelor de utilizatori, group pentru rezolvarea numelor grupurilor de utilizatori,
etc. Cmpurile surs_1_1, surs_1_2 specific ordinea metodelor folosite pentru rezolvarea
numelor. Cele mai folosite metode sunt:
files pentru a folosi fiierele de configuraie din directorul /etc (e.g. /etc/hosts conine o
254 | R e e l e L o c a l e
-t Tipul nregistrrii folosit la interogare poate fi configurat cu ajutorul opiunii -t, i poate fi
unul dintre acronimele definite de standardul DNS (A, PTR, NS, etc.) sau ANY pentru a ntoarce
toate nregistrrile asociate cu cheia de cutare (numele), indiferent de tipul nregistrrii. Dac
nu se folosete opiunea -t, atunci host va folosi n mod implicit fie A, fie PTR n funcie de
numele de interogat: dac numele seamn cu o adres IP, se va folosi PTR, altfel A;
-r n mod implicit interogrile realizate de host sunt interogri recursive. Pentru interogri
nerecursive, trebuie folosit opiunea r;
-l Uneori poate fi util afiarea tuturor intrrilor dintr-o anumit zon. Cu host acest lucru se
poate face utiliznd opiunea l. Practic, la folosirea acestei opiuni, host va ncerca s fac
un transfer de zon. n funcie de configurarea serverului, aceast operaie poate fi sau nu
permis. Dac transferul de zon a fost efectuat, host va filtra apoi nregistrrile n funcie de
tipul de nregistrare specificat n linia de comand. Dac nu se specific niciun tip de
nregistrare n linia de comand, host va lista nregistrrile de tip A i PTR;
-v Opiunea -v (verbose) va afia odat cu informaiile cerute i alte informaii recepionate
n rspunsul primit de la server.
[ OK ]
[ OK ]
[ OK ]
[ OK ]
255 | D N S
naintea prii de opiuni poate fi precizat un fiier al crui coninut va fi inclus n fiierul de
configurare prin folosirea unei directive de tipul:
include fisier;
Att sintaxa DNS ct i opiunile puse la dispoziie sunt destul de greu de neles n afara
unui context practic i de aceea, n continuare se vor prezenta configuraii ncepnd de la cele
mai simple i des ntlnite (server caching-only, server autoritar pe un singur domeniu) pn la
configuraii avansate (split-brain DNS, master/slave, ACL-uri, delegri de subdomenii). Pe
exemplele oferite se va releva importana fiecrei opiuni i se va discuta i sintaxa folosit
pentru definirea zonelor (domeniilor).
A
AAAA
198.41.0.4
2001:503:BA3E::2:30
NS
A
B.ROOT-SERVERS.NET.
192.228.79.201
NS
A
C.ROOT-SERVERS.NET.
192.33.4.12
256 | R e e l e L o c a l e
Directiva directory stabilete directorul de lucru. Din acest director sunt ncrcate fiierele
indicate n seciunea de definire de zone dac nu sunt precizate prin ci absolute. Tot n acest
director serverul creeaz fiiere temporare i poate crea fiiere ce conin intrrile din cache.
Directiva forwarders permite introducerea unor adrese IP care vor fi folosite ca servere
forwarder ce vor fi ntrebate mereu primele pentru o traducere ce nu s-a putut efectua local.
Atentie! Sintaxa acestei directive, ca i a multor altora din configuraia BIND, este destul
de rigid.
s-a definit un acl (access control list) DNS foarte simplu cu numele de LAN. Directiva acl
realizeaz o asociere ntre numele LAN i reeaua 192.168.0.0/24.
s-a folosit directiva allow-query prin care s-au precizat clienii ce pot trimite cereri serverului
de nume. Argumentul din acolade, oferit directivei, ar fi putut fi direct adresa de reea, ns se
prefer folosirea unui acl pentru scalabilitate: un acl poate avea o structur destul de
complex, permind unele subreele i negnd accesul altora.
257 | D N S
o
o
o
www.politehnica.ro 142.100.111.80
ftp.politehnica.ro 142.100.111.21
mail.politehnica.ro 142.100.111.25
Operaia de a crea o zon pentru care serverul de nume s fie autoritar, const din 2 pai:
Numele zonei
Calea n sistemul de fiiere ctre fiierul de configurare al zonei
Tipul zonei (master/slave)
O definire corect pentru cele 2 zone ale domeniului politehnica.ro, arat astfel:
waters@myr:~$ cat /etc/bind/named.conf.local
zone "politehnica.ro" {
type master;
file "/etc/bind/db.politehnica.ro";
};
zone "111.100.142.in-addr.arpa" {
type master;
file "/etc/bind/db.111.100.142.in-addr.arpa";
};
Atenie! Sintaxa de definire a zonei este destul de strict i trebuie realizat urmrind
exemplul de mai sus.
258 | R e e l e L o c a l e
nregistrrile sunt structurate la rndul lor n cmpuri separate de spaii sau tab-uri. Formal,
structura fiierelor de zon este urmtoarea:
$INCLUDE fiier nume_domeniu
$ORIGIN nume_domeniu
$TTL ttl
//
// parametrii de zon
//
// nregistrare DNS
Dac numele unui domeniu nu se termin cu . atunci este considerat nume incomplet.
Pentru a afla numele complet folosit n nregistrri se concateneaz cu domeniu
nume_domeniu definit de operatorul $ORIGIN.
O greeal frecvent atunci cnd se editeaz fiierele de configuraie pentru zone este
scrierea incorect a numelor complete, prin uitarea aplicrii punctului la sfritul numelui.
Operatorul $INCLUDE specific fiierul ce va fi inclus nainte de parsare. Dac este prezent
i parametrul nume_domeniu, acesta va preciza numele concatenat la numele incomplete, dar
doar pentru nregistrrile din fiierul inclus.
Operatorul $ORIGIN precizeaz numele ce se va concatena la numele incomplete din
seciunea ce urmeaz.
Operatorul $TTL indic timpul maxim pentru care un rspuns pozitiv pentru intrri din
seciunea curent poate sta n cache-ul altor servere.
politehnica
politehnica
politehnica
politehnica
ns.politehnica
mail.politehnica
www.politehnica.ro.
ftp.politehnica.ro.
IN
IN
IN
IN
A
A
A
A
142.100.111.53
142.100.111.25
142.100.111.80
142.100.111.21
Parametrul $ORIGIN va avea ca efect concatenarea domeniului ro. Tuturor domeniilor din
fiier ce nu se termin cu caracterul . (punct). Spre exemplu numele ns.politehnica se va
transforma dup parsare n ns.politehnica.ro.
Din punct de vedere funcional, fiierul de configurare de mai sus s-ar traduce astfel:
Domeniul peste care serverul este autoritar este politehnica.ro (n fiier este completat
doar cuvntul politehnica, ns acestuia i este concatenat parametrul $ORIGIN )
Clasa tuturor nregistrrilor este IN. Aceasta este clasa folosit peste tot n Internet.
Introducerea ei este opional.
Domeniul politehnica.ro are 5 nregistrri
o
o
o
o
SOA acest tip de nregistrare are o sintaxa diferit de cea standard i va di discutat mai jos.
TXT nregistrarea TXT ofer un comentariu legat de societatea ce deine domeniul
NS aceast nregistrare precizeaz serverul de nume care va rspunde la cererile pentru acest
domeniu: ns.politehnica.ro (.ro este concatenat de la parametrul $ORIGIN)
MX - nregistrarea de tip MX are un format special: o prioritate i apoi adresa serverului. Prioritatea
definete ordinea n care un client va ncerca s contacteze serverele de mail ale domeniului; se va
ncerca mai nti conectarea la serverele cu prioritate mai mic.
259 | D N S
o
Pentru domeniul politehnica.ro s-a completat numele unui server de e-mail (intrarea MX) i
serverul de nume (intrarea NS). Fiecare dintre acestea, pentru a putea fi rezolvate, are nevoie
de asocierea cu o adresa IP. Acest lucru este realizat de urmtoarele dou nregistrri DNS de
tip A.
De asemenea mai exist nca 2 nregistrri A pentru traducerea domeniilor
www.politehnica.ro i ftp.politehnica.ro. A se observa faptul c cele dou nume de
domenii au fost date cu nume complet i ncheiate cu caracterul . (punct). Notaia aceasta este
perfect echivalenta cu a scrie: www.politehnica i ftp.politehnica, avnd parametrul
$ORIGIN ro. Trebuie avut atenie totui la folosirea ambelor notaii, cci se poate ntampla
ca n loc de www.politehnica.ro. , s se completeze doar www.politehnica.ro i s se
uite caracterul ., de la sfrit. Dac se configureaz astfel, domeniul final va fi
www.politehnica.ro.ro, i deci, eronat.
Ca o ultim observaie, comentariile din fiier care au fost fcute cu ajutorul caracterului ;
Inregistrarea de de tip SOA are o sintax mai special i trebuie s fie prima nregistrare
n fiierul de zon.
domeniu
IN
SOA
server_autoritar adres_mail_admin (
serial
refresh
retry
expire
ttl
)
Seria bazei de date trebuie incrementat la fiecare modificare fcut n domeniu, altfel
modificrile nu se vor propaga la serverele slave.
refresh = 8H: Conine intervalul de timp la care serverul slave va interoga seria bazei de date a
serverului master. Implicit acest timp este exprimat n secunde, dar valoarea cmpului refresh
poate exprima minutele - dac se folosete sufixul M, orele - dac se folosete sufixul H, sau
zilele - dac se folosete sufixul D.
retry = 2H: Indic intervalul de timp la care serverul slave va ncerca s se reconecteze la
serverul master, dac o ncercare de conectare la server a euat.
expire = 1W: Indic perioada de timp dup care baza de date a serverului slave este invalidat,
dac nu se reuete o conectare la serverul master.
ttl = 1D: Reprezint timpul de via pentru rspunsuri negative. Acest timp este diferit de
timpul de viaa al rspunsurilor pozitive.
260 | R e e l e L o c a l e
PTR
PTR
PTR
ftp.politehnica.ro.
mail.politehnica.ro.
www.politehnica.ro.
politehnica.ro
rezolvare direct
db.politehnica.ro
rezolvare invers
Named.conf.local
db.111.100.142.inaddr.arpa
261 | D N S
waters@myr:/etc/bind# named-checkconf
waters@myr:/etc/bind# named-checkzone politehnica.ro. /etc/bind/db.politehnica.ro
zone politehnica.ro/IN: loaded serial 2007092001
OK
waters@myr:/etc/bind#
named-checkzone
/etc/bind/db.111.100.142.in-addr.arpa
zone 111.100.142.in-addr.arpa/IN: loaded serial 2007092001
OK
111.100.142.in-addr.arpa
[ OK ]
[ OK ]
La apelarea utilitarului host s-a folosit i argumentul 142.100.111.53 prin care s-a
specificat adresa serverului DNS pe care host va trebui s l interogheze; bineneles acea
adresa IP este adresa IP a serverului pe care s-au fcut configurrile de mai sus. Se observ c
cele 2 interogri efectuate cu utilitarul host sunt rezolvate cu succes de ctre serverul DNS.
Este vorba de rezolvarea direct a adresei www.politehnica.ro n 142.100.111.80 i de
rezolvarea invers a 142.100.111.80 n www.politehnica.ro.
Cea mai ntlnit greeal este fr ndoiala uitarea punctului. Cea mai bun indicatie
asupra acestui fapt este eroarea: ignoring out-of-zone data. Aceasta poate nsemn totui i
faptul c numele de domeniu este scris greit n SOA sau c zona are numele scris greit n
definirea acesteia din fisierul named.conf.local.
11. Eroarea copy-paste
Avnd n vedere sintaxa complicat BIND, se recomand pstrarea unor template-uri care
s fie folosite la configuraii noi. ns trebuie foarte mult atenie la copierea dintr-un fiier n
altul deoarece simpla copiere a unui spaiu n plus, luat odat cu numele de domeniu, poate s
mute caracterul . mai la dreapta i s rezulte n aceast eroare: not a valid number.
12. Eroarea neraportat
Una din cele mai greu de depistat erori const n a scrie greit numele de cale al fiierului
de zon n fiierului named.conf.local. Dei serverul DNS nu va funciona pentru respectiva
zon, acesta va porni fr s ofere o eroare. De asemenea niciunul din utilitarele named-check
nu raporteaz ceva n neregul.
262 | R e e l e L o c a l e
Pentru alte greeli comune i puncte cheie care presupun o atenie sporit, se poate
consulta RFC19121 care trateaz tocmai aceste subiecte.
7.2.3.10
Dei fiierul de zon configurat mai sus este corect specificat, exist unele mici artificii de
sintax care sunt ntlnite destul de des n implementarea unui server DNS i care trebuie
tiute de orice administrator de BIND.
1. Omiterea numelui de domeniu ce se repet consecutiv.
// nregistrare DNS
Cuvntul politehnica a aprut deci de 5 ori ca nume de domeniu. Acest lucru nu este
neaprat necesar. Atunci cnd numele de domeniu este la fel pentru nregistrrile ce urmeaz,
acesta poate fi omis:
[...]
politehnica
ns.politehnica
[...]
IN
142.100.111.53
2. Simbolul @
Exist multe exemple de configuraii BIND pe Internet. Multe din acestea conin n fiierul
de zona simbolul @. Simbolul acesta este echivalent cu argumentul directivei $ORIGIN. n
exemplul de mai jos, a scrie politehnica.ro. sau a scrie @ ar avea acelai efect. Deci un alt
mod de a scrie fiierul db.politehnica.ro este urmtorul:
$ORIGIN politehnica.ro.
$TTL 36000
@
IN SOA ns.politehnica.ro. admin.politehnica.ro. (
2007092001 ; Serial
8H
; Refresh
2H
; Retry
1W
; Expire
1D
; Negative TTL
)
TXT
"Universitatea Plitehnica Bucuresti"
NS
ns
MX
10
mail
A
142.100.111.53
ns
mail
www
ftp
IN
IN
IN
IN
A
A
A
A
142.100.111.53
142.100.111.25
142.100.111.80
142.100.111.21
http://www.ietf.org/rfc/rfc1912.txt
263 | D N S
Sintaxa DNS permite redefinirea parametrului $ORIGIN pentru o mai mare flexibilitate a
fiierelor de zon.
$ORIGIN ro.
$TTL 36000
politehnica
IN
IN
IN
IN
A
A
A
A
142.100.111.53
142.100.111.25
142.100.111.80
142.100.111.21
7.2.3.11
IN
IN
A
CNAME
142.100.111.80
www
[...]
264 | R e e l e L o c a l e
Aliases:
f1.politehnica.ro is an alias for www.politehnica.ro.
IN
IN
IN
IN
A
A
A
A
142.100.111.53
142.100.111.25
142.100.111.80
142.100.111.21
NS
A
ns.cs
142.100.222.53
265 | D N S
Se
A
A
A
A
142.100.222.53
142.100.222.80
142.100.222.21
142.100.222.25
observ
ftp
[...]
IN
IN
IN
A
A
A
142.100.111.80
142.100.111.81
142.100.111.82
IN
142.100.111.21
Se observ cum la realizarea unor cereri cu ajutorul utilitarului host, serverul rspunde cu
o list de IP-uri permutata ntr-o maniera round-robin. De obicei un client care va primi 3
rspunsuri de tip A, l va alege pe primul i le va ignora pe restul.
waters@myr:~$ host www.politehnica.ro 142.100.111.53
Using domain server:
Name: 142.100.111.53
Address: 142.100.111.53#53
Aliases:
www.radiance.ro has address 142.100.111.80
www.radiance.ro has address 142.100.111.81
www.radiance.ro has address 142.100.111.82
waters@myr:~$ host www.radiance.ro 142.100.111.53
Using domain server:
Name: 142.100.111.53
Address: 142.100.111.53#53
Aliases:
1
266 | R e e l e L o c a l e
www.radiance.ro has address 142.100.111.82
www.radiance.ro has address 142.100.111.80
www.radiance.ro has address 142.100.111.81
waters@myr:~$ host www.radiance.ro 142.100.111.53
Using domain server:
Name: 142.100.111.53
Address: 142.100.111.53#53
Aliases:
www.radiance.ro has address 142.100.111.81
www.radiance.ro has address 142.100.111.82
www.radiance.ro has address 142.100.111.80
IN
IN
IN
IN
IN
A
A
A
A
A
142.100.111.53
142.100.99.1
142.100.111.25
142.100.111.80
142.100.111.21
dei s-au definit dou servere NS, doar masterul este introdus n nregistrarea SOA
serverul ns1 i ns2 sunt localizate pe maini diferite (IP-uri diferite n nregistrrile de tip A);
redundana este dus chiar mai departe prin faptul ca cele dou maini se afl n subneturi
diferite cu masca /24.
Urmeaz definirea zonelor pentru fiecare server. Configurrile se vor face direct n fiierul
principal de configurare (fr a mai folosi named.conf.options i named.conf.local)
Serverul master va avea urmtoarea intrare de zon n named.conf:
zone "politehnica.ro" {
type master;
file "/etc/bind/db.politehnica.ro";
notify yes;
also-notify {
141.85.37.33;
193.230.31.225;
};
allow-transfer {
142.100.99.1
};
};
Observaii:
267 | D N S
directiva notify: atunci cnd aceast directiv este folosit i setata la valoarea yes, la fiecare
schimbare a fiierului de zon se vor trimite mesaje speciale de NOTIFY tuturor serverelor slave
care sunt specificare n fiierul de zon prin nregistrarea NS (adic serverele de nume cu
nregistrri NS, n afara de cel master care este specificat n SOA).
directiva allow-transfer: permite transferul doar ctre serverul slave cu IP-ul specificat. Dac
aceasta directiv ar lipsi, orice server ar putea s descarce configuraiile de zon de la master.
directiva also-notify: este folosit pentru a notifica i alte servere, care se afl de obicei mai sus
n ierarhia DNS, de schimbarea unui fiier de zon. Este trimis tot un mesaj de tip NOTIFY,
odat cu mesajele trimise i serverelor slave.
cele 3 opiuni specificate prin directivele de mai sus se vor aplica doar zonei
politehnica.ro! Dac acestea ar fi fost introduse n named.conf.options sub directiva
global options, acestea s-ar fi aplicat global.
Observaii:
268 | R e e l e L o c a l e
269 | D N S
270 | R e e l e L o c a l e
Interfaces: Cuprinde interfeele de reea pe care serverul DNS va asculta cereri. Pot fi selectate
automat toate interfeele active sau se pot selecta doar anumite interfee, dup adresele IP
(recomandabil, statice), IPv4 sau IPv6.
271 | D N S
Root hints: Lista de servere ce sunt contactate pentru zonele ce nu sunt configurate local n
serverul DNS, n cazul n care nu exist servere de forwarding sau acestea nu rspund.
Debug logging: Pentru a supraveghea funcionarea serverului, pot fi nregistrate ntr-un fiier
informaii despre pachetele care circul prin serverul DNS. Se poate selecta direcia (intrare,
ieire), protocolul folosit (TCP, UDP) i ce tipuri de pachete vor fi notate. De asemenea, se
poate aplica un filtru pentru a selecta pachetele n funcie de adresa IP de la care sosesc sau
spre care sunt destinate (Figura 7-11).
Event logging: Serverul DNS poate meniona n jurnale diferitele evenimente ce apar n
decursul rulrii sale, ca erori i avertismente. Aici se poate configura care dintre acestea vor
aprea n jurnale.
Monitoring: Aici pot fi efectuate o serie de teste asupra funcionrii serverului, folosind cereri
recursive sau nerecursive. Se pot efectua teste imediate sau la intervale regulate, iar
rezultatele lor sunt evaluate.
Round-robin activat din proprietile serverului se face la nivel de server i nu la nivel de zon.
272 | R e e l e L o c a l e
A (host): Mapeaz o un nume la o adres IP. O intrare de tipul A n fiierul de configuraie arat
n felul urmtor:
storage A 192.168.1.12
273 | D N S
CNAME (canonical name): Permite atribuirea mai multor nume aceleiai staii, ce folosete o
singur adres IP. Prin CNAME, o staie poate fi accesat printr-o adres IP i mai multe alte
nume. Un CNAME reprezint, practic, un alias. O intrare CNAME n fiierul de configuraie arat
n felul urmtor:
ftp CNAME data.storage.com
n cazul n care primul server nu rspunde, va fi contactat cel de-al doilea, pentru c numrul
su de preferin este mai mare. Exist posibilitatea de a defini mai multe intrri de tip MX cu
aceeai valoare numeric drept preferin, ceea ce are drept efect realizarea unui load
balancing simplu, ca i n cazul intrrii A.
NS (nameserver): Intrrile definesc serverele de nume ce rspund cererilor pentru un anumit
domeniu. De asemenea, ele pot delega rezolvrile numelor pentru anumite subdomenii unor
altor servere. O intrare NS ntr-un fiier de configurare arat n modul urmtor:
@ NS ns1.storage.com
274 | R e e l e L o c a l e
SOA (start of authority): Cuprinde serverele de nume primare ce sunt autoritare pentru o
anumit zon, precum i o informaie de contact pentru administratorul respectivei zone. De
asemenea, stabilete perioada de timp pentru care un server neautoritar poate pstra
informaiile primite nainte de a le verifica din nou la serverul autoritar. Un exemplu de intrare
SOA este umrtorul:
@ IN SOA ns.storage.com. admin.storage.com. (
200808272000; serial number timestamp al ultimei modificri
100; refresh
50; retry
86400 ; expire
3600 ) ; default TTL validitatea informaiilor de la serverul autoritar
275 | D N S
O intrare SOA este automat creat la instalarea serverului DNS, cu valori implicite pentru
maina local.
PTR (pointer): Realizeaz funcia opus unei intrri de tip A. Un exemplu poate fi urmtorul:
61.130.98.66.in-addr.arpa. IN PTR site3.storage.com
Pentru a defini o intrare de tip PTR (manual sau automat, la crearea unei intrri de tip A) este
necesar crearea unei zone de tip reverse lookup (zon de rezolvare invers). Crearea unei
astfel de zone se face similar cu a uneia de tip forward lookup, cu diferea c va exista i
opiunea de a crea o zon de rezolvare invers pentru adrese IPv4 sau IPv6.
SRV (service): Indic tipul i acoperirea unor servicii pentru o anumit zon i sunt de mare
importan pentru funcionarea Active Directory. Ca i intrrile de tip MX, intrrile SRV dein un
numr de preferin, deci exist i posibilitatea de a realiza o form de load balancing. Un
exemplu de intrare de tip SRV, ntr-un fiier de configurare, poate fi urmtorul:
_kerberos._tcp._sites.dc._msdcs 600 SRV 100 88 global.storage.com.
276 | R e e l e L o c a l e
Pe scurt, cmpurile au urmtoarele semnificaii:
o
o
o
o
o
o
Intrrile de tip SRV sunt importante pentru Active Directory deoarece indic ce staii din
domeniu ruleaz servicii Active Directory. Serviciile pe care Active Directory le caut n intrrile
de tip SRV sunt urmtoarele (intrarea SRV, n general, suport mai multe):
o
o
o
o
Pentru intrrile de mai sus, n cazul n care se dorete interoperabilitatea cu servere DNS din
mediul UNIX (precum BIND), nu se pot folosi caracterele sau _.
Dac se dorete convertirea unui server secundar n unul principal, se poate realiza
aceasta selectnd zona definit ca secundar i accesnd opiunea Properties din meniul
contextual. La categoria General, n dreptul lui Type, se apas butonul Change (figura 7-19),
dup care se poate alege noul tip de zon: Primary, Secondary sau Stub.
277 | D N S
278 | R e e l e L o c a l e
adesea) sau doar cu o serie de servere ale cror adrese pot fi introduse n lista de mai sus (fig
7-20).
Tot de aici poate fi configurat i opiune de notificare a altor servere n urma schimbrilor
efectuate ntr-o zon. Pot fi contactate doar serverele din lista Name Servers sau efectiv cele
introduse manual n lista din fereastra Notify (figura 7-21):
7.5.2 Ipconfig
Cteva dintre funciile utilitarului ipconfig, folosit n principal pentru TCP/IP adreseaz i
configuraia DNS a sistemului local:
ipconfig /displaydns
Comanda de mai sus afieaz nregistrrile n cache-ul local DNS (practic, numele deja
rezolvate i care nu au expirat nc) i este util pentru depistarea erorilor de rezolvare pentru
anumite nume. n funcie de sistemul de operare, fiecare nume a crui rezolvare a fost
efectuat cu succes este reinut o perioad de ctre sistemul de operare pentru a nu mai
necesita o nou contactare a serverului DNS pentru o eventual nou cerere.
ipconfig /flushdns
279 | D N S
7.5.3 Dnscmd
Utilitarul dnscmd reprezint varianta n linie de comand a interfeei de administrare a
serverului DNS din Windows Server 2008. El permite administratorilor s creeze zone, s
modifice nregistrri i s efectueze o serie de aciuni administrative asupra serverului DNS.
Pentru a enumera parametrii comenzii i efectele lor, se poate introduce comanda1:
dnscmd /?
/ZoneAdd
corp.marketing.local
/Primary
/file
Comanda de mai sus are ca efect crearea unei noi zone primare standard, numit
pe un server cu numele s6.corp.marketing.local, a crei
configuraie va fi stocat n fiierul corp.marketing.local.dns. n mod intuitiv, pentru
crearea unei zone secundare se nlocuiete parametrul /Primary cu /Secondary.
Un exemplu de adugare a unei noi nregistrri (RR) la o zon existent este urmtoarea
comand:
corp.marketing.local
Prin comanda anterioar se adaug o nou nregistrare de tip A (host) numit www, la zona
corp.marketing.local, ce face legtura cu adresa IP 192.168.1.23. Serverul pe care se
efectueaz modificarea este acelai ca i n exemplul anterior, s6.corp.marketing.local.
Vizualizarea tuturor zonelor dintr-un server se poate face prin comanda2:
C:\Users\Administrator>dnscmd ::1 /enumzones
Enumerated zone list:
Zone count = 3
Zone name
Type
Storage
Properties
.
15.86.117.in-addr.arpa
storage.com
Cache
Primary
Primary
File
File
File
Update Rev
Update
Exportarea configuraiei unei zone DNS ntr-un fiier se face cu parametrul /zoneexport,
urmat de numele zonei i apoi de numele fiierului n care aceasta va fi exportat:
dnscmd /zoneexport corp.marketing.local corp.marketing.local.dns
280 | R e e l e L o c a l e
7.5.4 Nslookup
Utilitarul nslookup este printre cele mai utile i uor de utilizat metode de testare a
funcionalitii unui server DNS. Funcia lui de baz este, practic, cea de rezolvare a unei cereri
folosind serverul DNS declarat implicit n Windows.
Pentru o simpla interogare de tip A (host) se introduce comanda nslookup urmat de
numele de rezolvat:
C:\Users\Administrator>nslookup cs.pub.ro
Server: dns-cache-3.rcs-rds.ro
Address: 82.76.253.115
Non-authoritative answer:
Name:
cs.pub.ro
Address: 141.85.37.5
nslookup suport i alte tipuri de interogri, precum MX sau SOA. Pentru a emite astfel de
interogri, se introduce comanda nslookup fr parametri, se specific tipul de interogare
dorit prin comanda set query si apoi se introduce numele de rezolvat, ca n exemplul
urmtor (pentru a iei din prompt-ul nslookup se pot da comenzile exit, quit sau CTRL-C):
C:\Users\Administrator>nslookup
Default Server: dns-cache-3.rcs-rds.ro
Address: 82.76.253.115
> set query=mx
> cs.pub.ro
Server: dns-cache-3.rcs-rds.ro
Address: 82.76.253.115
Non-authoritative answer:
cs.pub.ro
MX preference = 5, mail exchanger = mail.cs.pub.ro
> set query=soa
> cs.pub.ro
Server: dns-cache-3.rcs-rds.ro
Address: 82.76.253.115
Non-authoritative answer:
cs.pub.ro
primary name server = ns.cs.pub.ro
responsible mail addr = admin.cs.pub.ro
serial = 2008041301
refresh = 28800 (8 hours)
retry
= 7200 (2 hours)
expire = 604800 (7 days)
default TTL = 86400 (1 day)
281 | D N S
ntrebri
1. Care din afirmaiile de mai jos sunt adevrate? (alegei toate variantele care se
potrivesc)
DNS este o baz de date distribuit
DNS este o baz de date centralizat
administrarea bazei de date DNS se face centralizat
administrarea bazei de date DNS se face distribuit
2. www.kde.org poate fi numele de domeniu pentru: (alegei toate variantele care se
potrivesc)
O intrare de tip NS
O intrare de tip A
O intrare de tip PTR
O intrare de tip MX
3. Rspunsuri autoritare pot fi date de (alegei toate variantele care se potrivesc):
Serverele de nume master
Serverele de nume de tip forwarding
Serverele de nume slave
Serverele de nume tip caching-only
4. Care sunt doi factori importani pentru alegerea timpului de via a unei intrri din
baza de date DNS? (alegei dou variante)
Timpul de rspuns
Lungimea numelui
Numrul de separatori (.) din nume
Acurateea rspunsului
5. Un client DNS trimite serverului DNS cereri ... ... ... ... i primete rspunsuri ... ... ...
... (alegei toate variantele care se potrivesc)
nerecursive, autoritare
nerecursive, neautoritare
recursive, autoritare
recursive, neautoritare
6. Intrarea ce identific serverul de nume asociat cu un domeniu este de tip:
A
PTR
MX
NS
7. Care este utilitatea seriei bazei de date a unui domeniu (serial)?
Este folosit de serverul master pentru a verifica consistena cu root serverele
Este folosit de serverul slave pentru a ti ce s-a schimbat la serverul master
Este folosit de serverele de nume pentru a identifica intrrile din cache
Este folosit de BIND pentru a identifica schimbrile efectuate asupra fiierului principal
de configuraie
282 | R e e l e L o c a l e
283 | E - m a i l
8 E-mail
Diamonds are forever. E-mail comes close.
June Kronholz
Cine este...
Eric Paul Allman este creatorul programului sendmail i al precursorului acestuia
numit delivermail. Sendmail a devenit o parte important a distribuiei de software de la
Berkley (BSD) i este n continuare cel mai utilizat MTA n sistemele Unix. n 1998 a fontat
Sendmail Inc. pentru a lucra la mbuntirea sendmail.
Wietse Venema este un programator i fizician olandez, creatorul i principalul
dezvoltator al server-ului de e-mail Postfix. De asemenea, a scris mai multe aplicaii n
domeniul securitii sistemelor. Din 1996, lucreaza n Statele Unite la IBM Thomas J.
Watson Research Center unde continua sa dezvolte Postfix. A primit numeroase premii
pentru activitile sale.
Ray Tomlinson este persoana care a implementat primul sistem de e-mail ntr-o reea,
mai precis n reeaua ARPANet. Sistemul putea sa trimit e-mail-uri pentru utilizatori legai
la computere din ARPANet folosind semnul @ pentru a separa numele utilizatorului de
numele host-ului. A ajutat la implementarea protocolului Telnet i a modificat programul
SNDMSG pentru a permite trimiterea mesajelor i la utilizatori pe altecomputere sub
forma de e-mail-uri. A primit numeroase premii pentru activitile sale.
Electronic mail (pot/mesagerie electronic), abreviat e-mail sau e-mail, este o metod
de compunere, transmitere, recepie i accesare a mesajelor peste sisteme de comunicaie
electronic. Termenul se aplic att sistemelor de e-mail din Internet bazate pe SMTP (Simple
Mail Transfer Protocol) ct i sistemelor de grupuri de colaborare care permit utilizatorilor
unei companii sau organizaii s transmit mesaje alteia. n acest capitol sunt prezentate
detalii legate de funcionarea i arhitectura sistemului de e-mail i protocoalele i aplicaiile
utilizate.
Ideea de mesagerie electronic dateaz din anul 1971, cnd Ray Tomlinson dezvolta prima
aplicaie de e-mail pentru ARPANET. Utilizat preponderent la nceputul Internetului, serviciul
de e-mail a pierdut teren n faa altor protocoale precum FTP, HTTP, Bittorrent. Cu toate
acestea, extinderea Internetului i apariia unor forme diverse de platforme de colaborare
asigur folosirea la scar larg a serviciului. Dac la nceput comunicaia prin e-mail se realiza
n cea mai mare parte ntre dou persoane, o bun parte din mesajele trimise n Internet sunt
mesaje pentru liste de discuii, forumuri, sisteme de ticketing sau bug-tracking sau pentru alte
forme de colaborare.
Probabil c cea mai important problem a serviciului de e-mail sunt mesajele nesolicitate
(e-mail spam). Se apreciaz c mesajele nesolicitate reprezint peste 80% din totalul de
mesaje din lume. Diferite tehnici anti-spam precum integrarea lor n serverele de transfer,
DNS blacklisting, greylisting sunt folosite pentru a bloca mesajele nesolicitate.
284 | R e e l e L o c a l e
MTA (Mail Transfer Agent, server SMTP) (denumit mail server sau mail exchange server n
context DNS) - este un program sau agent software care asigur transferul mesajelor de la un
calculator la altul (de la surs la destinaie);
MUA (Mail User Agent) (denumit e-mail client) - este programul folosit pentru citirea,
compunerea i transmiterea de mesaje de pot electronic; citirea de mesaje se face folosind
POP3 sau IMAP, iar transmiterea se face folosind SMTP (prezentate mai jos);
MDA (Mail Delivery Agent, sau LDA - Local Delivery Agent) - este program care accept
mesajele e-mail i le distribuie ctre csua potal a destinatarului;
csu potal (message storage) este o intrare n sistemul local de fiiere utilizat pentru
stocarea mesajelor de pot electronic; csua potal este interogat de MUA pentru
preluarea mesajelor de pot electronic si de MTA (eventual MDA) pentru stocarea de noi
mesaje;
server POP3/IMAP server folosit pentru copierea sau accesarea mesajelor stocate n csua
potal; clientul (MUA) folosete POP3 sau IMAP n cadrul comunicaiei cu serverul.
SMTP (Simple Mail Transfer Protocol) - protocol utilizat de mail servere (MTA); SMTP este
standardul de facto pentru transmiterea mesajelor electronice n Internet; portul implicit
utilizat este 25; MTA-ul ascult pe portul specificat cereri de transmitere de mesaje de pot
electronic n format SMTP; SMTP este folosit n cadrul unei sesiuni de comunicaie ntre MUA
i MTA sau ntre dou MTA-uri;
POP3 (Post Office Protocol version 3) - protocol utilizat de clientul de e-mail (MUA) pentru a
descrca mesajele de pot electronic de pe un server; portul implicit utilizat este 110;
IMAP (Internet Message Access Protocol) - protocol folosit de MUA pentru accesarea mesajelor
electronice pe un server; portul implicit utilizat este 143.
RFC 822
285 | E - m a i l
2.
3.
4.
5.
n MUA), n cazul de fa, smtp.avatar.org, i folosete SMTP pentru a transmite mesajul ctre
acesta;
MTA-ul analizeaz adresa destinaie furnizat prin SMTP (bogdan@berserk.org); folosete DNS
pentru a afla mail exchange serverul responsabil pentru domeniul berserk.org;
serverul de nume pentru berserk.org rspunde cu o nregistrare de tipul MX coninnd MTA-ul
responsabil: smtp.berserk.org; mesajul este transmis ntre MTA-uri (de la smtp.avatar.org la
smtp.berserk.org) folosind SMTP;
(opional) la destinaie, LDA realizeaz distribuia mesajelor n csua potal a lui Bogdan;
LDA-ul este responsabil cu filtrarea mesajelor;
Bogdan folosete MUA-ul propriu pentru a citi mesajul; acesta se poate conecta pe sistemul
unde se gsete csua de pot electronic (folosind IMAP) sau poate ridica mesajele de pe
server pentru a le consulta offline (folosind POP3).
MUA Ana
SMTP
To:bogdan@berserk.org
From: ana@avatar.org
POP3/IMAP
SMTP
smtp.avatar.org
mx.berserk.org
Bogdan
browse
r
smtp.berserk.org
MX berserk.org?
ns.berserk.org
286 | R e e l e L o c a l e
Coninutul unui mesaj cuprinde dou pri: antetul i corpul mesajului. Antetul, la rndul
su, reprezint o sintax strict, n vreme ce corpul reprezint o parte opional n coninutul
mesajului. Corpul este format dintr-o succesiune de linii de text fr niciun fel de constrngeri.
O linie din antet este compus dintr-un nume de cmp urmat de ':' i apoi descrierea
cmpului. Spre exemplu, ''Subject: Mesaj de test'', folosete cmpul ''Subject'', cu descrierea
''Mesaj de test''. Descrierile de cmp pot avea un format special, dar pot fi i nestructurate.
Cmpurile importante din cadrul unui mesaj pot fi observate n extrasul de mesaj de mai
jos:
Return-Path: <tavi@cs.pub.ro>
X-Original-To: razvand@cs.pub.ro
Delivered-To: razvand@cs.pub.ro
Received: from ixro-ex1.ixiacom.com (unknown [212.146.94.66])
by mail.cs.pub.ro (Postfix) with ESMTP id 7588E156B2C;
Wed, 25 Jun 2008 14:12:46 +0300 (EEST)
Received: from [10.205.9.116] ([10.205.9.116]) by ixro-ex1.ixiacom.com with Microsoft
SMTPSVC(6.0.3790.1830);
Wed, 25 Jun 2008 14:14:39 +0300
From: Octavian Purdila <tavi@cs.pub.ro>
Organization: Politehnica University of Bucharest
To: Razvan Deaconescu <razvand@cs.pub.ro>
Subject: Re: doctorat tavi
Date: Wed, 25 Jun 2008 14:11:41 +0300
User-Agent: KMail/1.9.9
Cc: Razvan Rughinis <rrazvan@cs.pub.ro>
References: <200806131346.46727.tavi@cs.pub.ro>
In-Reply-To: <200806131346.46727.tavi@cs.pub.ro>
MIME-Version: 1.0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Message-Id: <200806251411.41675.tavi@cs.pub.ro>
X-OriginalArrivalTime: 25 Jun 2008 11:14:39.0621 (UTC) FILETIME=[A8E6BB50:01C8D6B4]
X-mail.cs.pub.ro-MailScanner: Found to be clean
X-mail.cs.pub.ro-MailScanner-SpamCheck: not spam, SpamAssassin (score=0.847,
required 6, autolearn=not spam, BAYES_00 0.71,
FORGED_RCVD_HELO 0.14)
X-mail.cs.pub.ro-MailScanner-From: tavi@cs.pub.ro
Date: data transmiterii mesajului (data local cnd mesajul a fost trimis spre livrare de ctre autor).
From: cmpul specific una sau mai multe adrese ale autorului/autorilor mesajului ntr-un format
standardizat;
Reply-To: permite specificarea csuei potale unde autorul sugereaz trimiterea rspunsului;
User-agent: clientul de e-mail (MUA) folosit pentru trimiterea mesajului;
RFC 2822
287 | E - m a i l
o
Bcc (Blind Carbon Copy): conine lista adreselor persoanelor crora le va fi livrat mesajul, fr ca
aceste adrese s fie vizibile celorlali destinatari.
8.1.2.1 MIME
Dat fiind faptul c n momentul elaborrii acestor specificaii nu se punea problema de a
transmite altceva dect text, nu s-a definit exact forma coninutului unui mesaj. Nevoia de a
transmite altceva dect text n cadrul unui mesaj (audio/video) a dus la apariia unor
probleme. Soluia a fost MIME (Multipurpose Internet Mail Extension)1. Datorit largii
rspndiri a sistemului definit de RFC 822, MIME nu putea s fie gndit dect ca o adugire la
aceste specificaii, nicidecum ca o nlocuire.
Utilitarul uuencode poate fi folosit pentru codificarea fiierelor binare n format care poate
fi transmis prin e-mail:
razvan@valhalla:/tmp$ uuencode Test_vm_lin.zip hello.zip
begin 644 hello.zip
M4$L#!!0````(`&:HDS6\![A=F````,D````0`!4`36%K969I;&4N8VAE8VME
M<E54"0`#<#>(169FB$55>`0`Z`/H`W-V\W%T#U:P5=`-3\S)4=!-Y^+2"_#P
M]XNT4BA)+2[AX@**0IF<J14%^44E"CXN\3Z>3D&.09'Q`8XA'K9Z"FIJ"GKZ
M$.5)I9DY*;H%1:E67)Q<7"`QB&Z]?"Y.%0UG9TVX10H*"KKY8#D%E3@%71\]
[...]
RFC 2045-2049
RFC 2821
288 | R e e l e L o c a l e
la server nu este unul de eroare, clientul va folosi n continuare ESMTP, n caz contrar
revenindu-se la folosirea SMTP.
RFC 4422
RFC 4954
3
RFC 4346
4
RFC 1939
2
289 | E - m a i l
8.2.1 mbox
Formatul mbox este forma tradiional de stocare a mesajelor pe un sistem Unix ntr-un
singur fiier asociat fiecrui utilizator. Fiecare nou mesaj din fiier ncepe cu o linie care ncepe
cu From urmat de un caracter spaiu.
RFC 2060
290 | R e e l e L o c a l e
Formatul mbox este formatul folosit implicit de majoritatea MTA-urilor. n mod obinuit,
mesajele sunt livrate n directorul /var/spool/mail/$USERNAME1. MTA-urile pot fi, ns,
configurate s livreze mesajele ntr-un fiier de tipul mbox din directorul home al utilizatorului.
ntruct fiierul mbox poate fi accesat simultan att de MTA ct i de serverul IMAP/POP3,
este necesar o form de locking care s asigure consistena accesului. n mod evident,
locking-ul atrage dup sine penalizri de performan i dificultatea implementrii pe un
sistem de fiiere montat n reea (cum ar fi NFS). Aceste probleme au fost cele care au condus
la crearea formatului Maildir.
8.2.2 Maildir
Formatul Maildir se deosebete de formatul mbox prin faptul c nu necesit mecanisme
de locking pentru a asigura integritatea mesajelor n timp ce mesajele sunt adugate, terse,
mutate. Fiecare mesaj este meninut ntr-un fiier separat. Modificrile sunt realizate prin
intermediul operaiilor atomice peste sistemul de fiiere.
Formatul Maildir a fost creat de Daniel J. Bernstein n momentul scrierii serverului qmail.
Directorul Maildir conine trei subdirectoare: tmp, new i cur, localizate, de obicei, n
cadrul unui director din home-ul utilizatorului:
razvan@anaconda:~$ ls -F /home/razvan/Maildir/
courierimaphieracl/
courierimapsubscribed courierpop3dsizelist
courierimapkeywords/ courierimapuiddb
cur/
new/
tmp/
Fiierele din directorul new sunt mesaje livrate dar care nu au fost citite. Linia care ncepe
cu From nu mai este necesar. Dup ce un mesaj este vizualizat este mutat n directorul cur.
Directorul tmp este folosit n momentul livrrii mesajelor pentru a stoca un mesaj pn la
scrierea acestuia n directorul new.
http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard#Directory_structure
291 | E - m a i l
8.3.1 mailx
mailx (o versiune mbuntit a mail) este un utilitar pentru transmiterea i primirea
de mesaje pe sisteme Unix. Este un client de e-mail de baz, lipsit de posibilitatea de citire a
mesajelor de pe alt sistem. Mesajele sunt citite de pe sistemul local.
Dei cu puine funcionaliti, mailx poate fi folosit pentru manverarea rapid a
mesajelor stocate pe sistemul local. Cea mai frecvent utilizare a mailx este transmiterea de
mesaje direct din linia de comand. Acest lucru permite folosirea mailx n majoritatea
scripturilor care automatizeaz trimiterea de mesaje de pot electronic.
Citirea mesajelor se face interactiv prin invocarea comenzii mailx (sau forma
compatibil mail):
alina@anaconda:~$ mail
Mail version 8.1.2 01/15/2001. Type ? for
"/var/mail/alina": 24 messages 24 new
>N 1 liviu.dumitrascu@ Sat Jun 9 01:24
N 2 newsletter@9am.ro Sat Jun 9 02:47
N 3 liviu.dumitrascu@ Sat Jun 9 07:46
N 4 liviu.dumitrascu@ Sun Jun 10 01:06
N 5 newsletter@wall-s Sun Jun 10 02:11
N 6 newsletter@9am.ro Sun Jun 10 09:25
N 7 newsletter@wall-s Mon Jun 11 03:20
help.
178/20754
960/53849
96/7653
165/18540
312/41081
660/52453
446/38829
Orice mesaj are un index i o stare: nou, necitit, propus pentru a fi ters, mesaj la care s-a
rspuns, etc. Promptul oferit de mail este &. Comenzile posibile pot fi vizualitate prin activarea
ecranului de ajutor (comanda h): t afieaz, d terge, r replic.
Invocarea non-interactiv a comenzii permite transmiterea de mesaje. Astfel, dac se
dorete transmiterea unui mesaj ctre utilizatorul ana@avatar.com cu subiectul Filmul
saptamanii, se va folosi comanda:
razvan@anaconda:~$ mail -s "Filmul saptamanii" ana@avatar.com
Vii la film miercuri?
.
Cc:
Avantajul ultimei comenzi este lipsa de interactivitate. O astfel de comand poate fi uor
integrat n scripturi care necesit transmiterea automat a mesajelor de pot electronic.
8.4 MTA
Se apreciaz c, n ziua de astzi, peste 80% din MTA-urile existente n Internet ruleaz
Sendmail, Microsoft Exchange Server, Postfix i Exim.
Sendmail a fost pentru mult vreme serverul de e-mail implicit datorit dezvoltrii sale
nc de la nceputul Internetului. Sendmail a fost scris de Eric Allman la nceputul anilor 80.
Versiunea actual este 8.14. Sendmail nu a fost proiectat cu aspecte de securitate drept
pentru care a fost cauza a numeroase atacuri pe parcursul dezvoltrii Internetului.
Problemele de securitate ale Sendmail au condus la crearea Qmail i Postfix. Qmail, scris
de Daniel J. Bernstein, s-a dorit a fi revoluionar prin proiectarea ce inea cont de securitate.
Din pcate, ncepnd cu 1997, Qmail nu mai este dezvoltat i numrul de sisteme ce ruleaz
Qmail a sczut.
Postfix a urmrit, de asemenea, atent condiiile necesare pentru asigurarea securitii.
Una dintre deciziile importante a fost abandonarea sistemului monolitic folosit de Sendmail i
292 | R e e l e L o c a l e
folosirea unui sistem modular. Postfix este compus dintr-un set de daemoni cu drepturi
limitate care ndeplinesc diverse sarcini necesare.
Exim folosete modelul monolitic al Sendmail fr a avea parte, ns, de aceeai istorie de
vulnerabiliti. Cunoscndu-se problemele de securitate ale Sendmail, Exim a fost proiectate
pentru a nu suferi de aceleai vulnerabiliti. Ajuns la versiunea 4, Exim este MTA cu un nivel
ridicat de configurabilitate. Printre funcionalitile avansate ale Exim se numr folosirea de
liste de acces i integrarea unui framework de scanare a coninutului util ca filtru antivirus sau
anti-spam.
n lumea Unix, Sendmail rmne cel mai folosit MTA. Totui, dificultatea n configurare,
istoria de vulnerabiliti i existena unor soluii precum Postfix i Exim a dus la diminuarea
instalrilor de Sendmail. n ziua de astzi, majoritatea administratorilor de sistem recomand
folosirea Postfix sau Exim.
8.5 Postfix
Aprut iniial n cadrul unui proiect de jumtate de an pornit de Wietse Venema, Postfix a
fost dezvoltat ulterior, dovedindu-se o alternativ mai rapid i mai sigur pentru Sendmail.
Obiectivele de proiectare ale Postfix au fost fiabilitatea, performana, uurina n utilizare
i administrare i securitatea. Postfix pune la dispoziia administratorului un numr limitat de
fiiere de configurare cu directive simple. Pentru a facilita adoptarea Postfix ca MTA, multe
dintre fiierele i comenzile folosite de Sendmail sunt compatibile n Postfix. Comenzi precum
sendmail, newaliases i fiiere precum /etc/aliases sau .forward i-au pstrat rolul i n
Postfix.
Problemele majore ale Sendmail au fost cele de securitate. Postfix folosete o serie de
mecanisme pentru asigurarea securitii. Una din deciziile de proiectare importante a fost
modularitatea. n vreme ce Sendmail este un sistem monolitic, folosind un singur executabil cu
drepturi privilegiate pentru executarea sarcinilor, Postfix folosete un proces cu drepturi
limitate pentru fiecare tip de sarcin. Fiecare din procesele Postfix, denumite i ageni, ruleaz
sub paradigma celui mai mic privilegiu i execut doar sarcina proprie: transmitere mesaj,
stocare mesaj, livrare local, gestiunea cozii, etc. Singurul proces care ruleaz cu drepturi
privilegiate este procesul master care le pornete pe toate celelalte. Postfix folosete de
asemenea facilitatea de chroot a sistemelor Unix pentru a limita vizibilitatea sistemului de
fiiere pentru un proces. De obicei, procesele Postfix sunt rulate n jail-ul
/var/spool/postfix.
8.5.1 Arhitectur
8.5.2 Instalare
Pe sistemele Debian-based, Postfix este disponibil n forma binar n pachetul postfix.
# apt-get install postfix
Dup instalare se specific modul n care se poate altera configuraia curent a Postfix i
vizualizarea valorilor configurate:
Postfix is now set up with a default configuration. If you need to make changes, edit
/etc/postfix/main.cf (and others) as needed. To view Postfix configuration values, see
postconf(1).
293 | E - m a i l
After modifying main.cf, be sure to run '/etc/init.d/postfix reload'.
Pachetul Postfix instaleaz alte programe utile pentru comanda i gestiunea serverului
Postfix precum newalisases sau postconf.
8.5.3.1 Jurnalizare
Verificarea corectitudinii funcionrii serverului Postfix se realizeaz, de obicei, prin
inspecia fiierelor de jurnalizare. n mod obinuit, fiierele de jurnalizare se gsesc n
/var/log/mail.*. Exist, de obicei, 4 fiiere corespunztoare diferitelor niveluri de
jurnalizare i eroare:
mail.log
mail.info
mail.err
mail.warn
Aceste fiiere pot fi inspectate pentru a verifica ce mesaje sunt transmise sau pentru a
verifica erorile aprute la transmisia unui mesaj. Cele 4 fiiere corespund nivelurilor de
jurnalizare diferite: erori (.err), avertismente (.warn), informaii (.info), operaii jurnalizate
(.log).
mailq - afieaz informaii despre mesajele din coada de mesaje (ID, dimensiune, surs,
destinaie, motivul pentru care nu a fost livrat - dac este cazul, etc.);
postsuper -d queue_id - terge mesajul identificat de queue_id din coada de mesaje;
pentru tergerea tuturor mesajelor se utilizeaz postsuper -d ALL;
postqueue -f - foreaz retrimiterea mesajelor din coad.
sau
# postfix reload
294 | R e e l e L o c a l e
8.5.4.1 postconf
Alterarea fiierului /etc/postfix/main.cf poate fi realizat prin intermediul unui editor,
dar se recomand folosirea comenzii postconf. Comanda postconf poate fi folosit pentru
verificarea fiierului principal de configurare, pentru vizualizarea directivelor de configurare
sau pentru modificarea unei directive. Directivele care nu sunt configurate n
/etc/postfix/main.cf au o valoare implicit.
Afiarea configuraiei actuale se realizeaz prin rularea fr argumente a comenzii
postconf:
cuirass:~# postconf | head -3
2bounce_notice_recipient = postmaster
access_map_reject_code = 554
address_verify_default_transport = $default_transport
local:
cuirass:~# postconf myorigin
myorigin = /etc/mailname
cuirass:~# cat /etc/mailname
cuirass.localdomain
295 | E - m a i l
Configuraia este complet dac exist i o mapare ntre numele de domeniu i adresa IP a
sistemului pe care ruleaz Postfix. Aceasta se poate realiza printr-o configurare DNS sau,
pentru testare local, prin adugarea unei mapri n fiierul /etc/hosts:
cuirass:~# cat /etc/hosts | grep test
172.16.68.128 test.cs.pub.ro
cuirass:~# ping -c 1 test.cs.pub.ro
PING test.cs.pub.ro (172.16.68.128) 56(84) bytes of data.
64 bytes from test.cs.pub.ro (172.16.68.128): icmp_seq=1 ttl=64 time=1.20 ms
Postfix poate fi configurat s asculte conexiuni doar pe o interfa sau pe cteva interfee:
cuirass:~# postconf inet_interfaces
inet_interfaces = all
cuirass:~# netstat -tlnp | grep 25
tcp
0
0 0.0.0.0:25
0.0.0.0:*
LISTEN
cuirass:~# postconf -e 'inet_interfaces = 127.0.0.1, 172.16.68.128'
cuirass:~# /etc/init.d/postfix restart
Stopping Postfix Mail Transport Agent: postfix.
Starting Postfix Mail Transport Agent: postfix.
cuirass:~# netstat -tlnp | grep 25
tcp
0
0 172.16.68.128:25
0.0.0.0:*
LISTEN
tcp
0
0 127.0.0.1:25
4926/master
5041/master
Configurarea unui port pe care Postfix s asculte conexiuni se realizeaz prin intermediul
fiierului de configurare pentru daemon-ul master. Astfel, dac se dorete ca Postfix s asculte
conexiuni i pe portul 2525, se adaug linia de mai jos la fiierul /etc/postfix/master.cf:
2525
inet
smtpd
LISTEN
LISTEN
4926/master
4926/master
Pentru a nu aciona ca open relay, Postfix accept transmiterea de mesaje ctre domenii
pentru care nu este destinatar doar de la staii din anumite reele. Precizarea acestor reele se
realizeaz prin intermediul directivei mynetworks. Mesajele sosite de la staii din aceste reele
vor fi livrate indiferent de destinaie. Cele sosite de la staii din alte reele vor fi livrate local
dac serverul este responsabil de domeniul destinaie (domeniul este asociat directivei
mynetworks) altfel vor fi respinse.
n configuraia de mai jos:
296 | R e e l e L o c a l e
cuirass:~# postconf mynetworks
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
Postfix va aciona ca relay doar pentru mesajele trimise de pe staia local. Mesaje sosite
din reea nu vor fi livrate domeniilor de care serverul nu este responsabil.
n listarea de mai jos se ncearc trimiterea unui mesaj ctre domeniul gmail.com prin
conectare pe interfaa 172.16.68.128. Specificarea destinatarului eueaz cu precizarea
mesajului Relay access denied
cuirass:~# telnet 172.16.68.128 25
Trying 172.16.68.128...
Connected to 172.16.68.128.
Escape character is '^]'.
220 cuirass.localdomain ESMTP Postfix (2.5.5)
EHLO localhost
[...]
MAIL FROM: ana
250 2.1.0 Ok
RCPT TO: razvand@gmail.com
554 5.7.1 <razvand@gmail.com>: Relay access denied
Tabelul de mai jos explic modul n care se realizeaz transmiterea mesajelor n diverse
situaii:
Reea surs n
Domeniu destinaie n
Domeniu destinaie n
Efect
mynetworks
mydestination
relay_domains
DA
Nu conteaz
Nu conteaz
Transmitere mesaj
NU
DA
Nu conteaz
Livrare local
NU
NU
DA
Transmitere mesaj
NU
NU
NU
Mesaj respins
297 | E - m a i l
Orice adres adugat ulterior va nsemna transmiterea mesajului i ctre acea adres.
Fiierul
care
va
virtual_alias_maps:
conine
alias-urile
este
precizat
prin
intermediul
directivei
298 | R e e l e L o c a l e
Dac utilizatorii elena i florin doresc ca adresele surs pentru mesajele trimise s fie
info@alfa.com, respectiv info@beta.com se folosete directiva canonical_maps. Se pot
folosi directivele sender_canonical_maps, respectiv recipient_canonical_maps dac se
sorete modificarea adreselor surs, respectiv destinaie:
cuirass:~# postconf -e 'sender_canonical_maps = hash:/etc/postfix/canonical'
cuirass:~# cat /etc/postfix/canonical
ana
info@alfa.com
bogdan info@beta.com
cuirass:~#
postconf
-e
'local_header_rewrite_clients
=
permit_mynetworks,
permit_sasl_authenticated'
cuirass:~# postmap /etc/postfix/canonical
Dup cum se observ, deintorul csuei potale virtuale este root. Csua potal
virtual va fi accesat i de serverul POP3/IMAP i trebuie configurat un utilizator comun att
pentru livrare (Postfix) ct i pentru acces (POP3/IMAP):
cuirass:/var/mail# useradd -g mail vmail
cuirass:/var/mail# id vmail
uid=1005(vmail) gid=8(mail) groups=8(mail)
299 | E - m a i l
cuirass:/var/mail# chown -R vmail:mail /var/mail/vhosts
n csua potal
putea fi citite prin
n ultim faz trebuie activat daemonul saslauthd. ntruct Postfix ruleaz ntr-un jail
chroot, saslauthd trebuie configurat corespunztor. Fiierul de configurare pentru
saslauthd este /etc/default/saslauthd. Se creeaz directorul /var/spool/postfix/
var/run/saslauthd:
cuirass:~# mkdir -p /var/spool/postfix/var/run/saslauthd
n
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"
300 | R e e l e L o c a l e
8.5.7.3 Verificare
Pentru verificarea suportului SASL i TLS se folosete comanda SMTP EHLO:
cuirass:~# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 cuirass.localdomain ESMTP Postfix (2.5.5)
EHLO localhost
250-cuirass.localdomain
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
Prezena liniilor STARTTLS i AUTH LOGIN PLAIN nseamn suport valid TLS i SASL pentru
Postfix. Pentru folosirea acestui suport clienii de e-mail trebuie configurai corespunztor.
8.6 MDA
n general, serverele de e-mail despre care s-a discutat pn acum includ o component
care se ocup de livrarea local a mesajelor. Exist, ns, situaii n care se dorete mai mult
flexibilitate n livrarea mesajelor, de la aranjarea mesajelor n cutii potale speciale n funcie
de proveniena lor, pn la activarea de filtre antispam. Spre exemplu, Sendmail nu ofer
suport pentru csue potale n format Maildir. n aceast situaie trebuie folosit un MDA
pentru livrarea mesajelor ctre csuele potale n format Maildir.
8.6.1 Procmail
Procmail formeaz, mpreun cu Maildrop, cele mai cunoscute dou MDA-uri. Procmail
este, de obicei, instalat implicit pe distribuiile Debian-based. Altfel, se poate instala folosind
apt-get:
301 | E - m a i l
# apt-get install procmail
n exemplul de mai sus, mesajele al cror subiect conin irul test sunt stocate n
directorul .Test. Directorul .Test corespunde unui director Test vizibil din clientul de e-mail
302 | R e e l e L o c a l e
n cazul folosirii unei csue potale n format Maildir. Ultima regul (catch-all), stocheaz
mesajele n csua potal n format Maildir. Folosirea caracterului dou puncte n cazul primei
reguli nseamn folosirea fiierului implicit de locking.
Cele mai importante cmpuri de control sunt:
Condiiile sunt formate din expresii regulate la care se adaug civa operatori speciali
cum ar fi ! pentru inversarea condiiei sau < respectiv > pentru a compara dimensiunea
mesajului cu anumite limite.
Aciunile ce pot fi aplicate sunt:
se salveaz n cutia potal mail/stiri/agora toate mesajele al cror cmp From conine
expresia agnews@agora.ro:
:0
* From: .*agnews@agora.ro
mail/stiri/agora
303 | E - m a i l
O alt caracteristic este posibilitatea partajrii csuelor potale ntre mai muli
utilizatori.
Courier IMAP Server a fost construit ntr-o manier modularizat pentru a permite un
consum minim de resurse.
8.7.1.1 Instalare
Instalarea serverului se realizeaz prin intermediul instalrii pachetului courier-imap.
# apt-get install courier-imap
Singura ntrebare care se pune la instalarea pachetului este dac se dorete crearea unei
structuri de directoare pentru configurare care permite configurarea folosind o interfa web.
Instalarea pachetului i a dependinelor acestuia conduce la rularea unui server de IMAP
(imapd) pe portul implicit (143) i a unui set de utilitare specifice. Un utilitar important este
maildirmake care permite crearea unui director n format Maildir reprezentnd csua
potal folosit pentru recepionarea mesajelor.
8.7.1.2 Configurare
Fiierele de configurare pentru serverul de IMAP se gsesc n /etc/courier/ i sunt
imapd, pentru configurarea funcionalitii serverului, i authdaemonrc, pentru configurarea
daemon-ului de autentificare.
Directivele din fiierul imapd sunt n formatul NUME=valoare. Aici se pot schimba adresa
pe care ascult serverul, portul, numrul de procese care pot fi deschise, numrul maxim de
conexiuni, etc. De asemenea, aici se pot stabili alte valori pentru numele directoarelor
implicite, prin alterarea directivelor respective. Astfel, dac se dorete schimbarea numelui
directorului implicit de recepie a mesajelor (Maildir), se va nlocui linia
MAILDIRPATH=Maildir
cu
MAILDIRPATH=Mymail
Comanda makemaildir este utilizat pentru crearea unui director cu formatul utilizat de
Courier (maildir). O opiune util n cadrul acestei comenzi este posibilitatea asocierii unei
cote (quota). Mai jos sunt prezentate dou exemple de utilizare. Comanda:
bogdan@cuirass:~$ ls
bogdan@cuirass:~$ maildirmake Maildir
bogdan@cuirass:~$ ls
Maildir
304 | R e e l e L o c a l e
$ maildirmake -q 10000000S $HOME/Maildir
2173/couriertcpd
305 | E - m a i l
Password:
Reenter password:
cuirass:~# makeuserdb
8.8 Webmail
n mod frecvent, accesarea csuelor potale se realizeaz utiliznd diferii clieni
IMAP/POP3 instalai pe sistemul clientului, cum sunt, spre exemplu, Mozilla Thunderbird,
Outlook Express, Kmail, Evolution, Mutt, etc. n multe situaii se dorete posibilitatea accesrii
rapide a csuei potale de pe diferite sisteme fr a instala sau configura pe acestea un client
de e-mail. Pentru asemenea situaii exist aplicaii de accesare a csuelor potale prin
interfaa web. Cele mai cunoscute, la momentul actual, sunt Horde, SquirrelMail i
RoundCube.
306 | R e e l e L o c a l e
307 | E - m a i l
.
DELE 1
+OK
LIST
+OK
2 505
3 521
.
QUIT
+OK
Connection closed by foreign host.
308 | R e e l e L o c a l e
ntrebri
309 | E - m a i l
310 | R e e l e L o c a l e
Cine este...
Sir Tim Berners-Lee este cercettorul creditat cu inventarea World Wide Web-ului. Pe
25 decembrie 1990 a realizat prima comunicaie HTTP n Internet ntre un server i un
client. n prezent este directorul World Wide Web Consortium (W3C).
Robert McCool este autorul webserver-ului NCSA HTTPd, ulterior cunoscut sub numele
Apache HTTP Server. A scris prima versiune ca student la Universitatea din Illinois unde a
lucrat cu echipa iniial a NCSA Mosaic (unul dintre primele browser-e web). A contribuit la
specificaia iniial a Common Gateway Interface (CGI) care s-a dovedit a fi un element
cheie n realizarea unui web dinamic. n prezent este dezvoltator la Yahoo!.
Ward Cunningham este creatorul primului software de wiki numit WikiWikiWeb
(1994). Software-ul de wiki a fost folosit iniial n interiorul companiei sale. A lucrat la
Microsoft Corporation i la Eclipse Foundation iar in prezent este CTO la compania
AboutUs.
World Wide Web-ul este un spaiu de informaie n care elementele de interes, cunoscute
sub numele de resurse, sunt recunoscute prin utilizarea unor identificatori globali, denumii
URI (Uniform Resource Identifiers). Termenul nu trebuie confundat cu Internetul; web-ul este
de fapt un serviciu care acioneaz deasupra Internetului.
311 | W o r l d W i d e W e b
folosirii acestor resurse n Internet a produs ceea ce Sir Tim Berners-Lee a denumit, la
nceputul anilor 90, World Wide Web.
Sir Tim Berners-Lee are meritul de a fi gsit soluia de succes care s structureze cantitatea
vast de informaie din cadrul Internetului aprut ca urmare a extinderii acestuia la sfritul
anilor '80 i nceputul anilor '90. Dup multe tentative nereuite de a organiza aceste
informaii, Berners-Lee a gsit soluia care s-a impus, prin folosirea conceptului de hypertext la
un loc cu Internetul. n acest proces el a dezvoltat un sistem de identificatori globali unici
pentru resurse din Web: URI (Uniform Resource Identifiers).
n acest exemplu:
n absena cmpului protocol din URL, ntr-un browser se folosete implicit HTTP. De
asemenea, ntruct portul 80 este cel implicit, n mod normal nu este specificat. Drept urmare,
un utilizator va introduce numai un URL parial precum www.samplesite.org/
pub/search.html. Totodat, pentru a confirma relevana www ca serviciu n Internet, o
nregistrare DNS cu cheia samplesite.org va avea, de obicei, asociat aceeai adres IP ca
nregistrarea pentru www.samplesite.org. n acest fel, o bun parte din site-urile web pot fi
accesate fr specificarea www n faa numelui de domeniu.
http://tools.ietf.org/html/rfc1738
312 | R e e l e L o c a l e
versiunea HTTP utilizat n aceste momente. Versiunea HTTP/1.1 aduce mai multe
mbuntiri i caracteristici noi, dar rmne perfect compatibil cu HTTP/1.0.
HTTP este un protocol de tip ntrebare/rspuns ntre clieni i servere. Un client web (de
obicei un browser), stabilete o conexiune TCP pe un port al unei staii (portul implicit este
portul 80). Un server HTTP ascult pe acel port i ateapt din partea clientului transmiterea
unei cereri de forma:
GET /cale/catre/resursa HTTP/1.0
urmat de un mesaj de tip MIME coninnd un set de antete pentru descrierea cererii i
un cmp opional de date. Unele antete sunt opionale, pe cnd altele, precum Host sunt
obligatorii (pentru HTTP/1.1). Dup primirea cererii, serverul transmite clientului un ir de tip
rspuns, cum ar fi 200 OK, i un mesaj reprezentnd fiierul cerut sau un mesaj de eroare sau
alt informaie.
Rspunsul trimis de server ncepe cu un cod ce indic tipul rspunsului, ncadrndu-se n
urmtoarele categorii:
1xx: informare;
2xx: succes;
3xx: redirectare;
4xx: mesaj de interogare eronat;
5xx: eroare la nivelul serverului.
HTTP difer de alte protocoale care folosesc TCP (cum este FTP) prin ncheierea conexiunii
dup ce o anumit cerere a fost satisfcut. Acest lucru face din HTTP protocolul ideal pentru
World Wide Web, unde paginile au legturi ctre alte pagini pe alte servere. Lipsa unei
conexiuni persistente impune programatorilor web folosirea unor metode alternative pentru a
reine starea conexiunii. Printre acestea se numr cookies, variabile ascunse (n form-uri
web) sau sesiuni pe server.
O alt caracteristic important a HTTP este lipsa securitii comunicaiei. Acest lucru a
condus la apariia HTTPS. HTTPS este versiunea securizat a HTTP, utiliznd SSL/TLS (Secure
Sockets Layer/Transport Layer Security) pentru a proteja traficul. Protocolul folosete implicit
portul 443. SSL, iniial creat pentru a proteja HTTP (dar folosit acum mpreun cu alte
protocoale), este potrivit comunicaiilor HTTP ntruct poate asigura protecie chiar dac
numai unul din membrii comunicaiei (serverul) este autentificat. Aceasta este situaia
obinuit n cazul tranzaciilor HTTP pe Internet.
313 | W o r l d W i d e W e b
Versiunea curent a specificaiei HTML este HTML 4.01. W3C a intenionat nlocuirea
acestuia cu XHTML, care aplic regulile stricte ale XML n HTML. Adoptarea XHTML se
realizeaz ntr-un ritm mai puin rapid, drept pentru care W3C dezvolt versiunea 5 a HTML.
Tipurile de marcaje existente n HTML sunt:
314 | R e e l e L o c a l e
utilizator
RL
HTTP 200 OK +
/webroot/pub/file.htm
l
resursa
server Web
sistem de
fiiere
9.2
Apache HTTP Server este actualmente cel mai utilizat server de web. Conform sondajelor
realizate de ctre NetCraft, n iunie 2008, 49.12% din serverele web rulau Apache 1. Dincolo de
faptul c este principalul server web, cu o dominaie i mai accentuat pe sisteme Linux/UNIX,
motive suplimentare pentru studierea Apache sunt i performana ridicat a acestuia, numrul
mare de opiuni de configurare, posibilitatea adugrii de noi caracteristici (majoritatea sub
form de module compilate), o serie de utilitare asociate i integrarea facil cu alte aplicaii.
Versiunea Apache 2.x a fost o rescriere substanial a codului versiunii Apache 1.x,
adugnd multe mbuntiri. Acestea includ folosirea thread-urilor UNIX, suport mbuntit
1
http://news.netcraft.com/archives/web_server_survey.html
315 | W o r l d W i d e W e b
pentru platforme non-UNIX (precum Windows), un nou API, suport IPv6, introducerea unui
nivel de portabilitate, Apache Portable Runtime1. Versiunea stabil curent a serverului este
2.2.9.
Setul de interfee de programare (API) pe care Apache l pune la dispoziie este cel care
asigur extensibilitatea acestuia prin intermediul modulelor. Pachetul principal conine
serverul HTTP, urmnd ca solicitrile suplimentare s fie satisfcute prin adugarea de noi
module, precum mod_ssl, mod_perl, mod_php, mod_auth, etc.
Versiunea de Apache folosit pe parcursul acestui capitol este 2.2, disponibil n versiunea
stabil Debian Etch, n Debian Lenny i ultimele versiuni de Ubuntu.
9.2.1 Instalare
Instalarea versiunii Apache 2.x se realizeaz n mod obinuit folosind apt-get:
ragnarok:~# apt-get install apache2
Reading package lists... Done
Building dependency tree... Done
The following extra packages will be installed:
apache2-mpm-worker apache2-utils apache2.2-common
The following NEW packages will be installed:
apache2 apache2-mpm-worker apache2-utils apache2.2-common
0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 1765kB of archives.
After unpacking 4547kB of additional disk space will be used.
Do you want to continue [Y/n]? Y
[...]
Module authz_groupfile installed; run /etc/init.d/apache2 force-reload to enable.
Module authn_file installed; run /etc/init.d/apache2 force-reload to enable.
Module authz_host installed; run /etc/init.d/apache2 force-reload to enable.
Setting up apache2-mpm-worker (2.2.3-4+etch1) ...
Starting web server (apache2)....
Setting up apache2 (2.2.3-4+etch1) ...
comanda apache2 este principala interfa de lucru cu serverul Apache; aceasta permite
pornirea, oprirea i repornirea serverului cu posibilitatea precizrii unor opiuni de configurare
dinamic i a unor informaii despre server (lista de module compilate, lista de directive):
ragnarok:~# /usr/sbin/apache2
Usage: /usr/sbin/apache2 [-D name] [-d directory] [-f file]
[-C "directive"] [-c "directive"]
[-k start|restart|graceful|graceful-stop|stop]
[-v] [-V] [-h] [-l] [-L] [-t] [-S]
[...]
ragnarok:~# apache2 -l
Compiled in modules:
core.c
mod_log_config.c
mod_logio.c
worker.c
http_core.c
mod_so.c
ragnarok:~# apache2 -k stop
ragnarok:~# apache2 -k start
ragnarok:~# apache2 -k restart
http://apr.apache.org/
316 | R e e l e L o c a l e
apache2ctl
apache2ctl
apache2ctl
apache2ctl
stop
start
restart
configtest
Fiierele
de
jurnalizare
pentru
server
sunt
/var/log/apache/error.log
/var/log/apache/access.log.
apache2.conf conine configurrile globale pentru serverul Apache2; directivele din acest
1
2
http://httpd.apache.org/docs/2.2/mod/quickreference.html
http://httpd.apache.org/docs/2.2/sections.html
317 | W o r l d W i d e W e b
318 | R e e l e L o c a l e
domeniul implicit este /var/www. Acest lucru nseamn c o cerere de forma GET
/cale/catre/resursa
HTTP/1.0 va impune serverului transmiterea fiierului
/var/www/cale/catre/resursa ctre client.
Directiva Directory specific proprieti pentru
/var/www, directiva specific proprietile de mai jos:
Directiva Options impune folosirea fiierelor index din director *vezi 9.2.3.2+, urmrirea
legturilor simbolice existente n director i adugarea unei extensii la cale.
AllowOverride None
Directivele allow i deny sunt folosite pentru a permite sau refuza accesul la director.
Directiva Order indic ordinea n care acestea vor fi evaluate. Dac ar exista o directiv deny
from all, atunci orice acces ar fi refuzat pentru c directiva deny este analizat ultima.
RedirectMatch ^/$ /apache2-default/
Directiva RedirectMatch realizeaz redirectarea pentru o cale ctre resurs dat. n cazul
de fa se realizeaz redirectarea pentru resursa /. Acest lucru nseamn ca o cerere de forma
GET / HTTP/1.0 va fi echivalent cu cererea GET /apache2-default/ HTTP/1.0.
Dup cum se observ, cile ctre resurse din cererile HTTP pot fi date sub form de
directoare. n aceast situaie serverul web are dou variante de rspuns:
A doua variant are prioritate n faa primei. Resursa implicit este, de obicei, un fiier cu
numele index.html sau altul precizat prin directiva DirectoryIndex din modulul mod_dir.
Mai multe detalii sunt precizate n seciunea 9.2.3.2.
Un lucru de reinut este faptul c directivele prezente n cadrul directivei compuse
<VirtualHost> ... </VirtualHost> pot suprascrie directivele din fiierul global de
configurare /etc/apache/apache2.conf. n cazul de fa, s-a specificat fiierul de jurnalizare
a erorilor pentru domeniul gestionat implicit:
ErrorLog /var/log/apache2/error.log
319 | W o r l d W i d e W e b
Configurarea unui modul, realizat fie n fiiere .conf specializate sau fiiere globale,
folosete directive ncadrate de directiva IfModule. Directiva IfModule testeaz dac modulul
respectiv este ncrcat n server. Astfel, pentru a configura mod_ssl se folosete o construcie
de forma:
<IfModule mod_userdir.c>
...
</IfModule>
n continuare sunt prezentate cteva aspecte ale configurrii unor module importante
Apache: mod_dir, mod_alias, mod_userdir, mod_cgi.
320 | R e e l e L o c a l e
ragnarok:~# cat /etc/apache2/mods-available/dir.conf
<IfModule mod_dir.c>
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml
</IfModule>
Configurarea
de
Se observ crearea aliasului /doc/ aa cum s-a precizat mai sus. O directiv Alias are
asociat o directiv Directory n care se precizeaz proprietile directorului peste care s-a
realizat aliasul.
321 | W o r l d W i d e W e b
Module userdir disabled; run /etc/init.d/apache2 force-reload to fully disable.
ragnarok:~# a2enmod userdir
Module userdir installed; run /etc/init.d/apache2 force-reload to enable.
/etc/apache2/mods-
322 | R e e l e L o c a l e
Un program CGI este specificat prin intermediul unui URL, spre exemplu
http://www.example.com/simple.cgi. Folosirea acestui URL impune serverului web rularea
programului asociat. Serverul web colecteaz rezultatul rulrii programului i l transmite
clientului. Acest lucru are dezavantajul rulrii unui proces separat pentru fiecare instan de
cerere. O soluie este folosirea de module precum mod_php sau mod_perl [vezi 9.2.3.3] care
permit integrarea unui interpretor n serverul web. O alt soluie este folosirea de limbaje de
programare precum C care pot atinge o eficien mai mare prin terminarea mai rapid a
execuiei.
Suportul de CGI pentru Apache este obinut prin intermediul modulului mod_cgi. ntruct
nu este activat implicit, trebuie activat manual:
ragnarok:~# a2enmod cgi
Module cgi installed; run /etc/init.d/apache2 force-reload to enable.
ragnarok:/etc/apache2/mods-enabled# apache2ctl restart
Directorul de unde se vor executa scripturile CGI este definit prin intermediul directivei
ScriptAlias i este, implicit, /usr/lib/cgi-bin/. Accesul la scriptul /usr/lib/cgibin/sample.cgi se realizeaz prin intermediul unui URL de forma http://localhost/cgibin/script.cgi. Opiunea ExecCGI este cea care specific serverului execuia scriptului prin
Programul C a fost compilat, numele executabilului fiind sample.cgi; extensia .cgi este
opional. Executabilul a fost copiat n /usr/lib/cgi-bin. ntruct directorul nu exista
anterior a fost creat.
Pentru testare putem folosi telnet sau netcat:
ragnarok:~# telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
323 | W o r l d W i d e W e b
GET /cgi-bin/sample.cgi HTTP/1.0
HTTP/1.1 200 OK
Date: Sun, 23 Sep 2007 14:02:19 GMT
Server: Apache/2.2.3 (Debian)
Content-Length: 102
Connection: close
Content-Type: text/html; charset=UTF-8
<html>
<head>
</head>
<body>
<title>Pagina mea</title>
<h1>Hello, World!</h1>
</body>
</html>
Connection closed by foreign host.
files
Pentru exemplificare se vor instala modulele mod_php5 i mod_perl2 care permit rularea
de scripturi PHP sau Perl prin intermediul serverului web.
9.2.3.3.1 mod_php
Suportul PHP se obine prin intermediul modulului mod_php5:
ragnarok:~# apt-get install libapache2-mod-php5
Reading package lists... Done
Building dependency tree... Done
The following extra packages will be installed:
apache2-mpm-prefork php5-common
Suggested packages:
php-pear
The following packages will be REMOVED:
apache2-mpm-worker
The following NEW packages will be installed:
apache2-mpm-prefork libapache2-mod-php5 php5-common
0 upgraded, 3 newly installed, 1 to remove and 0 not upgraded.
Need to get 3044kB of archives.
After unpacking 5870kB of additional disk space will be used.
Do you want to continue [Y/n]? Y
[...]
324 | R e e l e L o c a l e
ragnarok:~# cat /etc/apache2/mods-enabled/php5.conf
<IfModule mod_php5.c>
AddType application/x-httpd-php .php .phtml .php3
AddType application/x-httpd-php-source .phps
</IfModule>
9.2.3.3.2 mod_perl
Suportul Perl se obine prin instalarea modulului mod_perl2:
ragnarok:~# apt-get install libapache2-mod-perl2
Scripturile Perl sunt folosite ca scripturi CGI. Pentru aceasta, scriptului Perl test.pl i sunt
acordate drepturi de execuie, dup care este copiat n /usr/lib/cgi-bin/:
ragnarok:~# chmod a+x test.pl
ragnarok:~# cp test.pl /usr/lib/cgi-bin/
Dac utilizatorul www-data nu are drepturi suficiente pe resursa cerut atunci nu serverul
i va returna un mesaj de tip Forbidden. De obicei, un fiier va trebui s ofere drepturi de
acces de citire utilizatorului www-data pentru ca acesta s poat fi transmis clientului. Dreptul
de scriere este necesar pentru upload de fiiere i este folosit mai rar; un exemplu de utilizare
a dreptului de scriere este un wiki.
nainte de a prezenta modul n care serverul web interacioneaz cu drepturile pe sistemul
de fiiere, vor fi reamintite mecanismele de drepturi de acces pe un sistem Unix.
citire (read r): un fiier poate fi vizualizat i se poate lista coninutul unui director;
scriere (write w): un fiier poate fi editat i se pot crea noi intrri ntr-un director; intrrile n
sistemul de fiiere pot fi terse;
325 | W o r l d W i d e W e b
execuie (execute x): un fiier poate fi executat i un director poate fi parte a unei ci;
informal spus, se poate trece printr-un director.
Orice utilizator poate avea oricare din aceste drepturi de acces asupra unei intrri n
sistemul de fiiere. Pentru o gestiune mai facil, un fiier are grupat utilizatorii n trei categorii:
n listing se observ c utilizatorul care deine intrrile este root, iar grupul deintor este
tot root. Utilizatorul root are toate drepturile pe fiierul dir, iar grupul i ceilali utilizatori nu
au niciun drept. Fiierul sample.cgi poate fi executat de ctre orice utilizator, avnd drept de
execuie pentru utilizator, grup i ceilali.
niruirea de drepturi asupra unei intrri n sistemul de fiiere poate fi folosit n format
binar, asociindu-se 9 bii: cte un bit pentru prezena sau nu a unui drept. Astfel, formatul
literal rwx r-x wx are asociat formatul binar 111 101 011. Se prefer formatul octal al
drepturilor, care pentru exemplul anterior este 753.
Drepturile pe o intrare n sistemul de fiiere pot fi alterate folosind comanda chmod. n
cele ce urmeaz se vor prezenta mai multe exemple de rulare a chmod pentru schimbarea
succesiv a drepturilor de acces pe fiiere:
test.txt
root 0 Sep 23 19:23 test.txt
700 test.txt
test.txt
root 0 Sep 23 19:23 test.txt
drept de citire i scriere pentru utilizator, drept de citire pentru grup, drept de scriere pentru
ceilali
ragnarok:~# chmod 642 test.txt
ragnarok:~# ls -l test.txt
-rw-r---w- 1 root root 0 Sep 23 19:23 test.txt
drept de citire i execuie pentru utilizator, drept de citire i scriere pentru grup, drept de
scriere i execuie pentru ceilali
ragnarok:~# chmod 563 test.txt
ragnarok:~# ls -l test.txt
-r-xrw--wx 1 root root 0 Sep 23 19:23 test.txt
revenirea la drepturile iniiale: drept de citire i scriere pentru utilizator, drept de citire pentru
grup i pentru ceilali
ragnarok:~# chmod 644 test.txt
326 | R e e l e L o c a l e
ragnarok:~# ls -l test.txt
-rw-r--r-- 1 root root 0 Sep 23 19:23 test.txt
Directorul carpen/ ofer drepturi de citire i execuie pentru ceilali utilizatori astfel c se
poate afia coninutul su. Drept urmare, folosirea URL-ului http://localhost/carpen/ va
conduce la listarea coninutului acestui director. Fiierele frasin.txt i molid.txt pot fi
accesate prin intermediul paginii afiate. Dac se schimb drepturile pe un fiier:
ragnarok:/var/www# chmod 640 carpen/molid.txt
atunci utilizatorul www-data nu va mai avea drept de citire. Fiierul va fi totui afiat n
momentul folosirii URL-ului http://localhost/carpen/, dar nu va putea fi accesat. Cu alte
cuvinte schimbarea drepturilor de acces pe un fiier nu schimb comportamentul directorului
care l conine.
Listarea directorului este dezactivat dac exist un fiier index *vezi 9.2.3.2+. Astfel, dac
se creeaz fiierul index.html, se va face implicit afiarea acestuia, nu a coninutului
directorului.
ragnarok:/var/www# touch carpen/index.html
Fiierele frasin.txt i molid.txt vor putea fi referite, n acest caz, numai dac li se
cunoate calea complet. Altfel spus, vor putea fi recuperate cu ajutorul URL-urilor
http://localhost/carpen/frasin.txt, respectiv http://localhost/carpen/molid.txt.
De multe ori se dorete dezactivarea listrii coninutul unui director fr a fi nevoie de
prezena unui fiier index.html. Pentru aceasta trebuie eliminat dreptul de citire de director,
dar pstrat cel de execuie (de parcurgere a directorului):
ragnarok:/var/www# chmod 711 carpen/
327 | W o r l d W i d e W e b
Dup comanda de mai sus, utilizatorul www-data va avea doar drept de execuie asupra
directorului carpen/. Dac acest director va conine un fiier index, acesta va fi afiat. Altfel se
va afia un mesaj de tip Forbidden. Fiierele dintr-un astfel de director pot fi accesate doar
prin precizarea cii complete n URL.
http://httpd.apache.org/docs/2.2/howto/htaccess.html
http://httpd.apache.org/docs/2.2/howto/auth.html
328 | R e e l e L o c a l e
Tipul de autentificare folosit este Basic. Directiva AuthName definete domeniul (Realm)
cu care va fi asociat instana curent de autentificare. Autentificarea folosete fiierul
precizat
prin
intermediul
directivei
AuthUserFile,
n
cazul
de
fa
/var/www/need_auth_passwd. Directiva Require specific modul n care se realizeaz
autentificarea. n cazul de fa se permite accesul numai utilizatorilor mihai i roxana.
Crearea i completarea fiierului de configurare se realizeaz cu ajutorul utilitarului
htpasswd. Astfel, pentru crearea fiierului i adugarea utilizatorilor mihai i roxana se
folosete secvena de comenzi de mai jos:
ragnarok:~# htpasswd -c /var/www/need_auth_passwd mihai
New password:
Re-type new password:
Adding password for user mihai
ragnarok:~# htpasswd /var/www/need_auth_passwd roxana
New password:
Re-type new password:
Adding password for user roxana
La prima rulare s-a folosit opiunea c pentru a crea fiierul de parole. Parolele sunt
criptate n fiierul de autentificare:
ragnarok:~# cat /var/www/need_auth_passwd
mihai:nzXO9vzU9BcmA
roxana:uJOLmQIETpCZw
Pentru a putea folosi directivele de autentificare din fiierul .htaccess va trebui folosit
directiva AllowOverride cu opiunea AuthConfig:
<Directory /var/www/need_auth/>
AllowOverride AuthConfig
</Directory>
http://httpd.apache.org/docs/2.2/vhosts/
329 | W o r l d W i d e W e b
n cadrul gzduirii bazate pe adrese IP, fiecare virtual host primete o adres IP. Pe
anumite sisteme de operare se pot stabili mai multe adrese IP pe o interfa de reea. Pe alte
sisteme va fi nevoie de o interfa suplimentar pentru fiecare adres IP.
Totui, adresele IP cost i sunt din ce n ce mai greu de obinut, astfel nct browser-ele
moderne pot folosi virtual hosting bazat pe nume. Cnd un server web primete o conexiune
nu cunoate ce nume de staie (hostname) a fost folosit n URL. Pentru a corecta, noua
specificaie HTTP/1.1 adaug o facilitate prin intermediul creia browser-ele pot spune
serverului ce hostname folosesc, prin intermediul antetului Host:.
Dei gzduirea virtual prezint avantajul economisirii de adrese IP, trebuie inut cont de
existena unor browser-e mai vechi care nu au implementat specificaia HTTP/1.1. Dac un
astfel de browser se conecteaz la un server web cu gzduire virtual bazat pe nume, nu va
trimite antetul Host:, aa c serverul va trebui s rspund cu o list de gazde virtuale
posibile.
A
A
99.88.77.66
88.77.66.55
Dac se dorete folosirea gzduiri virtuale bazate pe nume folosind ca adres IP doar
99.88.77.66 atunci vor exista dou intrri de forma
www1
www2
A
CNAME
99.88.77.66
www1
O situaie particular, folosit la testare, este gzduirea virtual bazat pe nume cu acces
numai de pe sistemul local. Pentru aceasta este nevoie de adugarea n /etc/hosts a unei
linii de forma:
127.0.0.1
www.mydomain.com
->
330 | R e e l e L o c a l e
Din coninutul fiierului s-au pstrat doar directivele folosite pentru configurarea gzduirii
virtuale. Directivele de configurare pentru gzduirea virtual sunt:
Pentru crearea unui virtual host, dou directive sunt indispensabile: ServerName i
DocumentRoot. Aceste dou directive definesc, respectiv, numele domeniului virtual gestionat
i documentul rdcin folosit pentru publicarea de resurse.
Astfel, un virtual host simplu este:
<VirtualHost *>
ServerName www.domain.com
DocumentRoot /usr/local/www
1
http://www.debian-administration.org/articles/412
331 | W o r l d W i d e W e b
</VirtualHost>
Directiva ServerName lipsete iniial din fiierul de configurare asociat domeniului implicit
pentru c acesta va rspunde pentru toate cererile pentru care nu exist un virtual host
asociat.
Dorim s se configureaz urmtoarele domenii:
Se va presupune un caz de test, drept pentru care domeniile de mai sus vor fi asociate
adresei locale 127.0.0.1 prin intermediul fiierului /etc/hosts:
127.0.0.1
127.0.0.2
www.domain.com
www.test.com
Pentru fiecare dintre cele dou domenii se vor crea dou fiiere cu numele
www.domain.com, respectiv www.test.com n /etc/apache2/sites-available:
ragnarok:~# cat /etc/apache2/sites-available/www.domain.com
<VirtualHost *>
ServerName www.domain.com
ServerAlias domain.com
DocumentRoot /usr/local/www
</VirtualHost>
ragnarok:~# cat /etc/apache2/sites-available/www.test.com
<VirtualHost *>
ServerName www.test.com
ServerAlias test.com
DocumentRoot /var/www/test
</VirtualHost>
Directiva ServerAlias permite specificarea unui domeniu care s refere acelai director
rdcin.
Pentru activarea domeniilor folosim utilitarul a2ensite:
ragnarok:~# a2ensite www.domain.com
Site www.domain.com installed; run /etc/init.d/apache2 reload to enable.
ragnarok:~# a2ensite www.test.com
Site www.test.com installed; run /etc/init.d/apache2 reload to enable.
Verificarea configuraiilor se realizeaz prin intermediul unui browser. Se poate folosi unul
n linie de comand, cum este lynx:
ragnarok:~# lynx http://www.domain.com
ragnarok:~# lynx http://www.test.com
332 | R e e l e L o c a l e
ragnarok:~# openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem /etc/apache2/apache.pem
Este, aadar, nevoie de dou virtual host-uri: unul care va asculta conexiuni necriptate pe
portul 80 i altul care va asculta conexiuni criptate pe portul 443. Se poate observa c, spre
deosebire de gzduirea virtual bazat pe nume, la gzduirea virtual bazat pe porturi este
necesar prezena adresei IP, considerat aici 88.77.66.55. Pentru aceasta, se creeaz o
copie a fiierului de configuraie pentru virtual host-ul implicit i se activeaz folosind
a2ensite:
ragnarok:~# cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl
ragnarok:~# a2ensite ssl
Site ssl installed; run /etc/init.d/apache2 reload to enable.
333 | W o r l d W i d e W e b
Original, eng.: What doesnt get installed wont need to get patched.
334 | R e e l e L o c a l e
IIS 7 permite delegarea de sarcini administrative dezvoltatorilor sau proprietarilor de siteuri. Instalarea este acum complet customizabil i permite selectarea specific a
componentelor dorite spre a fi instalate i utilizate. Dezvoltatorii benficiaz acum de API-uri
(Application Programming Interface) mult mai complexe i mai capabile. Tot aceste API-uri
permit i administratorilor, pe de alt parte, s interacioneze prin cod, serverul folosind
namespace-ul Microsoft.Web.Administration, sau prin WMI (Windows Management
Instrumentation). Starea serverului poate fi inspectat folosind servicii de tip WCF (Windows
Communication Foundation) ca WAS (Windows Activation Service), care ofer posiblitatea de
management al resurselor, de inspecie la nivel de proces i de detectare automat a erorilor.
Spre exemplu, dac o cerere expir n timp nainte ca aceasta s fie executat, IIS 7 poate
parcurge i descrie n sens invers codul ce a fost executat pn la generarea acesteia, pentru a
oferi o imagine ct mai intuitiv asupra cauzei problemei.
Funcionalitatea intern a serverului este acum mult mai expus, permind n orice
moment monitorizarea activitii interne, a cererilor sosite, a resurselor accesate i a aciunilor
executate. Pe lng interfaa grafic de administrare, IIS 7 ofer i o interfa n linie de
comand numit appcmd.exe ce poate fi folosit pentru a vizualiza i a modifica o serie
semnificativ de opiuni ale serverului.
n fine, una dintre cele mai spectaculoase mbuntiri introduse odat cu IIS 7 este
posibilitatea de a migra i de a distribui extrem de uor configuraii ntre servere multiple
folosind Xcopy i fiiere de tip web.config. n aceste fiiere pot fi stocate informaii
referitoare la aplicaie sau la diverse site-uri i simpla copiere a acestor fiiere pe un nou
server are ca afect activarea imediat a noii configuraii. Aceast facilitate, dei inclus pentru
prima oar n IIS, a existat n alte servere web de muli ani.
335 | W o r l d W i d e W e b
4. Din ecranul Select Server Roles se selecteaz Web Server (IIS);
336 | R e e l e L o c a l e
specifica dac se intenioneaz ca serverul s suporte pagini ASP, script-uri CGI, s controleze
un server FTP, etc1.
7. Se revizuiesc opiunile selectate pentru instalare i se apas Install pentru a porni instalarea;
8. Se nchide utilitarul de instalare, dup terminare.
name="IIS-WebServerRole" state="true"/>
name="WAS-WindowsActivationService" state="true"/>
name="WAS-ProcessModel" state="true"/>
name="WAS-NetFxEnvironment" state="true"/>
name="WAS-ConfigurationAPI" state="true"/>
9-5: Coninutul unui fiier XML de instalare cu opiuni implicite pentru IIS 7
1
Deoarece lista de componente este prea vast pentru a fi inclus aici, ea poate fi consultat pe Internet
la adresa http://technet.microsoft.com/en-us/mscomops/cc403255.aspx
337 | W o r l d W i d e W e b
Cteva dintre optiunile din fiierul XML trebuie specificate innd cont de maina pe care
se realizeaz instalarea:
Valoarea atributului version trebuie s fie valoarea exact a instalrii de Windows Server
2008. Aceasta se poate afla la seciunea Details din pagina de proprieti a fiierului
explorer.exe (direct n directorul %WINDIR%);
Valoarea atributului processorArchitecture va trebui s corespund cu procesorul instalat
pe sistemul curent. Opiunile sunt: x86, x64 i amd64;
Utilizarea fiierului XML creat se face tot din linia de comand. Presupunnd c a fost
salvat cu numele unatt_inst.xml, comanda este urmtoarea:
Start /w pkgmgr /n:c:\unatt_inst.xml
De asemenea, aceste comenzi sunt disponibile i n varianta Server Core a Windows Server
2008, ele reprezentnd chiar modalitatea de instalare a IIS 7 pe aceast variant de Windows.
338 | R e e l e L o c a l e
Cel de-al doilea element din panoul Connections l reprezint Sites, ce cuprinde toate siteurile web ce sunt configurate pe serverul curent. Tipurile de site-uri ce pot fi gzduite pe
server depind de modulele opionale alese la instalare sau ulterior. Implicit, folosind
339 | W o r l d W i d e W e b
configuraia de baz de la instalare, IIS 7 poate servi doar pagini statice (fiiere HTML). Pentru
paginile ce includ coninut dinamic, ca ASP (Active Server Pages), ASP.NET, PHP sau CGI
(Common Gateway Interface) e necesar adugarea unor module suplimentare.
340 | R e e l e L o c a l e
341 | W o r l d W i d e W e b
Dup validarea cofiguraiei de mai sus i nchiderea ferestrei, site-ul va fi listat sub grupul
Sites n IIS Manager. Atenie la crearea unui site cu o configuraie ca n figura 9-9, care s
funcioneze pe toate interfeele i portul 80, n condiiile n care exist deja site-ul implicit cu
aceleai setri. IIS va ateniona cu privire la acest aspect.
De asemenea, crearea unui site cu o rdcin n care nu exist o pagin index va returna o
eroare de tip 401.3 Unauthorized deoarece setrile implicite ale site-urilor nu permit listarea
coninutului directoarelor n lipsa unui fiier index.
Application Pool reprezint platoforma pe care vor rula site-urile. Implicit, este
DefaultAppPool.
Physical Path Credentials permite specificarea unui anumit utilizator ce va fi folosit pentru
accesarea resurselor site-urilor. l lipsa unuia, se va folosi autentificare de tip pass-through
(dup cum s-a explicat n 9.4.4).
Physical Path Credentials Logon Type: Specific modul de autentificare ce va fi folosit pentru a
accesa resursele fizice din spatele unor directoare virtuale. Mai multe despre directoarele
virtuale n seciunea 9.4.8.
Start Automatically are ca efect punerea n funciune imediat a site-ului dup crearea sa.
342 | R e e l e L o c a l e
Setrile configurate aici vor fi aplicate tuturor site-urilor definite n IIS. Bineneles, fiecrui
site i se pot modifica ulterior proprietile n mod independent. Parametrii de mai sus pot fi
accesai i modificai n configuraia fiecrui site, selectndu-l i alegnd linkul Advanced
Settings din panoul de aciuni.
Din moment ce setrile de mai sus sunt incluse n categoria Advanced Settings ale siteurilor, n particular, parametrii de baz ai site-urilor (tipuri de documente, securitate, pagini de
eroare, etc) pot fi i ei configurai la nivel global, o practic util mai ales cnd un server
gzduiete mai multe site-uri nrudite ca tehnologie i funcionalitate. Pentru a accesa setrile
de baz ale site-urilor la nivel global, se selecteaz serverul din lista de conexiuni iar panoul
central se seteaz pe Features View.
Compression: n mod implicit, n IIS compresia coninutului paginilor statice este activ. IIS
genereaz versiuni comprimate ale fiierelor returnate i folosete aceeai variant
comprimat pentru mai multe cereri, optimiznd astfel utilizare lrgimii de band. Activarea
compresiei coninutului dinamic este posibil prin instalarea unui modul separat (ce putea fi
selectat i la instalarea IIS), dar trebuie avut n vedere faptul c IIS nu va stoca ntr-o memorie
cache coninutul dinamic, ci va realiza recompresia pentru fiecare cerere n parte. Aceast
opiune este viabil doar pentru medii n care lrgimea de band este foarte limitat dar n
care viteza de rspuns a serverului nu este de prim importan (i, bineneles, unde exist
necesitatea coninutului dinamic).
343 | W o r l d W i d e W e b
Setrile compresiei sunt disponibile i la nivel de server (se selecteaz serverul din lista de
conexiuni i se alege Compression din Features View), unde beneficiaz de opiuni
suplimentare:
o
o
o
Request Path: Reprezint fiierul sau extensia pentru care handler-ul se va aplica. Se pot folosi
wildcard-uri (spre exemplu, StaticFIle se aplic oricrui fiier i are trecut un * la Request Path)
Path Type: Descrie tipul cii pentru care se realizeaz maparea cu handler-ul. Aceasta poate fi cale
spre un fiier i/sau spre un director sau poate fi lsat nespecificat.
Handler: Definete efectiv modulul sau un tip .NET ce va rspunde cererii.
Entry Type: Ca i n cazul altor proprieti, handler-ele pot fi definite local sau pot fi motenite de la
nivelurile superioare.
HTTP Response Headers: Cnd un browser cere o pagin web unui server, se returneaz un
antet HTTP n pagina de rspuns, ce include versiunea HTTP i tipul coninutului. IIS nu
definete implicit niciun fel de astfel de antete. Totui, pentru anumite pagini pot fi definite
antete ce vor fi returnate clienilor ce informeaz despre starea paginii (spre exemplu, Under
construction). La adugarea unui antet, se introduce un nume i o valoare ce reprezint calea
spre coninutul antetului.
MIME Types1: Lista de extensii (mpreun cu un coninut corespunztor) ce cauzeaz IIS-ului s
returneze acele fiiere drept coninut static (nu sunt interpretate dinamic). Lista cuprinde
fiiere multimedia, imagini, documente, etc.
344 | R e e l e L o c a l e
Modules: Modulele reprezint efectiv elementele de cod care trateaz cererile recepionate de
server. Un modul mpreun cu aciunile pe care le poate executa reprezint un handler, iar un
handler mpreun cu tipul de cerere cruia i se aplic reprezint o asociere a sa (un handler
mapping). Lista de module disponibile aici este identic cu cea accesibil la editarea sau
adugarea de intrri n Handler Mappings.
Output Caching: Output Cache-ul reprezint o zon din memoria serverului unde sunt pstrate
resursele accesate frecvent, pentru a optimiza att timpul de rspuns la o cerere ct i cel de
localizare a unei resurse. Este util folosirea unui astfel de cache n special n situaiile n care
serverul depinde de programe secundare pentru procesare (CGI) sau pentru acces la
date/resurse (baze de date). Dac memoria disponibil serverului este prea mic, se va elibera
memoria cache. Cererile vor continua apoi s fie pstrate i n cache pe msur ce sunt
ndeplinite. Adugarea unei noi reguli de caching se face prin selectarea lui Add din panoul de
aciuni. O regul de caching poate fi definit prin urmtorii parametri:
o
o
File name extension: Extensia fiierelor asupra crora se va aplica regula curent de caching.
User-mode caching: Configureaz regula curent s stocheze coninutul cache-ului n spaiul
utilizator. Actualizarea informaiilor din memoria temporar poate fi fcut n momentul n care IIS
primete o notificare de modificare a coninutului unui fiier, regulat, la intervale fixe de timp sau se
poate crea o regul care mpiedic explicit caching-ul unui anumit tip de fiier. La setrile avansate
se poate configura ca serverul s stocheze n cache versiuni diferite ale aceluiai fiier n funcie de
variabilelele sau antetele din cereri.
Kernel-mode caching: Configureaz regula curent s stocheze coninutul cache-ului n spaiul
kernel. Avantajul const n faptul c returnarea coninutului static din spaiul kernel se face mai
rapid dect n cazul spaiului utilizator. Opiunile legate de actualizare informaiilor din cache sunt
aceleai ca i la User-mode caching, mai puin setrile avansate. Dac se activeaz att User-mode
caching ct i Kernel-mode caching i se folosete actualizarea la intervale regulate, cu aceeai
valoare configurat n ambele situaii, se va folosi automat doar cache-ul din kernel.
345 | W o r l d W i d e W e b
SSL Settings: Permite modificarea cerinelor SSL (Secure Sockets Layer) pentru site-uri i
aplicaii, mpreun cu modul de tratare a certificatelor sosite din partea clienilor. Se poate
specifica folosirea criptrii pe 40 sau 128 de bii.
Authentication: Descrie metodele de autentificare folosite pentru accesul la un site. Se pot
folosi autentificri din urmtoarele categorii: anonymous, ASP.NET impersonation, basic,
digest, forms i Windows authentication. Doar n cazul n care serverul este membru al unui
domeniu este posibil folosirea lui digest authentication.
Logging: Permite lui IIS s nregistreze n jurnale cererile. Se poate alege calea n care vor fi
stocate jurnalele, tipurile de intrri ce vor fi scrise n ele precum i modul i frecvena cu care
se va realiza rotirea jurnalelor.
9.4.6 Securitate
Dup cum s-a mai menionat anterior, pentru a accesa resursele locale n urma unor cereri
anonime, IIS folosete drepturile unui cont propriu, IUSR. Prin configurarea setrilor din cadrul
Anonymous Authentication, se poate specifica alt utilizator ce va fi folosit pentru cereri
anonime, dar acest lucru nu este recomandabil deoarece utilizatorii anonimi pot primi orice
drepturi de administrare pe care le-ar putea avea acel cont, ceea ce reprezint un risc de
securitate.
http://www.windowsitlibrary.com/Content/716/06/toc.html
NT LAN Manager, protocol de autentificare proprietar Microsoft
3
http://en.wikipedia.org/wiki/Kerberos_(protocol)
2
346 | R e e l e L o c a l e
transmise necriptate, astfel c este necesar utilizarea altor capabiliti de criptare ale
serverului web n conjuncie cu Basic Authentication pentru a proteja informaiile. Pentru a
putea folosi acest tip de autentificare, fiecare utilizator trebuie s beneficieze dreptul de a se
conecta local, pe sistemul serverului web. Pentru a se uura administrarea n cazul n care
conturile nregistrate sunt numeroase, utilizatorii pot fi adugai unui grup care s le ofere
drepturile necesare asupra fiierelor i locaiilor pe care acetia trebuie s le acceseze.
Ca i celelalte tipuri de autentificri, utilizarea Basic Authentication necesit instalarea
unui modul opional al IIS. Instalarea modulelor poate fi fcut att la instalarea iniial a
serverului ct i prin opiunea Add Role Services din Server Manager, sub grupul IIS. Basic
Authentication poate fi gsit sub categoria Security din lista de module disponibile.
9.4.6.3 SSL
n mod implicit, comunicaia dintre un client i un server web se face fr a securiza
informaiile transmise i fr a se lua msuri mpotriva celor ce ar putea intercepta aceste
date. n consecin, informaiile coninute n cereri i rspunsuri pot fi interceptate i
interpretate de un atacator ce poate asculta comunicaia la nivelul reelei. Pericolul n acest
caz const att n interceptarea fiierelor transferate ntre server i client ct i n posibilitatea
de a intercepta datele folosite la autentificri ce nu implementeaz intrinsec vreo metod de
securizare (ca n cazul Basic Authentication sau Forms Authetication, descrise pe scurt
anterior) i utilizarea lor pentru a impersona un utilizator autorizat i a dobndi accesul la
resurse securizate.
Pentru a preveni astfel de situaii se poate folosi SSL (Secure Sockets Layer) sau
protocoalele mai noi TLS (Transport Layer Security) pentru a securiza comunicaia dintre server
i clieni. TLS reprezint un standard foarte rspndit i acceptat de majoritatea browserelor
347 | W o r l d W i d e W e b
web. Pentru simplitate, se va folosi n continuare termenul de SSL pentru a referi att SSL ct i
TLS.
Pe lng securizarea comunicaiei dintre server i clieni, SSL ajut i la confirmarea
identitii unui server web pentru un client. Procedeul este folosit la scar larg pentru a
asigura clientul de faptul c serverul este chiar cel care se declar a fi i nu un atacator. De
asemenea, SSL poate fi folosit de ctre IIS pentru a confirma identitatea unui client, dac
acesta prezint un certificat acceptat.
Pentru IIS, configurarea SSL presupune dou etape:
1. Obinerea unui certificat de la o autoritate recunoscut (Certificate Authority CA). CA-ul
trebuie s fie recunoscut de toi clienii care se conecteaz la un site ce folosete un astfel de
certificat. Pentru site-uri intranet, CA-ul poate fi furnizat de un serviciu de certificate al Active
Directory (Active Directory Certificate Services1). Pentru site-uri din Internet, CA-ul este, de
regul, recunoscut i acceptat implicit de toate browserele web. Pentru uz intern sau pentru
teste, IIS poate furniza i un certificat propriu, cu identitatea sistemului pe care ruleaz.
2. Creare unei asocieri ntre protocolul HTTPS i portul 443 (sau altul, dup preferine) i
specificarea unui certificat pentru fiecare site pentru care se dorete implementarea SSL.
Pentru a securiza un site prin SSL, folosind un certificat emis de propriul server, se
urmeaz paii:
1. Din ecranul de Features View al serverului, se selecteaz Server Certificates (fig. 9-13)
2. Implicit, lista de certificate este goal. Crearea unui nou certificat propriu se face prin alegerea
opiunii Create Self-Signed Certificate din panoul de aciuni. Pentru crearea sa este necesar
doar definirea unui nume. Dup creare, certificatul apare n list mpreun cu date legate de
furnizorul su, data la care expir i hash-ul su.
3. Din grupul Sites se selecteaz site-ul dorit a fi securizat iar din panoul de aciuni se alege
Bindings. Se adaug o nou asociere, ntre protocolul HTTPS i portul folosit pentru acesta
(implicit 443) i, eventual, interfaa pe care s rspund cererilor. Opional, se poate elimina
binding-ul HTTP, care oricum va returna de acum nainte o eroare de tip 403.4 (Forbidden) la
ncercarea de a accesa site-ul prin HTTP simplu.
Active Directory Certificate Services este disponibil ca rol pentru Windows Server 2008 i poate fi
instalat din Server Manager, interfaa Add Roles.
348 | R e e l e L o c a l e
O soluie pentru evitarea necesitii de a include protocolul HTTPS n adresa site-ului, cnd
acesta este accesat de ctre clieni, este definirea a dou site-uri, primul cu binding pentru
HTTP, pe portul 80, iar al doilea cu binding doar pentru HTTPS i portul 443. Apoi, se poate
folosi facilitatea de HTTP Redirect1 din Features View pentru primul site pentru a redirecta
toate cererile spre site-ul securizat. Atenie, n acest caz, nu trebuie definit aceeai rdcin
pentru ambele site-uri, altfel se va obine o redirectare infinit spre acelai site.
Ca i n cazul adugrii altor module, dup instalarea HTTP Redirect poate fi necesar
repornirea Server Manager-ului pentru ca opiunea s fie disponibil la nivel de server i site.
HTTP Redirect este diponibil sub forma unei componente opionale IIS, disponibil la instalare sau prin
interfaa Add Role Services din Server Manager, sub IIS.
349 | W o r l d W i d e W e b
http://go.microsoft.com/fwlink/?LinkId=59279
350 | R e e l e L o c a l e
gzduiasc temporar site-ul companiei X, poate crea un director virtual pentru a conine siteul lui X. n acest caz, compania X ar putea avea site-ul gzduit la adresa
www.companiaA.com/companiaX.
Pentru a crea un director virtual, se urmeaz paii:
1. Avnd un site selectat n panoul de conexiuni sub grupul Sites, se face clic pe View Virtual
Directories n panoul de aciuni. Este afiat pagina ce enumer directoarele virtuale
configurate pentru site-ul curent.
2. Pentru a configura un nou director virtual, se face clic pe Add Virtual Directory din panoul de
aciuni i este afiat fereastra din figura 9-16:
351 | W o r l d W i d e W e b
4. Se deschide C:\Windows\php.ini ntr-un editor de texte, se localizeaz linia
;extension=php_mysql.dll i se decomenteaz linia (se terge punctul i virgula de la
nceput). Se salveaz i se nchide fiierul.
5. Se copiaz fiierul C:\php\ext\php_mysql.dll n C:\Windows\System32.
6. Se deschide IIS Manager i, la nivel de site, se acceseaz Handler Mappings.
7. Se alege Add Script Map din meniul de aciuni.
n acest moment, IIS este capabil de a interpreta pagini PHP. Pentru a test acest lucru, se
poate crea un fiier .php ntr-un director al site-ului configurat mai sus, avnd coninutul
<?php phpinfo(); ?> i accesndu-l.
De asemenea, se va observa faptul c se primete o eroare (sau se listeaz coninutul
directorului, n funcie de opiunea de la Directory Browsing) n cazul n care se ncearc
accesarea unei locaii ce contine un fiier index.php deoarece IIS nu a fost setat s
recunoasc fiierele index cu extensia .php. Pentru aceasta, n seciunea Default Document,
tot n cadrul site-ului selectat mai sus, se adaug i intrarea pentru index.php.
352 | R e e l e L o c a l e
Comanda de mai sus permite specificarea numelui unui anumit site, precum i filtrarea
site-urilor active sau inactive prin adugarea parametrului /state:started sau
/state:stopped.
Se poate face adugarea unui ntreg nou site din linia de comand. Spre exemplu,
urmtoarea comand adaug un site denumit Biblioteca ce funcioneaz pe portul 8080, al
crui rdcin este situat la C:\inetpub\wwwroot\biblioteca\:
PS C:\> appcmd add site /name:Biblioteca /id:2 /bindings:"http/*:8080:" /physicalPath:
"C:\inetpub\wwwroot\biblioteca"
SITE object "Biblioteca" added
APP object "Biblioteca/" added
VDIR object "Biblioteca/" added
tergerea unui site definit n prealabil se face prin comanda delete, folosindu-se numele
su drept identificator:
appcmd delete site Biblioteca
IIS permite vizualizarea strii serverului, aceasta incluznd procesele active, precum i
cererile pe care acestea le proceseaz. Starea application pool-urilor care sunt pornite sau
oprite poate fi obinut prin urmtoarele comenzi:
appcmd list apppools
appcmd list apppools /state:started
appcmd list apppools /state:stopped
Pentru a vizualiza lista proceselor curente, starea unui anumit proces sau lista proceselor
asociate unui application pool, se pot folosi comenzile urmtoare:
appcmd list wps
appcmd list wp 2244
appcmd list wps /apppool.name:DefaultAppPool
Pot fi afiate n timp real cererile n curs de execuie din server. Cererile pot fi filtrate n
funcie de proces, application pool sau numele site-ului:
appcmd
appcmd
appcmd
appcmd
list
list
list
list
requests
requests /wp.name:2244
requests /apppool.name:DefaultAppPool
requests /site.name:Biblioteca
353 | W o r l d W i d e W e b
appcmd set config /section:defaultDocument /enabled:true
appcmd set config Biblioteca/www/files/ /section:defaultDocument /enabled:true
Dac un backup cu acelai nume exist deja, se va returna o eroare. Daca se dorete
refolosirea acelui nume pentru un nou backup, trebuie eliminat cel vechi nainte de a fi creat
cel nou:
appcmd delete backup nume_backup
n general, n linia de comand, cnd se specific un URL asupra cruia se vor efectua
modificri, exist opiunea de a-l descrie prin calea sa complet, spre exemplu:
http://localhost/Biblioteca/www poate reprezenta faptul c se efectueaz modificri
asupra directorului www al directorului virtual Biblioteca. De asemenea, se poate specifica o
cale relativ la numele unui anumit site, ca Biblioteca/main/www, ceea ce se refer la
directorul main/www/ din cadrul unui site denumit Biblioteca.
354 | R e e l e L o c a l e
ntrebri
10 Securitatea reelei
Being able to break security doesn't make you a hacker anymore than being able to hotwire
cars makes you an automotive engineer."
Eric Raymond
Cine este...
Kevin Mitnick este unul dinte cei mai cunoscui hackeri din anii 90 - 2000. El a reuit sa
sparg reeaua DEC pentru a vedea codul surs de la VMS i a intrat n sisteme Motorola,
NEC, Nokia, Sun i Fujitsu Siemens. Kevin Mitnick a devenit cunoscut prin faptul c a fost
primul hacker al crui proces a fost mediatizat pe scar larg. El a recunoscut c a ptruns
n diverse reele folosindu-se n principal de "social engineering" i a fost condamnat la 5
ani de nchisoare. Dup eliberare (n 2000) i-a creat propria firm de consultan n
domeniul securitii. A scris dou cri: The Art of Deception i The Art of Intrusion.
Gordon Lyon (cunoscut i sub pseudonimul de Fyodor Vaskovich) este un expert n
securitate i, aa cum i spune, "tipul bun de hacker". El este autorul cunoscutului program
de scanare nmap. Lyon a avut un rol activ n comunitatea de securitate a reelelor nc din
anii 90. Pseudonimul lui, Fyodor, a fost luat de la celebrul autor rus Fyodor Dostoyevsky.
De-a lungul ultimilor ani, multe teme tehnice specifice domeniului securitii au prsit
domeniul IT, fiind preluate de ziare, jurnale TV, sau chiar de industria cinematografic. Din
pcate, procesul nu a urmrit, cel mai adesea, aducerea n sfera public a conceptelor de
securitate, ci specularea senzaionalului prin ignorarea constrngerilor lumii reale, ducnd la
promovarea unor noi mituri ale erei IT.
n ziua de astzi, deja se consider normale performanele hackerilor din filmele
americane, care reuesc s compromit securitatea unui sistem n cteva secunde. Exist
oameni care cred c este posibil s scrii virui pentru sisteme de operare extraterestre (vezi
Ziua Independenei, 1997).
Pentru cei ce au deschis acest capitol n sperana obinerii unei puteri nemrginite n
controlul tuturor sistemelor electronice urmeaz o dezamgire: paginile ce urmeaz nu
reuesc dect s aduc un pic de ordine n domeniul populat de mituri al securitii IT.
Principii de baz
O prim clasificare a riscurilor de securitate distinge trei tipuri de atacuri: atacuri venite
din Internet (cu o rat de succes redus), atacuri iniiate din reeaua local i atacuri generate
de pe aceeai main - acestea din urm avnd un impact mult mai nsemnat dect primele.
Dei cu gradul de risc cel mai ridicat, atacurile iniiate de utilizatorii serverului int sunt
deseori tratate n grab i unitar. n continuare vor fi discutate vulnerabilitile importante ce
pot nlesni un astfel de atac. fiecare dintre acestea putnd duce la compromiterea securitii
sistemului.
356 | R e e l e L o c a l e
10.1.2
Cea mai ntlnit clasificare a atacurilor electronice urmrete stiva de protocoale OSI,
ncercnd s grupeze atacurile n funcie de tipul de vulnerabilitate exploatat.
10.1.2.1
Atacurile de nivel 1 (fizic) reprezint un numr foarte mic din totalul atacurilor pentru c
presupun acces la mediul de transmisie. n aceast categorie sunt incluse atacurile ce
presupun interceptarea traficului din reea. Metodele de protecie difer n funcie de mediul
de transmisie folosit.
n reelele fr fir, mediul fiind att partajat ct i foarte accesibil, protecia se bazeaz
mai ales pe criptarea traficului. Securizarea unei astfel de reele pornete de la reglarea puterii
de emisie a echipamentelor fr fir (echipamentele mai ieftine de obicei nu permit astfel de
configurri), n scopul limitrii accesului la mediu din afara ariei de lucru. n alegerea criptrii
trebuie inut cont c att WEP, ct i WPA sunt protocoale relativ uor de compromis. n
msura n care componentele reelei fr fir o permit, se recomand folosirea WPA2, protocol
bazat pe AES.
Pentru reelele de cupru, atacatorul va avea nevoie de acces la miezul de cupru al
mediului de transmisie. La cablurile UTP, atacul se rezuma la a ndeprta cmaa de plastic,
urmnd ca prin intermediul unor cleti s se intercepteze semnalele electrice transmise pe
firele de cupru.
Fibra optic, dei este mai greu de atacat, poate cdea victim unor tehnici neintruzive
(care nu se bazeaz pe ntreruperea mediului de transmisie). Un aparat ce intercepteaz
semnalul luminos dintr-o fibr ndoit poate fi cumprat de pe eBay la mai puin de 500 USD.
Trebuie remarcat c un astfel de atac necesit acces la mediul fizic. n plus, prin ndoirea fibrei
semnalul luminos se atenueaz, atenuare ce poate fi detectat de receptor i folosit n
declanarea unei alarme.
10.1.2.2
Atacurile de nivel 2 (legtur de date) presupun acces n reeaua local. Lista acestor
atacuri include: atac MAC, atac STP, schimbarea VLAN (VLAN hopping), dar i ARP poisoning,
atac greu detectabil i uor de folosit n reelele locale actuale.
357 | S e c u r i t a t e a r e e l e i
Atacul ARP poisoning presupune redirecionarea traficului dintre orice staie din reeaua
local i routerul de ieire din LAN (gateway) prin staia atacatorului. Acest lucru este realizat
prin trimiterea de pachete ARP (att cereri ARP, ct i rspunsuri) cu informaii alterate.
Pentru exemplificare, fie cazul din figura de mai jos, n care staia C dorete s
intercepteze traficul dintre staiile A i B. Pentru aceasta, staia C va trimite dou pachete ARP
de tip rspuns false: o dat pentru staia B, n care se specific faptul c adresa de nivel 2 a
staiei A este AA:BB:CC:00:00:13, i o dat pentru staia A, n care se specific faptul c
adresa de nivel 2 a staiei B este tot AA:BB:CC:00:00:13.
Astfel, atunci cnd staia A dorete s trimit un pachet staiei B, l va trimite staiei C. La
fel, atunci cnd staia B dorete s trimit un pachet staiei A, l va trimite tot staiei C. Pentru
ca procesul s funcioneze, staia C va trebui s trimit pachetele primite staiilor care sunt
adresate. n plus, staia C trebuie s retrimit pachetele ARP false la intervale regulate.
Aceasta pentru c intrrile din tabela ARP sunt evacuate dup un timp, caz n care staia va
trimite un pachet ARP de interogare. Dac staia interogat rspunde, intrarea din tabela ARP
va fi actualizat i astfel traficul nu va mai ajunge la staia C.
C
192.168.1.13
AA:BB:CC:00:00:13
A
192.168.1.11
AA:BB:CC:00:00:11
B
192.168.1.12
AA:BB:CC:00:00:12
nainte de atac:
192.168.1.12 AA:BB:CC:00:00:12
nainte de atac
192.168.1.11 AA:BB:CC:00:00:11
dup atac:
192.168.1.12 AA:BB:CC:00:00:13
dup atac
192.168.1.11 AA:BB:CC:00:00:13
358 | R e e l e L o c a l e
Apariia switchurilor n reelele locale au transformat mediul partajat al Ethernet-ului ntrun mediu dedicat. Astfel, un administrator de reea ce dorete monitorizarea traficului ctre o
anumit destinaie va trebui ca, nainte de a lansa programul de interceptare a traficului, s
fac un atac ARP poisoning pentru respectiva destinaie. Pentru aceasta poate folosi orice
generator de pachete, cele mai utilizate fiind: Cain, dsniff, IPSorcery.
10.1.2.3
Atacurile de nivel 3 (reea) sunt cel mai adesea iniiate din Internet, dei exist atacuri de
nivel 3 i n reelele locale, precum DHCP starvation i DHCP spoofing.
Din multitudinea atacurilor de nivel 3 cele mai ntlnite sunt atacurile bazate pe flooding,
sau cele bazate pe DoS (Denial of Service) sau mai nou DDoS (Distributed DoS).
Un flood reprezint un numr foarte mare de pachete venite ntr-un interval scurt de
timp. Un trafic ce poate fi interpretat drept flood la nivelul routerului de acces n reeaua
local poate fi tratat drept trafic normal n nucleul Internetului. Pentru tehnologiile actuale, un
flood este definit astfel: la nivelul unui switch de nivel 2 un numr de 100.000- 150.000 de
pachete pe secund, iar la nivelul unui router de acces (ce conecteaz o reea local) un flood
are 8.000-12.000 de pachete pe secund. n nucleul Internetului un trafic de sute de milioane
de pachete pe secund poate fi tratat drept trafic legitim, de aceea un flood se identific dup
tipul traficului i nu dup numrul de pachete.
Atacurile bazate pe flooding pot folosi conexiuni TCP, mai exact pachete de SYN (atacul
numindu-se SYN flooding), ct i pachete ICMP sau UDP. n cazul SYN flooding, atacatorul va
trimite un numr foarte mare de cereri de deschidere a unei noi conexiuni TCP (pachete ce au
cmpul de control SYN setat). Serverul int va rspunde cu pachete ce au cmpurile ACK i
SYN setate. Atacatorul nu va trimite niciodat pachetul de stabilire a conexiunii (o sesiune TCP
se bazeaz pe three-way handshake). Astfel, sesiunile vor rmne n starea half-open,
consumnd resurse n continuare pe server.
Mecanismele de protecie mpotriva atacurilor SYN flood se bazeaz pe stabilirea unui
timp maxim pentru stabilirea unei conexiuni (timp n care conexiunea poate fi n starea halfopen), a unui numr maxim de conexiuni half-open (valoare de la care conexiunile half-open
vor ncepe s fie terse). O alt abordare se numete SYN cookies. Aceast metod permite
severului s evite nlturarea conexiunilor, cnd coada n care sunt pstrate SYN-urile devine
plin, serverul comportndu-se normal, ca i cnd aceasta din urm ar fi fost mrit. Serverul
n acest caz, va trimite napoi clientului un rspuns de forma SYN+ACK, dar va terge din coad
intrarea corespunztoare pachetului ce coninea bitul SYN setat. Dac serverul va primi un
pachet de rspuns de la client cu bitul ACK setat, atunci conexiunea poate fi stabilit, intrarea
ce fusese tears putnd fi reconstruit pe baza numrului de secven din antetul TCP.
ICMP flooding se bazeaz pe trimiterea unui numr foarte mare de pachete ICMP,
consumnd ntreaga lime de band disponibil. Cel mai adesea atacul este prevenit prin
filtrarea ntreg traficului ICMP, cu costul pierderii funcionaliti utilitarelor ping i
traceroute.
Atacul UDP flooding este cu adevrat distructiv cnd folosete drept int porturile 7 i 19,
adic serviciile de echo i chargen. Aceste servicii, fiind rar folosite n reele locale, pot fi
oprite de firewall-ul de intrare n LAN, fr un impact real asupra funcionrii reelei.
Atacurile bazate pe flooding sunt n general combinate cu un atac de tip spoofing, prin
care se genereaz adrese surs fictive i diferite pentru pachetele din flood (altfel o filtrare pe
baza depirii unui numr limit de pachete per surs ar elimina atacul). Atacul spoofing
asigur n acelai timp ascunderea identitii atacatorului. n plus, dac destinaia atacului
bazat pe flooding nu este o surs int ci adresa de difuzare a unei reele, toate echipamentele
359 | S e c u r i t a t e a r e e l e i
din respectiva reea vor ncerca s rspund unei surse ce nu exist n realitate. Acest atac
este de tip DDoS i se numete atac smurf.
ICMP REPLY D=173.1.1.1 S=64.8.12.5
ICMP REPLY D=173.1.1.1 S=64.8.12.6
ICMP REPLY D=173.1.1.1 S=64.8.12.7
ICMP REPLY D=173.1.1.1 S=64.8.12.8
ICMP REPLY D=173.1.1.1 S=64.8.12.9
173.1.1.1
Un alt exemplu de atac intern l reprezint utilizarea funciei fork(), n scopul generrii
continue de procese.
#include <sys/types.h>
#include <unistd.h>
#include <iostream.h>
main()
{
int x;
for (x=0;x<1000000;x++)
{
system(sync);
fork();
}
}
360 | R e e l e L o c a l e
Tot n categoria DDoS intr i virui de tip IRCBots, programe care dup infectarea unei
staii vor iniia o conexiune ctre un server de IRC pe un canal privat, atacatorul putnd s
controleze toate staiile infectate. Un IRCBot va deschide i portul 6667 (portul implicit pentru
IRC) pe maina infectat.
10.1.2.4
atunci, la introducerea n cmpul utilizator a unui nume valid de utilizator urmat de OR , dat fiind c n SQL introducerea simbolurilor -- definete un comentariu, operaia de
selecie devine:
-
i va fi validat pentru orice nume de utilizator aflat n baza de date. Mergnd mai
departe, se poate introduce n cmpul utilizator: xxx OR 1=1 OR -- , aceasta garantnd
accesul indiferent dac utilizatorul xxx exist sau nu n baza de date.
Pentru a preveni un astfel de atac, interogarea bazei de date trebuie fcut prin funcii de
bibliotec i nu direct prin SELECT.
Este necesar s se atrag din nou atenia n special asupra riscului de securitate adus de
utilizatorii neglijeni din reea. Chiar i n cazul unor utilizatori responsabili nu trebuie ignorate
riscurile unui atac bazat pe inginerie social - adic pe manipularea indivizilor pentru obinerea
accesului la informaii confideniale sau alte resurse. Nu este o ntmplare c cel mai cunoscut
hacker al tuturor timpurilor este Kevin Mitnick, un om cu cunotine tehnice limitate, dar cu o
bun nelegere a psihologiei utilizatorilor i a administratorilor din reelele actuale.
10.1.2.5
Atacuri web
O clas tot mai relevant actualmente a atacurilor de nivel aplicaie o reprezint atacurile
web. Datorita maturizrii Internetului i volumelor ridicate de tranzacii online, majoritatea
atacurilor din ultima perioad se concentreaz asupra serviciilor oferite pe net. Pe de o parte,
porturile asociate acestora trebuie s fie tot timpul deschise, iar pe de alta, protocoalele
folosite nu au fost iniial concepute pentru magazine virtuale sau pli electronice, cu att mai
puin fiind luate n calcul considerentele de securitate.
Astfel, de-a lungul timpului au fost aduse multe mbuntiri pentru a permite aplicaiilor
web s serveasc obiectivele actuale, precum criptarea comunicaiilor peste un canal SSL
(HTTPS), meninerea unei sesiuni ntre client i server folosind cookie-uri, animarea
coninutului paginilor web cu XHTML, CSS, JavaScript sau Flash, comunicaia asincron
folosind AJAX - conducnd utilizatorul ctre o experien Web 2.0, puin peticit din punct de
vedere al securitii.
361 | S e c u r i t a t e a r e e l e i
Rularea exploit-ului:
C:\>iisexploit www.site.com myserver 8082
THCIISSLame v0.3 - IIS 5.0 SSL remote root exploit
tested on Windows 2000 Server german/english SP4
by Johnny Cyberpunk (jcyberpunk@thc.org)
[*]
[*]
[*]
[*]
[*]
building buffer
connecting the target
exploit send
waiting for shell
Exploit successful ! Have fun !
Asemenea atacuri exist i pentru Apache. De exemplu, existena unui bug n biblioteca
openssl permite deschiderea unui shell prin atacarea unui server web care folosete SSL1.
Atacurile asupra aplicaiei Web se bazeaz pe vulnerabiliti n modul de programare, pe
bug-urile i breele de securitate inerente limbajului de programare, sau pe greelile
programatorilor. Atacurile asupra aplicaiilor Web acoper dou inte: compromiterea
sistemului, prin obinerea accesului neautorizat pe unul dintre serverele de aplicaie sau baze
de date, sau compromiterea clientului, prin obinerea informaiilor confideniale ale acestuia,
furtul sesiunii, sau execuia de cod pe maina acestuia.
Majoritatea atacurilor asupra aplicaiilor web sunt datorate validrii insuficiente a datelor
de intrare ale aplicaiei: acestea pot fi date introduse de utilizatori, cmpuri ascunse ale
formularelor, parametri ai paginilor dinamice, variabile aflate n cookie-uri, antete HTTP, etc.
Datorita fapturilor c aplicaiile web sunt eterogene prin definiie, atacarea acestora nu se
1
362 | R e e l e L o c a l e
Reflected Cross-Site Scripting: Pagina vulnerabil utilizeaz o parte din datele de intrare
(parametrii GET, POST, antete HTTP, etc) n generarea rspunsului. Astfel, prin apelarea unei
asemenea pagini cu un parametru ce conine cod HTML/Javascript, acesta va fi reflectat
injectat n rspunsul generat de ctre server.
Stored Cross-Site Scripting: Atacatorul identific un parametru al unei pagini care este
procesat i stocat (ntr-o surs de date) astfel nct n momentul n care datele salvate sunt
ncrcate de ctre o alt pagin (i posibil un alt utilizator) acestea s fie introduse ca i cod
executabil pe sistemul clientului.
este vulnerabil la un atac XSS care conine urmtorul payload PoC (proof-of-concept):
http://server.vulnerabil.com/arata_info.php?id=<script>alert(XSS);</script>
363 | S e c u r i t a t e a r e e l e i
Insecure Object Reference, sau atacul de tip Directory Traversal este specific aplicaiilor
web, i se bazeaz pe referenierea unei resurse (un fiier, de exemplu) pe baza unor
informaii care pot fi manipulate de un atacator. Acesta ar putea s citeasc diverse fiiere de
pe serverul web (etc/shadow) sau ar putea injecta cod extern (de pe un alt server) n paginile
aplicaiei.
Information Leakage / Error Handling este o alt vulnerabilitate des ntlnit n cazul
aplicaiilor web. Aceasta se datoreaz unor erori de configurare a serverului web, sau
greelilor de programare care pot divulga prea multe informaii despre infrastructura intern,
omiterii dezactivrii opiunilor de debugging pe mediul n producie, etc. Un exemplu de
aplicaie auditat n realitate coninea ntr-una dintre paginile ASP urmtorul comentariu
HTML:
<!-- #include virtual ="/include/connections.inc" -->
10.1.2.6
Un virus este un program sau o secven de cod ce se ataeaz altor fiiere executabile
fr acceptul sau cunotina utilizatorului. Un virus include, alturi de mecanismele de
execuie, i modaliti de replicare inserate n codul altei aplicaii.
Clasificarea viruilor n funcie de modul de replicare distinge ntre mai multe tipuri, dintre
care cei mai ntlnii sunt: virui de e-mail, de macro, bombe logice, virui de boot, viermi, i
troieni.
Un lucru important de precizat este c simpla prezen a unui fiier infectat pe un
calculator nu este echivalent cu infectarea sistemului. Pentru a infecta sistemul un virus
trebuie s fie executat cel puin odat. Din pcate unele aplicaii ruleaz cod executabil n mod
automat (fr informarea utilizatorului).
Email-ul este unul dintre cile principale de propagare a viruilor. Viruii de e-mail sunt
coninui n ataamentul e-mail-ului, deseori avnd extensia schimbat (cel mai adesea n
extensie specific imaginilor). Aplicaia int a unui astfel de virus este clientul de e-mail.
Datorit numrului mare de utilizatori ai clientului de email MS Office Outlook, o mare parte a
acestor virui sunt dezvoltai special pentru aceast aplicaie.
Odat executat un ataament infectat din e-mail, virusul se ncarc n memoria RAM i va
urmri s se multiplice. Pentru aceasta, va cuta lista de adrese folosite n clientul de e-mail
(address book). Majoritatea aplicaiilor client de e-mail creeaz lista de adrese n mod dinamic,
fr consultarea utilizatorului. Odat deschis lista de adrese, virusul va folosi direct API-ul de
trimis e-mail-uri pentru a se multiplica. Exemplele de virui de email sunt MyDoom, I love you,
etc.
Falii virui de mail (email virus hoaxes) sunt mesaje care pretind c au identificat prezena
iminent a unui virus i solicit utilizatorului s forwardeze mesajul ctre toi cunoscuii; chiar
n absena unui virus real, un fals virus poate produce pagube considerabile prin aciunile
motivate de panic ale utilizatorilor.
364 | R e e l e L o c a l e
10.1.3
Prevenirea atacurilor
Securizarea unui sistem sau a unei reele pot presupune investiii importante att n
echipamente, ct i n software. Cu toate acestea, orice soluie de securitate nu trebuie s
piard din vedere cteva componente de baz.
Primul pas n orice soluie de securitate o reprezint stabilirea unor politici clare de
securitate. O astfel de politic de securitate va urmri:
365 | S e c u r i t a t e a r e e l e i
Activitile unui test de penetrare vor demara printr-o faz de colectare a informaiilor,
continund cu scanri. Pe baza informaiilor obinute vor fi selectate n continuare atacuri de
obinere a accesului sau de compromitere a funcionalitii (Denial-of-Service). n cazul unui
atac de obinere a accesului realizat cu succes, un atacator va urma procedurile de acoperire a
urmelor, de meninere a accesului ulterior prin stabilirea unei metode stabile de a comunica
cu staia compromis i de extindere a influenei prin rularea unor noi teste din poziia recent
obinut. Un ultim pas al activitilor de pentest este reprezentat de alctuirea unui raport
complet pe baza tuturor informaiilor obinute i a ncercrilor efectuate.
Faza de recunoatere sau reconnaisance este etapa n care, contrar ateptrilor, un
atacator i petrece majoritatea timpului. Colectarea informaiilor poate fi pasiv sau activ.
Recunoaterea pasiv se realizeaz fr interaciune cu sistemul int i conine tehnicile de
sniffing, analiza pachetelor cu utilitare dedicate precum p0f, netcraft, etc i investigarea
bazelor de date publice: Google, Archive.org, Rapoarte Financiare, ARIN, RIPE, etc.
Recunoaterea activ implica stabilirea unor conexiuni ctre sistemul auditat prin folosirea
unor unelte precum trace, ping i altele.
Scanarea este o etap important pentru c de cele mai multe ori completeaz imaginea
obinut pn atunci. Activitile ntreprinse includ scanarea de porturi folosind nmap cu toate
tipurile sale: SYN, Connect, ACK chiar i Idle Scanning, maparea ACL-urilor de pe firewall-uri
cu firewalk i hping, scanri de vulnerabiliti cu Nessus, Retina, CANVAS, CORE Impact,
identificarea protocoalelor, serviciilor i sistemelor de operare utilizate i ncercri de
enumerare prin NetBios Null Sessions, LDAP, SNMP, DNS Zone Transfer.
Atacul. Urmtoarea faz este cea mai interesant deoarece implic ncercarea
atacatorului de a obine accesul. Pe baza informaiilor obinute anterior echipa de audit
creeaz un profil de securitate al reelei i un plan de atac. n aceasta faz sunt consultate de
obicei baze de date publice pentru obinerea exploit-urilor, sau sunt dezvoltate propriile
exploit-uri i unelte de atac pentru compromiterea sistemelor int. Cele mai populare baze de
date sunt:
http://www.milw0rm.com
http://www.packetstormsecurity.org/
http://osvdb.org/
http://www.securityfocus.com/
366 | R e e l e L o c a l e
Introducere de echipament nelegitime, rogue i rularea unor protocoale din seria: HSRP,
DTP, STP, VTP, OSPF, EIGRP, DHCP pentru manipularea traficului i ocolirea msurilor de
securitate existente. Zebra este o aplicaie Linux care poate fi utilizat pentru o parte dintre
acestea, pentru altele fiind nevoie de echipamente dedicate;
1
367 | S e c u r i t a t e a r e e l e i
Social Engineering
Ingineria social (social engineering) reprezint persuadarea oamenilor de a furniza
informaii sau alt tip de sprijin pentru a ctiga acces neautorizat la un sistem. Tehnicile de
social engineering includ: intimidare, persuasiune, pozarea ca victim ce are nevoie de ajutor
sau, dimpotriv, crearea unei situaii n care victima are nevoie de un ajutor pe care atacatorul
se ofer s l dea.
Impersonarea unui utilizator legitim, a unei persoane influente sau a personalului de
suport tehnic sunt tehnici foarte puternice. Eavesdropping reprezint tehnica de ascultare a
unei conversaii private fr ca cei implicati s tie c sunt ascultai. Dumpster Diving implic
scormonirea tuturor resturilor unei organizaii pentru colectarea unor informaii. Shoulder
Surfing este procedura prin care un atacator urmrete monitorul unei alte persoane pentru ai urmri activitile. Tailgating i Piggybacking sunt tehnici de ptrundere n interiorul unor
suprafee protejate de ui sau bariere cu cartele, respectiv prin angajarea ntr-o conversaie cu
o persoan ce deine accesul.
Reverse Social Engineering este o alt metod consacrat. Atacatorul convinge pe alii s
apeleze la sprijinul su, de cele mai multe ori construind un personaj fictiv la care intele vor
apela pentru rezolvarea unor probleme. De cele mai multe ori atacatorii prin social
engineering vor utiliza mijloace de comunicaie informatice precum instant messaging, e-mail,
telefon, SMS i vor combina aceste tehnici cu alte atacuri precum dezvoltarea unor troieni,
escaladarea privilegiilor, crearea unor site-uri de tip phishing, etc.
Extinderea influenei. Odat ce un atacator a compromis un sistem, acesta va verifica
noile orizonturi care i-au fost deschise. Dac a fost posibil compromiterea unei staii din
interiorul unei reele, este posibil ca de aici s fie lansate noi atacuri ctre staiile
administratorilor. Astfel, echipa de audit va repeta activitile de colectare a datelor, scanare
i eventual va realiza noi atacuri din noua poziie. n cazul spargerii unor parole, atacatorul va
accesa echipamente i va altera configuraiile pentru a crea premisele unui nou atac.
Mentinerea accesului. Atacatorul va folosi tehnici precum instalarea de rootkit-uri, troieni,
crearea de canale de comunicaie ascunse (covert) sau inverse, dezactivarea firewall-ului i
adugarea de conturi administrative pentru a menine un acces stabil pe viitor ctre un sistem
compromis.
Acoperirea urmelor include tergerea log-urilor de pe sistem, identificarea punctelor care
ar fi putut genera alerte, precum echipamentele de tip IDS/IPS, i compromiterea acestora,
urmate de o eventuala nlturare a alertelor generate.
Denial-of-Service reprezint o strategie alternativ a atacatorului n situaia n care nu
reuete s obin accesul. n cazul specific al unui test de penetrare aceste teste vor fi fcute
doar dac ele sunt cerute n mod explicit de ctre compania auditat. Tehnicile de
compromitere a funcionalitii includ:
Resource Starvation: epuizarea resurselor unui sistem prin cunoscutele atacuri de tip SYN
Flood, epuizarea resurselor sistemului de operare, etc.
Bandwidth Starvation, asimilat noiunii de flood: implica transmiterea unui trafic susinut
mai mare dect destinaia poate accepta, ocupnd ntreaga banda pe care inta o poate folosi.
Atacuri distribuite (DDoS). Aceste atacuri implic un numr mare de staii compromise n
prealabil care lanseaz n mod sincronizat acelai atac ctre o int comun.
368 | R e e l e L o c a l e
Nmap
Exist numeroase aplicaii de scanat porturile disponibile, shareware sau freeware, una
dintre cele mai populare fiind nmap. Datorit popularitii de care se bucur utilitarul nmap n
rndul administratorilor de sisteme Linux (www.insecure.org/nmap), aplicaia a fost portat
i pe platforme Windows (sourceforge.net/projects/nmapwin).
Nmap implementeaz mai multe metode de scanare, putnd oferi informaii despre
porturile deschise, dar i despre porturile explicit filtrate. n plus fa de informaiile
referitoare la serviciile rulate, nmap pune la dispoziia administratorului de reea metode de
aflare a versiunii sistemului de operare, versiunile serviciilor active, utilizatorii ce ruleaz
aceste servicii, precum i multe alte informaii relevante.
Printre tipurile importante de scanare, ase se refer la scanarea porturilor TCP, unul la
scanarea porturilor UDP i unul la monitorizarea conectivitii, aceast ultim metod
ncercnd s determine doar dac staia destinaie este activ i dac se poate ajunge la ea. O
analiz detaliat a metodelor de scanare presupune o prezentare a cmpurilor de control din
antetul TCP, prezentare ce depete scopul acestui capitol.
Dintre metodele de scanare pentru porturi TCP, singura disponibil utilizatorilor
neprivilegiai este TCP connect. TCP connect ncearc deschiderea unei conexiuni ctre portul
int; dac apelul sistem connect reuete, nseamn c portul este deschis, altminteri,
nseamn c portul este nefolosit, sau filtrat de un firewall.
TCP SYN este modul implicit de scanare pentru utilizatorii privilegiai. Se trimite un pachet
SYN ctre maina care este scanat. n cazul n care se primete drept rspuns un pachet
SYN|ACK nseamn c exist un server ce ascult pe acest port, dar dac pachetul de rspuns
este un pachet RST, nseamn c portul n cauz nu este deschis. Dac nu se primete niciun
rspuns portul este considerat ca fiind filtrat de un firewall.
TCP SYN se bazeaz pe trimiterea de pachete SYN, ceea ce presupune drepturi de
administrator. Din acest motiv, acest mod nu este accesibil utilizatorilor neprivilegiai.
Dou opiuni de scanare importante sunt -sV i -O. Prima dintre aceste opiuni ofer
informaii despre versiunea serviciilor ce ascult pe porturile deschise, n vreme ce opiunea O ofer informaii despre sistemul de operare instalat, precum i timpul de la ultima
restartare.
kiwi:~# nmap -sV -O 141.85.37.53
Starting nmap 3.55 ( http://www.insecure.org/nmap/ ) at 2004-08-27 17:23 EEST
Interesting ports on dhcp-53.cs.pub.ro (141.85.37.53):
(The 1659 ports scanned but not shown below are in state: closed)
PORT
STATE SERVICE VERSION
22/tcp open ssh
OpenSSH 3.8.1p1 (protocol 1.99)
Device type: general purpose
Running: Linux 2.4.X|2.5.X|2.6.X
OS details: Linux 2.5.25 - 2.6.3 or Gentoo 1.2 Linux 2.4.19 rc1-rc7)
Uptime 0.105 days (since Fri Aug 27 14:52:12 2004)
Nmap run completed -- 1 IP address (1 host up) scanned in 11.840 seconds
369 | S e c u r i t a t e a r e e l e i
Pentru servere cu o ncrcare mare, mai ales dac acestea ndeplinesc funcii critice,
metodele recomandate de scanare sunt Paranoid, Sneaky i Polite, n vreme ce pentru
scanarea periodic a unui numr mare de staii de lucru metodele Aggressive i Insane se pot
dovedi mult mai potrivite, n special pentru reele cu conexiuni foarte rapide.
Funcionarea Nmap
Scanarea ACK are drept principal scop determinarea tipurilor de reguli de filtrare folosite
de un firewall ce protejeaz destinaia. La finalul unei astfel de scanri se poate afla dac un
port destinaie este filtrat de o regul bazat pe monitorizarea strilor conexiunilor sau nu.
n acest scop, scanarea ACK trebuie rulat n conjuncie cu scanarea TCP SYN. Mai exact,
pentru un port ce a fost determinat ca fiind port filtrat n urma unei scanri TCP SYN, se va rula
scanarea ACK pentru a determina tipul regulii de filtrare folosit.
Pentru a verifica funcionarea scanrii, vor fi urmrite pachetele trimise n reea pentru 2
cazuri: port nchis i port deschis.
Cazul 1. Portul 10000 este nchis. Procesul de scanare a traficului prin:
kiwi:~# tcpdump -i eth1 tcp port 10001
S
ack
Scanarea de pachete a interceptat 2 pachete pentru portul n cauz: segmentul ACK trimis
de nmap i segmentul RST trimis drept rspuns.
4096
17:18:04.103089
IP
1214695285:1214695285(0) win 0
kiwi.cs.pub.ro.10001
>
cursuri.cs.pub.ro.38388:
Rezultatul scanrii ACK va fi acelai ca i n cazul portului nchis, diferene aprnd doar n
scanarea TCP SYN:
cursuri:~# nmap -sS -p 10001 -P0 -n 141.85.37.145
Starting nmap V. 2.54BETA31 ( www.insecure.org/nmap/ )
Interesting ports on (141.85.37.145):
Port
State
Service
10001/tcp open
unknown
Nmap run completed -- 1 IP address (1 host up) scanned in 0 seconds
cursuri.cs.pub.ro.63326
>
kiwi.cs.pub.ro.10001:
370 | R e e l e L o c a l e
17:19:29.124006
IP
kiwi.cs.pub.ro.10001
1412873701:1412873701(0) ack 680066282 win 5840 <mss 1460>
17:19:29.124164
IP
cursuri.cs.pub.ro.63326
680066282:680066282(0) win 0
10.3.2
>
>
cursuri.cs.pub.ro.63326:
kiwi.cs.pub.ro.10001:
Metasploit
371 | S e c u r i t a t e a r e e l e i
372 | R e e l e L o c a l e
getuid, kill, ps, reg pentru manipularea regitrilor) sau a interfeei grafice (idletime
uictl pentru activarea/dezactivarea interactivitii sistemului cu utilizatorul legitim).
Alte facilitai interesante ale Metasploit includ posibilitatea lansrii exploit-urilor printr-un
lan de servere proxy (testat de ctre comunitate cu 500 de servere) pentru mascarea sursei i
modulul autopwn care permite atacarea unui subnet ntreg din doar cteva comenzi prin
integrarea cu nmap i automatizarea primilor patru pai descrii anterior.
Un exemplu de vulnerabilitate n protocolul SMB (File Sharing) pe Windows XP este
prezentat mai jos:
1. Scanarea de porturi (nmap)
2. Scanarea de vulnerabiliti
nmap -sS 192.168.128.5
Starting Nmap 4.50 (http://insecure.org )
at 2008-09-11 19:04 E. Europe Daylight
Time
Interesting ports on 192.168.128.5:
Not shown: 1706 closed ports
PORT
STATE SERVICE
135/tcp
open
msrpc
139/tcp
open
netbios-ssn
445/tcp
open
microsoft-ds
1025/tcp open
NFS-or-IIS
5000/tcp open
UPnP
(1
host
up)
Name
---Automatic Targetting
Windows 2000 English
Windows XP English
Required
-------yes
yes
Description
----------The target address
Set the SMB service port
373 | S e c u r i t a t e a r e e l e i
Exploit target:
Id
-2
Name
---Windows XP English
>> set RHOST 192.168.128.5
RHOST => 192.168.128.5
Active sessions
===============
Id
-1
2
Description Tunnel
----------- -----Meterpreter 192.168.128.2:1831 -> 192.168.128.5:4444
VNC Server
192.168.128.2:1875 -> 192.168.128.5:4444
>> sessions -i 1
[*] Starting interaction with 1...
>> use Priv
Loading extension priv...
success.
>> help
ARP Poisoning
Unul dintre cele mai ntlnite i populare atacuri ntr-o reea comutat l reprezint atacul
ARP Poisoning. Switchul limiteaz mult capacitatea atacatorilor de a obine informaii din
traficul intern al reelei cu ajutorul unui packet sniffer. Totui, prin ARP poisoning se poate
intercepta traficul dintre oricare dou calculatoare, chiar i ntr-o reea ce folosete switchuri.
Dup cum sugereaz i numele, acest atac este format din dou pri: prima parte const n
manipularea tabelelor ARP a staiilor int, fiind urmat apoi de rutarea traficului ctre
374 | R e e l e L o c a l e
destinaia corect. Dac acest lucru nu se ntmpl, este produs un atac DoS ntre cele dou
staii victim (man-in-the-end).
ARP poisoning este procesul prin care staiile afectate dintr-o reea comutat vor ajunge
s posede intrri eronate n tabela ARP. Mai exact, n locul corespondenelor fireti ntre
diversele adrese IP i adresele MAC ale celorlalte staii din aceeai reea, o staie supus unui
atac bazat pe ARP poisoning va avea n tabela ARP doar asocieri ntre adrese IP ale staiilor din
aceeai reea local i o singur adres MAC n general cea a staiei ce a iniiat atacul.
n cele ce urmeaz se va descrie pas cu pas iniierea unui astfel de atac, ntr-o reea cu 3
staii, folosind utilitarul Cain&Abel (http://www.oxid.it/cain.html). Se dorete
interceptarea traficului dintre staiile A1 i A2 de ctre staia A3 (atacatorul).
A3
10.1.1.4
A2
10.1.1.3
A1
10.1.1.2
375 | S e c u r i t a t e a r e e l e i
cunoatem asocierile IP-MAC ale staiilor din reea, atacul fiind imposibil fr acestea. Acest
lucru se realizeaz prin click dreapta i alegerea opiunii Scan MAC Addresses.
376 | R e e l e L o c a l e
377 | S e c u r i t a t e a r e e l e i
Dat fiind faptul ca intrrile ntr-o tabel ARP expir, se pune problema dac faza iniial de
inundare cu pachete fictive trebuie repetat continuu. Rspunsul nu este chiar att de uor de
dat pentru c, dei soluia inundrii continue a reelei cu pachete fictive asigur funcionarea
staiei atacator ca proxy transparent, poate totui crea un overhead semnificativ, numrul de
pachete fictive trimise variind cu ptratul numrului de staii active.
Implicit, Cain trimite pachete ARP false la fiecare 30 de secunde, timp ce poate fi
configurat din meniul Configure. Tot de aici, se pot schimba adresele IP surs i MAC surs,
n scopul ascunderii identitii atacatorului.
10.4.2
Firewalking
378 | R e e l e L o c a l e
Retea
Protejata
INTERNET
STATIE
DESTINATIE
FIREWALL
ATACATOR
379 | S e c u r i t a t e a r e e l e i
4 (TTL 4): expired [193.19.194.202]
5 (TTL 5): expired [80.86.15.130]
6 (TTL 6): expired [80.86.16.183]
Binding host reached.
Scan bound at 7 hops.
Scanning Phase:
port 20: A! unknown (unreach ICMP_UNREACH_FILTER_PROHIB) [80.86.200.240]
port 21: *no response*
port 22: A! open (port listen) [80.86.200.240]
port 23: A! unknown (unreach ICMP_UNREACH_FILTER_PROHIB) [80.86.200.240]
port 24: *no response*
port 25: A! open (port not listen) [80.86.200.240]
port 80: A! unknown (unreach ICMP_UNREACH_FILTER_PROHIB) [80.86.200.240]
port 443: A! open (port not listen) [80.86.200.240]
Scan completed successfully.
Total
Total
Total
Total
Total
Total
Total
packets sent:
packet errors:
packets caught
packets caught of interest
ports scanned
ports open:
ports unknown:
3
14
0
13
12
8
3
380 | R e e l e L o c a l e
Cine este...
Robert Kahn este coautor, mpreun cu Vint Cerf, al protocoalelor TCP i IP care au
devenit protocoalele fundamentale n Internet. Proiectarea celor dou protocoale a avut n
vedere folosirea a dou niveluri n care TCP se ocup cu serviciile de asigurare a
conectivitii i a controlului fluxului. n prezent este preedintele CNRI (Corporation for
National Research Initiatives).
orientat conexiune: ntruct aplicaiile lucreaz mult mai uor cu servicii orientate conexiune,
iar nivelul reea nu ofer dect servicii fr conexiune, un astfel de serviciu este adesea utilizat;
controlul fluxului: deoarece memoria unui sistem este limitat, lipsa controlului fluxului ar
duce la congestionarea traficului iar sistemul nu ar putea reine suficient de mult informaie
pentru a o prelucra;
multiplexarea prin porturi: porturile reprezint mecanismul de baz prin care se pot adresa
mai multe entiti n cadrul aceleiai locaii (aceluiai sistem); aplicaiile de reea vor asculta
fiecare pe un port propriu primirea de informaii, motiv pentru care mai multe aplicaii pot rula
simultan.
n cadrul Internet-ului exist mai multe protocoale la nivelul transport, dar cele mai
utilizate sunt TCP i UDP. TCP este un protocol complex, furniznd un serviciu orientat pe
conexiune, controlul fluxului, porturi multiple, transmiterea datelor n ordine. UDP este un
serviciu simplu care lucreaz cu datagrame, furniznd doar multiplexarea prin porturi. Alte
protocoale sunt Datagram Congestion Control Protocol (DCCP) i Stream Control Transmission
Protocol (SCTP).
381 | P r o t o c o a l e d e n i v e l t r a n s p o r t
11.2 UDP
11.2.1
Caracteristici UDP
UDP (User Datagram Protocol)1 este un protocol de nivel transport construit special
pentru a oferi un serviciu de comunicare ct mai simplu peste IP.
Cteva caracteristici ale UDP-ului sunt:
este un serviciu de tip datagram: cererile de trimitere de date primite de la nivelul superior
sunt tratate independent;
comunicarea are loc fr stabilirea unei legturi (connectionless): nu exist mecanisme de
stabilire i terminare a unei conexiuni; toate datele sunt trimise n cadrul unui singur pachet IP,
care eventual va fi supus fragmentrii;
nu se garanteaz faptul c datele vor ajunge la destinaie (best effort): ajungerea la destinaie a
datelor nu este anunat sursei;
datele transportate sunt protejate de o sum de control (caracteristic opional iniial dar
trecut ca necesar (must)2);
ncrcarea suplimentar (overhead-ul) introdus este minim: doar 8 octei.
servicii de rezolvare a numelor (DNS): ntrebrile i rspunsurile scurte pot fi mai eficient
implementate peste UDP;
fluxuri multimedia: mecanismele complicate de control al fluxului ale TCP-ului ar deprecia
interactivitatea;
server de fiiere (NFS): acest tip de aplicaii sunt n general rulate n reele locale cu
performane ridicate care nu necesit mecanismele TCP;
BitTorrent;
managementul reelei (SNMP);
protocoale de rutare (RIP).
11.2.2
Datagramele UDP sunt formate dintr-un antet urmat de datele care se doresc transmise
(dac exist).
port surs - 16 bii; mpreun cu adresa IP a sursei, acest numr identific n mod unic
expeditorul datagramei UDP;
port destinaie - 16 bii; mpreun cu adresa IP a destinaiei, acest numr identific n mod unic
destinaia dorit pentru datagrama UDP;
1
http://tools.ietf.org/html/rfc768
http://tools.ietf.org/html/rfc1122
382 | R e e l e L o c a l e
lungimea datagramei UDP - 16 bii; Lungimea considerdatagrama UDP cu tot cu antet i prin
urmare are o valoare minim de 8 octei.
sum de control - 16 bii; Suma de control acoper ntreaga datagram UDP ct i un pseudoantet de 12 octei format din:
o
o
o
o
o
Suma de control este calculat ca numrul de cuvinte de 16 bii incluse n pachet. Fiind
numr multiplu de 16 bii, la sfritul datelor se adaug un numr potrivit de bii de zero. Dac
suma este 0 atunci ea va fi stocat ca 65535 (toi biii pe 1). Un 0 n cmpul sumei de control
indic faptul c suma de control nu a fost calculat. Observaie: chiar dac un client are inhibat
(n mod explicit) calculul sumei de control, el este obligat s verifice suma pachetelor care
sosesc i au suma calculat.
Porturi
Cmpul asociat porturilor are 16 bii, deci valorile posibile sunt cuprinse ntre 0 i 65535.
Portul 0 este rezervat, dar este un port surs permis dac procesul transmitor nu ateapt
mesaje de rspuns.
Porturile cuprinse ntre 1 i 1023 sunt porturi rezervate (aa zisele known ports); pe un
sistem Unix folosirea unuia din aceste porturi necesit drepturi privilegiate (drepturi de root).
Porturile cuprinse ntre 1024 i 49151 sunt porturile nregistrate (folosite de Kazaa, Java
RMI Registry, servere SQL, etc.).
Porturile cuprinse ntre 49152 i 65535 sunt porturi efemere i sunt utilizate ca porturi
temporare, de obicei de ctre clienii care comunic cu serverele.
11.3 TCP
11.3.1
Caracteristici TCP
Deoarece protocolul IP este de tip datagram, utilizarea lui direct n aplicaii, care n
general au nevoie de conexiuni sigure, este mult prea anevoioas. Din aceste motive peste IP a
fost construit un alt protocol, TCP (Transmission Control Protocol), care corecteaz aceste
probleme. TCP1 devine astfel, alturi de IP, protocolul de baz utilizat n Internet. Cele dou
protocoale sunt reprezentative pentru stiva de protocoale de facto ce guverneaz
funcionarea Internet-ului.
Alturi de UDP, TCP se situeaz pe nivelul transport n ierarhia de protocoale, deci ntre
nivelul aplicaie i nivelul reea. Cu toate c se bazeaz pe acelai protocol (IP) ca i UDP, TCP
furnizeaz ctre nivelul aplicaie cu totul alt tip de servicii: servicii orientate-conexiune, sigure,
de tip flux de octei.
Termenul orientat-conexiune presupune c ntre cele dou aplicaii care comunic
utiliznd TCP trebuie s se stabileasc o conexiune nainte ca transferul de date s aib loc.
Aceast conexiune nu este una fizic ci virtual. Tipul de conexiune este asemntor cu
sistemul de telefonie clasic: o persoan formeaz un numr i abia n momentul n care
cealalt persoan rspunde se poate ncepe conversaia. Fiind o conexiune punct la punct, nu
exist noiunile de broadcast sau multicast.
Transferul sigur de date este asigurat n urmtorul mod:
1
http://tools.ietf.org/html/rfc1122; http://tools.ietf.org/html/rfc793
383 | P r o t o c o a l e d e n i v e l t r a n s p o r t
Datele sunt mprite n fragmente a cror dimensiune optim e determinat de TCP, spre
deosebire de UDP care trimite datagrame UDP corespunztoare cu dimensiunea datelor
primite de la nivelul aplicaie. Unitatea de date trimis de TCP ctre nivelul reea poart
numele de segment.
Cnd TCP trimite un segment pornete un timer i, dac nu se primete confirmarea
segmentului respectiv ntr-un anumit timp, l retransmite.
n momentul n care se primete un segment, TCP trimite o confirmare (din motive de eficien
aceasta poate fi amnat un anumit interval de timp).
n headerul TCP este meninut o sum de control pentru detectarea modificrilor n date.
Dac se recepioneaz un segment corupt, TCP l ignor urmnd s fie retransmis datorit
neprimirii confirmrii.
Deoarece segmentele TCP sunt transmise mai departe ncapsulate n datagrame IP, acestea pot
ajunge n alt ordine dect cea n care au fost trimise. Acest lucru se ntmpl din cauz c
protocolul IP lucreaz cu pachete de date, fr a garanta transmiterea acestora n ordine. Din
acest motiv, la destinaie, TCP folosete numere de secven pentru a reordona segmentele
nainte de a le livra ctre nivelul aplicaie. De asemenea, TCP asigur ignorarea duplicatelor.
TCP asigur controlul fluxului n condiiile n care viteza de trimitere a datelor la surs poate fi
mult mai mare dect capacitatea de prelucrare la destinaie.
Serviciul oferit de TCP este de tip flux de octei deoarece ofer garanii c fluxul de date
trimis de surs va fi livrat fr modificri la destinaie. Comparativ, UDP produce pentru
fiecare transfer cerut de nivelul aplicaie un pachet IP (care ulterior poate fi supus
fragmentrii) care, dac ajunge la destinaie corect (cu suma de control valid), va fi livrat
direct nivelului aplicaie fr a garanta n vreun fel ordinea.
TCP suport cea mai mare parte din apliciile cele mai populare ale Internet-ului, incluznd
World Wide Web, E-mail, Secure Shell, etc. La nceputul secolului 21, TCP este folosit
preponderent n pachetele care circul n Internet. Larga sa rspndire este dovada viziunii de
excepie pe care proiectanii protocolului au avut-o la nceputul anilor `80.
11.3.2
384 | R e e l e L o c a l e
11.3.3
Dupa cum se poate observa din cmpurile antetului, protocolul TCP este un protocol
complex. O dovad este numrul mare de RFC-uri care se refer la acest protocol. Pentru o
mai uoar i mai bun nelegere a acestuia, urmtoarele seciuni vor prezenta
funcionalitatea protocolului n paralel cu interfaa de programare cu sockei Berkeley,
devenit interfaa universal de programare a aplicaiilor de reea.
385 | P r o t o c o a l e d e n i v e l t r a n s p o r t
11.3.3.1
Interfaa socket
Apelul socket specific protocolul de nivel 3 (IP PF_INET) i protocolul de nivel 4 (TCP
IPPROTO_TCP). Apelul bind specific celelalte dou componente ale tuplului ce definete un
socket: adresa IP i portul TCP (se regsesc n cmpurile structurii addr).
nc de la apariia TCP i a interfeei socket, modelul de comunicaie utilizat a fost modelul
client-server. n cadrul acestui model, un sistem creeaz un socket i ateapt iniierea unei
conexiuni de pe un alt sistem; socketul se cheam socket n starea listening i este specific
serverului, iar sistemul care iniiaz conexiunea este clientul.
Cei doi socketi (socketul client i socketul server) se creeaz conform modelului de mai sus.
n continuare, socketul server este plasat n starea listening, iar socketul client va iniia
conexiunea. Pentru server, se utilizeaz apelurile listen i accept, iar pentru client apelul
connect, ca mai jos:
/* server */
listen (server_sock, 10);
new_sock = accept (server_sock, &cli_addr, &cli_addr_len);
/* client */
connect (client_sock, &serv_addr, &serv_addr_len);
Foreign Address
0.0.0.0:*
0.0.0.0:*
0.0.0.0:*
0.0.0.0:*
0.0.0.0:*
0.0.0.0:*
0.0.0.0:*
0.0.0.0:*
0.0.0.0:*
0.0.0.0:*
State
LISTEN
LISTEN
LISTEN
LISTEN
LISTEN
LISTEN
LISTEN
LISTEN
LISTEN
LISTEN
Adresa 0.0.0.0 indic faptul c socketul n cauz ascult pe toate interfeele sistemului;
este echivalentul macrodefiniiei INADDR_ANY pus la dispoziie de interfaa de programare
cu sockei.
386 | R e e l e L o c a l e
11.3.3.2
Folosirea apelului connect din cadrul aplicaiei client conduce la iniierea unei conexiuni
TCP ntre client i server, numit cerere activ de conexiune (active open). Modul de
transmisie pentru TCP este full-duplex, existnd dou canale de comunicaie (cte unul pentru
fiecare direcie). Acest lucru nseamn, c dup iniierea conexiunii, att serverul ct i clientul
au rol dual: transmitor i receptor; vor trebui iniiate dou sesiuni de comunicare: clientserver i server-client. Protocolul de iniiere poart numele de three-way handshake i este
prezentat n figura de mai jos:
Clientul transmite un segment de sincronizare (flag-ul SYN activat) pentru iniierea unei
conexiuni. Orice segment SYN conine i un numr de secven. Se consider c numrul de
secven este x.
Serverul primete segmentul, reine numrul de secven x transmis de client i rspunde cu
un segment n care sunt activate flag-urile SYN i ACK. Flag-ul ACK valideaz prezena
numrului de confirmare. Numrul de confirmare este urmtorul numr de secven pe care
server se ateapt s-l primeasc de la client, adic x+1. Serverul folosete flag-ul SYN pentru a
387 | P r o t o c o a l e d e n i v e l t r a n s p o r t
iniia o sesiune de rspuns, astfel nct segmentul TCP conine propriul numr de secven cu
valoarea y.
Clientul rspunde cu urmtorul numr de secven (x+1) i un numr de confirmare (y+1), care
este numrui de secven al serverului incrementat cu 1. Clientul se ateapt ca numrul de
secven urmtor trimis de server s fie y+1.
n exemplul de mai sus, att serverul ct i clientul ruleaz pe acelai sistem (localhost
127.0.0.1). Serverul ascult conexiuni pe portul 3456, iar clientul iniiaz conexiunea de pe
portul 36583. Cele 3 segmente corespund celor 3 pai ai protocolului de iniiere:
n cadrul primului segment, transmis de client serverului, flag-ul SYN este activat (prezena
simbolului S semnific prezena flag-ului SYN). Numrul de secven este 2248547107.
Serverul rspunde clientului cu flag-urile SYN i ACK activate (prezena simbolului ack
semnific prezena flag-ului ACK). Numrul de secven pentru sesiunea de rspuns iniiat de
server este 2238475525; prezena flag-ului ACK valideaz numrul de confirmare, care este
2248547108 (2248547107 + 1), adic tocmai numrul de secven din segmentul transmis de
client incrementat.
Clientul rspunde cu un segment cu flag-ul ACK activat. Numrul de confirmare este, conform
ateptrilor, 2238475526 (2238475525 + 1).
Numerele de secven utilizate pentru stabilirea celor dou sesiuni sunt numere generate
aleator.
Exist, ns, i scenarii n care protocolul de comunicaie poate eua. Astfel, unele cereri de
conexiune pot fi respinse, sau pot fi pierdute pe drum, sau pot fi filtrate. Daca se ncearc
conectarea pe un port inexistent, sistemul de operare va reseta conexiunea prin utilizarea
flag-ului RST. n exemplul de mai jos, clientul ncearc conectarea pe un astfel de port:
IP 127.0.0.1.43550 > 127.0.0.1.3456: S 3689144420:3689144420(0)
16396,sackOK,timestamp 3271474 0,nop,wscale 2>
IP 127.0.0.1.3456 > 127.0.0.1.43550: R 0:0(0) ack 3689144421 win 0
win
32767
<mss
691948505:691948505(0)
win
32767
<mss
691948505:691948505(0)
win
32767
<mss
691948505:691948505(0)
win
32767
<mss
691948505:691948505(0)
win
32767
<mss
691948505:691948505(0)
win
32767
<mss
388 | R e e l e L o c a l e
11.3.3.3
Transferul de date
Dup cum s-a precizat anterior, la nivelul interfeei socket conexiunea este stabilit n
momentul n care socketul server se gsete n starea listening dup apelul accept, iar clientul
iniiaz conexiunea folosind connect. n momentul n care conexiunea este realizat
(protocolul de iniiere a conexiunii se ncheie cu succes), apelul accept ntoarce descriptorul
unui nou socket. Acest nou socket este cel care va coordona transferul de date ntre client i
server. Cu alte cuvinte, socketul aflat n starea listening este utilizat numai pentru ascultarea
de cereri de iniiere de conexiune, urmnd ca, ulterior stabilirii conexiunii, transferul de date
s fie intermediat de un alt socket. O alt conexiune presupune crearea unui nou socket.
Fiecare socket nou creat va fi folosi acelai port ca i socketul listener. Deosebirea ntre sockei
este dat de socketul client. n funcie de adresa IP i portul socketului peer se realizeaz
multiplexarea conexiunii. Sistemul de operare va menine o asociere ntre conexiunea
realizat de ctre server cu un client i socketul care realizeaz comunicaia efectiva pentru a
putea transmite informaiile ctre/de la acesta din urm.
Majoritatea serverelor limiteaz numrul de conexiuni active la un moment dat. Un numr
mare de conexiuni nseamn un numr mare de sockei care consum resursele sistemului.
Deschiderea unui numr mare de conexiuni este un atac tipic Denial of Service (DoS). Un astfel
de atac este SYN flood care deschide un numr mare de conexiuni pe un sistem.
Transferul de date folosind interfaa socket se realizeaz folosind apelurile send i recv
(sau read i write), ca mai jos:
/* server dupa accept */
read (new_sock, buffer, 1000);
Pentru transmiterea i recepia a cte 1000 octei att de ctre client ct i de ctre
server, pachetele transmise sunt afiate de tcpdump ca mai jos:
IP 127.0.0.1.3456 > 127.0.0.1.33552: P 1272511013:1272512013(1000) ack 1265612124 win
32767 <nop,nop,timestamp 78548047 78548047>
IP 127.0.0.1.33552 > 127.0.0.1.3456: . ack 1272512013 win 32767 <nop,nop,timestamp
78548047 78548047>
IP 127.0.0.1.33552 > 127.0.0.1.3456: P 1265612124:1265613124(1000) ack 1272512013 win
32767 <nop,nop,timestamp 78548048 78548047>
IP 127.0.0.1.3456 > 127.0.0.1.33552: . ack 1265613124 win 32767 <nop,nop,timestamp
78548048 78548048>
389 | P r o t o c o a l e d e n i v e l t r a n s p o r t
11.3.3.4
Pentru terminarea unei conexini TCP sunt necesare patru segmente TCP pentru a nchide
complet o conexiune. Acesta este un protocol four-way handshake. Sunt necesare patru
segmente deoarece TCP este un protocol full-duplex, nsemnnd c fiecare capt trebuie nchis
independent. Pentru nchiderea unui capt al conexiunii se transmite un segment cu flag-ul
FIN activat, iar cellalt capt i rspunde cu un segment de confirmare (flag-ul ACK activat).
Drept urmare, o nchidere complet a unei conexiuni TCP necesit o pereche de segmente FIN
i ACK de la fiecare capt. Protocolul de terminare este prezentat mai jos:
390 | R e e l e L o c a l e
IP 127.0.0.1.1234 > 127.0.0.1.32929: F 3134999211:3134999211(0) ack 3127227424 win 32767
<nop,nop,timestamp 21011630 21011608>
IP 127.0.0.1.32929 > 127.0.0.1.1234: . ack 3134999212 win 32767 <nop,nop,timestamp
21011630 21011630>
Resetarea conexiunii
Exist situaii n care TCP dorete resetarea conexiunii - de exemplu, dac se solicit
iniierea unei conexiuni la un port inexistent. n acest caz, cealalt parte va trimite un segment
cu bitul RST setat pentru a anula solicitarea. O alt situaie este atunci cnd se constat c
cellalt capt al conexiunii nu rspunde un anumit timp (timeout).
391 | P r o t o c o a l e d e n i v e l t r a n s p o r t
11.3.3.5
Diagrama de stri
392 | R e e l e L o c a l e
Att serverul ct i clientul TCP se pot afla n oricare din cele 11 stri ale diagramei.
11.3.4
Controlul fluxului
393 | P r o t o c o a l e d e n i v e l t r a n s p o r t
11.3.4.1
ntrzierea confirmrilor
O modalitate simpl de generare a confirmrilor este de a trimite cte una pentru fiecare
segment primit. Aceast politic prezint avantajul de a face comunicaia self-clocking
(folosindu-se ceasul intern) ns este ineficient dac segmentele care nu conin dect
confirmri sunt urmate la scurt distan (cteva zeci de milisecunde) de segmente ce conin
date efective. Pentru a evita aceast situaie se procedeaz la ntrzierea segmentelor care
conin doar confirmri (valoarea uzual fiind de 200ms). Aceast strategie face posibil ca un
rspuns generat de primirea unor date s plece spre cellalt capt n acelai segment cu
confirmarea.
Deoarece este dificil s fie meninute timere pentru fiecare confirmare, diferena de
200ms este calculat de un timer global la nivel de sistem. Din acest motiv, modul efectiv de
comportare poate fi descris astfel: cnd un segment nu conine dect o confirmare, este
adugat ntr-o coad ce va fi inspectat de un proces care din 200 n 200 ms trimite tot ce s-a
acumulat n coad.
11.3.4.2
Algoritmul Nagle
11.3.4.3
Fereastra glisant
394 | R e e l e L o c a l e
n situaia n care confirmrile pentru pachetele din categoria 2 ntrzie prea mult (un
mecanism de timere informeaz asupra acestui lucru) atunci ele vor fi retransmise. n
versiunea iniial TCP-ul nu permitea dect confirmri pozitive, ceea ce nseamn c
avansarea ferestrei se va opri la segmentele neconfirmate. O modalitate de a evita aceste
situaii va fi prezentat n detaliu n seciunile urmtoare. O soluie foarte radical o constituie
introducerea de confirmri selective. Aceast modific face ca TCP-ul actual s fie un hibrid de
Go-Back-N i Selective Repeat.
Deoarece dimensiunea ferestrei este anunat la fiecare segment, un client lent poate ca
pe msur ce trimite confirmrile s informeze despre progresul nregistrat la livrarea datelor
ctre nivelul aplicaie. Dac datele vin prea repede pentru viteza cu care clientul proceseaz
datele, fereastra se va diminua i chiar nchide (acest lucru se realizeaz anunnd o fereastr
de dimensiune zero).
11.3.4.4
Evitarea congestiei
Dac cei doi parteneri care comunic prelucreaz datele suficient de repede i vor s
transfere un volum mare de date, atunci limitarea de care se vor lovi este cea dat de viteza
reelei. Din cauza modului de funcionare best-effort pe care l ofer IP, atunci cnd canalul de
comunicaie este saturat, o parte din segmentele TCP se pierd. n mod paradoxal att
transmitorul ct i receptorul se pot afla n poziia de a fi primii n detectarea pierderii unui
segment. Unul din indiciile date de transmitor despre pierderea unui segment este, n mod
evident, apariia unui timeout a timer-ului de retransmisie. La nivelul receptorului un indiciu al
posibilei pierderi a unui segment este primirea unor segmente cu date neordonate (out-oforder). Deoarece TCP n varianta iniial nu permite dect confirmri pozitive, singurul lucru pe
care receptorul l poate face este ca la fiecare segment out-of-order primit s trimit o
confirmare indicnd prin aceasta c la el continu s vin segmente ns cel indicat de numrul
de secven de confirmare lipsete.
Primirea acestor confirmri multiple este al doilea mod n care transmitorul poate afla
de apariia congestiei.
Algoritmul ce trebuie aplicat n momentul n care se detecteaz apariia congestiei este
cunoscut sub numele de evitarea congestiei (congestion avoidance). Principiul care st la
baza acestuia este ca la apariia congestiei fie s se treac la o incrementare liniar a
dimensiunii ferestrei, n cazul n care congestia a fost detectat ca urmare a primirii unor
confirmri identice repetate, fie s se reia algoritmul slow start-ului n cazul n care congestia
s-a detectat prin expirarea unui timer. Implementarea acestui algoritm se bazeaz pe utilizarea
unui nou contor (sstresh) care s indice dimensiunea ferestrei de la care se trece de la
incrementarea exponenial la cea liniar. Algoritmul efectiv este urmtorul:
1. la stabilirea unei noi conexiuni se pleac cu sstresh iniializat la valoarea de 64K i cwnd la
dimensiunea unui segment.
2. trimiterea de segmente se face fr a depi minimul dintre fereastra publicat de partener
(pentru a nu depi capacitatea de procesare a partenerului) i cwnd curent (pentru a nu
depi limita impus de capacitatea reelei).
3. la apariia congestiei sstresh este configurat la jumtatea valorii ferestrei curente (minimul
dintre fereastra anunat de partener i cwnd ns cel puin dimensiunea corespunztoare
pentru dou segmente); n cazul n care congestia a fost detectat prin expirarea unui timer,
cwnd este iniializat cu dimensiunea unui segment.
4. la primirea unei confirmri incrementarea se face n dou moduri, n funcie de relaia n care
se afl cwnd i sstresh:
o
o
cnd cwnd stee mai mic sau egal cu sstresh se face incrementarea exponenial caracteristic slow
start-ului (care de fapt nu este deloc slow, n cazul de fa).
cnd cwnd este mai mare ca sstresh atunci se face o incrementare cu dimensiunea unui segment.
395 | P r o t o c o a l e d e n i v e l t r a n s p o r t
11.3.4.5
dac o staie primete segmente de keepalive despre conexiuni care nu mai sunt active (de
exemplu au fost resetate) atunci va rspunde cu segmente de reset (acesta e un procedeu
standard);
RFC 1122 specific faptul c facilitatea de keepalive trebuie activat n mod explicit.
La o dimensiune de 1473 ar trebui ca trimiterea s genereze dou pachete IP: unul care s
conin primii antetul UDP plus primii 1472 octei de date i nc un pachet IP care conine un
singur octet. Iat ce indic tcpdump-ul:
18:26:05.705813 frodo.noi > athos.noi: udp (frag 36274:1@1480) (ttl 64, len 21)
18:26:05.706116 frodo.noi.33274 > athos.noi.50007: udp 1473 (frag 36274:1480@0+) (ttl
64, len 1500)
396 | R e e l e L o c a l e
primul conine doar un singur octet de date i reprezint ultimul fragment (bitul more
fragments este dezactivat) dintr-o datagram UDP (din antetul IP se poate determina acest
lucru) care a fost spart n buci; deplasamentul octetului primit n datagrama original este
1480;
al doilea pachet este primul fragment din datagrama UDP i conine antetul UDP (din cauza
asta datele efective ocup doar 1480 octei); deplasamentul este 0 i bitul de more
fragments este activat (acest lucru este indicat de semnul + de dup deplasament)
Ambele pachete poart acelai numr de identificare (36274). Acest lucru, mpreun cu
informaiile date de flag-ul more fragments, permite reconstrucia la destinaie a datagramei
UDP originale. O problem a acestui mod de fragmentare este c n cazul pierderii unui
fragment ntreaga datagram va fi compromis i va trebui retrimis n ntregime.
Ce se va ntmpla dac se va ncerca trimiterea unei datagrame UDP suficient de mare
pentru a necesita spargerea n trei buci? Mai jos este reprezentat un transfer de 2973 de
octei:
13:21:08.251495 frodo.noi > athos.noi: udp (frag 23522:1@2960) (ttl 64, len 21)
13:21:08.251795 frodo.noi > athos.noi: udp (frag 23522:1480@1480+) (ttl 64, len 1500)
13:21:08.251935 frodo.noi.32843 > athos.noi.50007: udp 2953 (frag 23522:1480@0+) (ttl
64, len 1500)
frodo.noi > athos.noi: udp (frag 23523:1@16280) (ttl 64, len 21)
frodo.noi > athos.noi: udp (frag 23523:1480@14800+) (ttl 64, len 1500)
frodo.noi > athos.noi: udp (frag 23523:1480@13320+) (ttl 64, len 1500)
frodo.noi > athos.noi: udp (frag 23523:1480@11840+) (ttl 64, len 1500)
frodo.noi > athos.noi: udp (frag 23523:1480@10360+) (ttl 64, len 1500)
frodo.noi > athos.noi: udp (frag 23523:1480@8880+) (ttl 64, len 1500)
frodo.noi > athos.noi: udp (frag 23523:1480@7400+) (ttl 64, len 1500)
frodo.noi > athos.noi: udp (frag 23523:1480@5920+) (ttl 64, len 1500)
frodo.noi > athos.noi: udp (frag 23523:1480@4440+) (ttl 64, len 1500)
frodo.noi > athos.noi: udp (frag 23523:1480@2960+) (ttl 64, len 1500)
frodo.noi > athos.noi: udp (frag 23523:1480@1480+) (ttl 64, len 1500)
frodo.noi.32843 > athos.noi.50007: udp 16273 (frag 23523:1480@0+) (ttl
397 | P r o t o c o a l e d e n i v e l t r a n s p o r t
ntrebri
398 | R e e l e L o c a l e
399 | P r o t o c o a l e d e n i v e l t r a n s p o r t
12 Anexe
12.1 Anexa 1: Instalare Windows Server 2008
12.1.1
Versiuni
Microsoft Windows Server 2008 a ieit pe pia n mai multe variante, orientate spre a
acoperi o gam ct mai larg de utilizatori, infrastructuri i tehnologii. n cele ce urmeaz, vor
fi prezentate variantele sub care Windows Server 2008 este disponibil la momentul scrierii
acestei cri:
Windows Server 2008 Web Edition: Conceput ca o simpl platform IIS (Internet Information
Services) capabil de a gzdui pagini i aplicaii web, oferind suport pentru servicii XML1
(eXtensible Markup Language), inclusiv ASP2 (Active Server Pages) i platforma .NET3.
Windows Server 2008 Standard Edition: Conceput pentru mediul SMB-uri (Small and Medium
Business); suport partajarea fiierelor i a imprimantelor n reea i poate lucra cu pn la 4
procesoare i 4 GB RAM.
Windows Server 2008 Datacenter Edition: Conceput pentru infrastructuri cu cerine mari de
securitate i redundan i pentru sisteme cu putere mare de procesare. Suport pn la 64 de
procesoare i 2 TB RAM n varianta pe 64 de bii.
Windows Server 2008 Enterprise Edition: Adresat mediului medium to large business. Suport
pn la 8 procesoare i 64 GB RAM (pe 32 de bii) i ofer servicii avansate de clustering4 i
virtualizare5.
Windows Storage Server 2008: Conceput ca o platform specializat pentru administrarea NAS
(Network Attached Storage) i optimizat pentru serviciile de partajare de fiiere i imprimante
n medii SAN (Storage Area Network)6.
Windows Server 2008 for Itanium-Based Systems: Procesoarele Intel Itanium pe 64 de bii
necesit aceast versiune particular de Windows Server 2008 pe sistemele pe care sunt
instalate.
Windows HPC Server 2008: Optimizat pentru sisteme HPC (High Performance Computing).
Poate scala pn la cteva mii de noduri de procesare i ofer metode avansate de
monitorizare a sistemelor. De asemenea, este specializat n programarea i distribuirea joburilor de procesare, putnd comunica deopotriv cu platforme HPC bazate pe Linux.
Windows Server 2008 Standard Without Hyper-V
Windows Server 2008 Enterprise Without Hyper-V
Windows Server 2008 Datacenter Without Hyper-V
http://www.w3.org/XML/
http://www.asp.net/
3
http://www.microsoft.com/NET/
4
http://en.wikipedia.org/wiki/Computer_cluster
5
http://en.wikipedia.org/wiki/Virtualization
6
http://en.wikipedia.org/wiki/Storage_area_network
7
http://www.microsoft.com/windowsserver2008/en/us/hyperv.aspx
2
400 | R e e l e L o c a l e
12.1.2
Considerente generale
Unul dintre avantajele majore pe care instalarea de Windows Server 2008 l ofer fa de
versiunile precedente din seria Server este faptul c instalarea necesit o interaciune
minimal din partea administratorului pe parcursul ei. Ceea ce Microsoft a numit unattended
installation reprezint posibilitatea de a configura toi parametrii de instalare de la nceput,
urmnd ca instalarea s se execute pn la punctul de pornire a serverului fr a mai necesita
date suplimentare cum ar fi configurarea numelui sistemului, a unui domeniu, a conexiunilor
de reea, a zonei, etc. Acest tip de instalare se ntlnete i n cazul lui Vista.
Windows Server 2008 ofer dou tipuri generale de instalare: o instalare complet sau o
variant redus a celei complete, care nu ofer GUI (Graphical User Interface) ci doar accesul
prin intermediul unui terminal, din care lipsesc anumite servicii ce nu sunt necesare
funcionrii serverului i conine doar acele faciliti importante pentru rolurile pe care le va
deservi instalarea respectiv, spre exemplu Active Directory sau Domain Name System (DNS).
Acest tip de instalare, denumit Server Core, a fost conceput pentru a necesita un overhead
minimal pentru funcionare i este des ntlnit n arhitecturi de tip cluster1.
Ca practic general, este recomandabil ca nainte de instalarea oricrui sistem de operare
de tip server s se realizeze o hart a reelei n care acestea vor funciona, innd cont de:
12.1.3
Cerine hardware
Poate n mod surprinztor, cerinele hardware pentru rularea lui Windows Server 2008 se
situeaz puin sub nivelul celor cerute de Vista, fapt explicabil prin gama extrem de redus de
servicii active imediat dup instalare i, bineneles, prin faptul c toate rolurile (cu serviciile
aferente) pe care o instalare de server le poate ndeplini sunt complet opionale i inactive de
la prima lansare. Evident, la polul complet opus se afl Vista, care i sufoc practic
utilizatorii cu servicii de care doar o mic parte dintre acetia au nevoie.
Cerinele hardware oficiale pentru diversele variante de Windows Server 2008 sunt
prezentate mai jos:
1
http://en.wikipedia.org/wiki/Computer_cluster
401 | P r o t o c o a l e d e n i v e l t r a n s p o r t
Procesor:
o
o
o
o
Memorie:
o
o
o
o
o
Minim: 1GHz
Recomandat: 2 GHz
Optim: 3GHz sau mai mult
Procesor Intel Itanium 2 pentru varianta corespunztoare de Windows Server 2008
Minim: 512 MB
Recomandat: 1 GB
Optim: 2 GB pentru instalarea complet sau 1 GB pentru instalarea Server Core
Maxim (pe 32 de bii): 4GB (varianta Standard) sau 64 GB (variantele Enterprise i Datacenter)
Maxim (pe 64 de bii): 32 GB (varianta Standard) sau 2 TB (variantele Enterprise, Datacenter i pe
sistemele Itanium)
Spaiu pe disc:
o
o
o
12.1.4
Minim: 8 GB
Recomandat: 40 GB (instalare complet) sau 10 GB (Server Core)
Optim: 80 GB (instalare complet) sau 40 GB (Server Core) i mai mult
Instalarea propriu-zis
12-1
2. Clic pe Install now pentru a ncepe procesul de instalare. Tot aici se vor putea accesa i
utilitarele de recuperare (Repair your computer).
3. n acest stadiu se poate introduce cheia de activare. Dac se dorete doar testarea produsului
sau nu se dorete o instalare definitiv, cheia de activare se poate completa ulterior instalrii
402 | R e e l e L o c a l e
sistemului.De asemenea, n acest caz, trebuie debifat cmpul Automatically activate Windows
when Im online.
4. n continuare trebuie selectat varianta dorit de instalare (Standard sau Enterprise n varianta
MSDNAA)
12-2
5. Se va selecta tipul de instalare dorit (Full installation sau Server core)
6. Se va alege dac instalarea care urmeaz s fie fcut este sub form de upgrade sau nu. De
remarcat faptul c opiunea de upgrade nu se va vedea activ dect dac s-a iniiat procedura
de instalare dintr-o versiune precedent de Windows.
7. Dac hard disk-ul este detectat automat, se va putea crea i formata partiia necesar pentru
instalare (alturi de celelalte partiii). Dac discul nu este detectat, cel mai probabil driver-ul
pentru controller nu este ncorporat n Windows, caz n care acesta va putea fi instalat cu un
clic pe Load driver.
8. Dup parcurgerea acestor pai, Windows va continua instalarea fr a mai cere informaii
suplimentare, iar la final va lansa sistemul nou instalat.
Activare: Varianta de Windows Server 2008 obinut prin intermediul MSDNAA poate
funciona 60 de zile fr activare.
403 | P r o t o c o a l e d e n i v e l t r a n s p o r t
12-3
12.1.5
Configurri iniiale
Dup terminarea instalrii se afieaz fereastra de Initial configuration tasks. Multe dintre
opiunile disponibile aici fceau parte din informaiile intermediare, cerute pe parcursul
instalrii, la versiunile anterioare de Windows. Iat un scurt rezumat al lor:
Setarea parolei de administrator: n acest punct, parola trebuie s fie deja setat, nc de la
prima intrare n sistem. Schimbarea ei se poate face i de aici.
Setarea fusului orar
Configurarea reelei: Prin intermediul paginii Network connections din Control panel; pot fi
configurate mai multe interfee de reea.
Nume i domeniu: Configurarea unui nume pentru sistem ct i specificarea unui domeniu al
cruia acesta s fie membru.
Feedback: Configurri pentru Windows Update, Windows Error Reporting i Customer
Experience Improvement Program (CEIP). Atenie la conformitatea acestora cu politicile interne
ale companiei, n cazul n care instalarea se face ntr-un mediu enterprise.
Actualizri automate: Windows Update ar trebui s aib dreptul s actualizeze sistemul atunci
cnd sunt disponibile patch-uri, n afara cazului n care deinei un sistem de management al
patch-urilor. Atenie la configurrile care ar putea cauza restartarea automat a sistemului n
urma instalrii de patch-uri.
Adugarea rolurilor: Rolurile reprezint scopurile n care va funciona serverul i, implicit,
serviciile pe care acesta le va furniza. Printre roluri se numr DNS, DHCP, IIS, firewall, etc.
Adugarea de caracteristici (features): Interfaa din Windows Server 2008 nlocuiete vechea
interfa denumit Add/Remove Windows Components de la Add/Remove Programs din
Control Panel, n versiunile anterioare de Windows. Printre atribute, se enumer: serviciul de
wireless, PowerShell, platforma .NET 3.0, interfaa Aero Glass, etc.
404 | R e e l e L o c a l e
Activare Remote Desktop: Windows poate fi administrat de la distan, n mod grafic, prin
intermediul serviciului de Remote Desktop.
Configurare Windows Firewall: Permite activarea sau dezactivarea firewall-ului ncorporat n
Windows Server 2008, adugarea de programe sau porturi ca excepii i alte opiuni legate
strict de conexiunile ce aparin sistemului, asemntor firewall-ului din Windows XP. Cu alte
cuvinte, nu vei configura de aici regulile de filtrare a pachetelor pentru un server ce
funcioneaz ca router/firewall, spre exemplu.
Setarea iniial a parolei: n mod normal, Windows Server 2008 oblig setarea parolei de
administrator la prima intrare n sistem. Aceasta trebuie s aib cel puin 8 caractere i s
conin cel puin trei elemente distincte dintre urmtoarele: litere mari, litere mici, cifre sau
semne de punctuaie.
Dup nchiderea ferestrei de Initial Configuration Tasks, este pornit automat interfaa
Server Manager. Acesta se intergreaz cu toate serviciile i facilitile sistemului, pentru
centralizarea i uurarea administrrii.
Recuperarea parolei: Dac se dorete schimbarea parolei administratorului folosind CtrlAlt-Del i alegnd Change a password, se va putea observa un link, sub cmpul de parol,
numit Create a password reset disk care este totodat legtura spre procedura Forgotten
Password Wizard, accesibil i din Control Panel > Create a password reset disk. Discul de
recuperare a parolei poate fi att o dischet ct i un stick USB i poate fi folosit ca o cheie,
pentru redobndirea drepturilor de acces n sistem n cazul unei parole uitate, chiar dac
aceasta a fost schimbat de la crearea discului de recuperare.
LastWriteTime
------------7/27/2008
8:56 PM
Length Name
------ ---28672 BCD
12-4: Locaia fiierului BCD ntr-o instalare de Windows Server 2008 Standard
405 | P r o t o c o a l e d e n i v e l t r a n s p o r t
12.2.1
Exist patru metode prin care un administrator poate s modifice parametrii stocai n
BCD:
Applet-ul din Control Panel, cu flexibilitate redus, dar care permite modificarea timeout-ului
boot loader-ului, a ordinii n care sunt afiate sistemele de operare detectate, precum i alte
opiuni de baz.
MSConfig.exe poate fi folosit de asemenea, pentru a seta opiuni de baz ale boot loaderului, dar ofer i opiuni legate de debug sau safe mode.
BCDEdit.exe este un utilitar n linie de comand i, totodat, cel mai puternic din punctul de
vedere al opiunilor i al flexibilitii. Pune la dispoziia administratilor toate opiunile boot
loader-ului i suport o form de scripting.
WMI: folosind WMI, un administrator poate folosi orice limbaj de scripting care suporta WMI
pentru a efectua schimbri asupra boot loader-ului. De asemenea, interfaa ofer o flexibilitate
foarte mare, dei interaciunea se face mai dificil dect n cazul lui BCDEdit.exe.
12.2.1.1
O parte din opiunile de baz ale boot loader-ului pot fi modificate din Control Panel.
Pentru a accesa aceste opiuni, urmai paii:
1. Se acceseaz applet-ul System din Control Panel:
406 | R e e l e L o c a l e
407 | P r o t o c o a l e d e n i v e l t r a n s p o r t
12.2.1.2
BCD: MSConfig.exe
408 | R e e l e L o c a l e
Safe Boot:
o
o
o
o
Minimal: Pornete Windows n interfaa grafic rulnd doar un subset minimal de servicii. Toate
serviciile de reea sunt dezactivate.
Alternate Shell: Porneste Windows n promptul de comand cmd.exe. Setul de servicii ncrcate
este, de asemenea, minimal. Toate serviciile de reea, precum i interfaa grafic, sunt dezactivate.
Active Directory Repair: Pornete Windows n interfaa grafic, mpreun cu un set minimal de
servicii i Active Directory.
Networking: Porneste Windows n interfaa grafic, ca i n modul minimal, dar cu suport pentru
seriviciile de reea.
No GUI Boot: Dezactiveaz afiarea ecranului de ncrcare (splash screen) n timpul boot-rii.
Boot Log: Stocheaz un jurnal al procesului de boot al sistemului n
%SystemRoot%\Ntbtlog.txt
Base Video: Pornete Windows n modul minimal VGA. Driver-ele video ncrcate sunt cele
standard VGA, n locul celor specifice plcii video instalate n sistem.
OS Boot Information: Afieaz numele driverelor i fiierele lor ce sunt ncrcate n timpul
procesului de boot-are.
Make All Boot Settings Permanent: Nu ine evidena setrilor schimbate n System
Configuration, deci nu se poate reveni la configuraia de baz selectnd Normal startup la
categoria General, ci doar readucnd fiecare setare manual la starea iniial.
12.2.1.3
BCD: BCDEdit.exe
Pentru BCDEdit.exe, fiind un utilitar de sine stttor, cel mai simplu mod de a trece n
revist parametrii principali ai si este de a-l lansa n linia de comand cu parametrul /?
pentru a-i afia opiunile de ajutor:
PS C:\Users\Administrator> bcdedit /?
BCDEDIT - Boot Configuration Data Store Editor
The Bcdedit.exe command-line tool modifies the boot configuration data store.
The boot configuration data store contains boot configuration parameters and
controls how the operating system is booted. These parameters were previously
in the Boot.ini file...
[...]
Commands that operate on a store
================================
/createstore
Creates a new and empty boot configuration data store.
/export
Exports the contents of the system store to a file. This file
can be used later to restore the state of the system store.
[...]
409 | P r o t o c o a l e d e n i v e l t r a n s p o r t
PS C:\Users\Administrator> bcdedit /enum /v
Windows Boot Manager
-------------------identifier
device
description
[...]
timeout
{bootmgr}
partition=C:
Windows Boot Manager
30
{247945e9-2c49-11dd-901e-f4acdce939da}
partition=C:
\Windows\system32\winload.exe
Microsoft Windows Server 2008
en-US
{bootloadersettings}
partition=C:
\Windows
12.2.1.3.1
n urmtorul exemplu se arat cum se poate specifica secvena de pornire astfel nct NT
Loader s porneasc primul, urmat de loader-ul cu identificatorul {247945e9-2c49-11dd901e-f4acdce939da} ce corespunde instalrii curente de Windows Server 2008. Se poate
considera faptul c NT Loader-ul aparine unei instalri de Windows XP, spre exemplu:
bcdedit /bootsequence {ntldr} {0f732d04-e6b2-11da-b631-b722247cd703}
Eliminarea unei intrri pentru un anumit loader al unui sistem de operare se realizeaz
prin comanda de mai jos. Spre exemplu, dac se dorete renunarea la un sistem de operare
mai vechi, dup tergerea fiierelor acestuia este recomandabil s i se elimine intrarea i din
BCD:
bcdedit /bootsequence {ntldr} /remove
12.2.1.3.2
n momentul n care pe un sistem sunt disponibile mai multe loader-e, este afiat un
meniu prin care utilizatorul poate alege pe care s l lanseze n execuie. Ordinea n care aceste
loader-e sunt afiate poate fi modificat folosind BCDEdit.exe cu parametrul /displayorder.
La fel ca i n cazul parametrului /bootsequence, se poate specifica explicit o anumit
ordine de afiare, se pot aduga sau muta itemuri la nceputul sau sfritul listei sau se pot
410 | R e e l e L o c a l e
terge complet itemuri din list. De fapt, sintaxa pentru parametrul /displayorder este exact
aceeai ca i pentru parametrul /bootsequence.
Spre exemplu, pentru a configura ordinea de afiare a loader-elor astfel nct loader-ul
sistemului de operare cu identificatorul {0f732d04-e6b2-11da-b631-b722247cd703} s fie
afiat naintea NTLDR-ului (posibil al unui Windows XP sau 2003 Server) se folosete comanda:
bcdedit /displayorder {0f732d04-e6b2-11da-b631-b722247cd703} {ntldr}
Parametrul /timeout permite setarea inclusiv pe valoarea de 0 (zero) secunde, caz n care
meniul nu va ma fi afiat iar loader-ul implicit va fi automat lansat.
12.2.1.3.4
411 | P r o t o c o a l e d e n i v e l t r a n s p o r t
Mai multe informaii referitoare la conceptele pe baza cruia funcioneaz BCD precum i
o documentaie n detaliu pentru utilizarea lui BCDEdit.exe pot fi gsite n documentul de la
adresa urmtoare:
http://www.microsoft.com/whdc/system/platform/firmware/bcd.mspx
412 | R e e l e L o c a l e
Reviewers todos:
- get rid of other todos
- format questions
- check headers (some dont have styles or numbers)
- change headers to give necesarry spacing
- fix filenames, commands and addresses with z_text_comanda
- fix fucked up wrapping in some z_command_8 blocks
- if possible, review all English terms and apply z_text_italic
- fix invisible images and format them all with z_figura, including description
o also add space after description or space on the bottom of z_figura
- remove hyperlinks from e-mail addresses and web links
- fix nicio, niciun
- update all dynamic fields (references, cross-references...)
- de verificat NEAPARAT referintele!!!!!!