SlideShare a Scribd company logo
@AlexMags
So I DevSecOpsed
Office 365
@alexmags #winops
@AlexMags
Alex Magnay
Twitter: @alexmags
Email: alex@alexmags.com
linkedin.com/in/amagnay
@AlexMags
This talk
• Unconventional use of Release Pipelines
• Office 365 configuration as versioned code
• Releasing changes through environments to prod
• Testing Office 365 configuration compliance
• NIST CyberSecurity Framework
@AlexMags
So much to configure!!!
• AAD tenant config
• AAD Privliged Identity Management
• AAD Conditional Access
• Office 365 Groups policies
• Exchange spam policies
• Exchange anti phish policies
• Exchange Malware filter policy
• Exchange safe attachments policies
• Exchange safe links policies
• Exchange org config
• Exchange Authentication policies
• Exchange DKIM and antispoofing
• Exchange role-based access
• Exchange Transport Rules
• Exchange connector TLS policies
• Exchange Data loss prevention policies
• Sensitive information types
• Office 365 audit log alerts
• Data Retention policies
• SharePoint tenant config
• SharePoint DLP policies
• SharePoint role-based access
• Teams messaging policies
• Teams meeting policies
• Teams client policies
• Teams federation
• Teams role-based access
• Etc….
• Etc….
• Etc….
@AlexMags
@AlexMags
What’s included?
@AlexMags
https://www.youtube.com/watch?v=6mFk3Oxdiwc
@AlexMags
@AlexMags
@AlexMags
Environments & Licensing
@AlexMags
@AlexMags
Azure
Subscriptions
Accounts
Departments
EA Portal Enterprise
Agreement
Fabricam
IT
Lab Test Production
Research
Grid
Contoso
IT
Production
@AlexMags
Subscriptions
AAD Identity
Accounts
Invoicing
EA Portal Enterprise
Agreement
Fabricam
IT
Lab
domain
Azure Lab
O365 Lab
(MPSA)
Test
domain
Azure Test
O365 Test
(MPSA)
Production
domain
Azure Prod
O365
Production
Azure
DevOps
Research
Grid
Contoso
IT
Production
@AlexMags
Configuration as code
@AlexMags
@AlexMags
Compliance as code
@AlexMags
@AlexMags
The demo part
@AlexMags
Lab tenant config exported to JSON
# Export Exchange auth policies
Get-AuthenticationPolicy `
| ConvertTo-Json -Depth 10 `
| Out-File "ExchangeAuthenticationPolicies.json"
@AlexMags
@AlexMags
Read tenant config and set stuff
$TenantSettingsJson = get-content 'ExchangeAuthenticationPolicies.json' | ConvertFrom-Json
Foreach ($policy in $TenantSettingsJson)
{
Write-Output "Applying Exchange authentication policies for: $($policy.identity)"
# build hashtable of switches for PowerShell splatting
$HashArguments = @{
AllowBasicAuthActiveSync = $policy.AllowBasicAuthActiveSync
AllowBasicAuthAutodiscover =$policy.AllowBasicAuthAutodiscover
AllowBasicAuthImap = $policy.AllowBasicAuthImap
AllowBasicAuthMapi = $policy.AllowBasicAuthMapi
AllowBasicAuthOfflineAddressBook = $policy.AllowBasicAuthOfflineAddressBook
AllowBasicAuthOutlookService = $policy.AllowBasicAuthOutlookService
AllowBasicAuthPop = $policy.AllowBasicAuthPop
AllowBasicAuthReportingWebServices = $policy.AllowBasicAuthReportingWebServices
AllowBasicAuthRpc =$policy.AllowBasicAuthRpc
AllowBasicAuthSmtp = $policy.AllowBasicAuthSmtp
AllowBasicAuthWebServices = $policy.AllowBasicAuthWebServices
AllowBasicAuthPowershell = $policy.AllowBasicAuthPowershell
}
# Test if policy if exists and update it. Otherwise create new policy
If (Get-AuthenticationPolicy -Identity $policy.name -ErrorAction SilentlyContinue)
{
Set-AuthenticationPolicy -Identity $policy.name @HashArguments -Verbose
}
else # create new policy
{
New-AuthenticationPolicy -name $policy.Name @HashArguments -Verbose
}
}
1. Create object from JSON
2. Loop though policies in JSON object
3. Build hash table of command
switches based on object properties
4a. Execute set command with
switches
or
4b. Execute new command with
switches
@AlexMags
Testing with Pester
https://github.com/pester
Describe 'Notepad’ {
It 'Exists in Windows folder’ {
'C:Windowsnotepad.exe' | Should -Exist
}
}
Describing Notepad
[+] Exists in Windows folder 4ms
@AlexMags
Testing with Pester
https://github.com/pester
Describe 'Notepad’ {
It 'Exists in Windows folder’ {
'C:WindowsNotAtAllPad.exe' | Should -Exist `
-because "law 57 of Windows builds"
}
}
Describing Notepad
[-] Exists in Windows folder 17ms
Expected path 'C:WindowsNotAtAllPad.exe' to exist,
because law 57 of Windows builds, but it did not exist.
@AlexMags
Test tenant config compared to JSON
$TenantSettingsJson = get-content $genericJSONPath | ConvertFrom-Json
$currentCompanyConfig = Get-AzureADMSGroupLifecyclePolicy -ErrorAction SilentlyContinue
# Note "-because" parameters requires Pester module v4
Describe "Office365 group lifecycle policy for $($AADtenant.DisplayName)" {
it "Office 365 group lifecycle policy" {
$currentCompanyConfig | should -not -BeNullOrEmpty `
-Because "Office 365 group lifecycle policy ensures projects are closed down and data archived"
}
it "Office 365 Group lifetime" {
$currentCompanyConfig.GroupLifetimeInDays | should -be $TenantSettingsJson.GroupLifetimeInDays `
-Because "Unused o365 groups should be archived after $($TenantSettingsJson.GroupLifetimeInDays)"
}
it "Office 365 group notification mails" {
$currentCompanyConfig.AlternateNotificationEmails | should -be $TenantSettingsJson.AlternateNotificationEmails `
-Because "$($TenantSettingsJson.AlternateNotificationEmails) should be notified of unused o365 groups"
}
}
Read JSON, get current config
Assert that current config shouldn’t be blank/unset
Assert that current config should match JSON
@AlexMags
@AlexMags
@AlexMags
@AlexMags
Release config to environments
@AlexMags
Log messages are captured
@AlexMags
Release approvals
• Approvals to individual or team
• Approve & defer to change time
• Approval Policies
• Can’t approve own releases
• Require additional MFA check
• Release gates
• Check ServiceNow change approval
@AlexMags
@AlexMags
@AlexMags
End of the demo part
@AlexMags
So much to configure!!!
• AAD tenant config
• AAD Privliged Identity Management
• AAD Conditional Access
• Office 365 Groups policies
• Exchange spam policies
• Exchange anti phish policies
• Exchange Malware filter policy
• Exchange safe attachments policies
• Exchange safe links policies
• Exchange org config
• Exchange Authentication policies
• Exchange DKIM and antispoofing
• Exchange role-based access
• Exchange Transport Rules
• Exchange connector TLS policies
• Exchange Data loss prevention policies
• Sensitive information types
• Office 365 audit log alerts
• Data Retention policies
• SharePoint tenant config
• SharePoint DLP policies
• SharePoint role-based access
• Teams messaging policies
• Teams meeting policies
• Teams client policies
• Teams federation
• Teams role-based access
• Etc….
• Etc….
• Etc….
@AlexMags
Security Teams you’ll meet
edX CYBER 503x Cybersecurity Risk Management | Tong Sun
@AlexMags
“you build it, we’ll review it”
@AlexMags
Categorise
system
and data
Select
controls to
reduce risk
Implement
controls
Assess
controls
Authorise.
Risk is
acceptable
Monitor
https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-37r2.pdf
Risk Management Framework
@AlexMags
Product Release roadmap
@AlexMags
NIST CyberSecurity Framework
@AlexMags
NIST CyberSecurity Framework
• Identify - who/what you’re protecting
• Protect - the data/system
• Detect - problems
• Respond– know who to tell, what to do
• Recover – have a plan
https://www.nist.gov/cyberframework
@AlexMags
https://www.nist.gov/cyberframework
@AlexMags
Describe your risks
Design your controls to make your risks less likely or lower impact
@AlexMags
Example
NIST Function NIST Category Your Risks Your Controls Your Work items
Multifactor authentication (PR.AC) Enable MFA
Priv Identity Management (PR.AC) Enable AAD PIM
Admin roles follow least rights privileged (PR.AC) Implement RBAC
Encrypt communications containing credentails (PR.AC) Disable basic auth
(PR.AC) Rotate service passwords
(PR.AC) Rotate API Keys
Misconfiguration results in
unauthorised access
IT admins complete training module before access (PR.AT) Cloud Admin course tracking
Critical data is uploaded before
environment is ready
Users sign up to terms of use (no business data) (PR.AT) Enable AAD Conditional Access ToS
Data Security Data is not protected Classifiy data (PR.DS) Implement AIP
Maintenance software vulnerabilities OS and application secuirty patching (PR.MA) Enforce auto updates
Protective Technology Malware results in outage,
unauthorised access or data loss
antimalware (PR.PT) Enable Windows Defender ATP
(PR.IP) Block inbound internet access
Identity Management
and Access Control
Awareness and Training
Information Protection
Processes and
Procedures
Data loss protection
Protect
Service account password and API keys rotated
Unauthorised access is obtained
Data loss from attack or
accidental disclosure
@AlexMags
Completed controls reduce risk
Sprint1
PR.AC MFA
PR.AC Rotate keys
Sprint2
PR.AC RBAC
PR.IP Block internet
Sprint3
PR.AC AAD PIM
PR.IP Azure firewall
PR.PR Defender ATP
PR.MA Auto update
@AlexMags
Completed controls reduce risk
Sprint1
PR.AC MFA
PR.AC Rotate keys
Sprint2
PR.AC RBAC
PR.IP Block internet
Sprint3
PR.AC AAD PIM
PR.IP Azure firewall
PR.PR Defender ATP
PR.MA Auto update
RISK
@AlexMags
Categorise
system
and data
Select
controls to
reduce risk
Implement
controls
Assess
controls
Authorise.
Risk is
acceptable
Monitor
https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-37r2.pdf
Risk Management Framework
Assess Controls
• Do they work?
• Can they be circumvented?
• How much residual risk remains?
@AlexMags
NIST Function NIST Category Your Risks Your Controls Your Work items
Multifactor authentication (PR.AC) Enable MFA
Priv Identity Management (PR.AC) Enable AAD PIM
Admin roles follow least rights privileged (PR.AC) Implement RBAC
Encrypt communications containing credentails (PR.AC) Disable basic auth
(PR.AC) Rotate service passwords
(PR.AC) Rotate API Keys
Misconfiguration results in
unauthorised access
IT admins complete training module before access (PR.AT) Cloud Admin course tracking
Critical data is uploaded before
environment is ready
Users sign up to terms of use (no business data) (PR.AT) Enable AAD Conditional Access ToS
Data Security Data is not protected Classifiy data (PR.DS) Implement AIP
Maintenance software vulnerabilities OS and application secuirty patching (PR.MA) Enforce auto updates
Protective Technology Malware results in outage,
unauthorised access or data loss
antimalware (PR.PT) Enable Windows Defender ATP
(PR.IP) Block inbound internet access
Identity Management
and Access Control
Awareness and Training
Information Protection
Processes and
Procedures
Data loss protection
Protect
Service account password and API keys rotated
Unauthorised access is obtained
Data loss from attack or
accidental disclosure
@AlexMags
Completed controls reduce risk
Sprint1
PR.AC MFA
PR.AC Rotate keys
Sprint2
PR.AC RBAC
PR.IP Block internet
Sprint3
PR.AC AAD PIM
PR.IP Azure firewall
PR.PR Defender ATP
PR.MA Auto update
Release v0.1
Bootstrap
RISK
@AlexMags
Product Release roadmap
Release
v0.1
Bootstrap
Release
v0.2
Test data
Release
v0.3
Internal
data
Release
v0.4
Confidential
data
Release
v1.0
Secret data
@AlexMags
Thanks! Questions?
Alex Magnay
Twitter: @alexmags
Email:alex@alexmags.com

