Veza između klijenta i SQL servera do default-u nije kriptovana, odnosno
pomoću posebnih programa moguće je beležiti i pratiti podatke, koji se prenose od
klijenta do SQL servera, što predstavlja ozbiljnu sigurnosnu pretnju.
Kriptovanje podataka između klijenta i MS SQL servera svakako možemo da
postignemo kreiranjem VPN veze između klijenta i MS SQL servera, pri čemu sam MS
SQL server ima ugrađene mehanizme, kojima može da se spreči
neovlašćen pristup podacima, koji se prenose po mreži, pa i po
internetu u slučaju hosting centara. Pomenućemo dva mehanizma od kojih je prvi
jednostavniji a drugi kompleksniji i nudi veću
kontrolu nad načinom zaštite.
Jednostavan način bez upotrebe serverskog sertifikata
Jednostavnu zaštitu prometa između klijenta i servera postavljamo otvaranjem SQL Server Configuratin Manager-a,
zatim properties za
Protocols u Network Configuration, postavimo ForceEncryption na Yes.
Nakon svake promene podešavanja svakako je potrebno ponovo pokrenuti MS SQL
server.
SQL Server Configuration Manager:

i podešavanja properties:

Tako podešen MS SQL server automatski generiše odgovarajući serverski sertifikat i
obzirom da klijenti na svojim operativnim sistemima već imaju instalirane
odgovarajuće Microsoft ključeve, promet između klijenta i MS SQL servera će
automatski biti odgovarajuće zaštićen.
Nedostatak ovog načina je, da nemamo kontrolu nad načinom kriptovanja. Pored
toga ceo promet do SQL servera mora biti kriptovan, što možda ne želimo za
lokalne veze.
Za ovakvo podešavanje servera
i PANTHEON™ ne smemo da pokrenemo parametrom /SSL, koji koristimo samo u
sledećem podešavanju SQL servera.
Kompleksan način kriptovanja prometa korišćenjem serverskog sertifikata
Za ovaj način moramo imati Properties ForceEncryption obavezno na No,
onda ćemo odgovarajuću zaštitu postići upotrebom odgovarajućeg sertifikata.
Podešavanja
ForceEncryption prikazuje sledeća slika:

Zatim na sledećem panelu moramo da izaberemo odgovarajući serverski sertifikat.
Sertifikat možemo da dobijemo pri odgovarajućoj Certificate Authority(CA), recimo na
sigen-ca, VeriSign, ... pri čemu u panelu za sertifikat navodimo FQDN
(Fully qualified domain name), ako će do našeg MS SQL servera dostupati klijenti izvan lokalne mreže, recimo
u slučaju hosting centara. Ukoliko samo
želimo da kriptujemo promet unutar lokalne mreže dovoljno je lokalno ime
MS SQL servera.

Potrebno je još reći da ako koristimo sertifikat odgovarajuće CA, na
klijentu vrlo verovatno neće biti potrebna instalacija para ključeva.
Ukoliko već imamo izabran sertifikat potrebno je još da napravimo ponovno
pokretanje
PANTHEON™-a parametrom /SSL i imaćemo zaštićen promet između klijenta i MS SQL servera. Upotreba parametra /SSL je opisana
u poglavju
Parametri reda sa naredbama.
Odgovarajući serverski sertifikat i primeren par ključeva možemo i samo da pripremimo. Za ovo
nam je potreban instaliran Certificate Services, koji možemo da nađemo i
na Microsoft 2003 serveru, aktiviramo ga preko Internet Explorera sa sledeće
adrese http://Local/CertSrv, koja
nam otvara stranicu vezanu za sertifikate. U našem primeru testna
CA imenovana je ProdIT, koja će nastupiti i kao izdavalac serverskog sertifikata.
Za naš primer moramo najpre izabrati Request a certificate:

zatim izaberemo advanced certificate request:

i još Create and submit request to this CA:

Na stranici, koja nam se otvara unosimo podatke i izaberemo željene opcije. Pri tom moramo
da pazimo, da kao ime upišemo FQDN za pristup do
servera iz spoljnjeg okruženja ili pak lokalno ime servera za pristup iz lokalne
mreže. Zatim, za tip sertifikata obavezno izaberemo Server
Authentication Certificate i možemo sami da definišemo kakvo
kriptovanje želimo, pri čemu imamo na raspolaganju 512, 1024, 2048 ili još veću
dužinu ključa. Posle toga obavezno je i definisanje opcije Store
certificate in the local computer certificate store, dok je korisno i ako
izaberemo odgovarajuće ime, koje je u našem slučaju MS SQL Certificate:

Kada smo napravili zahtev za sertifikat otvaramo Microsoft Managment
Console(MMC), dodajemo SnapIn Certification Authority i klikom na
Issue sertifikat odobrimo.

Kada smo odobrili sertifikat u MMC vraćamo se u naš CA, gde proveravamo da li je
sertifikat odobren klikom na View the status of a pending certificate
request i izaberemo naš sertifikat na sledećoj strani:

sledeća strana:

U slučaju da je sa izdavanjem sertifikata sve ok, možemo da izaberemo Install
this certfiicate:

Nakon uvoza sertfikata u SQL Server Configuration Manager-u možemo da
izaberemo dobijeni sertfikat.

Potrebno je još dobiti odgovarajuće parove ključeva za klijenta i instalirati
ih. Otvorimo Microsoft Managment Console(MMC), kojoj dodajemo
SnapIn Certificates i u Personal potražimo naš serverski sertifikat i izvezemo
ga:

Pri tom moramo paziti da prilikom izvoza obavezno izaberemo format
Cryptographic Message Syntax Standard- PKCS #7 Certificates (.P7B) i uključimo Include all certificates in the certification path if possible:

Izveženi serfificat posredujemo klijentu, koji ga uvozi
desnim klikom miša na datoteci sertifikata i opcijom Install certificate
ili uvozom preko Internet Explorera. Prilikom uvoza je najbolje izabrati
opciju Automatilcally select the certificate store based in the type of
certificate ili pak ručno izabrati Trusted Root Certification
Authorities.

Ako je sve u redu, kod klijenta CA mora biti na spisku Trasted CA kao što je
prikazano na donjoj slici za naš primer CA:

Klijent (korisnik) se sada sa upotrebom /SSL parametra, pri pokretanju programa,
uspešno povezuje sa
MS SQL serverom preko kriptovane veze.