FIX: ASP.NET Does Not Work with the Default ASPNET Account on a Domain Controller

Discussion in 'ASP .Net Security' started by Bill Kellaway, Jan 19, 2004.

  1. Hello there people

    As taken from the KB ...

    After you install Microsoft Visual Studio .NET or the Microsoft .NET
    Framework on a domain controller or on a backup domain controller, if
    you try to run an ASP.NET application, the browser displays the
    following error message: Server Application Unavailable. I've
    encountered the above problem as described in KB Aricle Number 315158
    http://support.microsoft.com/default.aspx?scid=kb;[LN];Q315158

    One of the 3 recommended resolutions was - < Set the userName
    attribute to SYSTEM in the <processModel> section of the
    Machine.config file. > - which I choose.

    Does anyone have input as to how risky this might be ? This is a web
    server that hosts does DNS, SQL and IIS on Win2k.

    I've been getting varying opinions on this.

    Thanks,

    Bill
    Bill Kellaway, Jan 19, 2004
    #1
    1. Advertising

  2. Basically, this is not recommended because it will make your system
    vulnerable. By running the process as the System account this basically
    means that if anyone were able to get control of this process they would
    have all of the priviledges that SYSTEM would have on the server and as you
    know it has many.

    My suggestion would be to Create a weak account that has the correct
    permissions, and then
    configure the <processModel> section of the Machine.config file to use
    that account.

    Here are some simple steps you can follow to grant NTFS permissions.
    Keep in mind that if you are running the 1.0 framework you will need to
    replace v1.1.4322 with v1.0.3705

    1. Create the domain user and grant it "Log on as a Service", "Log on as a
    Batch Job", "Deny Logon Locally", “Access this Computer from the Network”
    2. Add domain user to the local Users Group
    3. Grant domain user read access to C:\Winnt\microsoft.net
    4. Grant domain user Full Control to C:\WINNT\TEMP
    5. Grant domain user Full Control to
    C:\winnt\Microsoft.Net\framework\v1.1.4322\Temporary Asp.Net files
    6. Grant domain user Read access
    toC:\WINNT\Microsoft.Net\Framework\v1.1.4322
    7. Ensure domain user has Read access
    toC:\Winnt\Microsoft.Net\Framework\v1.1.4322\config
    8. Ensure domain user has Read access to C:\Winnt\Assembly
    Note: You should use the following command to add permissions to this
    folder because it is a special folder and does not have a security tab
    cacls c:\winnt\assembly /e /t /p domain\useraccount:R

    9. Modify the
    c:\winnt\microsoft.net\framework\v1.1.4322\config\machine.config under
    <processModel> change these lines to read
    Username="domain\user"
    Password="password"
    10. Restart IIS for the machine.config changes to take effect

    You can use the following command to enforce the policy changes without a
    reboot:
    SECEDIT /REFRESHPOLICY MACHINE_POLICY /ENFORCE

    This posting is provided "AS IS" with no warranties, and confers no rights.

    Holly
    Holly Mazerolle, Jan 19, 2004
    #2
    1. Advertising

  3. (Holly Mazerolle) wrote in message news:<>...
    > Basically, this is not recommended because it will make your system
    > vulnerable. By running the process as the System account this basically
    > means that if anyone were able to get control of this process they would
    > have all of the priviledges that SYSTEM would have on the server and as you
    > know it has many.
    >
    > My suggestion would be to Create a weak account that has the correct
    > permissions, and then
    > configure the <processModel> section of the Machine.config file to use
    > that account.
    >
    > Here are some simple steps you can follow to grant NTFS permissions.
    > Keep in mind that if you are running the 1.0 framework you will need to
    > replace v1.1.4322 with v1.0.3705
    >
    > 1. Create the domain user and grant it "Log on as a Service", "Log on as a
    > Batch Job", "Deny Logon Locally", ?Access this Computer from the Network?
    > 2. Add domain user to the local Users Group
    > 3. Grant domain user read access to C:\Winnt\microsoft.net
    > 4. Grant domain user Full Control to C:\WINNT\TEMP
    > 5. Grant domain user Full Control to
    > C:\winnt\Microsoft.Net\framework\v1.1.4322\Temporary Asp.Net files
    > 6. Grant domain user Read access
    > toC:\WINNT\Microsoft.Net\Framework\v1.1.4322
    > 7. Ensure domain user has Read access
    > toC:\Winnt\Microsoft.Net\Framework\v1.1.4322\config
    > 8. Ensure domain user has Read access to C:\Winnt\Assembly
    > Note: You should use the following command to add permissions to this
    > folder because it is a special folder and does not have a security tab
    > cacls c:\winnt\assembly /e /t /p domain\useraccount:R
    >
    > 9. Modify the
    > c:\winnt\microsoft.net\framework\v1.1.4322\config\machine.config under
    > <processModel> change these lines to read
    > Username="domain\user"
    > Password="password"
    > 10. Restart IIS for the machine.config changes to take effect
    >
    > You can use the following command to enforce the policy changes without a
    > reboot:
    > SECEDIT /REFRESHPOLICY MACHINE_POLICY /ENFORCE
    >
    > This posting is provided "AS IS" with no warranties, and confers no rights.
    >
    > Holly



    Thank you Holly ! It worked perfectly. One question - it's my
    understanding that the machine.config file is XML. Therefore is the
    "domain\user" case sensitive ???

    Thanks again .. Yippee !!!!!
    Bill Kellaway, Jan 20, 2004
    #3
  4. It is XML but that string with domain/username should not be case sensitive
    for the file.

    I am glad it worked.

    This posting is provided "AS IS" with no warranties, and confers no rights.

    Holly
    Holly Mazerolle, Jan 20, 2004
    #4
  5. That might depend on what version of the framework you are running under.

    1.0 has a bug where WindowsPrincipal.IsInRole IS case-sensitive. This is
    fixed in 1.1 of the framework.

    I have seen case sensitivity be a problem under 1.0 in this situation.

    Joe K.

    "Holly Mazerolle" <> wrote in message
    news:...
    > It is XML but that string with domain/username should not be case

    sensitive
    > for the file.
    >
    > I am glad it worked.
    >
    > This posting is provided "AS IS" with no warranties, and confers no

    rights.
    >
    > Holly
    >
    Joe Kaplan \(MVP - ADSI\), Jan 20, 2004
    #5
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Paul Fox
    Replies:
    0
    Views:
    744
    Paul Fox
    Mar 5, 2004
  2. \Rob\
    Replies:
    4
    Views:
    3,494
    \Rob\
    May 12, 2004
  3. Michael Maes
    Replies:
    1
    Views:
    336
    Steven Cheng[MSFT]
    Apr 5, 2004
  4. Richard Chandler

    ASPNET account and Domain Controller

    Richard Chandler, May 5, 2004, in forum: ASP .Net
    Replies:
    3
    Views:
    3,236
  5. Richard Chandler

    ASPNET account and Domain Controller

    Richard Chandler, May 5, 2004, in forum: ASP .Net Security
    Replies:
    3
    Views:
    147
Loading...

Share This Page