Q:

"NETWORK SERVICE" account seems highly privileged on my Windows 2008 SP2 (standard) installation

I have a fresh install of Windows 2008 Standard in a Godaddy dedicated hosting account.  I upgraded the installation to SP2. 
Several apps are running in IIS, in application pools using "NetworkService" as the pool identity.  I am accessing the apps anonymously over the internet. 
Unlike in Windows 2003, this seems to be a highly privileged account.  I find that my applications have read access to every directory on the disk.  I verified this by creating a simple app in IIS that read the contents of an arbitrary directory and printed the contents of the first text file it encountered.  This worked for every folder I tried it on, including C:\Windows\System32.  Attempts to write failed, however. 
My gut is telling me this can't possibly be the correct behavior, but my Win2k8-fu is not strong. 
Is what I'm seeing normal?  Should I be running the application pools using a different identity? 

A:

What you are seeing is normal.  The "Network Service" account is equivalent to the local SYSTEM account, which is a very privileged account.  IIRC, Network Service is different than Local Service or System in that in a Domain context it can access resources on remote computers; rights assigned to the machine account limit what it can see on the Domain. 
The account used by an IIS7 application is defined by the account used by the supporting Application Pool. 

The "ApplicationPoolIdentity" is a new feature of IIS7.  For details on setting rights for that, there is a serverfault question that covers this (link).  The safest method is to create a custom user on that box just for the Application Pool, and assign rights to that user. 
To get to the above drop-down screen:

Open IIS Manager. 
Open the application-pools. 
Select the app pool in question. 
On the right-side frame, select "Advanced Settings"
Under "Process Model" you will find "Identity".  This is where the dropdown is.