More Related Content

What's hot

What's (nearly) new | AWS Security Roadshow Dublin
What's (nearly) new | AWS Security Roadshow DublinWhat's (nearly) new | AWS Security Roadshow Dublin
What's (nearly) new | AWS Security Roadshow Dublin
Amazon Web Services
 
IAM Best Practices
IAM Best PracticesIAM Best Practices
IAM Best Practices
Amazon Web Services
 
(SEC312) Reliable Design & Deployment of Security & Compliance
(SEC312) Reliable Design & Deployment of Security & Compliance(SEC312) Reliable Design & Deployment of Security & Compliance
(SEC312) Reliable Design & Deployment of Security & Compliance
Amazon Web Services
 
AWS CloudTrail to Track AWS Resources in Your Account (SEC207) | AWS re:Inven...
AWS CloudTrail to Track AWS Resources in Your Account (SEC207) | AWS re:Inven...AWS CloudTrail to Track AWS Resources in Your Account (SEC207) | AWS re:Inven...
AWS CloudTrail to Track AWS Resources in Your Account (SEC207) | AWS re:Inven...
Amazon Web Services
 
Become a Cloud Security Ninja - RedLock Lab
Become a Cloud Security Ninja - RedLock LabBecome a Cloud Security Ninja - RedLock Lab
Become a Cloud Security Ninja - RedLock Lab
Amazon Web Services
 
