7 Serveis de xarxes privades virtuals (VPN'S)
NSSOS ofereix dos serveis de xarxes privades virtuals. Aquests serveis permeten la interconnexió d'un conjunt d'ordinadors utilitzant un
infraestructura pública (normalment compartida) com és el cas d'Internet i simular una infraestructura dedicada o privada.
El PPTP és útil si vol oferir els serveis de xarxa interna a usuaris que no disposin de connexió física a la mateixa, ja sigui perquè estan viatjant i/o es connecten amb l'ordinador portàtil de forma remota. Aquest servei encara no ofereix encriptació de dades, així que es recomana no utilitzar-lo per enviar dades que poden ser confidencials sinó és que l'enviament s'efectua a través d'algun protocol de seguretat com ara HTTPS.
#show pptp_server
pptp_server {
max_users 5
--
enabled
interfaces eth0
ip_allowed -
slevel 0
ip 192.168.3.1/24
pool 192.168.4.20-30<
users {
xavi {
enabled
password ********
ip -<
}
}
observar la limitació
de software max_users 5 .
#set
pptp_server enable
#set
pptp_server disable
Si no l'activa no permetrà cap tipus de connexió al servidor PPTP.
No cal que modifiqui els paràmetres del tallafocs per permetre establir túnels als clients. El servei PPTP del NSSOS utilitza el port 1723 (TCP) per l'establiment de túnel i s'encarrega de gestionar el procés. Un cop establert el túnel es comunicarà amb els clients utilitzant el protocol GRE.
Permet establir connexions
al servidor PPTP (túnels) a les peticions que arribin al NSS mitjançant les interfícies de xarxa indicades.
#set
pptp_server interfaces eth0
#del
pptp_server interfaces eth0
Permet definir les adreces IP des de les quals es podrà establir túnels PPTP. S'ha de tenir en compte que quan afegeix una IP
el sistema no té en compte la interfície font d'aquest. Això vol dir que per exemple si ha configurat eth0 a Interfícies i afegeix adreces IP les connexions de les quals provenen de la interfície eth1, permetrà realitzar túnels PPTP a connexions que arribin al sistema per les dos interfícies : connexions des de totes les adreces IP que arribin a través de la eth0 més les connexions efectuades des d'adreces IP afegides que que arribin per la eth1.
De la mateixa manera si afegeix una adreça IP que prové per la interfície eth0 té configurat la interfície eth0 al control d'accés per interfícies, la configuració
d'aquestes IP són redundants.
Alternativament també pot afegir xarxes senceres amb el format NETWORK/NETMASK o bé adreces IP concretes.
#set
pptp_server ip_allowed 62.0.0.3
#del
pptp_server ip_allowed 62.0.0.4
Els usuaris que es connectin al servidor PPTP hauran de superar primer de tot el control d'accés al servidor vist a l'apartat anterior. Un cop tinguin accés al mateix s'hauran d'autenticar. A continuació s'explica la configuració del servidor PPTP per l'administració d'usuaris.
Si vol oferir aquest servei als usuaris haurà de crear una compta per cada usuari que vulgui permetre accés a la xarxa i per tant establir túnels PPTP.
#set
pptp_server users albert password nosesap
#set
pptp_server users username albert disable
#set
pptp_server users username albert enable
#del
pptp_server users username albert
Quan un usuari estableix un túnel PPTP, el sistema li assigna automàticament una IP. Aquesta assignació es pot realitzar de 2 maneres diferents.
El sistema assigna la mateixa IP a l'usuari en cada connexió PPTP que realitzi. Si per exemple vol que l'usuari 'albert' obtingui sempre la adreça IP 192.168.4.10 cada vegada que que es connecti al servidor PPTP
#set
pptp_server users username albert ip 192.168.4.10
Per eliminar la adreça
IP :
#del
pptp_server users username albert ip 192.168.4.10
NSSOS permet definir un conjunt d'adreces IP que seran assignades de forma dinàmica als usuaris PPTP (sempre i quan aquests no tinguin una IP estàtica ja assignada) .Donat que no és probable que tots els usuaris es connectin al mateix moment aquest enfocament permet estalviar adreces IP disponibles. Una restricció important és que aquest conjunt d'adreces IP han de pertànyer a una xarxa de classe C.
Recordi que el rang de direccions de xarxes de classe C és el següent : 192.0.0.0 – 223.255.255.0. A més no es recomanable utilitzar adreces IP que pertanyin a xarxes directament connectades al NSS.
#del
ppt_server pool
El servei PPTP del NSSOS utilitza la interfície virtual dvpn en les seves connexions, tots els usuaris que es connectin al servidor PPTP utilitzen aquesta interfície per accedir a la xarxa Interna. La interfície dpvn equival a la interfície eth0 o bé a la interfície eth1 i es pot utilitzar per configurar el control d'accés als serveis que ofereix el sistema. Amb aquest enfocament la interfície dvpn permet l'assignació de serveis de xarxa als usuaris mitjançant les polítiques per defecte del tallafocs ja que PPTP disposa d'un slevel propi.
#set
pptp_server slevel 10
Una altra manera per controlar l'accés als recursos de la xarxa és mitjançant la creació regles d'usuari del tallafocs .En aquest cas s'hauran d'utilitzar les adreces IP (les assignades pel servidor PPTP als usuaris) en la creació de les regles per definir el comportament del sistema.
És un protocol de seguretat ampliació del protocol IP que permet l'accés de manera totalment transparent als recursos que ofereixen dos entitats proporcionant confidencialment, autenticació i integritat a ambdues parts a través d'Internet .Aquestes entitats poden ser departaments d'una empresa o bé interconnexions de partners.
#show
ipsec_server
ipsec_server {
max_tunnels 1
public_key {
0sAQOa4Bb7WbP5Ok8sfbUiUOAurcAAzRNVH9Fm/61npspJteQ7
kLEToVGUhXuugR9Y70AX6DYfPHr0CiNws1h1PiSY+V1k73JiBv
66dymXOZv+KbGm51kGVAaKukKxUrO/SjowCu1VLCv+AYtwOMkE
FhLtHvRaBIJEkbQr+HQ5wROGmrji0JuMD9XRHwK7vCq4DeE40u
g9QFz0TPtTzlrBJ505G6qyfZquIErd7V2LssZQVryl6NNb1CJK
aczLpjcwtdtsaizmIArpjLfbxGLipw3z13KjUQXfHBibgpSlsa
5+eMMj+3OEIidY7asu0OdZ+krqXvF9UjlkKymCn/7W6w1t1F43
8UHTBCsZFDlogmDHwlg/n
}
--
enabled
slevel 0
mode hub
tunnels {
-
}
}
Cal dir que la utilització d'aquest servei implica que ambdues parts participants tinguin instal·lat un sistema NSS [v.2.0]. En cas contrari no es garanteix el correcte funcionament del protocol IPSEC i queda a les mans dels administradors determinar els paràmetres correctes de funcionament del sistema.
El sistema IPSEC implementat al NSS funciona amb mode túnel, això vol dir que proporciona serveis de seguretat entre els dos servidors IPSEC : els paquets són susceptibles de ser monitoritzats (i interpretats) en el transcurs que efectuen des de la font emissora fins al servidor IPSEC del NSSOS .
|
Il·lustració 6: Túnel IPSEC segur i canal de comunicació insegur
|
Per més seguretat i facilitat de manteniment l'arquitectura IPSEC és centralitzada, això vol dir que tindrà un
hub o concentrador i uns clients els quals es connectaran a ell mitjançant túnels IPSEC. De la mateixa manera si solament vol establir la interconnexió de 2 entitats un extrem haurà d'actuar com a hub i l'altre com a client
A continuació s'exposen amb detall els serveis de seguretat que ofereix el protocol de seguretat IPSEC implementat al sistema NSS
Una vegada s'ha establert un túnel IPSEC ambdues parts efectuen cada cert temps la renegociació dels seus paràmetres de connexió de manera automàtica a través la negociació de connexions IKE.
Aquest negociació fa ús del protocol d'intercanvi de claus DF el qual (sense entrar amb detalls) permet que dues parts sense
cap secret inicial compartit generin un secret de manera que aquest no pugui ser revelat a altres parts implicades en la comunicació (encara que aquestes monitoritzin la xarxa). Una vegada ambdues parts coneixen el secret , aquest es pot utilitzar per la negociació de connexions la qual permet establir els següents paràmetres en la connexió :
Algorismes utilitzats en la connexió.
Temps de vida de les connexions.
Claus utilitzades en la connexió
La negociació de connexions IKE és realitza intercanviant paquets UDP pel port 500.
Anteriorment el protocol IPSEC incorporava una capçalera d'autenticació (normalment de 96 bytes) afegida als datagrames IP que permetia realitzar l'autenticació de paquets. En les noves implementacions IPSEC (inclosa la del NSS) ha desaparegut aquesta capçalera AH. El motiu d'aquest fet rau en que anteriorment ambdós protocols AH i ESP podien exercir l'autenticació de paquets.
La tria d'un d'aquests mètodes d'autenticació de paquets afegia complexitat i incrementava el risc en la seguretat del protocol IPSEC. Així doncs NSS utilitza el protocol ESP per oferir autenticació i encriptació de paquets.
Els algorismes i mètodes que utilitza el protocol ESP per l'autenticació de paquets són els mateixos que els utilitzats en la capçalera d'autenticació AH. Aquests algorismes utilitzen el secret compartit entre les 2 entitats participants en el túnel i inclouen als paquets fingerprints
mitjançant funcions de hash a més de números de seqüència dels mateixos. Aquests conjunt de tècniques permeten garantir l'integritat i l'autenticació dels paquets ja que permeten :
Saber si s'ha modificat el paquet
Saber si l'origen emissor del paquet és qui diu ser
Saber si el paquet ha arribat "sencer" al destí
Evitar Atacs de Denegació de servei (DOS)
Evitar Birthay Attacks i
Reply Attacks.
A part de l'autenticació de paquets vista anteriorment el protocol ESP proporciona confidencialitat de les dades transmeses entre les 2 entitats mitjançant l'encriptació de les mateixes sent aquesta la funció principal del mateix. L'encriptació es realitza utilitzant l'algorisme 3-DES.
Aquest servei permet l'autenticació inicial entre estacions NSS perquè puguin establir un túnel IPSEC. NSSOS utilitza l' algorisme de xifrat asimètric RSA per fer l'autenticació extrem-extrem. Aquest algorisme és àmpliament utilitzat i pertany al grup d'algorismes de xifrat de clau pública : una clau es fa pública i s'utilitza pel xifrat i l'altre clau és privada (per aquest motiu ha d'estar ben guardada) i serveix pel desxifrat. L'algorisme assegura
que no és factible determinar la clau de desxifrat donada la clau pública i l'algorisme. Així doncs cada NSS implicat en el túnel necessita la clau pública de l'estació respectiva per poder-se l' autenticació extrem-extrem .
|

Il·lustració 7: Exemple de configuració d'un túnel IPSEC
|
A continuació s'exposen els passos a seguir per establir un túnel IPSEC a través d'un exemple. En aquest exemple es pretén construir un túnel IPSEC entre dos empreses (que utilitzen NSSOS) i que tenen una topologia de xarxa com la de la il·lustració 6. Es suposa que les interfícies així com les xarxes estan configurades i que ambdós sistemes estan connectats a Internet a través de la eth0 tal com s'indica a
la figura.
Per establir untúnel IPSEC entre NSS1 i NSS2 el primer que ha de fer es determinar quin NSSOS serà el Hub i quin serà el client.Per aquest motiu obrirà 2 sessions remotes (si pot), una al client
i una al hub .
Si no té accés a algun dels 2 hosts llavors s'haurà d'arribar a un mutu acord per part dels administradors dels sistemes per decidir el sistema NSS que actuarà com aclient i quin actuarà com a hub. Suposant que té accés al NSS1 i NSS2 haurà de fer :
#set
ipsec_server mode client
#set
ipsec_server mode hub
#set
ipsec_server enable
La generació de la clau pública a cada host és necessària per efectuar l'autenticació extrem-extrem entre els NSS. NSSOS automàticament genera la parella de claus del host local. Aquesta parella de claus es mantindrà al sistema durant tota la seva vida i de moment no es possible modificar-la i/o eliminar-la.
#show
ipsec_server
A la part del NSS1 (hub) :
ipsec_server {
max_tunnels 1
public_key {
0sAQN1HheNogeYEx5/+FyrdspILoG6rVs0JoEOqM45IeqNNYJc
yMzSB1AN6jbpEmoGj0PRe8DbbEZlEXX5FqDe4S2NID1fXq+LO8
x6VLn7OdHBt7w2par0SlDwjGYphjHMK9Zkan5+6sdbwK3kxMpr
SeSOxjzB6IseHW0IyyfxmQrUYSwCZS5v6Q7x5FEu2PlIMHMt2H
WirOFFfoDYwOXyjJLlN2QEKA0jKKhkqeXv+pNlI28cDEJ6O8AP
pQQg2J58I3wR9Z1kOSLShFPtSkUdhb1ntEA18M9vGqpARoJRGA
FktpaMqWNIvlwocJFDVgIkpzHTgZZmxLUMVNKHqSz9osbvpBsx
F3hjtucdAVxi3Vsl
}
--
enabled
slevel 0
mode hub
tunnels {
tunnel NSS1-NSS2
{
enabled
remote_node_ip -
remote_node_net -
local_routable_net
-<
remote_node_pub_key{-}
}
}
}
A la part del NSS2
(client) :
ipsec_server {
max_tunnels 1
public_key {
0sAQOr5Vsh8zc76XJPMlyXvU5KB0qCNTFh6hrkeq0AK9wb5Qyy
XCReXNAXg3xgKQ0rpZikkG6NuUqGqMFrmLmSxchYLFX4XoWmAK
lwnOX2cCAnI+CUuqXzuEQ9POqrrHlWRuQfBI3VNFztHVlpQJq0
ZB4WtW02DJat7ncUbq0ElzpCUXTGJlurNd6FJGfl0GvvaCZkD3
0Dlrf3V3NGruXAlHH+U1BJlSg5fmjL6t3OsRgZUfsz4WtxEJ+1
nVcElTIfVMRztP8HqZKUniUWyugKC1/sZ/ppSILk0mQkCkGc5G
KrNV/ip85DPtI9+zFOoOuRwm0+PqqsI8Kg2ZYn7mIpT+AIuDXP
DvYtDxTA4vZ241UlL
}
--
enabled
slevel 0
mode client<
tunnels {
tunnel NSS1-NSS2
{
enabled
remote_node_ip -
remote_node_net -
local_routable_net -
remote_node_pub_key {-}
}
}
}
Com pot observar la clau privada no es mostra en cap moment, en canvi es pot visualitzar la clau pública de cada host (client i hub).
Seguidament haurà de configurar cada host amb paràmetres del túnel respectius. Observant la il·lustració 6 pot configurar el hub (NSS1) de la següent manera :
#set
ipsec_server tunnels tunnel prova remote_node_ip 63.0.0.1
#set
ipsec_server tunnels tunnel prova remote_node_net 192.168.3.0/24
#set
ipsec_server tunnels tunnel prova local_routable_net 192.168.2.0/24
Els paràmetres de
configuració del client (NSS2) s'establirien de la següent manera :
#set
ipsec_server tunnels tunnel prova remote_node_ip 62.0.0.1
#set
ipsec_server tunnels tunnel prova remote_node_net 192.168.2.0/24
#set
ipsec_server tunnels tunnel prova local_routable_net 192.168.3.0/24
Val a dir que en l'exemple per simplicitat s'han anomenat els dos túnels iguals, de totes maneres no és obligatòria aquesta
premissa.
#set
ipsec_server tunnels tunnel prova disable
Cada NSS (hub i client) abans d'establir un túnel necessita efectuar una autenticació extrem-extrem amb el host respectiu. Per realitzar aquesta tasca cada host necessita obtenir la clau pública de l'altre que intervé en la creació del túnel. NSSOS disposa de dos mètodes per l'intercanvi de claus públiques entre hosts.
Amb aquest mètode el client i el hub s'intentaran baixar la clau pública del host respectiu : és a dir el client s'intentarà baixar la clau pública del hub i el hub s'intentarà baixar la clau pública del client.
Aquest procés es du a terme efectuant connexions TCP al port 2222 cada 2 minuts.
És necessari que existeixi comunicació entre els hosts per realitzar l'intercanvi de claus. Pot comprovar la comunicació entre
hosts amb l'eina del sistema ping .
#set
ipsec_server tunnels tunnel prova remote_node_pub_key auto
#commit
Durant l'execució del commit cada host intentarà descarregar-se automàticament la clau pública des del host configurat amb la remote_node_node_ip del túnel. Una vegada cada host hagi obtingut la clau pública de l'altre host s'efectuarà l'autenticació extrem-extrem i s'establirà el túnel amb una negociació de connexions IKE.
Aquest mètode és la única manera possible per configurar aquest servei si s'està accedint al sistema per SSH o per terminal.
Consisteix en copiar a cada NSS la clau pública del host remot que intervé en el túnel. És útil en situacions que no es disposa de comunicació en el moment de la configuració dels hosts. Aquest mètode solament és possible realitzar-lo amb la configuració
del sistema via web.
Quan s'estableix un túnel amb un altre NSS el sistema tracta aquest túnel com si esdevingués una interfície més (amb el seu propi slevel). La interfície utilitzat pels túnels és ipsec. Tots els túnels creats tindran el mateix slevel, d'aquesta manera es pot assignar recursos a través de la configuració de les polítiques per defecte del tallafocs del sistema :
#set
ipsec_server slevel 20
També es poden crear regles d'usuari del tallafocs per definir els recursos compartits entre les 2 entitats participants , en aquest cas
s'utilitzaran les adreces IP que pertanyin a xarxes amb les que s'ha configurat el túnel ipsec.
Ha d'haver cooperació i acord entre les empreses i/o partners per tal que les regles definides al client no interfereixin en les del hub i viceversa. En aquest cas ja que el funcionament de la xarxa podria no ser l'esperat.
Capitol 6 | Index | Tornar al començament | Capitol 8
|