ASP.NETin osittaisen luottamuksen tila ei takaa sovelluksen eristämistä

Artikkeleiden käännökset Artikkeleiden käännökset
Artikkelin tunnus: 2698981 - Näytä tuotteet, joita tämä artikkeli koskee.
Laajenna kaikki | Kutista kaikki

Tällä sivulla

JOHDANTO

ASP.NETin avulla järjestelmänvalvojat voivat isännöidä sovelluksia osittaisen luottamuksen tiloissa, kuten keskitason luottamuksen tilassa. Sen avulla voidaan myös määrittää mukautettuja osittaisen luottamuksen tasoja mukautettuja käytäntötiedostoja käyttäen. Lisätietoja keskitason luottamuksen käyttämisestä ASP.NET 2.0:ssa on seuraavalla Microsoft Developer Networkin (MSDN) verkkosivulla:
Toimintaohje: Keskitason luottamuksen käyttäminen ASP.NET 2.0:ssa
Osittaisen luottamuksen tilassa toimiva ASP.NET on kuvattu aiemmin mekanismiksi, joka valvoo sovelluksen eristämistä jaetussa isännöintiympäristössä, jossa useita luottamustasoiltaan erilaisia sovelluksia isännöidään samassa WWW-palvelimessa. Päivitämme nyt tätä koskevan ohjeistuksemme siltä osin, että ASP.NET-sivurakenteen sovelluksen suorittaminen osittaisen luottamuksen tilassa ei takaa täydellistä eristämistä muista sovelluksista, joita suoritetaan samassa prosessissa tai samassa tietokoneessa. 

Suositeltava menettely on määrittää ASP.NET-sivurakenteen sovellukset toimimaan erillisissä, käyttöoikeuksiltaan rajatuissa prosesseissa (yksittäisiä sovellussarjoja käyttäen). Näin varmistetaan, että ne toimivat eristyksissä muista saman WWW-palvelimen ASP.NET-sivurakenteen sovelluksista. Seuraavassa osiossa on tietoja sovellusten määrittämisestä eristämistä varten. Päivitämme myös muut ohjeet tässä artikkelissa eritellyn käytäntömuutoksen mukaisiksi.

Enemmän tietoa

Palvelimen järjestelmänvalvojien täytyy noudattaa tämän artikkelin ohjeita, jotta sovellukset varmasti eristetään jaetuissa isännöintiympäristöissä. Nämä ohjeet koskevat ASP.NETin isännöimistä Windows Server 2003 SP2 -käyttöjärjestelmässä ja uudemmissa versioissa. Ohjeet koskevat Internet Information Services (IIS) -versioita 6.0?7.5.

Monet tässä eritellyt tehtävät voidaan määrittää automaattisiksi AppCmd.exe IIS -komentorivityökalulla IIS 7- ja 7.5-versioissa sekä käyttämällä IIS-hallintakomentosarjoja IIS 6.0 -versiossa.

Sovellusten sijoittaminen erillisiin IIS-sivustoihin

Jaetussa isännöintiympäristössä sovellukset täytyy sijoittaa erillisiin IIS-sivustoihin. Sovellusten määritykset ovat paremmin eristyksissä toisistaan, kun niitä isännöidään erillisissä sivustoissa. Myös .NET Framework CLR -isäntä on erillinen. Eristyksen taso on täten parempi myös tällä tasolla.

Sijoita kukin sovellus erilliseen sivustoon noudattamalla seuraavia ohjeita:

Internet Information Services 6.0 (Windows Server 2003 SP2)

  1. Avaa IIS (Internet Information Services) -palveluiden hallinta.
  2. Laajenna nykyisen palvelimen solmu vasemmasta ruudusta.
  3. Napsauta WWW-sivustot-solmua hiiren kakkospainikkeella, valitse Uusi ja valitse WWW-sivusto.
  4. Valitse Seuraava.
  5. Kirjoita yksilöllinen nimi uudelle WWW-sivulle ja valitse Seuraava.
  6. Tee isännöintiympäristön sivustosidosten määritykset.
  7. Kirjoita sen kansion fyysinen polku, johon sovellustiedostot on tallennettu.
  8. Valitse Salli komentosarjojen käyttö (kuten ASP) -valintaruutu ja valitse Seuraava.
  9. Valitse Valmis. Uusi sivusto tulee näkyviin WWW-sivustot -solmuun.