Federation
Federation Federation
Federation
Amazon Web Services
 
CSS17: DC - The AWS Shared Responsibility Model in Practice
CSS17: DC - The AWS Shared Responsibility Model in PracticeCSS17: DC - The AWS Shared Responsibility Model in Practice
CSS17: DC - The AWS Shared Responsibility Model in Practice
Alert Logic
 
Azure Active Directory
Azure Active DirectoryAzure Active Directory
Azure Active Directory
Sovelto
 
IAM Best Practices
IAM Best PracticesIAM Best Practices
IAM Best Practices
Amazon Web Services
 
Geek Sync | Taking Control of Your Organization’s SQL Server Sprawl
Geek Sync | Taking Control of Your Organization’s SQL Server SprawlGeek Sync | Taking Control of Your Organization’s SQL Server Sprawl
Geek Sync | Taking Control of Your Organization’s SQL Server Sprawl
IDERA Software
 
Become an IAM Policy Ninja
Become an IAM Policy NinjaBecome an IAM Policy Ninja
Become an IAM Policy Ninja
Amazon Web Services
 
Overview of secret management solutions and architecture
Overview of secret management solutions and architectureOverview of secret management solutions and architecture
Overview of secret management solutions and architecture
Yuechuan (Mike) Chen
 
MongoDB.local Dallas 2019: Pissing Off IT and Delivery: A Tale of 2 ODS's
MongoDB.local Dallas 2019: Pissing Off IT and Delivery: A Tale of 2 ODS'sMongoDB.local Dallas 2019: Pissing Off IT and Delivery: A Tale of 2 ODS's
MongoDB.local Dallas 2019: Pissing Off IT and Delivery: A Tale of 2 ODS's
MongoDB
 
Azure Security Center
Azure Security CenterAzure Security Center
Azure Security Center
Udaiappa Ramachandran
 
AWS June Webinar Series - Deep Dive: Protecting Your Data with AWS Encryption
AWS June Webinar Series - Deep Dive: Protecting Your Data with AWS EncryptionAWS June Webinar Series - Deep Dive: Protecting Your Data with AWS Encryption
AWS June Webinar Series - Deep Dive: Protecting Your Data with AWS Encryption
Amazon Web Services
 
A guide on Aws Security Token Service
A guide on Aws Security Token ServiceA guide on Aws Security Token Service
A guide on Aws Security Token Service
Blazeclan Technologies Private Limited
 
Ubiquitous Encryption on AWS - Level 300
Ubiquitous Encryption on AWS - Level 300Ubiquitous Encryption on AWS - Level 300
Ubiquitous Encryption on AWS - Level 300
Amazon Web Services
 
Crypto-Options on AWS | Security Roadshow Dublin
Crypto-Options on AWS | Security Roadshow DublinCrypto-Options on AWS | Security Roadshow Dublin
Crypto-Options on AWS | Security Roadshow Dublin
Amazon Web Services
 
