none
2008 R2 64 BIT: Security Exception RRS feed

  • Domanda

  • Ciao,

    Su un server 2008 R2 64bit ho creato un server WEB ( Internet Information Services ( Version 7.5.7600.16385 )). Nella directory che contiene il sito ho dato i permessi di scrittura a NETWORK SERVICE del Server ma quando apro il sito con http://localhost/ mi appare il seguente errore:

    Server Error in '/' Application

    Security Exception
    Description: The application attempted to perform an operation not allowed by the security policy.  To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file.

    Exception Details: System.Security.SecurityException: Request for the permission of type 'System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.

    Nella versione Windows Server 2008 ( non R2 ) mi sembra non succedesse.

    Come mai?

    Grazie

    venerdì 28 gennaio 2011 09:51

Risposte

Tutte le risposte

  • Su 2008 R2 e relativamente al tuo errore c'è questo articoo che sembra fare al caso :

    http://blogs.msdn.com/b/narahari/archive/2010/06/03/system-security-securityexception-request-for-the-permission-of-type-system-web-aspnethostingpermission-system-version-2-0-0-0-culture-neutral-publickeytoken-b77a5c561934e089-failed.aspx


    Fabrizio Volpe
    MVP Directory Services
    MCSE (NT4)(2000)(2003) - MCSA (2003)
    MCTS (SQL 2005)(Exchange 2007)(Windows 2008)
    Fortinet Certified Network Security Professional (FCNSP)
    Fabrizio[_dot_]Volpe[_at_]GMX[_dot_]com
    venerdì 28 gennaio 2011 10:03
  • Ciao,

    Su un server 2008 R2 64bit ho creato un server WEB ( Internet Information Services ( Version 7.5.7600.16385 )). Nella directory che contiene il sito ho dato i permessi di scrittura a NETWORK SERVICE del Server ma quando apro il sito con http://localhost/ mi appare il seguente errore:

    perchè dare il permesso in scrittura a network service sulla root di un web site ? attenzione che crei una falla di sicurezza non da poco.
    Edoardo Benussi - Microsoft® MVP
    Management Infrastructure - Systems Administration
    https://mvp.support.microsoft.com/Profile/Benussi
    Windows Server Italian Forum Moderator
    edo[at]mvps[dot]org
    venerdì 28 gennaio 2011 11:07
    Moderatore
  • Bu, e' scritto nelle modalita' di configurazione di DotNetNuke.

    Come dovrei fare?

    venerdì 28 gennaio 2011 11:57
  • perchè dare il permesso in scrittura a network service sulla root
    di un web site ? attenzione che crei una falla di sicurezza non da
    poco.

    Già ... e la stessa cosa vale anche per i permessi di esecuzione
    su cartelle utilizzate per l'upload o cartelle ftp; basta vedere questo

    http://securitylab.ir/blog/dl/Microsoft-IIS6-parsing-directory-Vulnerability.pdf

    per capire quanto sia pericoloso impostare in maniera scorretta i
    permessi solo perchè "non funziona qualcosa"

    venerdì 28 gennaio 2011 12:05
  • Ok, ma secondo te come potrei fare?

     

    Grazie

    venerdì 28 gennaio 2011 12:39
  • Ho visto l'articolo ma non ho capito tutto.. :-)

    cmq dovrei agire Sul server Web, aprire Strumenti di amministrazione e quindi fare doppio clic su Configurazione di Microsoft .NET Framework .

    Questa voce non c'e', mi dice di installare .NET Framework SDK per aggiungere Microsoft .NET Framework Configuration.

    Ho instalato il .NET Framework 4.0 ma comprende anche l' SDK ? Cmq la voce non l'ha aggiunta .. :-(

    Poi dice che potrei usare in alternativa questo comando:

    Drive:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\caspol.exe -m -ag 1 -url "file:////\\computername\sharename\*" FullTrust -exclusive on

    Drive credo sia C:

    Al posto di computername dovrei mettere il nome del Server locale vero?  ma al posto di sharename cosa metto? La directory che contiene il sito e' nel disco E: e non e' condivisa, dovrei condividerla?

    Grazie

    venerdì 28 gennaio 2011 12:46
  • di quale applicazione stai parlando e cosa dovrebbe fare questa applicazione ?

    non sei nuovo qui, mi sembra strano che tu non sappia ancora le regole che prevedono di fornire il maggior numero d'informazioni possibili.

    non siamo pagati per fre gli indovini anzi non siamo pagati proprio ROTFL

    sto solo scherzando...


    Edoardo Benussi - Microsoft® MVP
    Management Infrastructure - Systems Administration
    https://mvp.support.microsoft.com/Profile/Benussi
    Windows Server Italian Forum Moderator
    edo[at]mvps[dot]org
    venerdì 28 gennaio 2011 12:48
    Moderatore
  • E' un sito Web DotNetNuke con database SQL SERVER 2008 Express..

    grazie

    venerdì 28 gennaio 2011 13:15
  • a maggior ragione non ha senso dare il permesso in scrittura sulla cartella root del sito perchè la web app non deve scrivere sul file system ma deve avere il permesso di accedere all'istanza del database su sql server express.

    dove è stata installata l'istanza di sql express ?

    l'applicazione va in errore subito o parte e va in errore dopo qualche specifica operazione ?


    Edoardo Benussi - Microsoft® MVP
    Management Infrastructure - Systems Administration
    https://mvp.support.microsoft.com/Profile/Benussi
    Windows Server Italian Forum Moderator
    edo[at]mvps[dot]org
    venerdì 28 gennaio 2011 13:41
    Moderatore
  • Sql Express e' installato di default sul C:

    Il sito va in errore subito non appena lancio http://localhost/

    Cmq qualcosa deve scrivere anche nella Directory del sito in quanto la procedura di installazione di DotNetNuke modifica il web.config.

     

    Grazie

    venerdì 28 gennaio 2011 13:51
  • Sql Express e' installato di default sul C:

    Il sito va in errore subito non appena lancio http://localhost/

    Cmq qualcosa deve scrivere anche nella Directory del sito in quanto la procedura di installazione di DotNetNuke modifica il web.config.

    mi sa che non te ne intendi molto di web app.

    il web.config viene scritto o modificato dallo sviluppatore (o dal team di sviluppo) fino a quando è scritto correttamente per le esigenze del sito ma una volta trovata la versione definitiva non c'è alcun motivo per modificarlo e tanto meno la modifica viene apportata dall'applicazione stessa.

    questo significa che quel file come nessun altro presente nella root del web site deve venir modificato dall'applicazione stessa quindi la soluzione di dare il permesso in scrittura a network system non serve a nulla.

    come hai installato questa web app ? chi ti ha detto come devono essere configurate le vrie opzioni del web site sotto iis manager ? in cosa è scritta la web app ? la web app richiede autenticazione di base o integata o il semplice accesso anonimo ?


    Edoardo Benussi - Microsoft® MVP
    Management Infrastructure - Systems Administration
    https://mvp.support.microsoft.com/Profile/Benussi
    Windows Server Italian Forum Moderator
    edo[at]mvps[dot]org
    venerdì 28 gennaio 2011 14:20
    Moderatore
  • > Ok, ma secondo te come potrei fare?

    Senti, caro il mio "pilo90", considerando i quesiti che hai
    posto in altri thread, mi sorge il (se permetti) legittimo
    sospetto che tu sia stato messo ad amministrare dei
    sistemi dei quali non hai la benchè minima conoscenza
    e che tu stia usando questi forums come "manuale", ora,
    che tutti vogliano, possano e debbano imparare è una
    cosa sacrosanta, ma che uno venga qui cercando di
    risparmiare due euro per uno straccio di corso o al fine
    di evitare qualche consulenza, se permetti, mi fa girare
    di brutto i maroni; anche perchè, nel 99.999% dei casi
    gli STESSI soggetti sono quelli che partono, lancia in
    resta con il classico "Microsoft fa schifo" e "Microsoft
    fa dei prodotti buggati e vulnerabili"; a questo punto,
    se permetti, credo che dovresti quantomeno rimettere
    le cose nella giusta prospettiva ed EVITARE di fare
    quello che stai facendo, ossia prendere per i fondelli
    gente che, nonostante LAVORI, dedica una parte del
    proprio tempo ad aiutare chi ne ha realmente bisogno

    venerdì 28 gennaio 2011 15:09
  • Ciao a tutti, scusate l'intromissione.

    Volevo solo dire che versioni VECCHIE di DNN avevano bisogno dei permessi di scrittura e che l'INSTALLAZIONE POI li rimuoveva.

    Comunque deve rimanere la permission sulla cache di compilazione di ASP.NET che è sita in c:\programmi\file comuni\microsoft shared\..... non mi ricordo esattamente. Forse potrebbe essere quello il problema.

    Ma hai SPOSTATO il sito DNN oppure hai INSTALLATO un nuovo DNN?

    hai visto qui:

    http://www.dotnetnuke.com/LinkClick.aspx?fileticket=gOZGbvrVKJw%3D&tabid=478&mid=857

    se ci sono numi al riguardo?

    P.S. hai installato la versione .NET Framework UGUALE spiccicata al server precedente?

    Ciao!


    Diego Castelli - MCSA 2003, MCP ISA 2004, MCTS Forefront. ITA: Questo post è fornito "così com'è". Non conferisce garanzie o diritti di alcun tipo. Ricorda di usare la funzione "segna come risposta" per i post che ti hanno aiutato a risolvere il problema e "deseleziona come risposta" quando le risposte segnate non sono effettivamente utili. Questo è particolarmente utile per altri utenti che leggono il thread, alla ricerca di soluzioni a problemi similari. ENG: This posting is provided "AS IS" with no warranties, and confers no rights. Please remember to click "Mark as Answer" on the post that helps you, and to click "Unmark as Answer" if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
    venerdì 28 gennaio 2011 15:22
  • Scusa Obi ma hai frainteso,

    E' vero che io non sono un'esperto pero' mi trovo a dover risolvere dei problemi che mi servono per apprendere questa tecnologia. I corsi non li posso fare e sono anche convinto che non siano cosi' esaustivi come la soluzione di un caso reale.

    Le mie richieste nei news hanno avuto quasi sempre riscontro positivo e mi sembra di aver imparato tanto.

    Anche tu spesso mi hai risposto cortesemente aiutandomi non poco.

    Mi scuso se ti ho indotto a questa impressione ma non volevo prendere x i fondelli nessuno....

    ciao

    venerdì 28 gennaio 2011 17:26

  • E' un DNN nuovo, versione 5.2.2 su Windows Server 2008 R2 64 bit e SQL Server 2008 R2 64 bit EXPRESS.

    Lo sto facendo per riorganizzare il sito che ora gira tranquillamente su DNN 5.2.2 ,  Server 2008 32 bit con SQL Server 2005 STD.

    La versione .NET Framework e' la 4.0

    Ho cercato nel sito ufficiale ed ho trovato questo:

    http://www.dotnetnuke.com/Community/Blogs/tabid/825/EntryId/2420/Windows-7-Windows-2008-R2-cross-application-pool-isolation.aspx

    di cui un estratto:

    New account for asp.net
    Instead of using the “NetworkService” account that was used in IIS6/7 , the default account is called “ApplicationPoolIdentity” , so this is the account that needs the usual permissions on the website.  This account is not a "real" user account though. To add permissions for it on your website, you will need to open up Windows explorer and do the following:

    • Right click the website folder and select "Properties"
    • Select the "Security" tab
    • Click the "Edit" and then "Add" button
    • Click the "Locations" button and make sure you select your machine.
    • Enter "IIS AppPool\DefaultAppPool" in the "Enter the object names to select:" text box.
    • Click the "Check Names" button and click "OK".
    • You can now select the necessary permissions (typically read, write and modify permissions for the folder and all subfolders is the easiest permission to set)

    Note: Alternatively you may change your application pool back to "NetworkService" (or any other account), but will lose the cross-app pool isolation feature.

     

    Ho provata ma non funziona.

    Secondo te e' la strada giusta?

    Grazie

    venerdì 28 gennaio 2011 17:32
  • * You can now select the necessary permissions (typically read, write
    and modify permissions for the folder and all subfolders is the
    easiest permission to set)

    si, "easiest to set" ma sicuramente non "the most secure" <<sigh>>
    a volte mi chiedo se chi scrive quella documentazione si renda
    conto dei DANNI che fa

    venerdì 28 gennaio 2011 17:42
  • Eh, ok ma secondo te il problema e' questo ?

    Ti diro', io ho provato a fare questa integrazione ma quando introduco IIS AppPool\DefaultAppPool  nel campo: Enter the object names to select con Check names mi viene reso DefaultAppPool e basta, e' lo stesso utente?

    Cmq ho provato a dare i permessi di Modify e Write a questo utente ma non funziona...

    ciao e grazie

    sabato 29 gennaio 2011 08:12
  • a quale application pool è associato questo sito ?

    con quale identità viene eseguito l'application pool a cui è associato il sito ?


    Edoardo Benussi - Microsoft® MVP
    Management Infrastructure - Systems Administration
    https://mvp.support.microsoft.com/Profile/Benussi
    Windows Server Italian Forum Moderator
    edo[at]mvps[dot]org
    sabato 29 gennaio 2011 08:24
    Moderatore
  • Eh, il problema e' proprio qua', allora sono andato nelle Application Pool ed ho trovato:

    ASP.NET v4.0

    ASP.NET v4.0 Classic

    Classic .NET AppPool

    DefaultAppPool

    DotNetNukeDTD <--- Questo e' il mio sito <--- tasto Dx : STOP

                       Tasto Dx: Set Application Pools Defaults..

                       Individuato la riga: Load User Profile ( Sezione Process Model ) e ho messo a TRUE

                       tasto DX : Start

    Il sito e' partito.

    Pero' non ho capito bene cosa ho fatto :-(

    Mi spieghi? Come faccio a sapere qual'e' l'identita' con cui viene eseguito l' application pool?

    Grazie

    sabato 29 gennaio 2011 21:36
  • qui trovi proprio il post che da la risposta alla tua domanda

    http://stackoverflow.com/questions/3068548/security-exceptions-in-asp-net-and-load-user-profile-option-in-iis-7-5

    per la tua seconda domanda la risposta è: in iis 7.5 l'application pool viene eseguito di default nel contesto di sicurezza dell'account chiamato ApplicationPoolIdentity che è un account costruito ad hoc e di cui trovi qui alcune spiegazioni

    http://serverfault.com/questions/81165/how-to-assign-permissions-to-applicationpoolidentity-account

    questo accoutn può essere sostituito dai tradizionali localsystem, network service, ecc.ecc.

    ciao.


    Edoardo Benussi - Microsoft® MVP
    Management Infrastructure - Systems Administration
    https://mvp.support.microsoft.com/Profile/Benussi
    Windows Server Italian Forum Moderator
    edo[at]mvps[dot]org
    lunedì 31 gennaio 2011 08:05
    Moderatore
  • Ok, ma nel forum di DotNetNuke mi hanno consigliato di creare un utente di macchina apposito da nominare, per esempio,  DNN_App_Pool  e di assegnare a questo L' Identity  dell' Application Pool che si occupa del sito.

    Secondo te e' corretto od e' meglio assegnare all' identity l' utente NETWORK SERVICE ?

    Poi, che significato ha aver posto a True la riga: Load User Profile?

    Grazie

    lunedì 31 gennaio 2011 08:45
  • Ok, ma nel forum di DotNetNuke mi hanno consigliato di creare un utente di macchina apposito da nominare, per esempio,  DNN_App_Pool  e di assegnare a questo L' Identity  dell' Application Pool che si occupa del sito.

    Secondo te e' corretto od e' meglio assegnare all' identity l' utente NETWORK SERVICE ?

    quanto ti è stato suggerito è corretto purchè tu dia il minor numero di permessi possibili all'account DNN_App_Pool

    Poi, che significato ha aver posto a True la riga: Load User Profile?

    Grazie

    per questo ti rimando al link che ti ho postato.



    Edoardo Benussi - Microsoft® MVP
    Management Infrastructure - Systems Administration
    https://mvp.support.microsoft.com/Profile/Benussi
    Windows Server Italian Forum Moderator
    edo[at]mvps[dot]org
    lunedì 31 gennaio 2011 09:18
    Moderatore