SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Synapse india Reviews on Security for the SharePoint 
Developer 
Security for the SharePoint Developer
Overview 
What does security refer to? 
Code access security 
User authentication 
User authorization 
Changes in SP2 for WSS and SPS 
The SharePoint authorization model 
Robust authentication code
Why worry about security? 
Why worry about security? If the code or the user 
cannot do something, there will be an exception. 
Cryptic or vague error messages lead to more 
helpdesk calls. 
Bad way to do things, especially with a multi-step 
process. Can lead to data loss or inconsistent 
data. 
Don’t show options users don’t have rights to.
Types of security 
Code Access Security 
Security for executing code 
User security – comes in two flavors 
Authentication – proving that a user is who he/she 
says he/she is 
Actual credentials 
Mapping credentials – think SSO 
Authorization – making sure that a user has 
access to the resources he/she should and 
nothing else
Code Access Security 
Why have CAS? 
ASP.Net and SharePoint allow administrators to 
install black-box software that run in process with 
other components 
Lack of CAS would allow unproven code to 
access any resource on the network without 
administrator knowledge 
One component could access private fields, 
properties, and methods from another component
Working with Code Access Security 
SharePoint trust modes affect what resources 
assemblies can access 
Use demand statements to check for code 
permissions before collecting data from users or 
beginning implicit transactions 
Provide administrators with informative error 
messages to configure systems to give your code 
correct access security
User Authentication 
Accessing remote resources with Default 
Credentials - the double hop 
Pre SP2 this may fail 
SP2 supports Kerberos 
Can’t rely on a Kerberos enabled site 
Steps to enable Kerberos on a site
User Authentication Issues 
What happens when users authenticate with PKI 
certificates? 
Remote web resources cannot be accessed using 
Default Credentials 
The remote web request does not have access to 
the private key that was used to authenticate to 
the portal site 
Server side code (ASPX pages and web parts) 
can detect PKI certificates and make alternate 
access provisions
Changes with WSS and SPS SP2 
Strongly signed assemblies must be in the GAC 
The error SharePoint reports is “The assembly is not registered as 
safe” 
This is a requirement even if the site is configured to run in Full 
trust mode 
Kerberos is now a selectable security mode for IIS sites 
Allows default credentials to work properly in web parts and 
ASP.Net applications that access remote resources
The SharePoint authorization model 
Authorization is stored at three levels –Area, Site, 
List 
Any object (area, site, list) may contain a 
reference to another object for authorization 
inheritance 
The SiteData web service returns a 
_sWebMetadata structure that contains the ACLs 
list for sites and areas
The _sWebMetadata structure 
Relevant items: 
InheritedSecurity 
The Permissions member will contain a URL to 
the site or area from which permissions are 
inherited 
Permissions 
If InheritedSecurity is false, an XML document 
that contains the site groups and Windows users 
and groups with authorizations to the site or area, 
as well as their permissions
Permissions XML 
<?xml version="1.0" encoding="utf-8" ?> 
<GetPermissionCollection xmlns="http://schemas.microsoft.com/sharepoint/soap/directory/"> 
<Permissions> 
<Permission MemberID="1073741829" Mask="-1" MemberIsUser="False" MemberGlobal="False" 
RoleName="Administrator" /> 
<Permission MemberID="1073741828" Mask="1029638927" MemberIsUser="False" MemberGlobal="False" 
RoleName="Web Designer" /> 
<Permission MemberID="1073741827" Mask="1027801615" MemberIsUser="False" MemberGlobal="False" 
RoleName="Contributor" /> 
<Permission MemberID="1073741826" Mask="138608641" MemberIsUser="False" MemberGlobal="False" 
RoleName="Reader" /> 
<Permission MemberID="1073741825" Mask="134283264" MemberIsUser="False" MemberGlobal="False" 
RoleName="Guest" /> 
</Permissions> 
</GetPermissionCollection>
Parsing the Permission XML 
MemberIsUser indicates whether the Permission element is a role, or a 
Windows user or group 
Mask is a bit mask that corresponds to values in the SPRights enumeration. 
Example: To check for AddListItems (0x00000002) permission, use: 
(Mask & 0x00000002) == 0x00000002 
For Windows users or groups, the Permission element may contain these 
attributes: 
IsDomainGroup, IsSiteAdmin, LoginName, Name, SID, UserLogin 
If the Permission element is not a Role but the IsDomainGroup attribute is not 
present, we can look up the user information by using: 
UserGroupService.GetUserInfo(permission.UserLogin) 
If the Permission element is a Role, we can resolve the user membership for 
role by using: 
UserGroupService.GetUserCollectionFromRole(perm.RoleName)
Get All User Collection From Web sample return 
<?xml version="1.0" encoding="utf-8" ?> 
<GetAllUserCollectionFromWeb 
xmlns="http://schemas.microsoft.com/sharepoint/soap/directory/"> 
<Users> 
<User ID="1" Sid="S-1-5-21-1935655697-287218729-682003330-1934" 
Name="Eugene Rosenfeld" 
LoginName=“meanweselerosen03" Email=“erosen03@hotmail.com" Notes="" 
IsSiteAdmin="True" 
IsDomainGroup="False" /> 
</Users> 
</GetAllUserCollectionFromWeb>
Robust Authentication Code 
Request use SP 2 Kerberos so default credentials can be 
passed to remote resources 
Support multiple authentication models to access remote 
resources 
Encapsulate login process in code 
Passing default credentials 
Using SSO to map credentials when site is not running in Kerberos 
or when user is authenticating with PKI – Storing credentials as 
web part properties is not secure!