Aws iam best practices to live by
Aws iam best practices to live byAws iam best practices to live by
Aws iam best practices to live by
John Varghese
 
The future of Hadoop security and its evolution by Alejandro González at Big ...
The future of Hadoop security and its evolution by Alejandro González at Big ...The future of Hadoop security and its evolution by Alejandro González at Big ...
The future of Hadoop security and its evolution by Alejandro González at Big ...
Big Data Spain
 

What's hot (20)

What's (nearly) new | AWS Security Roadshow Dublin
What's (nearly) new | AWS Security Roadshow DublinWhat's (nearly) new | AWS Security Roadshow Dublin
What's (nearly) new | AWS Security Roadshow Dublin
 
IAM Best Practices
IAM Best PracticesIAM Best Practices
IAM Best Practices
 
(SEC312) Reliable Design & Deployment of Security & Compliance
(SEC312) Reliable Design & Deployment of Security & Compliance(SEC312) Reliable Design & Deployment of Security & Compliance
(SEC312) Reliable Design & Deployment of Security & Compliance
 
AWS CloudTrail to Track AWS Resources in Your Account (SEC207) | AWS re:Inven...
AWS CloudTrail to Track AWS Resources in Your Account (SEC207) | AWS re:Inven...AWS CloudTrail to Track AWS Resources in Your Account (SEC207) | AWS re:Inven...
AWS CloudTrail to Track AWS Resources in Your Account (SEC207) | AWS re:Inven...
 
Become a Cloud Security Ninja - RedLock Lab
Become a Cloud Security Ninja - RedLock LabBecome a Cloud Security Ninja - RedLock Lab
Become a Cloud Security Ninja - RedLock Lab
 
Federation
Federation Federation
Federation
 
CSS17: DC - The AWS Shared Responsibility Model in Practice
CSS17: DC - The AWS Shared Responsibility Model in PracticeCSS17: DC - The AWS Shared Responsibility Model in Practice
CSS17: DC - The AWS Shared Responsibility Model in Practice
 
Azure Active Directory
Azure Active DirectoryAzure Active Directory
Azure Active Directory
 
IAM Best Practices
IAM Best PracticesIAM Best Practices
IAM Best Practices
 
Geek Sync | Taking Control of Your Organization’s SQL Server Sprawl
Geek Sync | Taking Control of Your Organization’s SQL Server SprawlGeek Sync | Taking Control of Your Organization’s SQL Server Sprawl
Geek Sync | Taking Control of Your Organization’s SQL Server Sprawl
 
Become an IAM Policy Ninja
Become an IAM Policy NinjaBecome an IAM Policy Ninja
Become an IAM Policy Ninja
 
Overview of secret management solutions and architecture
Overview of secret management solutions and architectureOverview of secret management solutions and architecture
Overview of secret management solutions and architecture
 
MongoDB.local Dallas 2019: Pissing Off IT and Delivery: A Tale of 2 ODS's
MongoDB.local Dallas 2019: Pissing Off IT and Delivery: A Tale of 2 ODS'sMongoDB.local Dallas 2019: Pissing Off IT and Delivery: A Tale of 2 ODS's
MongoDB.local Dallas 2019: Pissing Off IT and Delivery: A Tale of 2 ODS's
 
Azure Security Center
Azure Security CenterAzure Security Center
Azure Security Center
 
AWS June Webinar Series - Deep Dive: Protecting Your Data with AWS Encryption
AWS June Webinar Series - Deep Dive: Protecting Your Data with AWS EncryptionAWS June Webinar Series - Deep Dive: Protecting Your Data with AWS Encryption
AWS June Webinar Series - Deep Dive: Protecting Your Data with AWS Encryption
 
A guide on Aws Security Token Service
A guide on Aws Security Token ServiceA guide on Aws Security Token Service
A guide on Aws Security Token Service
 
Ubiquitous Encryption on AWS - Level 300
Ubiquitous Encryption on AWS - Level 300Ubiquitous Encryption on AWS - Level 300
Ubiquitous Encryption on AWS - Level 300
 
Crypto-Options on AWS | Security Roadshow Dublin
Crypto-Options on AWS | Security Roadshow DublinCrypto-Options on AWS | Security Roadshow Dublin
Crypto-Options on AWS | Security Roadshow Dublin
 
Aws iam best practices to live by
Aws iam best practices to live byAws iam best practices to live by
Aws iam best practices to live by
 
The future of Hadoop security and its evolution by Alejandro González at Big ...
The future of Hadoop security and its evolution by Alejandro González at Big ...The future of Hadoop security and its evolution by Alejandro González at Big ...
The future of Hadoop security and its evolution by Alejandro González at Big ...
 

Similar to So I DevSecOpsed Office 365

Make your Azure PaaS Deployment More Safe
Make your Azure PaaS Deployment More SafeMake your Azure PaaS Deployment More Safe
Make your Azure PaaS Deployment More Safe
Thuan Ng
 
Enterprise-class security with PostgreSQL - 1
Enterprise-class security with PostgreSQL - 1Enterprise-class security with PostgreSQL - 1
Enterprise-class security with PostgreSQL - 1
Ashnikbiz
 
AUSPC 2013 - Understanding the Five Layers of SharePoint Security
AUSPC 2013 - Understanding the Five Layers of SharePoint SecurityAUSPC 2013 - Understanding the Five Layers of SharePoint Security
AUSPC 2013 - Understanding the Five Layers of SharePoint SecurityMichael Noel
 
