SlideShare a Scribd company logo
1 of 34
Securing Your MongoDB 
Deployment 
John Page 
Senior Solutions Architect,MongoDB
Securing MongoDB: an Agenda. 
Why do I Secure ? 
When do I Secure ? 
How can I secure ?
Why? – Trust No One 
• The cyber blackmailer. 
• The IPR thief. 
• The identity thief. 
• The Vandal – or careless explorer. 
• The accident prone employee.
Why – we live in an insecure world. 
• Zero day exploits. 
• Lack of accountability for actions. 
• Accidental exposure to data. 
• Fear the enemy within.
Why – many people care. 
• Your compliance requirements. 
– Data Protection Act, Sarbanes Oxley. 
• Due diligence requirements. 
– RMADS 
– ISO27001 
• Reputational value. 
• Protect yourself and your employees.
When do you implement security. 
Plan and design security as early as possible. 
Design Implement Test Deploy 
YES! NO!
When – incrementally increase rights. 
• Like Test Driven Development. 
• Start with too much security – open up as little as possible. 
• Keep documentation – someone will want it. 
• Automate – never manually adjust permissions. 
Obey the principle of least privilege.
Why so early. 
• Security is hard to add later – just like tests. 
• The later you add it the more it costs. 
• Retroactive security is hard to have faith in. 
• Security – requirements, part of your design.
How do I secure my system. 
• The whole system should be secured – not a part. 
• Security has layers. 
• Be aware –many people good and bad know more than you. 
– Auditors. 
– Criminals. 
– Pen testers do!
Layered security 
Firewall 
Transport Level Security 
Environment Security 
Storage Security 
Authentication 
Authorisation 
Accountability 
Application Functionality
The Network Firewall 
• Think of it as a Perimeter fence. 
• Assume it will be breached. 
• Ensure it’s just as hard to get out as in. 
• Don’t trust it – it’s no defense against many attacks. 
• Do have one though, and make sure you understand it.
Transport Encryption with SSL 
• MongoDB protect client-server, server-server communications with 
SSL. 
• Support for commercially and internally issued x.509 certificates 
• Possible to run the server in FIPS 140-2 mode. 
• Support for mixed SSL and non-SSL clusters. 
• Self-signed certificates provides no trust! 
• Omitting to provide a CA file to MongoDB disables validation!
Data Protection - Transport Encryption 
Encrypt communications (SSL) 
Authenticate connections (x.509)
Environmental Security 
• Run MongoDB with the lowest rights. 
• Do not have a password for that user. 
• All admins need their own logons. 
• Use sudo and sudo logging. 
• Remove MongoDB binaries / change permissions. 
• Restrict permissions on everything. 
• Avoid root.
Data Protection - Encryption at rest 
Alternatives 
• Encrypt data client side 
• Use partner or independent solution for file and OS level 
encryption
Database Authentication 
Built-in authentication methods 
• Password challenge response 
• x.509 certificates 
Or integrate with existing authentication infrastructure
Database Access Control (RBAC) 
• Create a new role for your application user. 
• Give them NO permissions. 
• Open up until the application works. 
• Repeat for each process – e.g. backup. 
• Human users should get suitable permission sets – don’t restrict too much. 
• Keep a system high user – and a password in a safe.
Internal Access Control 
Server-server authentication use shared keyfile or x.509.
Security Auditing
The Audit Log 
• Log to console, syslog or file (JSON/BSON) 
• Always log to a secured location 
• Events include authentication, commands and CRUD. 
• Access control is not required, authentication is
Audit Log – details. 
• Can be filtered by different criteria 
• Events are ordered within a connection. 
• Audit event written to disk BEFORE writing to the journal 
• A write will not complete before it has been audited
Application ‘security’ - $redact 
$redact 
• New aggregation framework operator 
• Conditionally filter user documents 
Use cases 
• Implement user-based document level, content filtering. 
• Create egress filter, redacting sensitive information.
Access Control - Field Level Redaction 
Note: Need to understand the application better
Walkthrough a secure System - Firewall
Walkthrough a secure System - Transport
Walkthrough a secure System - Environment
Walkthrough a secure System - Storage
Walkthrough a secure System - Authentication
Walkthrough a secure System - Authorisation
Walkthrough a secure System - Auditing
Walkthrough a secure System - limitation
The Art of Securing a System 
Security is not an Art – it’s a science. 
“If I have seen further it is by standing 
on the shoulders of Giants”
Next steps 
• MongoDB Security Manual - 
http://docs.mongodb.org/manual/core/security-introduction/ 
• MongoDB Security Whitepaper - 
http://info.mongodb.com/rs/mongodb/images/MongoDB_Security_Archi 
tecture_WP.pdf
Thank You 
John Page (@johnlpage) 
Senior Solutions Architect, MongoDB

