Autorizácia webových služieb: Rozdiel medzi revíziami

Z Kiwiki
Skočit na navigaci Skočit na vyhledávání
()
Riadok 2: Riadok 2:
 
{{Praca_uvod|6|Návrh a implementácia bezpečnostnej technológie pre webové služby|XML a webové služby |XML ASP.NET webové služby|Zabezpečennie webových aplikácií|Integrita a dôvernosť komunikácie|Autentifikácia|Autorizácia webových služieb|Zabezpečenie webových služieb|XML security|SOAP Security Enhancement  pre ASP.NET webové služby}}
 
{{Praca_uvod|6|Návrh a implementácia bezpečnostnej technológie pre webové služby|XML a webové služby |XML ASP.NET webové služby|Zabezpečennie webových aplikácií|Integrita a dôvernosť komunikácie|Autentifikácia|Autorizácia webových služieb|Zabezpečenie webových služieb|XML security|SOAP Security Enhancement  pre ASP.NET webové služby}}
 
__TOC__
 
__TOC__
= =
+
==Autorizácia==
==Autorizácia URL==
+
 
==Autorizačné pravidlá==
+
V predchádzajúcich kapitolách sme si vysvetlili metódy, akými môžeme overiť identitu užívateľa volajúceho webovú službu. Podrobnejšie sme si rozobrali tie, ktoré sú v praxi úspešne využívané v rôznych bezpečnostných scenároch. Získanie skutočnej identity klienta predstavuje len prvý krok, k vytvoreniu bezpečnej komunikácie. Potrebujeme vedieť, aké má klient oprávnenie v rámci našej webovej služby. Aké webové metódy webovej služby môže volať, k akým zdrojom, či už k databázam alebo súborom smie pristupovať. Proces, v ktorom zisťujeme oprávnenia sa nazýva autorizácia.
 +
 
 +
:V tejto kapitole si rozoberieme spôsoby autorizácia s využitím konfiguračného súboru '''web.confing''' webovej služby.
 +
 
 +
===Autorizácia URL===
 +
 
 +
Ako sme už spomenuli  autorizačné pravidlá definujeme v konfiguračnom súbore webovej služby .Tie sú vykonávané prostredníctvom špeciálneho HTTP modulu '''UrlAuthorization-Module'''. Princíp fungovania tohto module spočíva v analýze a kontrole každého požiadavku užívateľa, tým je zabezpečená ochrana neautorizovaného prístupu. Tento model autorizácie kontroluje bezpečnostný kontext a URL zdroja, ku ktorému žiada užívateľ prístup.<nowiki>[</nowiki>13<nowiki>]</nowiki>
 +
 
 +
===Autorizačné pravidlá===
 +
 
 +
V tejto podkapitole si vysvetlíme samotný spôsob realizácie autorizácie v konfiguračnou súbore webovej služby. Autorizačné pravidlá sa definujú v súbore web.confing prostredníctvom prvku '''<nowiki><</nowiki>authorization<nowiki>></nowiki> '''pomocou, ktorého  môžeme vytvoriť  dva typy autorizačných pravidiel <nowiki>[</nowiki>4<nowiki>]</nowiki>:
 +
 
 +
* Pravidlo  zakazujúce prístup, prostredníctvom prvku '''<nowiki><</nowiki>deny<nowiki>></nowiki>.'''
 +
* Pravidlo povoľujúce prístup, prostredníctvom prvku '''<nowiki><</nowiki>allows<nowiki>></nowiki>.'''
 +
Oba typy autorizačných pravidiel môžeme aplikovať <nowiki>[</nowiki>4<nowiki>]</nowiki> :
 +
 
 +
* Jedného užívateľa použitím kľúčového slova '''user'''.
 +
* Na skupinu užívateľov (rolí) použitím kľúčového slova '''roles'''.
 +
* Alebo môžeme použiť kľúčové slovo '''verbs''', a prostredníctvom neho určiť konkrétne typy  HTTP požiadaviek, na ktoré sa bude pravidlo aplikovať.
 +
 
 +
 
 +