Can you keep a secret? (XP Days 2017)
Can you keep a secret? (XP Days 2017)Can you keep a secret? (XP Days 2017)
Can you keep a secret? (XP Days 2017)
Valerii Moisieienko
 
Securing Microservices using Play and Akka HTTP
Securing Microservices using Play and Akka HTTPSecuring Microservices using Play and Akka HTTP
Securing Microservices using Play and Akka HTTP
Rafal Gancarz
 
Protecting Your Data in AWS
Protecting Your Data in AWSProtecting Your Data in AWS
Protecting Your Data in AWS
Amazon Web Services
 
MongoDB World 2019: Securing Application Data from Day One
MongoDB World 2019: Securing Application Data from Day OneMongoDB World 2019: Securing Application Data from Day One
MongoDB World 2019: Securing Application Data from Day One
MongoDB
 
Cloud Based Rights Management with Azure RMS
Cloud Based Rights Management with Azure RMSCloud Based Rights Management with Azure RMS
Cloud Based Rights Management with Azure RMS
Morgan Simonsen
 
Securing Your Enterprise Web Apps with MongoDB Enterprise
Securing Your Enterprise Web Apps with MongoDB Enterprise Securing Your Enterprise Web Apps with MongoDB Enterprise
Securing Your Enterprise Web Apps with MongoDB Enterprise
MongoDB
 
DEF CON 24 - Sean Metcalf - beyond the mcse red teaming active directory
DEF CON 24 - Sean Metcalf - beyond the mcse red teaming active directoryDEF CON 24 - Sean Metcalf - beyond the mcse red teaming active directory
DEF CON 24 - Sean Metcalf - beyond the mcse red teaming active directory
Felipe Prado
 
NVS_Sentinel
NVS_SentinelNVS_Sentinel
NVS_Sentinel
Mike Mihm
 
Understanding AWS Security
Understanding AWS SecurityUnderstanding AWS Security
Understanding AWS Security
Amazon Web Services
 
Supercharge Your Product Development with Continuous Delivery & Serverless Co...
Supercharge Your Product Development with Continuous Delivery & Serverless Co...Supercharge Your Product Development with Continuous Delivery & Serverless Co...
Supercharge Your Product Development with Continuous Delivery & Serverless Co...
Amazon Web Services
 
AWS Summit Auckland - Building a Server-less Data Lake on AWS
AWS Summit Auckland - Building a Server-less Data Lake on AWSAWS Summit Auckland - Building a Server-less Data Lake on AWS
AWS Summit Auckland - Building a Server-less Data Lake on AWS
Amazon Web Services
 
透過Amazon CloudFront 和AWS WAF來執行安全的內容傳輸
透過Amazon CloudFront 和AWS WAF來執行安全的內容傳輸透過Amazon CloudFront 和AWS WAF來執行安全的內容傳輸
透過Amazon CloudFront 和AWS WAF來執行安全的內容傳輸
Amazon Web Services
 
Building a Server-less Data Lake on AWS - Technical 301
Building a Server-less Data Lake on AWS - Technical 301Building a Server-less Data Lake on AWS - Technical 301
Building a Server-less Data Lake on AWS - Technical 301
Amazon Web Services
 
Office 365 Best Practices That You Are Not Thinking About
Office 365 Best Practices That You Are Not Thinking AboutOffice 365 Best Practices That You Are Not Thinking About
Office 365 Best Practices That You Are Not Thinking About
Quest
 
Secure Configuration and Automation Overview
Secure Configuration and Automation OverviewSecure Configuration and Automation Overview
Secure Configuration and Automation Overview
Amazon Web Services
 
Simple Security for Startups
Simple Security for StartupsSimple Security for Startups
Simple Security for Startups
Mark Bate
 

Similar to So I DevSecOpsed Office 365 (20)

Make your Azure PaaS Deployment More Safe
Make your Azure PaaS Deployment More SafeMake your Azure PaaS Deployment More Safe
Make your Azure PaaS Deployment More Safe
 
Enterprise-class security with PostgreSQL - 1
Enterprise-class security with PostgreSQL - 1Enterprise-class security with PostgreSQL - 1
Enterprise-class security with PostgreSQL - 1
 
AUSPC 2013 - Understanding the Five Layers of SharePoint Security
AUSPC 2013 - Understanding the Five Layers of SharePoint SecurityAUSPC 2013 - Understanding the Five Layers of SharePoint Security
AUSPC 2013 - Understanding the Five Layers of SharePoint Security
 
Can you keep a secret? (XP Days 2017)
Can you keep a secret? (XP Days 2017)Can you keep a secret? (XP Days 2017)
Can you keep a secret? (XP Days 2017)
 
Securing Microservices using Play and Akka HTTP
Securing Microservices using Play and Akka HTTPSecuring Microservices using Play and Akka HTTP
Securing Microservices using Play and Akka HTTP
 
Rails Security
Rails SecurityRails Security
Rails Security
 
Protecting Your Data in AWS
Protecting Your Data in AWSProtecting Your Data in AWS
Protecting Your Data in AWS
 
MongoDB World 2019: Securing Application Data from Day One
MongoDB World 2019: Securing Application Data from Day OneMongoDB World 2019: Securing Application Data from Day One
MongoDB World 2019: Securing Application Data from Day One
 
Cloud Based Rights Management with Azure RMS
Cloud Based Rights Management with Azure RMSCloud Based Rights Management with Azure RMS
Cloud Based Rights Management with Azure RMS
 
Securing Your Enterprise Web Apps with MongoDB Enterprise
Securing Your Enterprise Web Apps with MongoDB Enterprise Securing Your Enterprise Web Apps with MongoDB Enterprise
Securing Your Enterprise Web Apps with MongoDB Enterprise
 