More Related Content

What's hot

Common MongoDB Use Cases
Common MongoDB Use CasesCommon MongoDB Use Cases
Common MongoDB Use Cases
DATAVERSITY
 

What's hot (20)

When to Use MongoDB
When to Use MongoDBWhen to Use MongoDB
When to Use MongoDB
 
Scaling with MongoDB
Scaling with MongoDBScaling with MongoDB
Scaling with MongoDB
 
MongoDB vs Mysql. A devops point of view
MongoDB vs Mysql. A devops point of viewMongoDB vs Mysql. A devops point of view
MongoDB vs Mysql. A devops point of view
 
MongoDB Introduction talk at Dr Dobbs Conference, MongoDB Evenings at Bangalo...
MongoDB Introduction talk at Dr Dobbs Conference, MongoDB Evenings at Bangalo...MongoDB Introduction talk at Dr Dobbs Conference, MongoDB Evenings at Bangalo...
MongoDB Introduction talk at Dr Dobbs Conference, MongoDB Evenings at Bangalo...
 
Common MongoDB Use Cases
Common MongoDB Use CasesCommon MongoDB Use Cases
Common MongoDB Use Cases
 
Webinar: Technical Introduction to Native Encryption on MongoDB
Webinar: Technical Introduction to Native Encryption on MongoDBWebinar: Technical Introduction to Native Encryption on MongoDB
Webinar: Technical Introduction to Native Encryption on MongoDB
 
What's new in MongoDB 2.6
What's new in MongoDB 2.6What's new in MongoDB 2.6
What's new in MongoDB 2.6
 
Capacity Planning For Your Growing MongoDB Cluster
Capacity Planning For Your Growing MongoDB ClusterCapacity Planning For Your Growing MongoDB Cluster
Capacity Planning For Your Growing MongoDB Cluster
 
Webinar: What's New in MongoDB 3.2
Webinar: What's New in MongoDB 3.2Webinar: What's New in MongoDB 3.2
Webinar: What's New in MongoDB 3.2
 
An Introduction to MongoDB Compass
An Introduction to MongoDB CompassAn Introduction to MongoDB Compass
An Introduction to MongoDB Compass
 
Building a Scalable and Modern Infrastructure at CARFAX
Building a Scalable and Modern Infrastructure at CARFAXBuilding a Scalable and Modern Infrastructure at CARFAX
Building a Scalable and Modern Infrastructure at CARFAX
 
Webinar: Keep Calm and Scale Out - A proactive guide to Monitoring MongoDB
Webinar: Keep Calm and Scale Out - A proactive guide to Monitoring MongoDBWebinar: Keep Calm and Scale Out - A proactive guide to Monitoring MongoDB
Webinar: Keep Calm and Scale Out - A proactive guide to Monitoring MongoDB
 
Hardware Provisioning
Hardware ProvisioningHardware Provisioning
Hardware Provisioning
 
Beyond the Basics 1: Storage Engines
Beyond the Basics 1: Storage EnginesBeyond the Basics 1: Storage Engines
Beyond the Basics 1: Storage Engines
 
A New MongoDB Sharding Architecture for Higher Availability and Better Resour...
A New MongoDB Sharding Architecture for Higher Availability and Better Resour...A New MongoDB Sharding Architecture for Higher Availability and Better Resour...
A New MongoDB Sharding Architecture for Higher Availability and Better Resour...
 