Tab. 6.1 Konfigurácia autorizačných pravidiel v súbore web.config
 +
 
 +
{|class="wikitable"
 +
|align = "justify"|<font color="#0000FF"><nowiki><</nowiki></font><font color="#A31515">authorization</font><font color="#0000FF"><nowiki>></nowiki></font><br><font color="#0000FF">  <nowiki><</nowiki></font><font color="#A31515">allow</font><font color="#0000FF"> </font><font color="#FF0000">users</font><font color="#0000FF">=</font>"<font color="#0000FF">Zoznam uzivatelov</font>"<br><font color="#0000FF">        </font><font color="#FF0000">roles</font><font color="#0000FF">=</font>"<font color="#0000FF">Zoznam roli</font>"<br><font color="#0000FF">        </font><font color="#FF0000">verbs</font><font color="#0000FF">=</font>"<font color="#0000FF">Typy HTTP poziadaviek</font>"<br><font color="#0000FF">        /<nowiki>></nowiki></font><br><font color="#0000FF">  <nowiki><</nowiki></font><font color="#A31515">deny</font><font color="#0000FF"> </font><font color="#FF0000">users</font><font color="#0000FF">=</font>"<font color="#0000FF">Zoznam uzivatelov</font>"<br><font color="#0000FF">        </font><font color="#FF0000">roles</font><font color="#0000FF">=</font>"<font color="#0000FF">Zoznam roli</font>"<br><font color="#0000FF">        </font><font color="#FF0000">verbs</font><font color="#0000FF">=</font>"<font color="#0000FF">Typy HTTP poziadaviek</font>"<br><font color="#0000FF">        /<nowiki>></nowiki></font><br><font color="#0000FF"><nowiki><</nowiki>/</font><font color="#A31515">authorization</font><font color="#0000FF"><nowiki>></nowiki></font>
 +
|-
 +
|}
 +
 
 +
Pri definovaný pravidiel môžeme využiť tieto zástupné  znaky <nowiki>[</nowiki>1<nowiki>]</nowiki>:
 +
 
 +
* Znak '''?''', ktorý reprezentuje všetkých anonymných užívateľov.
 +
* Znak '''<nowiki>*</nowiki>''', ktorý reprezentuje všetkých užívateľov.
 +
 
 +
Proces aplikácie konfiguračných pravidiel je pre webové služby ASP.NET nasledovný. Najskôr sa aplikujú konfiguračné pravidlá z príslušného konfiguračného súboru web.confing a následné sa aplikujú pravidlá zo súboru machine.confing. Autorizačné pravidlá sa aplikujú v tom poradí, v akom sú v konfiguračnom súbore zapísané. <nowiki>[</nowiki>15<nowiki>]</nowiki>
 +
 
 +
:Prostredníctvom autorizačných pravidiel môže riadiť prístup užívateľov ku konkrétnym adresárom a súborom. Riadení prístup k adresárom sa realizuje umiestením konfiguračného súboru s autorizačnými pravidlami do príslušného adresára. Riadení prístup ku konkrétnym súborom sa realizuje prostredníctvom prvku '''<nowiki><</nowiki>location<nowiki>></nowiki>''' , v ktorom konkretizujem cestu k súboru. ( pozri Tab. 6.2)
 +
 
 +
Tab. 6.2 Konfigurácia autorizačných pre riadený prístup k súboru
 +
 
 +
{|class="wikitable"
 +
|<font color="#0000FF"><nowiki><</nowiki></font><font color="#A31515">location</font><font color="#0000FF"> </font><font color="#FF0000">path</font><font color="#0000FF">=</font>"<font color="#0000FF">SecrurePage.asmx</font>"<font color="#0000FF"><nowiki>></nowiki></font><br><font color="#0000FF"><nowiki><</nowiki></font><font color="#A31515">system.web</font><font color="#0000FF"><nowiki>></nowiki></font><br><font color="#0000FF">  <nowiki><</nowiki></font><font color="#A31515">authorization</font><font color="#0000FF"><nowiki>></nowiki></font><br><font color="#0000FF">    <nowiki><</nowiki></font><font color="#A31515">deny</font><font color="#0000FF"> </font><font color="#FF0000">users</font><font color="#0000FF">=</font>"<font color="#0000FF">?</font>"<font color="#0000FF">/<nowiki>></nowiki></font><br><font color="#0000FF">  <nowiki><</nowiki>/</font><font color="#A31515">authorization</font><font color="#0000FF"><nowiki>></nowiki></font><br><font color="#0000FF"><nowiki><</nowiki>/</font><font color="#A31515">system.web</font><font color="#0000FF"><nowiki>></nowiki></font><br><font color="#0000FF"><nowiki><</nowiki>/</font><font color="#A31515">location</font><font color="#0000FF"><nowiki>></nowiki></font>
 +
|-
 +
|}<br clear="all">
 +
 
 
=Zabezpečenie webových služieb=
 