Weitere ähnliche Inhalte

Was ist angesagt?

Silicon Valley Code Camp 2009: OAuth: What, Why and How
Silicon Valley Code Camp 2009: OAuth: What, Why and HowSilicon Valley Code Camp 2009: OAuth: What, Why and How
Silicon Valley Code Camp 2009: OAuth: What, Why and HowManish Pandit
 
Authentication and Authorization in Asp.Net
Authentication and Authorization in Asp.NetAuthentication and Authorization in Asp.Net
Authentication and Authorization in Asp.NetShivanand Arur
 
Secure Code Warrior - Secure by default
Secure Code Warrior - Secure by defaultSecure Code Warrior - Secure by default
Secure Code Warrior - Secure by defaultSecure Code Warrior
 
The Who, What, Why and How of Active Directory Federation Services (AD FS)
The Who, What, Why and How of Active Directory Federation Services (AD FS)The Who, What, Why and How of Active Directory Federation Services (AD FS)
The Who, What, Why and How of Active Directory Federation Services (AD FS)Jay Simcox
 
Difference between authentication and authorization in asp.net
Difference between authentication and authorization in asp.netDifference between authentication and authorization in asp.net
Difference between authentication and authorization in asp.netUmar Ali
 
Identity Management in SharePoint 2013
Identity Management in SharePoint 2013Identity Management in SharePoint 2013
Identity Management in SharePoint 2013SPC Adriatics
 
Microsoft Azure Identity and O365
Microsoft Azure Identity and O365Microsoft Azure Identity and O365
Microsoft Azure Identity and O365Kris Wagner
 
Asp.net membership anduserroles_ppt
Asp.net membership anduserroles_pptAsp.net membership anduserroles_ppt
Asp.net membership anduserroles_pptShivanand Arur
 
O auth2 with angular js
O auth2 with angular jsO auth2 with angular js
O auth2 with angular jsBixlabs
 
Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-on
Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-onFast and Free SSO: A Survey of Open-Source Solutions to Single Sign-on
Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-onCraig Dickson
 
Dell Password Manager Introduction
Dell Password Manager IntroductionDell Password Manager Introduction
Dell Password Manager IntroductionAidy Tificate
 
Stateless Auth using OAUTH2 & JWT
Stateless Auth using OAUTH2 & JWTStateless Auth using OAUTH2 & JWT
Stateless Auth using OAUTH2 & JWTMobiliya
 
Share point 2013 add-in (formerly app) development
Share point 2013 add-in (formerly app) developmentShare point 2013 add-in (formerly app) development
Share point 2013 add-in (formerly app) developmentSuhas R Satish
 

Was ist angesagt? (20)