Internet Information Services 7 (Windows Vista SP2 ja Windows Server 2008 SP1) ja Internet Information Services 7.5 (Windows 7 ja Windows Server 2008 R2)

  1. Avaa IIS (Internet Information Services) -palveluiden hallinta.
  2. Laajenna nykyisen palvelimen solmu Yhteydet-ruudusta.
  3. Valitse Sivustot-solmu ja napsauta Toiminnot-ruudun Lisää WWW-sivusto -linkkiä.
  4. Kirjoita yksilöllinen nimi uudelle WWW-sivustolle Lisää WWW-sivusto -valintaikkunaan ja kirjoita sen kansion fyysinen polku, johon sovellustiedostot on tallennettu. Oletusarvon mukaan järjestelmä luo uuden sovellussarjan, jolla on sama nimi kuin sivustolla, ja sivusto määritetään käyttämään tätä sovellussarjaa. (Tämä on suosituksen mukainen määritys.)
  5. Tee isännöintiympäristön sivustosidosten määritykset.
  6. Poista Käynnistä WWW-sivusto heti -valintaruudun valinta napsauttamalla sitä. Näin varmistetaan, että sivusto ei ole käytettävissä, ennen kuin tässä artikkelissa eritellyt eristämistä koskevat ohjeet on käsitelty loppuun.
  7. Valitse OK. Määritetty sivusto tulee näkyviin Yhteydet-ruutuun Sivustot-solmun kohdalle.

Sivustojen sijoittaminen erillisiin sovellussarjoihin

Jaetussa isännöintiympäristössä sovellukset täytyy sijoittaa erillisiin sovellussarjoihin. Näin sovellukset voidaan eristää erillisiin, käyttäjätiedoiltaan yksilöllisiin käyttöjärjestelmäprosesseihin. Tämä parantaa sivustojen välisen eristämisen tasoa. (Seuraavassa osiossa kerrotaan, kuinka sovellussarjan käyttäjätiedot määritetään eristämistä varten.)

Internet Information Services 6.0 (Windows Server 2003 SP2)

  1. Avaa IIS (Internet Information Services) -palveluiden hallinta.
  2. Laajenna nykyisen palvelimen solmu vasemmasta ruudusta.
  3. Napsauta Sovellussarjat-kohtaa hiiren kakkospainikkeella, valitse Uusi ja valitse Sovellussarja.
  4. Kirjoita yksilöllinen nimi uudelle sovellussarjalle ja valitse OK.
  5. Laajenna WWW-sivustot-solmu.
  6. Napsauta WWW-kohdesivustoa hiiren kakkospainikkeella ja valitse Ominaisuudet.
  7. Valitse Kotikansio-välilehti.
  8. Valitse uusi sovellussarja Sovellussarja-kentästä valintaikkunan alaosasta.
  9. Valitse OK.

Internet Information Services 7 (Windows Vista SP2 ja Windows Server 2008 SP1) ja Internet Information Services 7.5 (Windows 7 ja Windows Server 2008 R2)

Kun olet noudattanut Sovellusten sijoittaminen erillisiin IIS-sivustoihin -osion ohjeita, uusi sivusto sijoitetaan automaattisesti uuteen, erilliseen sovellussarjaan. Jos kuitenkin olet määrittänyt aiemman sivuston käyttämään uutta, erillistä sovellussarjaa, noudata seuraavia ohjeita: 
  1. Avaa IIS (Internet Information Services) -palveluiden hallinta.
  2. Laajenna nykyisen palvelimen solmu Yhteydet-ruudusta.
  3. Valitse Sovellussarjat-solmu.
  4. Napsauta Toiminnot-ruudussa Lisää sovellussarja -linkkiä.
  5. Kirjoita yksilöllinen nimi uudelle sovellussarjalle ja valitse kohteen .NET Framework -versio ja putkitila.
  6. Valitse OK. Uusi sovellussarja näkyy luettelossa.
  7. Laajenna Yhteydet-ruudun Sivustot-solmu.
  8. Valitse sivusto, jonka haluat siirtää näiden toimintaohjeiden aiemmassa kohdassa luomaasi sovellussarjaan.
  9. Napsauta Toiminnot-ruudun Perusasetukset-linkkiä.
  10. Valitse Muokkaa sivustoa -valintaikkunassa Valitse.
  11. Valitse aiemmin luomasi sovellussarja Sovellussarja-luettelosta.
  12. Valitse OK.