Webinar: Capacity Planning
Webinar: Capacity PlanningWebinar: Capacity Planning
Webinar: Capacity Planning
 
MongoDB Pros and Cons
MongoDB Pros and ConsMongoDB Pros and Cons
MongoDB Pros and Cons
 
MongoDB San Francisco 2013: Storing eBay's Media Metadata on MongoDB present...
MongoDB San Francisco 2013: Storing eBay's Media Metadata on MongoDB  present...MongoDB San Francisco 2013: Storing eBay's Media Metadata on MongoDB  present...
MongoDB San Francisco 2013: Storing eBay's Media Metadata on MongoDB present...
 
MMS - Monitoring, backup and management at a single click
MMS - Monitoring, backup and management at a single clickMMS - Monitoring, backup and management at a single click
MMS - Monitoring, backup and management at a single click
 
MongoDB at Scale
MongoDB at ScaleMongoDB at Scale
MongoDB at Scale
 

Similar to Securing Your MongoDB Deployment

Creating a Single View Part 3: Securing Your Deployment
Creating a Single View Part 3: Securing Your DeploymentCreating a Single View Part 3: Securing Your Deployment
Creating a Single View Part 3: Securing Your Deployment
MongoDB
 
CompTIASecPLUSAASS-part4 - Edited (1).pptx
CompTIASecPLUSAASS-part4 - Edited (1).pptxCompTIASecPLUSAASS-part4 - Edited (1).pptx
CompTIASecPLUSAASS-part4 - Edited (1).pptx
mohedkhadar60
 
Material best practices in network security using ethical hacking
Material best practices in network security using ethical hackingMaterial best practices in network security using ethical hacking
Material best practices in network security using ethical hacking
Desmond Devendran
 
Ryan Elkins - Simple Security Defense to Thwart an Army of Cyber Ninja Warriors
Ryan Elkins - Simple Security Defense to Thwart an Army of Cyber Ninja WarriorsRyan Elkins - Simple Security Defense to Thwart an Army of Cyber Ninja Warriors
Ryan Elkins - Simple Security Defense to Thwart an Army of Cyber Ninja Warriors
Ryan Elkins
 

Similar to Securing Your MongoDB Deployment (20)

SSecuring Your MongoDB Deployment
SSecuring Your MongoDB DeploymentSSecuring Your MongoDB Deployment
SSecuring Your MongoDB Deployment
 
Creating a Single View Part 3: Securing Your Deployment
Creating a Single View Part 3: Securing Your DeploymentCreating a Single View Part 3: Securing Your Deployment
Creating a Single View Part 3: Securing Your Deployment
 
Webinar: Creating a Single View: Securing Your Deployment
Webinar: Creating a Single View: Securing Your DeploymentWebinar: Creating a Single View: Securing Your Deployment
Webinar: Creating a Single View: Securing Your Deployment
 
AppSec in an Agile World
AppSec in an Agile WorldAppSec in an Agile World
AppSec in an Agile World
 
How to write secure code
How to write secure codeHow to write secure code
How to write secure code
 
CompTIASecPLUSAASS-part4 - Edited (1).pptx
CompTIASecPLUSAASS-part4 - Edited (1).pptxCompTIASecPLUSAASS-part4 - Edited (1).pptx
CompTIASecPLUSAASS-part4 - Edited (1).pptx
 
Security Considerations for Microservices and Multi cloud
Security Considerations for Microservices and Multi cloudSecurity Considerations for Microservices and Multi cloud
Security Considerations for Microservices and Multi cloud
 
Material best practices in network security using ethical hacking
Material best practices in network security using ethical hackingMaterial best practices in network security using ethical hacking
Material best practices in network security using ethical hacking
 
Ccna sec 01
Ccna sec 01Ccna sec 01
Ccna sec 01
 
How to Destroy a Database
How to Destroy a DatabaseHow to Destroy a Database
How to Destroy a Database
 