DEF CON 24 - Sean Metcalf - beyond the mcse red teaming active directory
DEF CON 24 - Sean Metcalf - beyond the mcse red teaming active directoryDEF CON 24 - Sean Metcalf - beyond the mcse red teaming active directory
DEF CON 24 - Sean Metcalf - beyond the mcse red teaming active directory
 
NVS_Sentinel
NVS_SentinelNVS_Sentinel
NVS_Sentinel
 
Understanding AWS Security
Understanding AWS SecurityUnderstanding AWS Security
Understanding AWS Security
 
Supercharge Your Product Development with Continuous Delivery & Serverless Co...
Supercharge Your Product Development with Continuous Delivery & Serverless Co...Supercharge Your Product Development with Continuous Delivery & Serverless Co...
Supercharge Your Product Development with Continuous Delivery & Serverless Co...
 
AWS Summit Auckland - Building a Server-less Data Lake on AWS
AWS Summit Auckland - Building a Server-less Data Lake on AWSAWS Summit Auckland - Building a Server-less Data Lake on AWS
AWS Summit Auckland - Building a Server-less Data Lake on AWS
 
透過Amazon CloudFront 和AWS WAF來執行安全的內容傳輸
透過Amazon CloudFront 和AWS WAF來執行安全的內容傳輸透過Amazon CloudFront 和AWS WAF來執行安全的內容傳輸
透過Amazon CloudFront 和AWS WAF來執行安全的內容傳輸
 
Building a Server-less Data Lake on AWS - Technical 301
Building a Server-less Data Lake on AWS - Technical 301Building a Server-less Data Lake on AWS - Technical 301
Building a Server-less Data Lake on AWS - Technical 301
 
Office 365 Best Practices That You Are Not Thinking About
Office 365 Best Practices That You Are Not Thinking AboutOffice 365 Best Practices That You Are Not Thinking About
Office 365 Best Practices That You Are Not Thinking About
 
Secure Configuration and Automation Overview
Secure Configuration and Automation OverviewSecure Configuration and Automation Overview
Secure Configuration and Automation Overview
 
Simple Security for Startups
Simple Security for StartupsSimple Security for Startups
Simple Security for Startups
 

Recently uploaded

DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
Fwdays
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 

Recently uploaded (20)

DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 

