I would like to host a password protected static website on a server, and meet the following 2 requirements:
- The static website credentials MUST NOT give any additional access to the hosting server.
- The hosting must play nicely with other IIS hosted websites
The hosting server is running Windows 10 Pro.
I've identified 4 options:
- Host it in IIS with Basic Authentication enabled
- Host it in Apache, separate port, secure with .htpasswd file
- Host it in Apache in a VM, use a bridged network, secure with .htpasswd file
- Develop a middleware/route request authentication application
Option 1:
Evidently, this option requires a whole new User on the computer.
I do not understand the limitations of a new user's access.
When I hit WindowsKey + R, and run netplwiz, I can configure the user to belong to one of these groups:
- Users(default): Users are prevented from making accidental or intentional system-wide changes and can run most applications.
- Guest: Guests have the same access as members of the Users group by default, except for the Guest account, which is further restricted as described earlier.
- IIS_IUSR: Built-in group used by Internet Information Services.
I can not find the following information in any Microsoft docs:
- How IIS_IUSR is "used" by IIS
- If any of these groups restrict all access, other than viewing the Basic Auth website
- An exhaustive list of permissions granted by the user login credentials, and each group
This method seems confusing and annoying at best, and a complete security failure at worst.
Option 2:
This seems more secure to me, because I can understand the limitations of the user access better.
Option 3:
This seems even more secure, because the hosting server is not directly accessed. I do not know if this creates other security vulnerabilities though.
Option 4:
This one seems the most secure, because I have full understanding and control over the website's access. This could take a lot of work though.