Expand Your Control of Access to IBM i Systems and Data
Expand Your Control of Access to IBM i Systems and DataExpand Your Control of Access to IBM i Systems and Data
Expand Your Control of Access to IBM i Systems and Data
 
Docker Containers Security
Docker Containers SecurityDocker Containers Security
Docker Containers Security
 
Ryan Elkins - Simple Security Defense to Thwart an Army of Cyber Ninja Warriors
Ryan Elkins - Simple Security Defense to Thwart an Army of Cyber Ninja WarriorsRyan Elkins - Simple Security Defense to Thwart an Army of Cyber Ninja Warriors
Ryan Elkins - Simple Security Defense to Thwart an Army of Cyber Ninja Warriors
 
Securing Your MongoDB Deployment
Securing Your MongoDB DeploymentSecuring Your MongoDB Deployment
Securing Your MongoDB Deployment
 
API Training 10 Nov 2014
API Training 10 Nov 2014API Training 10 Nov 2014
API Training 10 Nov 2014
 
Controlling Access to IBM i Systems and Data
Controlling Access to IBM i Systems and DataControlling Access to IBM i Systems and Data
Controlling Access to IBM i Systems and Data
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4
 
Defcon 22-tim-mcguffin-one-man-shop
Defcon 22-tim-mcguffin-one-man-shopDefcon 22-tim-mcguffin-one-man-shop
Defcon 22-tim-mcguffin-one-man-shop
 
MongoDB .local London 2019: New Encryption Capabilities in MongoDB 4.2: A Dee...
MongoDB .local London 2019: New Encryption Capabilities in MongoDB 4.2: A Dee...MongoDB .local London 2019: New Encryption Capabilities in MongoDB 4.2: A Dee...
MongoDB .local London 2019: New Encryption Capabilities in MongoDB 4.2: A Dee...
 
Threat_Modelling.pdf
Threat_Modelling.pdfThreat_Modelling.pdf
Threat_Modelling.pdf
 

More from MongoDB

More from MongoDB (20)

MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
 