=Zabezpečenie webových služieb=
 
==Zabezpečenie na úrovni transportu alebo platformy==
 
==Zabezpečenie na úrovni transportu alebo platformy==
 
==Zabezpečenie na úrovni správ==
 
==Zabezpečenie na úrovni správ==
 
==Zabezpečenie na úrovni aplikácie==
 
==Zabezpečenie na úrovni aplikácie==

Verzia zo dňa a času 16:29, 7. apríl 2010

Autorizácia

V predchádzajúcich kapitolách sme si vysvetlili metódy, akými môžeme overiť identitu užívateľa volajúceho webovú službu. Podrobnejšie sme si rozobrali tie, ktoré sú v praxi úspešne využívané v rôznych bezpečnostných scenároch. Získanie skutočnej identity klienta predstavuje len prvý krok, k vytvoreniu bezpečnej komunikácie. Potrebujeme vedieť, aké má klient oprávnenie v rámci našej webovej služby. Aké webové metódy webovej služby môže volať, k akým zdrojom, či už k databázam alebo súborom smie pristupovať. Proces, v ktorom zisťujeme oprávnenia sa nazýva autorizácia.

V tejto kapitole si rozoberieme spôsoby autorizácia s využitím konfiguračného súboru web.confing webovej služby.

Autorizácia URL

Ako sme už spomenuli autorizačné pravidlá definujeme v konfiguračnom súbore webovej služby .Tie sú vykonávané prostredníctvom špeciálneho HTTP modulu UrlAuthorization-Module. Princíp fungovania tohto module spočíva v analýze a kontrole každého požiadavku užívateľa, tým je zabezpečená ochrana neautorizovaného prístupu. Tento model autorizácie kontroluje bezpečnostný kontext a URL zdroja, ku ktorému žiada užívateľ prístup.[13]

Autorizačné pravidlá

V tejto podkapitole si vysvetlíme samotný spôsob realizácie autorizácie v konfiguračnou súbore webovej služby. Autorizačné pravidlá sa definujú v súbore web.confing prostredníctvom prvku <authorization> pomocou, ktorého môžeme vytvoriť dva typy autorizačných pravidiel [4]:

  • Pravidlo zakazujúce prístup, prostredníctvom prvku <deny>.
  • Pravidlo povoľujúce prístup, prostredníctvom prvku <allows>.

Oba typy autorizačných pravidiel môžeme aplikovať [4] :

  • Jedného užívateľa použitím kľúčového slova user.
  • Na skupinu užívateľov (rolí) použitím kľúčového slova roles.
  • Alebo môžeme použiť kľúčové slovo verbs, a prostredníctvom neho určiť konkrétne typy HTTP požiadaviek, na ktoré sa bude pravidlo aplikovať.


Tab. 6.1 Konfigurácia autorizačných pravidiel v súbore web.config

<authorization>
<allow users="Zoznam uzivatelov"
roles="Zoznam roli"
verbs="Typy HTTP poziadaviek"
/>
<deny users="Zoznam uzivatelov"
roles="Zoznam roli"
verbs="Typy HTTP poziadaviek"
/>
</authorization>

Pri definovaný pravidiel môžeme využiť tieto zástupné znaky [1]:

  • Znak ?, ktorý reprezentuje všetkých anonymných užívateľov.
  • Znak *, ktorý reprezentuje všetkých užívateľov.

Proces aplikácie konfiguračných pravidiel je pre webové služby ASP.NET nasledovný. Najskôr sa aplikujú konfiguračné pravidlá z príslušného konfiguračného súboru web.confing a následné sa aplikujú pravidlá zo súboru machine.confing. Autorizačné pravidlá sa aplikujú v tom poradí, v akom sú v konfiguračnom súbore zapísané. [15]

Prostredníctvom autorizačných pravidiel môže riadiť prístup užívateľov ku konkrétnym adresárom a súborom. Riadení prístup k adresárom sa realizuje umiestením konfiguračného súboru s autorizačnými pravidlami do príslušného adresára. Riadení prístup ku konkrétnym súborom sa realizuje prostredníctvom prvku <location> , v ktorom konkretizujem cestu k súboru. ( pozri Tab. 6.2)

Tab. 6.2 Konfigurácia autorizačných pre riadený prístup k súboru

<location path="SecrurePage.asmx">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>


Zabezpečenie webových služieb

Zabezpečenie na úrovni transportu alebo platformy

Zabezpečenie na úrovni správ

Zabezpečenie na úrovni aplikácie