Silicon Valley Code Camp 2009: OAuth: What, Why and How
Silicon Valley Code Camp 2009: OAuth: What, Why and HowSilicon Valley Code Camp 2009: OAuth: What, Why and How
Silicon Valley Code Camp 2009: OAuth: What, Why and How
 
Authentication and Authorization in Asp.Net
Authentication and Authorization in Asp.NetAuthentication and Authorization in Asp.Net
Authentication and Authorization in Asp.Net
 
Presentation
PresentationPresentation
Presentation
 
Secure Code Warrior - Secure by default
Secure Code Warrior - Secure by defaultSecure Code Warrior - Secure by default
Secure Code Warrior - Secure by default
 
The Who, What, Why and How of Active Directory Federation Services (AD FS)
The Who, What, Why and How of Active Directory Federation Services (AD FS)The Who, What, Why and How of Active Directory Federation Services (AD FS)
The Who, What, Why and How of Active Directory Federation Services (AD FS)
 
O auth 2
O auth 2O auth 2
O auth 2
 
Difference between authentication and authorization in asp.net
Difference between authentication and authorization in asp.netDifference between authentication and authorization in asp.net
Difference between authentication and authorization in asp.net
 
Android app security
Android app securityAndroid app security
Android app security
 
Iam f42 a
Iam f42 aIam f42 a
Iam f42 a
 
Identity Management in SharePoint 2013
Identity Management in SharePoint 2013Identity Management in SharePoint 2013
Identity Management in SharePoint 2013
 
Microsoft Azure Identity and O365
Microsoft Azure Identity and O365Microsoft Azure Identity and O365
Microsoft Azure Identity and O365
 
Asp.net membership anduserroles_ppt
Asp.net membership anduserroles_pptAsp.net membership anduserroles_ppt
Asp.net membership anduserroles_ppt
 
O auth2 with angular js
O auth2 with angular jsO auth2 with angular js
O auth2 with angular js
 
Saml in cloud
Saml in cloudSaml in cloud
Saml in cloud
 
Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-on
Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-onFast and Free SSO: A Survey of Open-Source Solutions to Single Sign-on
Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-on
 
IAM Password
IAM PasswordIAM Password
IAM Password
 
Dell Password Manager Introduction
Dell Password Manager IntroductionDell Password Manager Introduction
Dell Password Manager Introduction
 
IdP, SAML, OAuth
IdP, SAML, OAuthIdP, SAML, OAuth
IdP, SAML, OAuth
 
Stateless Auth using OAUTH2 & JWT
Stateless Auth using OAUTH2 & JWTStateless Auth using OAUTH2 & JWT
Stateless Auth using OAUTH2 & JWT
 
Share point 2013 add-in (formerly app) development
Share point 2013 add-in (formerly app) developmentShare point 2013 add-in (formerly app) development
Share point 2013 add-in (formerly app) development
 

Ähnlich wie Synapse india reviews on security for the share point developer

Authorization in asp
Authorization in aspAuthorization in asp
Authorization in aspOPENLANE
 
Hacking identity: A Pen Tester's Guide to IAM
Hacking identity: A Pen Tester's Guide to IAMHacking identity: A Pen Tester's Guide to IAM
Hacking identity: A Pen Tester's Guide to IAMJerod Brennen
 
Design Practices for a Secure Azure Solution
Design Practices for a Secure Azure SolutionDesign Practices for a Secure Azure Solution
Design Practices for a Secure Azure SolutionMichele Leroux Bustamante
 
Vm ware view manager training in hyderabad
Vm ware view manager training in hyderabadVm ware view manager training in hyderabad
Vm ware view manager training in hyderabadAcutelearn Technologies
 
Intro to Web Application Security
Intro to Web Application SecurityIntro to Web Application Security
Intro to Web Application SecurityRob Ragan
 
Why Cant I Access The Portal
Why Cant I Access The PortalWhy Cant I Access The Portal
Why Cant I Access The PortalDan Usher
 
Share Point Server Security with Joel Oleson
Share Point Server Security with Joel OlesonShare Point Server Security with Joel Oleson
Share Point Server Security with Joel OlesonJoel Oleson
 
SharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010, Claims-Based Identity, Facebook, and the CloudSharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010, Claims-Based Identity, Facebook, and the CloudDanny Jessee
 
Authentication and authorization in res tful infrastructures
Authentication and authorization in res tful infrastructuresAuthentication and authorization in res tful infrastructures
Authentication and authorization in res tful infrastructuresCorley S.r.l.
 
Top Ten Tips For Tenacious Defense In Asp.Net
Top Ten Tips For Tenacious Defense In Asp.NetTop Ten Tips For Tenacious Defense In Asp.Net
Top Ten Tips For Tenacious Defense In Asp.Netalsmola
 
Azure AD - Password attacks - logging and protections
Azure AD - Password attacks - logging and protectionsAzure AD - Password attacks - logging and protections
Azure AD - Password attacks - logging and protectionsAndres Canello
 
Claims-Based Identity in SharePoint 2010
Claims-Based Identity in SharePoint 2010Claims-Based Identity in SharePoint 2010
Claims-Based Identity in SharePoint 2010Danny Jessee
 
Novell® iChain® 2.3
Novell® iChain® 2.3Novell® iChain® 2.3
Novell® iChain® 2.3webhostingguy
 
Java Web Programming [9/9] : Web Application Security
Java Web Programming [9/9] : Web Application SecurityJava Web Programming [9/9] : Web Application Security
Java Web Programming [9/9] : Web Application SecurityIMC Institute
 

Ähnlich wie Synapse india reviews on security for the share point developer (20)

Bh Win 03 Rileybollefer
Bh Win 03 RileybolleferBh Win 03 Rileybollefer
Bh Win 03 Rileybollefer
 
ASP.NET 13 - Security
ASP.NET 13 - SecurityASP.NET 13 - Security
ASP.NET 13 - Security
 
Authorization in asp
Authorization in aspAuthorization in asp
Authorization in asp
 
Hacking identity: A Pen Tester's Guide to IAM
Hacking identity: A Pen Tester's Guide to IAMHacking identity: A Pen Tester's Guide to IAM
Hacking identity: A Pen Tester's Guide to IAM
 
Design Practices for a Secure Azure Solution
Design Practices for a Secure Azure SolutionDesign Practices for a Secure Azure Solution
Design Practices for a Secure Azure Solution
 
Vm ware view manager training in hyderabad
Vm ware view manager training in hyderabadVm ware view manager training in hyderabad
Vm ware view manager training in hyderabad
 
Intro to Web Application Security
Intro to Web Application SecurityIntro to Web Application Security
Intro to Web Application Security
 
SINGLE SIGN-ON
SINGLE SIGN-ONSINGLE SIGN-ON
SINGLE SIGN-ON
 
Why Cant I Access The Portal
Why Cant I Access The PortalWhy Cant I Access The Portal
Why Cant I Access The Portal
 
Share Point Server Security with Joel Oleson
Share Point Server Security with Joel OlesonShare Point Server Security with Joel Oleson
Share Point Server Security with Joel Oleson
 
SharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010, Claims-Based Identity, Facebook, and the CloudSharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
 
Authentication and authorization in res tful infrastructures
Authentication and authorization in res tful infrastructuresAuthentication and authorization in res tful infrastructures
Authentication and authorization in res tful infrastructures
 
Top Ten Tips For Tenacious Defense In Asp.Net
Top Ten Tips For Tenacious Defense In Asp.NetTop Ten Tips For Tenacious Defense In Asp.Net
Top Ten Tips For Tenacious Defense In Asp.Net
 
Session management
Session management  Session management
Session management
 
Web application security (eng)
Web application security (eng)Web application security (eng)
Web application security (eng)
 
Azure AD - Password attacks - logging and protections
Azure AD - Password attacks - logging and protectionsAzure AD - Password attacks - logging and protections
Azure AD - Password attacks - logging and protections
 
Claims-Based Identity in SharePoint 2010
Claims-Based Identity in SharePoint 2010Claims-Based Identity in SharePoint 2010
Claims-Based Identity in SharePoint 2010
 
