Praktikum: Windows Communication Foundation teenuse turvamine, VR2.9: Difference between revisions

From ICO wiki
Jump to navigationJump to search
(Created page with '==ASP.NET Membership database== ASP.NET Membership funktsionaalsuse kasutamiseks peab olema teenuse masinasse olema installitud SQL Server (2005/2008/2010 Express versioon). Se…')
 
Line 12: Line 12:
* Käivitame järgneva QUERY:
* Käivitame järgneva QUERY:
     -- Create a SQL Server login for the Network Service account
     -- Create a SQL Server login for the Network Service account
     sp_grantlogin 'NT AUTHORITY\Network Service'
     sp_grantlogin 'NT AUTHORITY\NETWORK SERVICE'
      
      
     -- Grant the login access to the roles database
     -- Grant the login access to the roles database
     USE aspnetdb
     USE aspnetdb
     GO
     GO
     sp_grantdbaccess 'NT AUTHORITY\Network Service', 'Network Service'
     sp_grantdbaccess 'NT AUTHORITY\NETWORK SERVICE', 'NETWORK SERVICE'
      
      
     -- Add user to database role
     -- Add user to database role
     USE aspnetdb
     USE aspnetdb
     GO
     GO
     sp_addrolemember 'aspnet_Roles_FullAccess', 'Network Service'
     sp_addrolemember 'aspnet_Roles_FullAccess', 'NETWORK SERVICE'


Eelnevaga on loodud kasutajate baas, ning antud WCF'ile õigus seda kasutada.
Eelnevaga on loodud kasutajate baas, ning antud WCF'ile õigus seda kasutada.
==Sertifikaatide loomine==
==Sertifikaatide loomine==
Selleks, et ei tekiks Certificate Chaining erindit, tuleb luua nii "Certificate Authority", kui ka CA poolt allkirjastatud Sertifikaat, mida kasutatakse turvalise ühenduse jaoks.
Selleks, et ei tekiks Certificate Chaining erindit, tuleb luua nii "Certificate Authority", kui ka CA poolt allkirjastatud Sertifikaat, mida kasutatakse turvalise ühenduse jaoks.

Revision as of 07:25, 5 April 2012

ASP.NET Membership database

ASP.NET Membership funktsionaalsuse kasutamiseks peab olema teenuse masinasse olema installitud SQL Server (2005/2008/2010 Express versioon).

Selleks et SQL Serverisse Membership andmebaas teha, tuleb käivitada aspnet_regsql.exe. See asub "X:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regsql.exe".

  • Järgnevalt käivitada see, ning valida "Configure SQL Server for application services".
  • Järgnevalt valida "Windows Authentication" ja määrata serveri aadressiks ".\SQLEXPRESS". Vajutada next.

Sellega loodi SQL Serverisse andmebaas "aspnetdb", ning vajalikud tabelid ASP.NET Membership funktsionaalsuse kasutamiseks.

Järgenvalt tuleb anda õigused WCF Service Process Identity'le, et sellel oleks õigus kasutada loodud baasi.

  • Avame Microsoft SQL Server Management Studio ja autendime end administraatori õigustes kasutajaga.
  • Käivitame järgneva QUERY:
   -- Create a SQL Server login for the Network Service account
   sp_grantlogin 'NT AUTHORITY\NETWORK SERVICE'
   
   -- Grant the login access to the roles database
   USE aspnetdb
   GO
   sp_grantdbaccess 'NT AUTHORITY\NETWORK SERVICE', 'NETWORK SERVICE'
   
   -- Add user to database role
   USE aspnetdb
   GO
   sp_addrolemember 'aspnet_Roles_FullAccess', 'NETWORK SERVICE'

Eelnevaga on loodud kasutajate baas, ning antud WCF'ile õigus seda kasutada.

Sertifikaatide loomine

Selleks, et ei tekiks Certificate Chaining erindit, tuleb luua nii "Certificate Authority", kui ka CA poolt allkirjastatud Sertifikaat, mida kasutatakse turvalise ühenduse jaoks.

Esimesena loome makecert vahendiga Certificate Authority. makecert.exe asub "X:\Program Files\Microsoft SDKs\Windows\v7.0A\Bin" kaustas. Avame command line-i ja muudame oma hetkeasukoha kataloogiks, kuhu me soovime luua CA privaatvõtme ja Self Signed sertifikaadi.

  • Loome Self Signed sertifikaadi
   <<absolute path to makecert>> -n "CN=WcfCA" -r -sv WcfCa.pvk WcfCa.cer
  • Loome Ühenduse sertifikaadi ja paneme selle kohe windowsi hoidlasse Currentuser My.
   <<absolute path to makecert>> -sk SignedByWcfCA -iv WcfCa.pvk -n "CN=localhost" -ic WcfCa.cer -sr CurrentUser -ss My -sky exchange -pe

-n "CN=<<serveriaadress>>", mis meie puhul on hetkel localhost, kuna loome teenuse oma masinas ja samuti kasutame oma masinast. Muul juhul peaks seal olema domeeninimi või IP aadress.

Eelnevaga loodi meie soovitud kausta CA ehk Self Signed sertifikaat, ning sertifikaadihoidlasse CA-ga signeeritud ühendusesertifikaat.