Zadano veza između korisnika i SQL servera nije kriptirana tako je s posebnim programima moguće bilježiti i izvoziti podatke, koji se prenose od
korisnika do SQL servera, što predstavlja značajan sigurnosni propust, te bi
u krajnem slučaju mogao neko neovlašteno prikupljati te podatke.
Kriptiranje podataka između korisnika i MS SQL servera naravno možemo postići
s kreiranjem VPN veze između korisnika i MS SQL servera, sam MS SQL server ima
neke ugrađene mehanizme, s kojima možemo spriječiti neovlašteno prikupljanje
podataka, koji se prenose preko mreže, pa i preko javnog interneta u slučaju
hosting centara. Spmenućemo dva mehanizma od ova dva prvi je jednostavniji,
drugi pak kompleksniji ali nam pri tom nudi veću kontrolu nad načinom zaštite.
Jednostavan način bez upotrebe serverskog certifikata
Jednostavnu zaštitu prometa između korisnika i baze podataka postižemo
tako, da otvorimo SQL Server Configuratin Manager i zatim na svojstvima za
Protocols u Network Configuration, postavimo ForceEncryption na Yes.
Nakon svake izmjene postavki naravno potrebno je izvršiti ponovno pokretanje MS SQL
servera.
SQL Server Configuration Manager:

i postavke odgovarajućih svojstava:

Tako podešen MS SQL server automatski generira odgovarajući serverski certifikat
i jer imaju korisnici pravilno na svojim operativnim sistemima već postavljene
odgavarajuće Microsoft ključeve, promet između korisnika i MS SQL servera će
biti automatski odgovarajuće zaštićen.
Slabost tog načina je, da nemamo kontrole nad načinom kriptiranja osim toga
mora biti sav promet do SQL servera kriptiran, koje pak možda ne želimo za
lokalne veze.
Za tako postavljen server, i PANTHEON™ ne smijemo otvoriti s parametrom /SSL, kojeg
koristimo samo pri sljedećem podešavanju SQL servera.
Kompleksan način kriptiranja prometa s upotrebom serverskog certifikata
Za taj način moramo imati svojstvo ForceEncryption obavezno na No,
kako bismo odgovarajuće zaštitu dostigli s upotrebom odgovarajućeg certifikata.
Postavku
ForceEncryption prikazuje sljedeća slika:

Zatim moramo na sljedećem panelu izbrati odgovarajući serverski certifikat.
Certifikat lmožemo steći kod odgovarajućeg Certificate Authority(CA), recimo na
sigen-ca, VeriSign, ... pri čemu moramo u zahtjevu za certifikat navesti FQDN
(Fully qualified domain name), ako će našem MS SQL serveru pristupati
korisnici izvan lokalne omreže, recimo u slučaju hosting centara, ako pak
želimo kriptirati promet samo unutar lokalne mreže onda je dovoljno lokalno ime
MS SQL servera.

Potrebno je napomenuti još, da ako koristimo certifikat valjanog CA, na
klijentu vrlo vjerovatno neče biti potrebno postavljati odgovarajući par ključeva.
Tako da ako imamo sada već izbran certifikat, izvršimo samo još ponovno
pokretanje
PANTHEON™-a s parametrom /SSL i imaćemoi promet između korisnika
i MS SQL
servera odgovarajuće zaštićen. Upotreba parametra /SSL je obrazložena u poglavlju
Parametri trake sa naredbama.
Odgovarajući serverski certifikat i primjeren par ključeva možemo pripremiti i sami. Za to
nam je potreban podešen Certificate Services, kojeg pored drugih nađemo
na Microsoft 2003 serveru, aktiviramo pa ga preko Internet Explorera sa
sljedećom adresom http://Local/CertSrv. koja
nam otvori stranicu gdje možemo upravljati sa certifikatima. U našem
slučaju testna
CA se zove ProdIT, koja će nastupati i kao izdavač serverskog certifikata.
Za naš slučaj moramo najprije izbrati Request a certificate:

nakon toga izaberemo advanced certificate request:

in još Create and submit request to this CA:

Na stranici, koja nam se otvori unesemo nekoliko podaatka i iazberemo
odgovarajuće
mogućnosti. Pri tom moramo paziti, da kao ime upišemo FQDN za pristup do
servera iz vanjske ili pa lokalno ime servera za pristup iz lokalne
mreže, zatim moramo pri tipu certifikata obavezno izabrati Server
Authentication Certificate, tada možemo sami odlučiti koliko jako
kriptiranje želimo, pri čemu možemo birati između 512, 1024, 2048 ili još jaču
dužinu ključa, tada moramo obavezno izbrati mogućnost Store
certificate in the local computer certificate store, korisno je i ako
izaberemo prijateljsko ime, koje je u našem primjeru MS SQL Certificate:

Kad smo izvršili zahtjev za certifikate otvorimo Microsoft Managment
Console(MMC), dodamo SnapIn Certification Authority i sa klikom na
Issue certifikat odobrimo.

Kada smo certifikat u MMC odobrili vratimo se u naš CA, gdje provjerimo da li je
certifikat odobren s klikom na View the status of a pending certificate
request i iazberemo naš certifikat na sljedećoj stranici:

sljedeća stranica:

U slučaju, da je sve sa izdavanjem certifikata uredu, možemo izabrati Install
this certfiicate:

Po uvozu certfikata možemo u SQL Server Configuration Manager
izabrati tako pripremljen certfikat.

Korisniku je potrebno sada pripremiti i postaviti još odgovarajući par ključeva,
koje možemo kreirati tako, da otvorimo Microsoft Managment Console(MMC), gdje dodamo
SnapIn Certificates i u certfikatnom skladištu (store) Personal
pozovemo naš serverski
certifikat i izvezemo ga:

Pri tome moramo paziti na to, da pri izvozu obavezno izaberemo format
Cryptographic Message Syntax Standard- PKCS #7 Certificates (.P7B) i uključimo Include all certificates in the certification path if possible:

Izvezeni cerfifikat zatim posredujemo korisniku, koji ga kod sebei uvozi sa
desnim klikom miša na datoteci certifikata i izabere Install certificate
ili pa sa uvozom preko Internet Explorera, pri uvozu je najbolje izbrati
mogućnost Automatilcally select the certificate store based in the type of
certificate ili pa ručno izbrati skladište (store) Trusted Root Certification
Authorities.

Ako je sve uredu, mora kod korisnika biti CA na listi sigurnosnih CA kao što
je na slci ispod prikazano za naš testni CA:

Korisnik bi se sada sa upotrebom /SSL parametra, pri pokretanju programa, morao
sa
MS SQL serverom uspješno povezivati preko kriptirane veze.