Novell® iChain® 2.3
Novell® iChain® 2.3Novell® iChain® 2.3
Novell® iChain® 2.3
 
ASP.NET Lecture 5
ASP.NET Lecture 5ASP.NET Lecture 5
ASP.NET Lecture 5
 
Java Web Programming [9/9] : Web Application Security
Java Web Programming [9/9] : Web Application SecurityJava Web Programming [9/9] : Web Application Security
Java Web Programming [9/9] : Web Application Security
 

Mehr von saritasingh19866

Synapseindia drupal intro 0
Synapseindia drupal intro 0Synapseindia drupal intro 0
Synapseindia drupal intro 0saritasingh19866
 
Synapseindia mobile apps cellular networks and mobile computing part1
Synapseindia mobile apps cellular networks and mobile computing part1Synapseindia mobile apps cellular networks and mobile computing part1
Synapseindia mobile apps cellular networks and mobile computing part1saritasingh19866
 
Synapse india reviews on mobile and tablet computing
Synapse india reviews on mobile and tablet computingSynapse india reviews on mobile and tablet computing
Synapse india reviews on mobile and tablet computingsaritasingh19866
 
Synapse india complaints iphone or ipad application development
Synapse india complaints iphone or ipad application developmentSynapse india complaints iphone or ipad application development
Synapse india complaints iphone or ipad application developmentsaritasingh19866
 
Synapse india reviews on cross plateform mobile apps development
Synapse india reviews on cross plateform mobile apps developmentSynapse india reviews on cross plateform mobile apps development
Synapse india reviews on cross plateform mobile apps developmentsaritasingh19866
 
Synapse india reviews on android and ios
Synapse india reviews on android and iosSynapse india reviews on android and ios
Synapse india reviews on android and iossaritasingh19866
 
Synapse india reviews on i phone and android os
Synapse india reviews on i phone and android osSynapse india reviews on i phone and android os
Synapse india reviews on i phone and android ossaritasingh19866
 
Synapse india reviews on share point development
Synapse india reviews on share point developmentSynapse india reviews on share point development
Synapse india reviews on share point developmentsaritasingh19866
 
Synapse india reviews on gui programming in .net
Synapse india reviews on gui programming in .netSynapse india reviews on gui programming in .net
Synapse india reviews on gui programming in .netsaritasingh19866
 
Synapse india reviews on mobile application development
Synapse india reviews on mobile application developmentSynapse india reviews on mobile application development
Synapse india reviews on mobile application developmentsaritasingh19866
 
Synapse india reviews on android application
Synapse india reviews on android applicationSynapse india reviews on android application
Synapse india reviews on android applicationsaritasingh19866
 
Synapse india reviews on asp.net mobile application
Synapse india reviews on asp.net mobile applicationSynapse india reviews on asp.net mobile application
Synapse india reviews on asp.net mobile applicationsaritasingh19866
 
Synapse india reviews on php website development
Synapse india reviews on php website developmentSynapse india reviews on php website development
Synapse india reviews on php website developmentsaritasingh19866
 
Synapse india reviews on php and sql
Synapse india reviews on php and sqlSynapse india reviews on php and sql
Synapse india reviews on php and sqlsaritasingh19866
 
Synapseindia reviews on array php
Synapseindia reviews on array phpSynapseindia reviews on array php
Synapseindia reviews on array phpsaritasingh19866
 
Synapseindia reviews about Basic Networking
Synapseindia reviews about Basic NetworkingSynapseindia reviews about Basic Networking
Synapseindia reviews about Basic Networkingsaritasingh19866
 
Synapseindia revirews about networking
Synapseindia revirews about networkingSynapseindia revirews about networking
Synapseindia revirews about networkingsaritasingh19866
 
Synapse india reviews abot Networking Concept
Synapse india reviews abot Networking ConceptSynapse india reviews abot Networking Concept
Synapse india reviews abot Networking Conceptsaritasingh19866
 

Mehr von saritasingh19866 (20)

Synapseindia drupal intro 0
Synapseindia drupal intro 0Synapseindia drupal intro 0
Synapseindia drupal intro 0
 