Valitse Muokkaa sivustoa -valintaikkunassa OK.

Sovellussarjojen määrittäminen eristämistä varten (prosessin käyttäjätiedot)

Sovellussarjat isännöivät sovelluksia ja sivustoja Windows-prosessissa (tai -prosesseissa). Käyttäjätieto, jonka alaisuudessa prosessi suoritetaan, voidaan määrittää. Jaetussa isännöintiympäristössä jokaisella sovelluksella täytyy olla erillinen käyttäjätieto. Näin varmistetaan, että jokainen sovellus suoritetaan yksilöllisen tilin kontekstissa. Näin eristäminen voidaan toteuttaa oikein käyttäen tiedostojärjestelmän harkinnanvaraista käyttöoikeusluetteloa (DACL) sekä pohjana olevan käyttöoikeusjärjestelmän sisäisiä prosessineristysominaisuuksia. Noudattamalla seuraavia ohjeita voit luoda käyttäjätilin ja määrittää sovellussarjan kyseisen tilin käyttämistä varten.

Internet Information Services 6.0 (Windows Server 2003 SP2)

Sovellussarjan käyttäjätietona käytettävän paikallisen käyttäjätilin luominen
  1. Avaa IIS (Internet Information Services) -palveluiden hallinta.
  2. Laajenna Paikalliset käyttäjät ja ryhmät vasemmasta ruudusta.
  3. Napsauta Käyttäjät-solmua hiiren kakkospainikkeella ja valitse Uusi käyttäjä.
  4. Kirjoita yksilöllinen nimi ja vahva salasana uutta käyttäjätiliä varten.
  5. Poista Käyttäjän on muutettava salasana seuraavalla kirjautumiskerralla -valintaruudun valinta.
  6. Valitse Käyttäjä ei voi muuttaa salasanaa -valintaruutu napsauttamalla sitä.
  7. Valitse Luo ja valitse sitten Sulje.
  8. Valitse Käyttäjät-solmu vasemmanpuoleisesta ruudusta. Uusi tili tulee näkyviin luetteloon.
Sovellussarjan määrittäminen käyttämään uutta paikallista käyttäjätiliä
  1. Avaa IIS (Internet Information Services) -palveluiden hallinta.
  2. Laajenna nykyisen palvelimen solmu vasemmasta ruudusta.
  3. Laajenna Sovellussarjat-solmu.
  4. Napsauta kohdesovellussarjaa hiiren kakkospainikkeella ja valitse Ominaisuudet.
  5. Valitse Käyttäjätiedot-välilehti.
  6. Valitse Määritettävissä oleva -valintanappi.
  7. Kirjoita uuden tilin käyttäjänimi ja salasana.
  8. Valitse OK.
  9. Kirjoita salasana uudelleen Vahvista salasana -valintaikkunaan ja valitse OK.

Internet Information Services 7 ja 7.5 (Windows Vista SP2, Windows Server 2008 SP1, Windows 7 ja Windows Server 2008 R2)

  1. Avaa IIS (Internet Information Services) -palveluiden hallinta.
  2. Laajenna nykyisen palvelimen solmu Yhteydet-ruudusta.
  3. Valitse Sovellussarjat-solmu.
  4. Valitse kohdesovellussarja.
  5. Napsauta Toiminnot-ruudun Perusasetukset-linkkiä.
  6. Aseta Prosessimalli-osassa Käyttäjätieto-ominaisuuden arvoksi ApplicationPoolIdentity. Tämä asetus luo tälle sovellussarjalla automaattisesti yksilöllisen käyttäjätiedon. Seuraavassa osiossa voit määrittää tämän yksilöllisen käyttäjätiedon avulla harkinnanvaraisia käyttöoikeusluetteloita (DACL) tiedostosijainteihin, joita sovelluksen täytyy käyttää.
  7. Valitse OK.

DACL-luetteloiden määrittäminen sovelluksen sisällön sijainneissa

