SlideShare a Scribd company logo
Michael Noel, CCO
Thank you to our sponsors
Great to be back in Beautiful Australia!
• 1: Infrastructure Security
• Physical Security
• Best Practice Service Account Setup
• Kerberos Authentication
• 2: Data Security
• Role Based Access Control (RBAC)
• Transparent Data Encryption (TDE) of SQL Databases
• 3: Transport Security
• Secure Sockets Layer (SSL) from Client to Server
• IPSec from Server to Server
• 4: Edge Security
• Inbound Internet Security (Forefront UAG)
• 5: Rights Management
Layer
Service Account Name Role of Service Account Special Permissions
COMPANYABCSRV-SP-Setup SharePoint Installation Account Local Admin on all SP Servers (for installs)
COMPANYABCSRV-SP-SQL SQL Service Account(s) – Should be separate
admin accounts from SP accounts.
Local Admin on Database Server(s)
(Generally, some exceptions apply)
COMPANYABCSRV-SP-Farm SharePoint Farm Account(s) – Can also be
standard admin accounts. RBAC principles apply
ideally.
N/A
COMPANYABCSRV-SP-Search Search Account N/A
COMPANYABCSRV-SP-Content Default Content Access Account Read rights to any external data sources to
be crawled
COMPANYABCSRV-SP-Prof Default Profiles Access Account Member of Domain Users (to be able to read
attributes from users in domain) and
‘Replicate Directory Changes’ rights in AD.
COMPANYABCSRV-SP-AP-SPCA Application Pool Identity account for SharePoint
Central Admin.
DBCreator and Security Admin on SQL. Create
and Modify contacts rights in OU used for mail.
COMPANYABCSRV-SP-AP-Data Application Pool Identity account for the
Content related App Pool (Portal, MySites, etc.)
Additional as needed for security.
N/A
• When creating any Web Applications, USE KERBEROS. It is
much more secure and also faster with heavy loads as the SP
server doesn’t have to keep asking for auth requests from
AD.
• Kerberos auth does require extra steps, which makes people
shy away from it, but once configured, it improves security
considerably and can improve performance on high-load
sites.
• Should also be configured on SPCA Site! (Best Practice =
Configure SPCA for NLB, SSL, and Kerberos (i.e.
https://spca.companyabc.com)
• Use the setspn utility to create Service Principle
Names in AD, the following syntax for example:
• Setspn.exe -A HTTP/mysite.companyabc.com
DOMAINNAMEMYSiteAppAccount
• Setspn.exe -A HTTP/mysite DOMAINNAMEMYSITEAppAccount
• Setspn.exe -A HTTP/home.companyabc.com
DOMAINNAMEHOMEAppAccount
• Setspn.exe -A HTTP/sp DOMAINNAMEHOMEAppAccount
• Use setspn to create SPNs for SQL Service Account
• SPNs need to match the name that SharePoint uses
to connect to SQL
• Syntax similar to following:
• Setspn.exe -A MSSQLSvc/spsql:1433 COMPANYABCSRV-SQL-DB
• Setspn.exe –A MSSQLSvc/spsql.companyabc.com:1433
COMPANYABCSRV-SQL-DB
• MSSQLSvc = Default instance, if named instance, specify the
name instead
• In this example, SRV-SQL-DB is the SQL Admin account
• Required only for Excel
Services and other
impersonation applications.
• On all SP Computer
accounts and on the
Application Identity
accounts, check the box in
ADUC to allow for
delegation.
• In ADUC, navigate to the
computer or user account,
right-click and choose
Properties.
• Go to the Delegation tab
• Choose Trust this
user/computer for delegation
to any service (Kerberos)
• Go to Application Management
• Choose the appropriate Web
Application – click Authentication
Providers
• Click on the link for ‘Default’
under Zone
• Change to Integrated Windows
Authentication – Negotiate /
Kerberos)
• Run iisreset /noforce from the
command prompt
• If creating Web App from scratch,
this step may be unnecessary if
you choose Negotiate from the
beginning
Layer
• Role Groups defined within Active Directory
(Universal Groups) – i.e. ‘Marketing,’ ‘Sales,’ ‘IT,’ etc.
• Role Groups added directly into SharePoint ‘Access
Groups’ such as ‘Contributors,’ ‘Authors,’ etc.
• Simply by adding a user account into the associated
Role Group, they gain access to whatever rights their
role requires.
User1
User2
Role
Group
SharePoint
Group
• SQL Server Enterprise Edition
Feature
• Encrypts SQL Databases
Transparently, SharePoint is unaware
of the encryption and does not need
a key
• Encrypts the backups of the
database as well
• Does not encrypt the Communication Channel (IPSec
can be added)
• Does not protect data in memory (DBAs could
access)
• Cannot take advantage of SQL 2008 Backup
Compression
• TempDB is encrypted for the entire instance, even if
only one DB is enabled for TDE, which can have a
performance effect for other DBs
• Replication or FILESTREAM data is not encrypted
when TDE is enabled (i.e. RBS BLOBs not encrypted)
Key and Cert Hierarchy
SMK encrypts the DMK for master DB
Service Master KeySQL Instance Level
DPAPI Encrypts SMK
Data Protection API (DPAPI)Windows OS Level
DMK creates Cert in master DB
Database Master Keymaster DB Level
Certificate Encrypts DEK in Content DB
Certificatemaster DB Level
DEK used to encrypt Content DB
Database Encryption KeyContent DB Level
• Symmetric key used to protect private keys
and asymmetric keys
• Protected itself by Service Master Key
(SMK), which is created by SQL Server
setup
• Use syntax as follows:
• USE master;
• GO
• CREATE MASTER KEY ENCRYPTION BY PASSWORD =
'CrypticTDEpw4CompanyABC';
• GO
• Protected by the DMK
• Used to protect the database encryption
key
• Use syntax as follows:
USE master;
GO
CREATE CERTIFICATE CompanyABCtdeCert
WITH SUBJECT = 'CompanyABC TDE
Certificate' ;
GO
• Without a backup, data can be lost
• Backup creates two files, the Cert backup and the Private
Key File
• Use following syntax:
USE master;
GO
BACKUP CERTIFICATE CompanyABCtdeCert TO FILE =
'c:BackupCompanyABCtdeCERT.cer'
WITH PRIVATE KEY (
FILE = 'c:BackupCompanyABCtdeDECert.pvk',
ENCRYPTION BY PASSWORD = 'CrypticTDEpw4CompanyABC!' );
GO
• DEK is used to encrypt specific database
• One created for each database
• Encryption method can be chosen for
each DEK
• Use following syntax:
USE SharePointContentDB;
GO
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_256
ENCRYPTION BY SERVER CERTIFICATE CompanyABCtdeCert
GO
• Data encryption will begin after running
command
• Size of DB will determine time it will take,
can be lengthy and could cause user
blocking
• Use following syntax:
USE SharePointContentDB
GO
ALTER DATABASE SharePointContentDB
SET ENCRYPTION ON
GO
• State is Returned
• State of 2 = Encryption Begun
• State of 3 = Encryption Complete
• Use following syntax:
USE SharePointContentDB
GO
SELECT *
FROM sys.dm_database_encryption_keys
WHERE encryption_state = 3;
GO
• Step 1: Create new Master Key on Target Server (Does not need to
match source master key)
• Step 2: Backup Cert and Private Key from Source
• Step 3: Restore Cert and Private Key onto Target (No need to
export the DEK as it is part of the backup)
USE master;
GO
CREATE CERTIFICATE CompanyABCtdeCert
FROM FILE = 'C:RestoreCompanyABCtdeCert.cer'
WITH PRIVATE KEY (
FILE = 'C:RestoreCompanyABCtdeCert.pvk'
, DECRYPTION BY PASSWORD = 'CrypticTDEpw4CompanyABC!'
)
• Step 4: Restore DB
Layer
• External or Internal Certs highly
recommended
• Protects Transport of content
• 20% overhead on Web Servers
• Can be offloaded via SSL
offloaders if needed
• Don’t forget for SPCA as well!
• By default, traffic between
SharePoint Servers (i.e. Web and
SQL) is unencrypted
• IPSec encrypts all packets sent
between servers in a farm
• For very high security scenarios
when all possible data breaches
must be addressed
Layer
AUSPC 2013 - Understanding the Five Layers of SharePoint Security
AUSPC 2013 - Understanding the Five Layers of SharePoint Security
Layer
• AD RMS is a form of Digital Rights Management
(DRM) technology, used in various forms to
protect content
• Used to restrict activities on files AFTER they
have been accessed:
• Cut/Paste
• Print
• Save As…
• Directly integrates with SharePoint DocLibs
• Select Cluster Key Storage
• CSP used for advanced scenarios
AUSPC 2013 - Understanding the Five Layers of SharePoint Security
AUSPC 2013 - Understanding the Five Layers of SharePoint Security
• By default, RMS server is configured
to only allow the local system
account of the RMS server or the
Web Application Identity accounts
to access the certificate pipeline
directly
• SharePoint web servers and/or Web
Application Service Accounts need
to be added to this security list
• Add the RMS Service Group, the
machine account(s) of the
SharePoint Server and the Web App
Identity accountswith Read and
Excecute permissions to the
ServerCertification.asmx file in the
%systemroot%inetpubwwwroot_w
mcsCertification folder on the RMS
server
• RMS-enabled client, when accessing
document in doclib, will access RMS
server to validate credentials
• Effective
permissions can
be viewed from
the document
• The RMS client
will enforce the
restrictions
• Determine Security Risk for your SharePoint
Environment
• Identify any Regulatory Compliance
Requirements for SharePoint
• Determine which aspects of SharePoint need
to be secured, touching on all five layers of
SharePoint Security
Michael Noel
Company Site: http://www.cco.com
Twitter: http://twitter.com/michaeltnoel
LinkedIn: http://linkedin.com/in/michaeltnoel
Facebook: http://facebook.com/michaelnoel
Slides: http://slideshare.net/michaeltnoel
Travel blog: http://sharingtheglobe.com
Thank you to our sponsors

More Related Content

PPTX
SharePoint Security in an Insecure World - AUSPC 2012
PDF
Securing oracle e-business suite 12.1 and 12.2 technology infrastructure
PPTX
Security for SharePoint in an Insecure World - SharePoint Connections Amsterd...
PDF
Multiple ldap implementation with ebs using oid
PPTX
SPTechCon SFO 2012 - Understanding the Five Layers of SharePoint Security
PDF
12.2 secure configureconsole_adop_changes_aioug_appsdba_nov17
PDF
Running Oracle EBS in the cloud (UKOUG APPS16 edition)
PDF
Online patching ebs122_aioug_appsdba_nov2017
SharePoint Security in an Insecure World - AUSPC 2012
Securing oracle e-business suite 12.1 and 12.2 technology infrastructure
Security for SharePoint in an Insecure World - SharePoint Connections Amsterd...
Multiple ldap implementation with ebs using oid
SPTechCon SFO 2012 - Understanding the Five Layers of SharePoint Security
12.2 secure configureconsole_adop_changes_aioug_appsdba_nov17
Running Oracle EBS in the cloud (UKOUG APPS16 edition)
Online patching ebs122_aioug_appsdba_nov2017

What's hot (20)

PPTX
SPS Belgium 2012 - End to End Security for SharePoint Farms - Michael Noel
PPTX
SEASPC 2011 - SharePoint Security in an Insecure World: Understanding the Fiv...
PPTX
Best Practice SharePoint Architecture
PPTX
Using oracle cloud to speed up e business suite 12.2 upgrade
PDF
Using Oracle Database with Amazon Web Services
PPTX
Unbreakable SharePoint 2016 with SQL Server 2016 Always On Availability groups
PPTX
SharePoint Disaster Recovery with SQL AlwaysOn
PPTX
Best Practices for running the Oracle Database on EC2 webinar
PDF
oracle-rest-data-service-instal-config
PPTX
Building the Perfect SharePoint 2010 Farm; A Walkthrough of Best Practices fr...
PDF
configuring+oracle+rds+with+glasfish+server
PDF
SQLSaturday#290_Kiev_WindowsAzureDatabaseForBeginners
PPTX
Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...
PDF
SQL Server Alwayson for SharePoint HA/DR Step by Step Guide
PPTX
Azure Nights Melbourne July 2017 Meetup
PPTX
E business suite r12.2 changes for database administrators
PDF
Azure SQL Database Introduction by Tim Radney
POTX
SharePoint 24x7x365 Architecting for High Availability, Fault Tolerance and D...
PPTX
SharePoint Saturday Michigan Keynote - Top 5 Infrastructure Concerns for a Sh...
PDF
KoprowskiT_SPBizConference_2AMaDisasterJustBegan
SPS Belgium 2012 - End to End Security for SharePoint Farms - Michael Noel
SEASPC 2011 - SharePoint Security in an Insecure World: Understanding the Fiv...
Best Practice SharePoint Architecture
Using oracle cloud to speed up e business suite 12.2 upgrade
Using Oracle Database with Amazon Web Services
Unbreakable SharePoint 2016 with SQL Server 2016 Always On Availability groups
SharePoint Disaster Recovery with SQL AlwaysOn
Best Practices for running the Oracle Database on EC2 webinar
oracle-rest-data-service-instal-config
Building the Perfect SharePoint 2010 Farm; A Walkthrough of Best Practices fr...
configuring+oracle+rds+with+glasfish+server
SQLSaturday#290_Kiev_WindowsAzureDatabaseForBeginners
Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...
SQL Server Alwayson for SharePoint HA/DR Step by Step Guide
Azure Nights Melbourne July 2017 Meetup
E business suite r12.2 changes for database administrators
Azure SQL Database Introduction by Tim Radney
SharePoint 24x7x365 Architecting for High Availability, Fault Tolerance and D...
SharePoint Saturday Michigan Keynote - Top 5 Infrastructure Concerns for a Sh...
KoprowskiT_SPBizConference_2AMaDisasterJustBegan
Ad

Similar to AUSPC 2013 - Understanding the Five Layers of SharePoint Security (17)

PDF
A to z for sql azure databases
PPTX
Enterprise-class security with PostgreSQL - 1
PPTX
SQL Server 2016: Just a Few of Our DBA's Favorite Things
PDF
Blue Green Sitecore Deployments on Azure
PDF
PLSSUG - Troubleshoot SQL Server performance problems like a Microsoft Engineer
PPTX
TechEd Africa 2011 - OFC308: SharePoint Security in an Insecure World: Unders...
PPTX
SharePoint on demand with System Center - Matija Blagus
PPTX
Flashback in OCI
PPTX
Partially Contained Databases
PPTX
SPSMadrid Get sql spinning with SharePoint. Best practice for the back end
PPTX
ME_Snowflake_Introduction_for new students.pptx
PPTX
Should I move my database to the cloud?
PDF
A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms
PDF
SharePoint 2010 best practices for infrastructure deployments SharePoint Sat...
PPT
SQL Server 2008 Security Overview
PPTX
Simplifying Hadoop with RecordService, A Secure and Unified Data Access Path ...
PDF
TROOPERS 20 - SQL Server Hacking Tips for Active Directory Environments
A to z for sql azure databases
Enterprise-class security with PostgreSQL - 1
SQL Server 2016: Just a Few of Our DBA's Favorite Things
Blue Green Sitecore Deployments on Azure
PLSSUG - Troubleshoot SQL Server performance problems like a Microsoft Engineer
TechEd Africa 2011 - OFC308: SharePoint Security in an Insecure World: Unders...
SharePoint on demand with System Center - Matija Blagus
Flashback in OCI
Partially Contained Databases
SPSMadrid Get sql spinning with SharePoint. Best practice for the back end
ME_Snowflake_Introduction_for new students.pptx
Should I move my database to the cloud?
A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms
SharePoint 2010 best practices for infrastructure deployments SharePoint Sat...
SQL Server 2008 Security Overview
Simplifying Hadoop with RecordService, A Secure and Unified Data Access Path ...
TROOPERS 20 - SQL Server Hacking Tips for Active Directory Environments
Ad

More from Michael Noel (20)

PDF
AI is Hacking You - Digital Workplace Conference Australia 2024
PPTX
AI is Hacking You - How Cybercriminals Leveral Artificial Intelligence - DWCN...
PPTX
IT Insecurity - Understanding the Threat of Modern Cyberattacks - DWCNZ 2024
PPTX
Combatting Cyberthreats with Microsoft Defender 365 - CollabDays Finland 2023
PPTX
IT Insecurity - ST Digital Brazzaville
PPTX
Securing IT Against Modern Threats with Microsoft Cloud Tools - #EUCloudSummi...
PPTX
You are Doing IT Security Wrong - Understanding the Threat of Modern Cyber-at...
PPTX
Securing IT Against Modern Threats with Microsoft Cloud Security Tools - M365...
PPTX
Understanding the Tools and Features of Office 365 : DWT Africa 2018
PPTX
SPS Lisbon 2018 - Azure AD Connect Technical Deep Dive
PPTX
Azure Active Directory Connect: Technical Deep Dive - DWCAU 2018 Melbourne
PPTX
Azure Active Directory Connect: Technical Deep Dive - EU Collab Summit 2018
PPTX
Breaking Down the Tools and Features in Office 365 - EU Collab Summit 2018
PPTX
Understanding the Tools and Features of Office 365 - New Zealand Digital Work...
PPTX
Office 365; A Detailed Analysis - SPS Kampala 2017
PPTX
Office 365; une Analyse Détaillée
PPTX
AUDWC 2016 - Using SQL Server 20146 AlwaysOn Availability Groups for SharePoi...
PPTX
Breaking Down and Understanding Office 365 - SPSJHB 2015
PPTX
Understanding Office 365 Service Offerings - O365 Saturday Sydney 2015
PPTX
Ultimate SharePoint Infrastructure Best Practises Session - Isle of Man Share...
AI is Hacking You - Digital Workplace Conference Australia 2024
AI is Hacking You - How Cybercriminals Leveral Artificial Intelligence - DWCN...
IT Insecurity - Understanding the Threat of Modern Cyberattacks - DWCNZ 2024
Combatting Cyberthreats with Microsoft Defender 365 - CollabDays Finland 2023
IT Insecurity - ST Digital Brazzaville
Securing IT Against Modern Threats with Microsoft Cloud Tools - #EUCloudSummi...
You are Doing IT Security Wrong - Understanding the Threat of Modern Cyber-at...
Securing IT Against Modern Threats with Microsoft Cloud Security Tools - M365...
Understanding the Tools and Features of Office 365 : DWT Africa 2018
SPS Lisbon 2018 - Azure AD Connect Technical Deep Dive
Azure Active Directory Connect: Technical Deep Dive - DWCAU 2018 Melbourne
Azure Active Directory Connect: Technical Deep Dive - EU Collab Summit 2018
Breaking Down the Tools and Features in Office 365 - EU Collab Summit 2018
Understanding the Tools and Features of Office 365 - New Zealand Digital Work...
Office 365; A Detailed Analysis - SPS Kampala 2017
Office 365; une Analyse Détaillée
AUDWC 2016 - Using SQL Server 20146 AlwaysOn Availability Groups for SharePoi...
Breaking Down and Understanding Office 365 - SPSJHB 2015
Understanding Office 365 Service Offerings - O365 Saturday Sydney 2015
Ultimate SharePoint Infrastructure Best Practises Session - Isle of Man Share...

Recently uploaded (20)

PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Approach and Philosophy of On baking technology
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
KodekX | Application Modernization Development
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
Empathic Computing: Creating Shared Understanding
PPT
Teaching material agriculture food technology
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Unlocking AI with Model Context Protocol (MCP)
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Reach Out and Touch Someone: Haptics and Empathic Computing
Approach and Philosophy of On baking technology
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Electronic commerce courselecture one. Pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
KodekX | Application Modernization Development
Per capita expenditure prediction using model stacking based on satellite ima...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Understanding_Digital_Forensics_Presentation.pptx
Big Data Technologies - Introduction.pptx
Empathic Computing: Creating Shared Understanding
Teaching material agriculture food technology
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Network Security Unit 5.pdf for BCA BBA.
Unlocking AI with Model Context Protocol (MCP)

AUSPC 2013 - Understanding the Five Layers of SharePoint Security

  • 2. Thank you to our sponsors
  • 3. Great to be back in Beautiful Australia!
  • 4. • 1: Infrastructure Security • Physical Security • Best Practice Service Account Setup • Kerberos Authentication • 2: Data Security • Role Based Access Control (RBAC) • Transparent Data Encryption (TDE) of SQL Databases • 3: Transport Security • Secure Sockets Layer (SSL) from Client to Server • IPSec from Server to Server • 4: Edge Security • Inbound Internet Security (Forefront UAG) • 5: Rights Management
  • 6. Service Account Name Role of Service Account Special Permissions COMPANYABCSRV-SP-Setup SharePoint Installation Account Local Admin on all SP Servers (for installs) COMPANYABCSRV-SP-SQL SQL Service Account(s) – Should be separate admin accounts from SP accounts. Local Admin on Database Server(s) (Generally, some exceptions apply) COMPANYABCSRV-SP-Farm SharePoint Farm Account(s) – Can also be standard admin accounts. RBAC principles apply ideally. N/A COMPANYABCSRV-SP-Search Search Account N/A COMPANYABCSRV-SP-Content Default Content Access Account Read rights to any external data sources to be crawled COMPANYABCSRV-SP-Prof Default Profiles Access Account Member of Domain Users (to be able to read attributes from users in domain) and ‘Replicate Directory Changes’ rights in AD. COMPANYABCSRV-SP-AP-SPCA Application Pool Identity account for SharePoint Central Admin. DBCreator and Security Admin on SQL. Create and Modify contacts rights in OU used for mail. COMPANYABCSRV-SP-AP-Data Application Pool Identity account for the Content related App Pool (Portal, MySites, etc.) Additional as needed for security. N/A
  • 7. • When creating any Web Applications, USE KERBEROS. It is much more secure and also faster with heavy loads as the SP server doesn’t have to keep asking for auth requests from AD. • Kerberos auth does require extra steps, which makes people shy away from it, but once configured, it improves security considerably and can improve performance on high-load sites. • Should also be configured on SPCA Site! (Best Practice = Configure SPCA for NLB, SSL, and Kerberos (i.e. https://spca.companyabc.com)
  • 8. • Use the setspn utility to create Service Principle Names in AD, the following syntax for example: • Setspn.exe -A HTTP/mysite.companyabc.com DOMAINNAMEMYSiteAppAccount • Setspn.exe -A HTTP/mysite DOMAINNAMEMYSITEAppAccount • Setspn.exe -A HTTP/home.companyabc.com DOMAINNAMEHOMEAppAccount • Setspn.exe -A HTTP/sp DOMAINNAMEHOMEAppAccount
  • 9. • Use setspn to create SPNs for SQL Service Account • SPNs need to match the name that SharePoint uses to connect to SQL • Syntax similar to following: • Setspn.exe -A MSSQLSvc/spsql:1433 COMPANYABCSRV-SQL-DB • Setspn.exe –A MSSQLSvc/spsql.companyabc.com:1433 COMPANYABCSRV-SQL-DB • MSSQLSvc = Default instance, if named instance, specify the name instead • In this example, SRV-SQL-DB is the SQL Admin account
  • 10. • Required only for Excel Services and other impersonation applications. • On all SP Computer accounts and on the Application Identity accounts, check the box in ADUC to allow for delegation. • In ADUC, navigate to the computer or user account, right-click and choose Properties. • Go to the Delegation tab • Choose Trust this user/computer for delegation to any service (Kerberos)
  • 11. • Go to Application Management • Choose the appropriate Web Application – click Authentication Providers • Click on the link for ‘Default’ under Zone • Change to Integrated Windows Authentication – Negotiate / Kerberos) • Run iisreset /noforce from the command prompt • If creating Web App from scratch, this step may be unnecessary if you choose Negotiate from the beginning
  • 12. Layer
  • 13. • Role Groups defined within Active Directory (Universal Groups) – i.e. ‘Marketing,’ ‘Sales,’ ‘IT,’ etc. • Role Groups added directly into SharePoint ‘Access Groups’ such as ‘Contributors,’ ‘Authors,’ etc. • Simply by adding a user account into the associated Role Group, they gain access to whatever rights their role requires. User1 User2 Role Group SharePoint Group
  • 14. • SQL Server Enterprise Edition Feature • Encrypts SQL Databases Transparently, SharePoint is unaware of the encryption and does not need a key • Encrypts the backups of the database as well
  • 15. • Does not encrypt the Communication Channel (IPSec can be added) • Does not protect data in memory (DBAs could access) • Cannot take advantage of SQL 2008 Backup Compression • TempDB is encrypted for the entire instance, even if only one DB is enabled for TDE, which can have a performance effect for other DBs • Replication or FILESTREAM data is not encrypted when TDE is enabled (i.e. RBS BLOBs not encrypted)
  • 16. Key and Cert Hierarchy SMK encrypts the DMK for master DB Service Master KeySQL Instance Level DPAPI Encrypts SMK Data Protection API (DPAPI)Windows OS Level DMK creates Cert in master DB Database Master Keymaster DB Level Certificate Encrypts DEK in Content DB Certificatemaster DB Level DEK used to encrypt Content DB Database Encryption KeyContent DB Level
  • 17. • Symmetric key used to protect private keys and asymmetric keys • Protected itself by Service Master Key (SMK), which is created by SQL Server setup • Use syntax as follows: • USE master; • GO • CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'CrypticTDEpw4CompanyABC'; • GO
  • 18. • Protected by the DMK • Used to protect the database encryption key • Use syntax as follows: USE master; GO CREATE CERTIFICATE CompanyABCtdeCert WITH SUBJECT = 'CompanyABC TDE Certificate' ; GO
  • 19. • Without a backup, data can be lost • Backup creates two files, the Cert backup and the Private Key File • Use following syntax: USE master; GO BACKUP CERTIFICATE CompanyABCtdeCert TO FILE = 'c:BackupCompanyABCtdeCERT.cer' WITH PRIVATE KEY ( FILE = 'c:BackupCompanyABCtdeDECert.pvk', ENCRYPTION BY PASSWORD = 'CrypticTDEpw4CompanyABC!' ); GO
  • 20. • DEK is used to encrypt specific database • One created for each database • Encryption method can be chosen for each DEK • Use following syntax: USE SharePointContentDB; GO CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_256 ENCRYPTION BY SERVER CERTIFICATE CompanyABCtdeCert GO
  • 21. • Data encryption will begin after running command • Size of DB will determine time it will take, can be lengthy and could cause user blocking • Use following syntax: USE SharePointContentDB GO ALTER DATABASE SharePointContentDB SET ENCRYPTION ON GO
  • 22. • State is Returned • State of 2 = Encryption Begun • State of 3 = Encryption Complete • Use following syntax: USE SharePointContentDB GO SELECT * FROM sys.dm_database_encryption_keys WHERE encryption_state = 3; GO
  • 23. • Step 1: Create new Master Key on Target Server (Does not need to match source master key) • Step 2: Backup Cert and Private Key from Source • Step 3: Restore Cert and Private Key onto Target (No need to export the DEK as it is part of the backup) USE master; GO CREATE CERTIFICATE CompanyABCtdeCert FROM FILE = 'C:RestoreCompanyABCtdeCert.cer' WITH PRIVATE KEY ( FILE = 'C:RestoreCompanyABCtdeCert.pvk' , DECRYPTION BY PASSWORD = 'CrypticTDEpw4CompanyABC!' ) • Step 4: Restore DB
  • 24. Layer
  • 25. • External or Internal Certs highly recommended • Protects Transport of content • 20% overhead on Web Servers • Can be offloaded via SSL offloaders if needed • Don’t forget for SPCA as well!
  • 26. • By default, traffic between SharePoint Servers (i.e. Web and SQL) is unencrypted • IPSec encrypts all packets sent between servers in a farm • For very high security scenarios when all possible data breaches must be addressed
  • 27. Layer
  • 30. Layer
  • 31. • AD RMS is a form of Digital Rights Management (DRM) technology, used in various forms to protect content • Used to restrict activities on files AFTER they have been accessed: • Cut/Paste • Print • Save As… • Directly integrates with SharePoint DocLibs
  • 32. • Select Cluster Key Storage • CSP used for advanced scenarios
  • 35. • By default, RMS server is configured to only allow the local system account of the RMS server or the Web Application Identity accounts to access the certificate pipeline directly • SharePoint web servers and/or Web Application Service Accounts need to be added to this security list • Add the RMS Service Group, the machine account(s) of the SharePoint Server and the Web App Identity accountswith Read and Excecute permissions to the ServerCertification.asmx file in the %systemroot%inetpubwwwroot_w mcsCertification folder on the RMS server
  • 36. • RMS-enabled client, when accessing document in doclib, will access RMS server to validate credentials
  • 37. • Effective permissions can be viewed from the document • The RMS client will enforce the restrictions
  • 38. • Determine Security Risk for your SharePoint Environment • Identify any Regulatory Compliance Requirements for SharePoint • Determine which aspects of SharePoint need to be secured, touching on all five layers of SharePoint Security
  • 39. Michael Noel Company Site: http://www.cco.com Twitter: http://twitter.com/michaeltnoel LinkedIn: http://linkedin.com/in/michaeltnoel Facebook: http://facebook.com/michaelnoel Slides: http://slideshare.net/michaeltnoel Travel blog: http://sharingtheglobe.com
  • 40. Thank you to our sponsors