Synapseindia mobile apps cellular networks and mobile computing part1
Synapseindia mobile apps cellular networks and mobile computing part1Synapseindia mobile apps cellular networks and mobile computing part1
Synapseindia mobile apps cellular networks and mobile computing part1
 
Synapse india reviews on mobile and tablet computing
Synapse india reviews on mobile and tablet computingSynapse india reviews on mobile and tablet computing
Synapse india reviews on mobile and tablet computing
 
Synapse india complaints iphone or ipad application development
Synapse india complaints iphone or ipad application developmentSynapse india complaints iphone or ipad application development
Synapse india complaints iphone or ipad application development
 
Synapse india reviews on cross plateform mobile apps development
Synapse india reviews on cross plateform mobile apps developmentSynapse india reviews on cross plateform mobile apps development
Synapse india reviews on cross plateform mobile apps development
 
Synapse india reviews on android and ios
Synapse india reviews on android and iosSynapse india reviews on android and ios
Synapse india reviews on android and ios
 
Synapse india reviews on i phone and android os
Synapse india reviews on i phone and android osSynapse india reviews on i phone and android os
Synapse india reviews on i phone and android os
 
Synapse india reviews on share point development
Synapse india reviews on share point developmentSynapse india reviews on share point development
Synapse india reviews on share point development
 
Synapse india reviews on gui programming in .net
Synapse india reviews on gui programming in .netSynapse india reviews on gui programming in .net
Synapse india reviews on gui programming in .net
 
Synapse india reviews on mobile application development
Synapse india reviews on mobile application developmentSynapse india reviews on mobile application development
Synapse india reviews on mobile application development
 
Synapse india reviews on android application
Synapse india reviews on android applicationSynapse india reviews on android application
Synapse india reviews on android application
 
Synapse india reviews on asp.net mobile application
Synapse india reviews on asp.net mobile applicationSynapse india reviews on asp.net mobile application
Synapse india reviews on asp.net mobile application
 
Synapse india reviews on php website development
Synapse india reviews on php website developmentSynapse india reviews on php website development
Synapse india reviews on php website development
 
Synapse india reviews on php and sql
Synapse india reviews on php and sqlSynapse india reviews on php and sql
Synapse india reviews on php and sql
 
Synapseindia reviews on array php
Synapseindia reviews on array phpSynapseindia reviews on array php
Synapseindia reviews on array php
 
Synapseindia reviews about Basic Networking
Synapseindia reviews about Basic NetworkingSynapseindia reviews about Basic Networking
Synapseindia reviews about Basic Networking
 
Synapseindia revirews about networking
Synapseindia revirews about networkingSynapseindia revirews about networking
Synapseindia revirews about networking
 
Synapseindia reviews
Synapseindia reviewsSynapseindia reviews
Synapseindia reviews
 
Synapse india reviews abot Networking Concept
Synapse india reviews abot Networking ConceptSynapse india reviews abot Networking Concept
Synapse india reviews abot Networking Concept
 
Synapse india reviews
Synapse india reviewsSynapse india reviews
Synapse india reviews
 

Kürzlich hochgeladen

Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 

Kürzlich hochgeladen (20)

Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 