Harkinnanvarainen käyttöoikeusluettelo (DACL) on luettelo oikeuksista, jotka liittyvät objektiin ja joilla objektin käyttöoikeuksia voidaan hallita. DACL-luetteloiden avulla sovelluksen sisällön oikeuksia voidaan rajoittaa. Tämä tehostaa samassa WWW-palvelimessa isännöitävien sivustojen välistä eristystä. Lisätietoja käyttöoikeusluetteloista ja IIS-käyttäjätiedoista on artikkelissa Secure Content in IIS Through File System ACLs (Sisällön suojaaminen IIS:ssä tiedostojärjestelmän käyttöoikeusluetteloiden välityksellä).

Kaikki IIS-versiot

  1. Avaa sivuston sisällön pääkansio komentokehotteessa tai Resurssienhallinnassa.
  2. Poista jommallakummalla seuraavista menettelyistä tämän sijainnin kaikki käyttömerkinnät, joka on toteutettu muilla kuin järjestelmänvalvojan oikeuksilla. (Tämä koskee myös Käyttäjät-ryhmää.)
    • Napsauta kansiota Resurssienhallinnassa hiiren kakkospainikkeella, valitse Ominaisuudet, valitse Suojaus-välilehti ja muuta käyttöoikeusluetteloa.
    • Muuta käyttöoikeusluetteloa komentokehotteessa icacls.exe-apuohjelmalla (tai cacls.exe-apuohjelmalla, jos kyseessä on Windows-käyttöjärjestelmän vanhempi versio).
  3. Lisää uusi merkintä prosessin käyttäjätiedolle, jonka valitsit sivua varten.
  4. Myönnä uudelle käyttäjätiedolle kansion luku- ja suoritusoikeudet.
Jos sovellus tarvitsee kirjoitusoikeudet tiettyihin kansioihin (esimerkiksi latauskansioon), noudata seuraavia ohjeita:

Internet Information Services 6.0 (Windows Server 2003 SP2)

  1. Napsauta kansiota Resurssienhallinnassa hiiren kakkospainikkeella, valitse Ominaisuudet, valitse Suojaus-välilehti ja lisää muokkausoikeudet prosessin käyttäjätietoa varten.
  2. Jos kansioissa on staattista sisältöä (esimerkiksi kuvia ja tekstitiedostoja), noudata näiden kansioiden osalta seuraavia ohjeita:
    1. Avaa IIS (Internet Information Services) -palveluiden hallinta.
    2. Napsauta asiaankuuluvaa kansion nimeä vasemmassa ruudussa hiiren kakkospainikkeella ja valitse Ominaisuudet.
    3. Valitse Suojaus-välilehti.
    4. Valitse Suoritusoikeudet-luettelosta Ei mitään.

Internet Information Services 7 ja 7.5 (Windows Vista SP2, Windows Server 2008 SP1, Windows 7 ja Windows Server 2008 R2)

  1. Napsauta kansiota Resurssienhallinnassa hiiren kakkospainikkeella, valitse Ominaisuudet, valitse Suojaus-välilehti ja lisää muokkausoikeudet prosessin käyttäjätietoa varten.
  2. Jos kansioissa on staattista sisältöä (esimerkiksi kuvia ja tekstitiedostoja), lisää näiden kansioiden osalta web.config-tiedostomerkintä, joka ei salli komentosarjojen käyttöä accessPolicy-asetuksessa:
    <system.webServer> <handlers accessPolicy="Read,Write" /> </system.webServer>

Temporary ASP.NET Files -kansion sijainnin määrittäminen ja sivustokohtaisten DACL-luetteloiden määrittäminen

ASP.NET edellyttää, että palvelimessa on sijainti tilapäisten tiedostojen, kuten koontitiedostojen, säilyttämistä varten. Tavallisesti tämä kansio on Temporary ASP.NET Files -kansio. Oletusarvon mukaan tämä kansio on kansiossa, johon .NET Framework on asennettu. Kun jokaista sivustoa varten määritetään eri tilapäissijainti ja kansio suojataan erikseen, samassa WWW-palvelimessa isännöitävien sivustojen välinen eristys tehostuu. Lisätietoja Temporary ASP.NET Files -kansiosta on artikkelissa Understanding ASP.NET Dynamic Compilation (ASP.NETin dynaamisen koonnin perusteita).

