Ik heb voor mezelf een aantal sites draaien op een Windows server (IIS, ASP.Net, SQLServer Express), maar nu wil ik daar ook websites van andere mensen op gaan hosten. Uiteraard is het niet de bedoeling dat de verschillende gebruikers aan elkaars gegevens kunnen.
Ik had het idee om de application pool van de website te koppelen aan de userid van de eigenaar (user1). Voor de anonymous access zou ik dan ook een account aanmaken (user1_anon).
De gebruiker zou dan read + write + execute rechten krijgen over zijn eigen documentroot, de anonymous user enkel read + execute.
Verder zit de gebruiker in geen enkele groep, zelfs niet de users groep.
Welke rechten moet ik dan verder nog in SQL Server inzetten? Het is in weze de bedoeling dat een gebruiker de database gewoon in zijn app_data folder zet van zijn asp.net toepassing, en dat hij deze dan kan laden via de connectionstring (AttachDbFilename=|DataDirectory|\Database.mdf). Gezien de database zelf in de folder van de user staat, zou ik denken dat de gebruiker (die de app pool draait) enkel connect en login rechten moet krijgen, maar ik krijg steeds fouten dat het mis gaat. Eerst kon hij gaan database aanmaken in de master, dus heb ik hem de dbcreator role gegeven. Nu zegt hij dat hij de database niet kan attachen omdat hij de file niet kan openen.
Alternatief zou ik de gebruikers toegang kunnen geven om via de sql management studio de database te attachen, maar dan moet ik de sql server op de firewall openzetten, en dat doe ik liever niet.
Dus, iemand die weet hoe die SQL Server config precies in de haak moet zitten?
Verder iemand nog tips-n-tricks om de server zo veilig mogelijk te houden?

Likes:


Quote