Synapse india reviews on security for the share point developer

  • 1. Synapse india Reviews on Security for the SharePoint Developer Security for the SharePoint Developer
  • 2. Overview What does security refer to? Code access security User authentication User authorization Changes in SP2 for WSS and SPS The SharePoint authorization model Robust authentication code
  • 3. Why worry about security? Why worry about security? If the code or the user cannot do something, there will be an exception. Cryptic or vague error messages lead to more helpdesk calls. Bad way to do things, especially with a multi-step process. Can lead to data loss or inconsistent data. Don’t show options users don’t have rights to.
  • 4. Types of security Code Access Security Security for executing code User security – comes in two flavors Authentication – proving that a user is who he/she says he/she is Actual credentials Mapping credentials – think SSO Authorization – making sure that a user has access to the resources he/she should and nothing else
  • 5. Code Access Security Why have CAS? ASP.Net and SharePoint allow administrators to install black-box software that run in process with other components Lack of CAS would allow unproven code to access any resource on the network without administrator knowledge One component could access private fields, properties, and methods from another component
  • 6. Working with Code Access Security SharePoint trust modes affect what resources assemblies can access Use demand statements to check for code permissions before collecting data from users or beginning implicit transactions Provide administrators with informative error messages to configure systems to give your code correct access security
  • 7. User Authentication Accessing remote resources with Default Credentials - the double hop Pre SP2 this may fail SP2 supports Kerberos Can’t rely on a Kerberos enabled site Steps to enable Kerberos on a site
  • 8. User Authentication Issues What happens when users authenticate with PKI certificates? Remote web resources cannot be accessed using Default Credentials The remote web request does not have access to the private key that was used to authenticate to the portal site Server side code (ASPX pages and web parts) can detect PKI certificates and make alternate access provisions
  • 9. Changes with WSS and SPS SP2 Strongly signed assemblies must be in the GAC The error SharePoint reports is “The assembly is not registered as safe” This is a requirement even if the site is configured to run in Full trust mode Kerberos is now a selectable security mode for IIS sites Allows default credentials to work properly in web parts and ASP.Net applications that access remote resources
  • 10. The SharePoint authorization model Authorization is stored at three levels –Area, Site, List Any object (area, site, list) may contain a reference to another object for authorization inheritance The SiteData web service returns a _sWebMetadata structure that contains the ACLs list for sites and areas
  • 11. The _sWebMetadata structure Relevant items: InheritedSecurity The Permissions member will contain a URL to the site or area from which permissions are inherited Permissions If InheritedSecurity is false, an XML document that contains the site groups and Windows users and groups with authorizations to the site or area, as well as their permissions
  • 12. Permissions XML <?xml version="1.0" encoding="utf-8" ?> <GetPermissionCollection xmlns="http://schemas.microsoft.com/sharepoint/soap/directory/"> <Permissions> <Permission MemberID="1073741829" Mask="-1" MemberIsUser="False" MemberGlobal="False" RoleName="Administrator" /> <Permission MemberID="1073741828" Mask="1029638927" MemberIsUser="False" MemberGlobal="False" RoleName="Web Designer" /> <Permission MemberID="1073741827" Mask="1027801615" MemberIsUser="False" MemberGlobal="False" RoleName="Contributor" /> <Permission MemberID="1073741826" Mask="138608641" MemberIsUser="False" MemberGlobal="False" RoleName="Reader" /> <Permission MemberID="1073741825" Mask="134283264" MemberIsUser="False" MemberGlobal="False" RoleName="Guest" /> </Permissions> </GetPermissionCollection>
  • 13. Parsing the Permission XML MemberIsUser indicates whether the Permission element is a role, or a Windows user or group Mask is a bit mask that corresponds to values in the SPRights enumeration. Example: To check for AddListItems (0x00000002) permission, use: (Mask & 0x00000002) == 0x00000002 For Windows users or groups, the Permission element may contain these attributes: IsDomainGroup, IsSiteAdmin, LoginName, Name, SID, UserLogin If the Permission element is not a Role but the IsDomainGroup attribute is not present, we can look up the user information by using: UserGroupService.GetUserInfo(permission.UserLogin) If the Permission element is a Role, we can resolve the user membership for role by using: UserGroupService.GetUserCollectionFromRole(perm.RoleName)
  • 14. Get All User Collection From Web sample return <?xml version="1.0" encoding="utf-8" ?> <GetAllUserCollectionFromWeb xmlns="http://schemas.microsoft.com/sharepoint/soap/directory/"> <Users> <User ID="1" Sid="S-1-5-21-1935655697-287218729-682003330-1934" Name="Eugene Rosenfeld" LoginName=“meanweselerosen03" Email=“erosen03@hotmail.com" Notes="" IsSiteAdmin="True" IsDomainGroup="False" /> </Users> </GetAllUserCollectionFromWeb>
  • 15. Robust Authentication Code Request use SP 2 Kerberos so default credentials can be passed to remote resources Support multiple authentication models to access remote resources Encapsulate login process in code Passing default credentials Using SSO to map credentials when site is not running in Kerberos or when user is authenticating with PKI – Storing credentials as web part properties is not secure!