So I DevSecOpsed Office 365

  • 1. @AlexMags So I DevSecOpsed Office 365 @alexmags #winops
  • 2. @AlexMags Alex Magnay Twitter: @alexmags Email: alex@alexmags.com linkedin.com/in/amagnay
  • 3. @AlexMags This talk • Unconventional use of Release Pipelines • Office 365 configuration as versioned code • Releasing changes through environments to prod • Testing Office 365 configuration compliance • NIST CyberSecurity Framework
  • 4. @AlexMags So much to configure!!! • AAD tenant config • AAD Privliged Identity Management • AAD Conditional Access • Office 365 Groups policies • Exchange spam policies • Exchange anti phish policies • Exchange Malware filter policy • Exchange safe attachments policies • Exchange safe links policies • Exchange org config • Exchange Authentication policies • Exchange DKIM and antispoofing • Exchange role-based access • Exchange Transport Rules • Exchange connector TLS policies • Exchange Data loss prevention policies • Sensitive information types • Office 365 audit log alerts • Data Retention policies • SharePoint tenant config • SharePoint DLP policies • SharePoint role-based access • Teams messaging policies • Teams meeting policies • Teams client policies • Teams federation • Teams role-based access • Etc…. • Etc…. • Etc….
  • 13. @AlexMags Subscriptions AAD Identity Accounts Invoicing EA Portal Enterprise Agreement Fabricam IT Lab domain Azure Lab O365 Lab (MPSA) Test domain Azure Test O365 Test (MPSA) Production domain Azure Prod O365 Production Azure DevOps Research Grid Contoso IT Production
  • 19. @AlexMags Lab tenant config exported to JSON # Export Exchange auth policies Get-AuthenticationPolicy ` | ConvertTo-Json -Depth 10 ` | Out-File "ExchangeAuthenticationPolicies.json"
  • 21. @AlexMags Read tenant config and set stuff $TenantSettingsJson = get-content 'ExchangeAuthenticationPolicies.json' | ConvertFrom-Json Foreach ($policy in $TenantSettingsJson) { Write-Output "Applying Exchange authentication policies for: $($policy.identity)" # build hashtable of switches for PowerShell splatting $HashArguments = @{ AllowBasicAuthActiveSync = $policy.AllowBasicAuthActiveSync AllowBasicAuthAutodiscover =$policy.AllowBasicAuthAutodiscover AllowBasicAuthImap = $policy.AllowBasicAuthImap AllowBasicAuthMapi = $policy.AllowBasicAuthMapi AllowBasicAuthOfflineAddressBook = $policy.AllowBasicAuthOfflineAddressBook AllowBasicAuthOutlookService = $policy.AllowBasicAuthOutlookService AllowBasicAuthPop = $policy.AllowBasicAuthPop AllowBasicAuthReportingWebServices = $policy.AllowBasicAuthReportingWebServices AllowBasicAuthRpc =$policy.AllowBasicAuthRpc AllowBasicAuthSmtp = $policy.AllowBasicAuthSmtp AllowBasicAuthWebServices = $policy.AllowBasicAuthWebServices AllowBasicAuthPowershell = $policy.AllowBasicAuthPowershell } # Test if policy if exists and update it. Otherwise create new policy If (Get-AuthenticationPolicy -Identity $policy.name -ErrorAction SilentlyContinue) { Set-AuthenticationPolicy -Identity $policy.name @HashArguments -Verbose } else # create new policy { New-AuthenticationPolicy -name $policy.Name @HashArguments -Verbose } } 1. Create object from JSON 2. Loop though policies in JSON object 3. Build hash table of command switches based on object properties 4a. Execute set command with switches or 4b. Execute new command with switches
  • 22. @AlexMags Testing with Pester https://github.com/pester Describe 'Notepad’ { It 'Exists in Windows folder’ { 'C:Windowsnotepad.exe' | Should -Exist } } Describing Notepad [+] Exists in Windows folder 4ms
  • 23. @AlexMags Testing with Pester https://github.com/pester Describe 'Notepad’ { It 'Exists in Windows folder’ { 'C:WindowsNotAtAllPad.exe' | Should -Exist ` -because "law 57 of Windows builds" } } Describing Notepad [-] Exists in Windows folder 17ms Expected path 'C:WindowsNotAtAllPad.exe' to exist, because law 57 of Windows builds, but it did not exist.
  • 24. @AlexMags Test tenant config compared to JSON $TenantSettingsJson = get-content $genericJSONPath | ConvertFrom-Json $currentCompanyConfig = Get-AzureADMSGroupLifecyclePolicy -ErrorAction SilentlyContinue # Note "-because" parameters requires Pester module v4 Describe "Office365 group lifecycle policy for $($AADtenant.DisplayName)" { it "Office 365 group lifecycle policy" { $currentCompanyConfig | should -not -BeNullOrEmpty ` -Because "Office 365 group lifecycle policy ensures projects are closed down and data archived" } it "Office 365 Group lifetime" { $currentCompanyConfig.GroupLifetimeInDays | should -be $TenantSettingsJson.GroupLifetimeInDays ` -Because "Unused o365 groups should be archived after $($TenantSettingsJson.GroupLifetimeInDays)" } it "Office 365 group notification mails" { $currentCompanyConfig.AlternateNotificationEmails | should -be $TenantSettingsJson.AlternateNotificationEmails ` -Because "$($TenantSettingsJson.AlternateNotificationEmails) should be notified of unused o365 groups" } } Read JSON, get current config Assert that current config shouldn’t be blank/unset Assert that current config should match JSON
  • 30. @AlexMags Release approvals • Approvals to individual or team • Approve & defer to change time • Approval Policies • Can’t approve own releases • Require additional MFA check • Release gates • Check ServiceNow change approval
  • 33. @AlexMags End of the demo part
  • 34. @AlexMags So much to configure!!! • AAD tenant config • AAD Privliged Identity Management • AAD Conditional Access • Office 365 Groups policies • Exchange spam policies • Exchange anti phish policies • Exchange Malware filter policy • Exchange safe attachments policies • Exchange safe links policies • Exchange org config • Exchange Authentication policies • Exchange DKIM and antispoofing • Exchange role-based access • Exchange Transport Rules • Exchange connector TLS policies • Exchange Data loss prevention policies • Sensitive information types • Office 365 audit log alerts • Data Retention policies • SharePoint tenant config • SharePoint DLP policies • SharePoint role-based access • Teams messaging policies • Teams meeting policies • Teams client policies • Teams federation • Teams role-based access • Etc…. • Etc…. • Etc….
  • 35. @AlexMags Security Teams you’ll meet edX CYBER 503x Cybersecurity Risk Management | Tong Sun
  • 36. @AlexMags “you build it, we’ll review it”
  • 37. @AlexMags Categorise system and data Select controls to reduce risk Implement controls Assess controls Authorise. Risk is acceptable Monitor https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-37r2.pdf Risk Management Framework
  • 40. @AlexMags NIST CyberSecurity Framework • Identify - who/what you’re protecting • Protect - the data/system • Detect - problems • Respond– know who to tell, what to do • Recover – have a plan https://www.nist.gov/cyberframework
  • 42. @AlexMags Describe your risks Design your controls to make your risks less likely or lower impact
  • 43. @AlexMags Example NIST Function NIST Category Your Risks Your Controls Your Work items Multifactor authentication (PR.AC) Enable MFA Priv Identity Management (PR.AC) Enable AAD PIM Admin roles follow least rights privileged (PR.AC) Implement RBAC Encrypt communications containing credentails (PR.AC) Disable basic auth (PR.AC) Rotate service passwords (PR.AC) Rotate API Keys Misconfiguration results in unauthorised access IT admins complete training module before access (PR.AT) Cloud Admin course tracking Critical data is uploaded before environment is ready Users sign up to terms of use (no business data) (PR.AT) Enable AAD Conditional Access ToS Data Security Data is not protected Classifiy data (PR.DS) Implement AIP Maintenance software vulnerabilities OS and application secuirty patching (PR.MA) Enforce auto updates Protective Technology Malware results in outage, unauthorised access or data loss antimalware (PR.PT) Enable Windows Defender ATP (PR.IP) Block inbound internet access Identity Management and Access Control Awareness and Training Information Protection Processes and Procedures Data loss protection Protect Service account password and API keys rotated Unauthorised access is obtained Data loss from attack or accidental disclosure
  • 44. @AlexMags Completed controls reduce risk Sprint1 PR.AC MFA PR.AC Rotate keys Sprint2 PR.AC RBAC PR.IP Block internet Sprint3 PR.AC AAD PIM PR.IP Azure firewall PR.PR Defender ATP PR.MA Auto update
  • 45. @AlexMags Completed controls reduce risk Sprint1 PR.AC MFA PR.AC Rotate keys Sprint2 PR.AC RBAC PR.IP Block internet Sprint3 PR.AC AAD PIM PR.IP Azure firewall PR.PR Defender ATP PR.MA Auto update RISK
  • 46. @AlexMags Categorise system and data Select controls to reduce risk Implement controls Assess controls Authorise. Risk is acceptable Monitor https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-37r2.pdf Risk Management Framework Assess Controls • Do they work? • Can they be circumvented? • How much residual risk remains?
  • 47. @AlexMags NIST Function NIST Category Your Risks Your Controls Your Work items Multifactor authentication (PR.AC) Enable MFA Priv Identity Management (PR.AC) Enable AAD PIM Admin roles follow least rights privileged (PR.AC) Implement RBAC Encrypt communications containing credentails (PR.AC) Disable basic auth (PR.AC) Rotate service passwords (PR.AC) Rotate API Keys Misconfiguration results in unauthorised access IT admins complete training module before access (PR.AT) Cloud Admin course tracking Critical data is uploaded before environment is ready Users sign up to terms of use (no business data) (PR.AT) Enable AAD Conditional Access ToS Data Security Data is not protected Classifiy data (PR.DS) Implement AIP Maintenance software vulnerabilities OS and application secuirty patching (PR.MA) Enforce auto updates Protective Technology Malware results in outage, unauthorised access or data loss antimalware (PR.PT) Enable Windows Defender ATP (PR.IP) Block inbound internet access Identity Management and Access Control Awareness and Training Information Protection Processes and Procedures Data loss protection Protect Service account password and API keys rotated Unauthorised access is obtained Data loss from attack or accidental disclosure
  • 48. @AlexMags Completed controls reduce risk Sprint1 PR.AC MFA PR.AC Rotate keys Sprint2 PR.AC RBAC PR.IP Block internet Sprint3 PR.AC AAD PIM PR.IP Azure firewall PR.PR Defender ATP PR.MA Auto update Release v0.1 Bootstrap RISK
  • 49. @AlexMags Product Release roadmap Release v0.1 Bootstrap Release v0.2 Test data Release v0.3 Internal data Release v0.4 Confidential data Release v1.0 Secret data
  • 50. @AlexMags Thanks! Questions? Alex Magnay Twitter: @alexmags Email:alex@alexmags.com

Editor's Notes

  1. Background infrastructure engineering teams investment banking, asset management High availability, high security, regulatory compliance. Come off Office365 deployment. Sprinked DevOps on it
  2. On prem vs IaaS Terrafrom Why youre here. WHAT it is Terraform workflow HOW to use it Demo Terraform for Dev, Sec, and Ops News Warning: Fetish for excruciating PowerPoint transitions.
  3. All the configuration needs to be tracked, maintained
  4. Office365 Security Portal
  5. Graph API you can export this list of improvement actions and see if any flipped from completed to not completed?
  6. Most accessible intro to release pipelines. Esp OPS guys
  7. When you’ve been configuring Conditional Access by hand, and locked yourself and the entire company out, you know it. http://www.jklossner.com/humannature
  8. EA (250 users minimum) MPSA (points, # users vary on E3 or E5)
  9. LOGICALLY
  10. The account provided gives the code context Onmicrosoft.com
  11. Config exported to JSON
  12. Assert things that should be true and you want to know if they’re not
  13. Assert things that should be true and you want to know if they’re not
  14. Test current config compared to JSON
  15. Additional approval required to deploy prod
  16. Additional approval required to deploy prod
  17. Went to Security to ask how they want stuff set
  18. Cyber/IT Sec OS, patching, pen testing intellectual property, regulatory compliance, business/financial integrity, insider abuse, industrial espionage, data privacy, governance, crisis management, business continuity, risk analysis, and organizational view
  19. Click through
  20. Click to releases
  21. CSF!!!
  22. Secret weapon number 3
  23. Risk – whats the bad thing that could happen Control – what makes it unlikely or lower impact Work items – well defined so people can crack on Talk with infosec, which risks and controls will get you to next stage on your roadmap?
  24. Controls == safe guards == countermeasures
  25. Residual risk decreases as controls are implemented
  26. Categorize the system and the information processed, stored, and transmitted by the system based on an analysis of the impact of loss Select an initial set of controls for the system and tailor the controls as needed to reduce risk to an acceptable level based on an assessment of risk. Technical/process Implement the controls and describe how the controls are employed within the system and its environment of operation. Assess the controls to determine if the controls are implemented correctly, operating as intended, and producing the desired outcomes with respect to satisfying the security and privacy requirements. Authorize the system or common controls based on a determination that the risk to organizational operations and assets, individuals, other organizations, and the Nation is acceptable. Monitor the system and the associated controls on an ongoing basis to include assessing control effectiveness, documenting changes to the system and environment of operation, conducting risk assessments and impact analyses, and reporting the security and privacy posture of the system.
  27. 50% green
  28. Categorize the system and the information processed, stored, and transmitted by the system based on an analysis of the impact of loss Select an initial set of controls for the system and tailor the controls as needed to reduce risk to an acceptable level based on an assessment of risk. Implement the controls and describe how the controls are employed within the system and its environment of operation. Assess the controls to determine if the controls are implemented correctly, operating as intended, and producing the desired outcomes with respect to satisfying the security and privacy requirements. Authorize the system or common controls based on a determination that the risk to organizational operations and assets, individuals, other organizations, and the Nation is acceptable. Monitor the system and the associated controls on an ongoing basis to include assessing control effectiveness, documenting changes to the system and environment of operation, conducting risk assessments and impact analyses, and reporting the security and privacy posture of the system.