Eri Temporary ASP.NET Files -kansiosijainnin määrittäminen kutakin sivustoa varten

  1. Luo kullekin sivustolle uusi kansio kyseisen sivuston tilapäisten ASP.NET -tiedostojen säilyttämistä varten. Tilapäistiedostot kannattaa tallentaa muuhun kuin järjestelmäasemaan.
  2. Lisää palvelimen web.config- tai applicationHost.config-päätiedostoon asetus, joka osoittaa kyseisen sivuston uuden kansion sijaintiin <location>-elementtiä käyttäen. Se voi olla esimerkiksi tällainen:
    <configuration> <location path="path"> <system.web> <compilation tempDirectory="temp-files-path" /> </system.web> </location> <!-- and so on --> </configuration>

Asiaankuuluvien DACL-luetteloiden määrittäminen Temporary ASP.NET Files -kansion sijaintiin

  1. Poista komentokehotteen tai Resurssienhallinnan avulla tämän sijainnin kaikki oikeudet, jotka ovat muita kuin järjestelmänvalvojan oikeuksia. (Tämä koskee myös Käyttäjät-ryhmää.)
  2. Lisää uusi merkintä prosessin käyttäjätiedolle, jonka aiemmin valitsit tätä sivustoa varten, ja myönnä tälle käyttäjätiedolle kansion muokkausoikeudet.

Arkaluontoisten määritystietojen poistaminen päämääritystiedostoista

Sovelluksen web.config-tiedostot sijaitsevat käsiteltävän sovelluksen sisältökansiossa. Vaikka ASP.NET ei käsittelekään sovelluksen web.config-tiedostoa, arkaluontoiset ja luottamukselliset tiedot, kuten koneavainasetukset ja yhteysmerkkijonot, on mahdollisuuksien mukaan syytä laittaa määritystiedostoon, joka on muualla kuin sovelluksen sijainnissa. Tämä ehkäisee osaltaan tietojen paljastumista.

Internet Information Services 6.0 (Windows Server 2003 SP2)

Luottamuksellisten määritystietojen tallentaminen web.config-päätiedostoon ei ole hyvä menettely, kun eri sivustojen tiedot halutaan eristää toisistaan, koska kaikilla sivustoilla on tämän tiedoston lukuoikeudet. IIS 6:ssä luottamukselliset määritykset pitäisikin tallentaa sovelluksen web.config-tiedostoon. Näin luottamukselliset määritykset voidaan eristää sivustojen välillä. Tällöin sovelluksesi estää sovelluksen web.config-tiedoston käsittelemisen ASP.NETin suojausten avulla. Näin varmistetaan, että luottamuksellisia tietoja ei luovuteta.

Internet Information Services 7 ja 7.5 (Windows Vista SP2, Windows Server 2008 SP1, Windows 7 ja Windows Server 2008 R2)

IIS 7:ssä ja uudemmissa versioissa IIS:n applicationHost.config-tiedoston luottamukselliset määritykset täytyy siirtää <location>-elementtiin, joka rajaa määritykset sivustoon, joita ne koskevat. Lisätietoja on artikkelissa How to Use Locking in IIS 7.0 Configuration (Lukituksen käyttäminen IIS 7.0 -määrityksissä). Microsoft haluaa kiittää seuraavia henkilöitä, jotka ovat auttaneet meitä asiakkaiden tietojen turvaamisessa:
Huomautus Tämä on niin sanottu nopeasti julkaistava (?fast publish?) artikkeli, joka on laadittu suoraan Microsoftin tukiorganisaatiossa. Tässä olevat tiedot toimitetaan sellaisenaan vastauksena esiin tulleisiin ongelmiin. Koska aineisto on tuotu saataville nopeasti, se saattaa sisältää painovirheitä ja tietoja saatetaan muokata milloin tahansa ilman erillistä ilmoitusta. Lue muut huomioon otettavat seikat käyttöehdoista.

Ominaisuudet

Artikkelin tunnus: 2698981 - Viimeisin tarkistus: 7. kesäkuuta 2012 - Versio: 1.0
Artikkelin tiedot koskevat seuraavia tuotteita:
  • Microsoft .NET Framework 4.0
  • Microsoft .NET Framework 2.0 Service Pack 2
  • Microsoft .NET Framework 1.1 Service Pack 1
  • Microsoft .NET Framework 1.0 Service Pack 3
Hakusanat: 
atdownload kbinfo kbexpertiseinter kbsecurity KB2698981

Anna palautetta

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com