Manage Comprehensive Security Best Practice Guide

[Pages:11]? ? ?

Get-WebConfigurationProperty -pspath machine/webroot/apphost -filter 'system.webserver/security/requestfiltering' -name 'removeServerHeader'

Set-WebConfigurationProperty -pspath MACHINE/WEBROOT/APPHOST -filter "system.webServer/security/requestFiltering" -name "removeServerHeader" -value "True"

/*Sets proper permissions for cwdblogin where it's not going to be sysadmin.*/ /*Run for SQL 2012 and up*/ IF EXISTS (SELECT * FROM sys.schemas WHERE [name] = N'cwdblogin') BEGIN DROP SCHEMA cwdblogin END IF EXISTS (SELECT * FROM sys.database_principals WHERE [name] = N'cwdblogin') BEGIN DROP USER cwdblogin END

IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE [name] = N'cwdblogin') BEGIN CREATE USER cwdblogin FOR LOGIN cwdblogin END

GRANT EXECUTE ON SCHEMA :: dbo TO cwdblogin GRANT VIEW DATABASE STATE TO cwdblogin

EXEC sp_addrolemember N'db_datareader', N'cwdblogin' EXEC sp_addrolemember N'db_datawriter', N'cwdblogin'

DECLARE @Custom_Fields_View VARCHAR(50)

DECLARE CustomFields CURSOR LOCAL READ_ONLY STATIC FORWARD_ONLY FOR SELECT name FROM sys.views where name like 'v_%_Custom_Fields'

OPEN CustomFields FETCH NEXT FROM CustomFields INTO @Custom_Fields_View

WHILE @@FETCH_STATUS = 0 BEGIN

DECLARE @SQL VARCHAR(1000) = 'GRANT ALTER ON [dbo].[' + @Custom_Fields_View + '] TO [cwdblogin]' EXEC (@SQL)

FETCH NEXT FROM CustomFields INTO @Custom_Fields_View END CLOSE CustomFields DEALLOCATE CustomFields

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download