Recently uploaded

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Recently uploaded (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 

Securing Your MongoDB Deployment

  • 1. Securing Your MongoDB Deployment John Page Senior Solutions Architect,MongoDB
  • 2. Securing MongoDB: an Agenda. Why do I Secure ? When do I Secure ? How can I secure ?
  • 3. Why? – Trust No One • The cyber blackmailer. • The IPR thief. • The identity thief. • The Vandal – or careless explorer. • The accident prone employee.
  • 4. Why – we live in an insecure world. • Zero day exploits. • Lack of accountability for actions. • Accidental exposure to data. • Fear the enemy within.
  • 5. Why – many people care. • Your compliance requirements. – Data Protection Act, Sarbanes Oxley. • Due diligence requirements. – RMADS – ISO27001 • Reputational value. • Protect yourself and your employees.
  • 6. When do you implement security. Plan and design security as early as possible. Design Implement Test Deploy YES! NO!
  • 7. When – incrementally increase rights. • Like Test Driven Development. • Start with too much security – open up as little as possible. • Keep documentation – someone will want it. • Automate – never manually adjust permissions. Obey the principle of least privilege.
  • 8. Why so early. • Security is hard to add later – just like tests. • The later you add it the more it costs. • Retroactive security is hard to have faith in. • Security – requirements, part of your design.
  • 9. How do I secure my system. • The whole system should be secured – not a part. • Security has layers. • Be aware –many people good and bad know more than you. – Auditors. – Criminals. – Pen testers do!
  • 10. Layered security Firewall Transport Level Security Environment Security Storage Security Authentication Authorisation Accountability Application Functionality
  • 11. The Network Firewall • Think of it as a Perimeter fence. • Assume it will be breached. • Ensure it’s just as hard to get out as in. • Don’t trust it – it’s no defense against many attacks. • Do have one though, and make sure you understand it.
  • 12. Transport Encryption with SSL • MongoDB protect client-server, server-server communications with SSL. • Support for commercially and internally issued x.509 certificates • Possible to run the server in FIPS 140-2 mode. • Support for mixed SSL and non-SSL clusters. • Self-signed certificates provides no trust! • Omitting to provide a CA file to MongoDB disables validation!
  • 13. Data Protection - Transport Encryption Encrypt communications (SSL) Authenticate connections (x.509)
  • 14. Environmental Security • Run MongoDB with the lowest rights. • Do not have a password for that user. • All admins need their own logons. • Use sudo and sudo logging. • Remove MongoDB binaries / change permissions. • Restrict permissions on everything. • Avoid root.
  • 15. Data Protection - Encryption at rest Alternatives • Encrypt data client side • Use partner or independent solution for file and OS level encryption
  • 16. Database Authentication Built-in authentication methods • Password challenge response • x.509 certificates Or integrate with existing authentication infrastructure
  • 17. Database Access Control (RBAC) • Create a new role for your application user. • Give them NO permissions. • Open up until the application works. • Repeat for each process – e.g. backup. • Human users should get suitable permission sets – don’t restrict too much. • Keep a system high user – and a password in a safe.
  • 18. Internal Access Control Server-server authentication use shared keyfile or x.509.
  • 20. The Audit Log • Log to console, syslog or file (JSON/BSON) • Always log to a secured location • Events include authentication, commands and CRUD. • Access control is not required, authentication is
  • 21. Audit Log – details. • Can be filtered by different criteria • Events are ordered within a connection. • Audit event written to disk BEFORE writing to the journal • A write will not complete before it has been audited
  • 22. Application ‘security’ - $redact $redact • New aggregation framework operator • Conditionally filter user documents Use cases • Implement user-based document level, content filtering. • Create egress filter, redacting sensitive information.
  • 23. Access Control - Field Level Redaction Note: Need to understand the application better
  • 24. Walkthrough a secure System - Firewall
  • 25. Walkthrough a secure System - Transport
  • 26. Walkthrough a secure System - Environment
  • 27. Walkthrough a secure System - Storage
  • 28. Walkthrough a secure System - Authentication
  • 29. Walkthrough a secure System - Authorisation
  • 30. Walkthrough a secure System - Auditing
  • 31. Walkthrough a secure System - limitation
  • 32. The Art of Securing a System Security is not an Art – it’s a science. “If I have seen further it is by standing on the shoulders of Giants”
  • 33. Next steps • MongoDB Security Manual - http://docs.mongodb.org/manual/core/security-introduction/ • MongoDB Security Whitepaper - http://info.mongodb.com/rs/mongodb/images/MongoDB_Security_Archi tecture_WP.pdf
  • 34. Thank You John Page (@johnlpage) Senior Solutions Architect, MongoDB

Editor's Notes

  1. Common process, tooling and management across the data lifecycle from ingestion to presentation Ensuring data provenance Supporting repeatable transformation processes Enabling reliable access for real-time query and reporting
  2. Call to action is about thinking where there is opportunity and what are you anchoring your data hub around?
  3. Call to action is about thinking where there is opportunity and what are you anchoring your data hub around?
  4. Call to action is about thinking where there is opportunity and what are you anchoring your data hub around?
  5. Call to action is about thinking where there is opportunity and what are you anchoring your data hub around?
  6. Call to action is about thinking where there is opportunity and what are you anchoring your data hub around?
  7. Call to action is about thinking where there is opportunity and what are you anchoring your data hub around?
  8. Call to action is about thinking where there is opportunity and what are you anchoring your data hub around?
  9. Call to action is about thinking where there is opportunity and what are you anchoring your data hub around?
  10. Call to action is about thinking where there is opportunity and what are you anchoring your data hub around?
  11. Call to action is about thinking where there is opportunity and what are you anchoring your data hub around?
  12. Call to action is about thinking where there is opportunity and what are you anchoring your data hub around?
  13. Call to action is about thinking where there is opportunity and what are you anchoring your data hub around?
  14. Call to action is about thinking where there is opportunity and what are you anchoring your data hub around?