SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
Hardening Plone




A Military-Strength CMS
Hardening Plone
        Hardening the Plone stack



              A Military-Strength CMS
    A Military-Strength CMS and its infrastructure



2
Class rules
●   Feel free to ask questions




3
About us
●   Kees Hink
    ●   Plone developer since
        January 2008



●   Kim Chee Leong
    ●   Plone developer since
        May 2007


4
Introduction
●   This talk is about:
    ●   Making the Plone stack even more secure
    ●   Not much about Plone itself
    ●   How to get others to acknowledge that it's secure


●   For who?
    ●   New to Plone
    ●   Marketing
    ●   Developers

5
Overview of sections
●   Why security?
●   Our use case
●   Plone
●   Infrastructure
●   Audits (and feedback)




6
The internet is evil
●   Have to protect against:
    ●   Cross site scripting
    ●   Unencrypted connections
    ●   Spoofing
    ●   Password cracking
    ●   Mail interception
    ●   Server hacking
    ●   SQL injection

7
SQL Injection




    Comic by XKCD: http://xkcd.com/327/



8
Our use case
●   Two portals:
    ●   Plone as a DMS for online collaboration
        –   Largely standard Plone
        –   Alternative to Sharepoint
        –   Sensitive data
    ●   Plone as a user friendly file upload system
        –   Document upload by suppliers
        –   User friendly upload



9
Security of default Plone
     ●   Plone (Zope) is pretty secure by default
     ●   Quantitative comparison:
         –   Track number of hits on Google
         –   See nr. of vulnerabilities in the National Vulnerability
             Database
     ●   Qualititative comparison:
         –   See article “security overview of plone” on
             plone.org



10
Small Plone modifications
     ●   Disable self-
         registration
     ●   Workflow +
         permissions
     ●   Additional Products
         –   Aagje (activity log)
         –   LoginLockout




11
How to protect?
●    Let's start with a secure location




12
Infrastructure
●    Secure hosting
     ●   Trusted hosting partner
     ●   Secure hosting
     ●   Dedicated servers
●    Operating system
     ●   Security updates
●    Company procedures
     ●   Who has access?

13
●   Only HTTPS port is
         opened to the internet
     ●   VPN-only access for
         all except HTTPS




14
Infrastructure: OS
     ●   Modifications on
         Debian Linux to
         enhance security
         –   Different system user
             for each Zope instance
         –   Regular security
             update
         –   Tighten filesystem
             permissions




15
Infrastructure: Web server
     ●   Apache
         –   HTTPS
         –   Get an SSL certificate
             (Thawte, VeriSign)
         –   No rewrite rule for
             Zope root
         –   Keep log files




16
SSL certificate




17
Just to keep your attention




18   http://xkcd.com
Audits
●    Document your
     procedures
     ●   We are using parts of
         ITIL
●    Get audits
     ●   Technical audit
     ●   Process audit



19
Technical security audit
●
     Done by 3rd party
     ●   They have a checklist
     ●   They report back in a structured way
●    Black box audit
     ●   From outside, on Plone portal
●    Crystal box audit
     ●   On server, with root access
     ●   Check user permissions, etc.

20
Recommendations for Plone
●    Plone itself is pretty secure
●    Modifications:
     ●   Quota (file upload limit)
     ●   Cookie settings (HTTPOnly, Secure), fixed with
         Apache
●    And, of course:
     ●   disable self-registration, check workflow,
         permissions, use LoginLockout


21
Recommendations outside Plone
●    Modifications:
     ●   Use HTTPS only (no redirects from HTTP)
     ●   Paranoid user permission restrictions
     ●   Caching header control
●    And, of course:
     ●   secure hosting, VPN, security updates, etc.




22
Technical audit final result
     ●   We implemented these recommendations for the
         next audit, which was tested again and approved:




23
Process security audit
●    Done by our client's accountants
●    Check processes:
     ●   Talk about our server management documents
         (esp. security-related)
     ●   Talk about certification of hosting partner
     ●   Talk to technical auditing party
     ●   Talk to us, again...



24
Recommendations for Plone
●    Confidentiality and user agreement




25
Process audit final result
                             ●   We passed!




26   Image by Getty images
Wrapping up
●    Done:
     ●   Think about how to secure our existing setup even
         more
     ●   Have specialists check our setup + procedures
     ●   Implement their recommendations
●    Result: Plone is officially 100% secure.




27
Remaining questions?




28

Más contenido relacionado

Destacado

FINAL_Cybersecurity Project (1)
FINAL_Cybersecurity Project (1)FINAL_Cybersecurity Project (1)
FINAL_Cybersecurity Project (1)
Lulu Chang
 
CSCSS Science of Security - Developing Scientific Foundations for the Operati...
CSCSS Science of Security - Developing Scientific Foundations for the Operati...CSCSS Science of Security - Developing Scientific Foundations for the Operati...
CSCSS Science of Security - Developing Scientific Foundations for the Operati...
Shawn Riley
 

Destacado (18)

5 g
5 g5 g
5 g
 
DHG Financial Services Strategic Planning and Cybersecurity Presentation
DHG Financial Services Strategic Planning and Cybersecurity PresentationDHG Financial Services Strategic Planning and Cybersecurity Presentation
DHG Financial Services Strategic Planning and Cybersecurity Presentation
 
Developing a Secured Recommender System in Social Semantic Network
Developing a Secured Recommender System in Social Semantic NetworkDeveloping a Secured Recommender System in Social Semantic Network
Developing a Secured Recommender System in Social Semantic Network
 
Developing Secure Applications and Defending Against Common Attacks
Developing Secure Applications and Defending Against Common AttacksDeveloping Secure Applications and Defending Against Common Attacks
Developing Secure Applications and Defending Against Common Attacks
 
Cybersecurity & Project Management
Cybersecurity & Project ManagementCybersecurity & Project Management
Cybersecurity & Project Management
 
Leveraging security to develop new digital banking models
Leveraging security to develop new digital banking modelsLeveraging security to develop new digital banking models
Leveraging security to develop new digital banking models
 
PACE-IT, Security+1.2: Secure Network Administration Concepts
PACE-IT, Security+1.2: Secure Network Administration ConceptsPACE-IT, Security+1.2: Secure Network Administration Concepts
PACE-IT, Security+1.2: Secure Network Administration Concepts
 
Monitoring a Database Driven System Utilizing Splunk's DB Connect
Monitoring a Database Driven System Utilizing Splunk's DB ConnectMonitoring a Database Driven System Utilizing Splunk's DB Connect
Monitoring a Database Driven System Utilizing Splunk's DB Connect
 
Cybersecurity bank Lima may 2016
Cybersecurity bank  Lima may 2016Cybersecurity bank  Lima may 2016
Cybersecurity bank Lima may 2016
 
secure data retrieval for decentralized disruption-tolerant military networks
secure data retrieval for decentralized disruption-tolerant military networkssecure data retrieval for decentralized disruption-tolerant military networks
secure data retrieval for decentralized disruption-tolerant military networks
 
Multilayer Security Architecture for Internet Protocols
Multilayer Security Architecture for Internet ProtocolsMultilayer Security Architecture for Internet Protocols
Multilayer Security Architecture for Internet Protocols
 
Voice communication security
Voice communication securityVoice communication security
Voice communication security
 
FINAL_Cybersecurity Project (1)
FINAL_Cybersecurity Project (1)FINAL_Cybersecurity Project (1)
FINAL_Cybersecurity Project (1)
 
3D PASSWORD
3D PASSWORD3D PASSWORD
3D PASSWORD
 
Secure data retrieval for decentralized disruption tolerant military networks
Secure data retrieval for decentralized disruption tolerant military networksSecure data retrieval for decentralized disruption tolerant military networks
Secure data retrieval for decentralized disruption tolerant military networks
 
SVB Cybersecurity Impact on Innovation Report
SVB Cybersecurity Impact on Innovation ReportSVB Cybersecurity Impact on Innovation Report
SVB Cybersecurity Impact on Innovation Report
 
CSCSS Science of Security - Developing Scientific Foundations for the Operati...
CSCSS Science of Security - Developing Scientific Foundations for the Operati...CSCSS Science of Security - Developing Scientific Foundations for the Operati...
CSCSS Science of Security - Developing Scientific Foundations for the Operati...
 
Multimedia db system
Multimedia db systemMultimedia db system
Multimedia db system
 

Similar a Hardening Plone, a military-strength CMS

Understanding and implementing website security
Understanding and implementing website securityUnderstanding and implementing website security
Understanding and implementing website security
Drew Gorton
 
Keeping your Drupal site secure 2013
Keeping your Drupal site secure 2013Keeping your Drupal site secure 2013
Keeping your Drupal site secure 2013
scorlosquet
 
DevOps for TYPO3 Teams and Projects
DevOps for TYPO3 Teams and ProjectsDevOps for TYPO3 Teams and Projects
DevOps for TYPO3 Teams and Projects
Fedir RYKHTIK
 

Similar a Hardening Plone, a military-strength CMS (20)

Linux Security for Developers
Linux Security for DevelopersLinux Security for Developers
Linux Security for Developers
 
[OW2con'21] Hosting Identity in the Cloud with OW2 free softwares
[OW2con'21] Hosting Identity in the Cloud with OW2 free softwares[OW2con'21] Hosting Identity in the Cloud with OW2 free softwares
[OW2con'21] Hosting Identity in the Cloud with OW2 free softwares
 
Continuous testing
Continuous testingContinuous testing
Continuous testing
 
Understanding and implementing website security
Understanding and implementing website securityUnderstanding and implementing website security
Understanding and implementing website security
 
More Dev. Less Drama.pdf
More Dev. Less Drama.pdfMore Dev. Less Drama.pdf
More Dev. Less Drama.pdf
 
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
 
PLNOG19 - Piotr Marecki - Espresso: Scalable and Programmable Peering Edge
 PLNOG19 - Piotr Marecki - Espresso: Scalable and Programmable Peering Edge PLNOG19 - Piotr Marecki - Espresso: Scalable and Programmable Peering Edge
PLNOG19 - Piotr Marecki - Espresso: Scalable and Programmable Peering Edge
 
[Pass the SALT 2021] Hosting Identity in the Cloud with free softwares
[Pass the SALT 2021] Hosting Identity in the Cloud with free softwares[Pass the SALT 2021] Hosting Identity in the Cloud with free softwares
[Pass the SALT 2021] Hosting Identity in the Cloud with free softwares
 
Understanding SELinux For the Win
Understanding SELinux For the WinUnderstanding SELinux For the Win
Understanding SELinux For the Win
 
OpenStack Cinder On-Boarding Education - Boston Summit - 2017
OpenStack Cinder On-Boarding Education - Boston Summit - 2017OpenStack Cinder On-Boarding Education - Boston Summit - 2017
OpenStack Cinder On-Boarding Education - Boston Summit - 2017
 
Kong, Keyrock, Keycloak, i4Trust - Options to Secure FIWARE in Production
Kong, Keyrock, Keycloak, i4Trust - Options to Secure FIWARE in ProductionKong, Keyrock, Keycloak, i4Trust - Options to Secure FIWARE in Production
Kong, Keyrock, Keycloak, i4Trust - Options to Secure FIWARE in Production
 
Scaling Magento
Scaling MagentoScaling Magento
Scaling Magento
 
Cognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & TricksCognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & Tricks
 
OSMC 2008 | Monitoring Tools Shootout by Tom De Cooman
OSMC 2008 | Monitoring Tools Shootout by Tom De CoomanOSMC 2008 | Monitoring Tools Shootout by Tom De Cooman
OSMC 2008 | Monitoring Tools Shootout by Tom De Cooman
 
Code Quality Control in a PHP project. GeekTalks, Cherkassy 2020
Code Quality Control in a PHP project. GeekTalks, Cherkassy 2020Code Quality Control in a PHP project. GeekTalks, Cherkassy 2020
Code Quality Control in a PHP project. GeekTalks, Cherkassy 2020
 
Keeping your Drupal site secure 2013
Keeping your Drupal site secure 2013Keeping your Drupal site secure 2013
Keeping your Drupal site secure 2013
 
DevOps for TYPO3 Teams and Projects
DevOps for TYPO3 Teams and ProjectsDevOps for TYPO3 Teams and Projects
DevOps for TYPO3 Teams and Projects
 
Integrating Puppet and Gitolite for sysadmins cooperations
Integrating Puppet and Gitolite for sysadmins cooperationsIntegrating Puppet and Gitolite for sysadmins cooperations
Integrating Puppet and Gitolite for sysadmins cooperations
 
Cinder On-boarding Room - Berlin (11-13-2018)
Cinder On-boarding Room - Berlin (11-13-2018)Cinder On-boarding Room - Berlin (11-13-2018)
Cinder On-boarding Room - Berlin (11-13-2018)
 
Cynthia Wu: Satisfaction Not Guaranteed
Cynthia Wu: Satisfaction Not GuaranteedCynthia Wu: Satisfaction Not Guaranteed
Cynthia Wu: Satisfaction Not Guaranteed
 

Más de khink

Más de khink (6)

Easy User Interaction testing with Webtest.pdf
Easy User Interaction testing with Webtest.pdfEasy User Interaction testing with Webtest.pdf
Easy User Interaction testing with Webtest.pdf
 
Practical pointers for better code review
Practical pointers for better code reviewPractical pointers for better code review
Practical pointers for better code review
 
The Tale of Oscar and the API
The Tale of Oscar and the APIThe Tale of Oscar and the API
The Tale of Oscar and the API
 
Mosaic - flexibele layouts voor Plone
Mosaic - flexibele layouts voor PloneMosaic - flexibele layouts voor Plone
Mosaic - flexibele layouts voor Plone
 
Presentatie gebruikersdag
Presentatie gebruikersdagPresentatie gebruikersdag
Presentatie gebruikersdag
 
Deliverance for Plone, a use case
Deliverance for Plone, a use caseDeliverance for Plone, a use case
Deliverance for Plone, a use case
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
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
 

Último (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
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
 
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
 
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)
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
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
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

Hardening Plone, a military-strength CMS

  • 2. Hardening Plone Hardening the Plone stack A Military-Strength CMS A Military-Strength CMS and its infrastructure 2
  • 3. Class rules ● Feel free to ask questions 3
  • 4. About us ● Kees Hink ● Plone developer since January 2008 ● Kim Chee Leong ● Plone developer since May 2007 4
  • 5. Introduction ● This talk is about: ● Making the Plone stack even more secure ● Not much about Plone itself ● How to get others to acknowledge that it's secure ● For who? ● New to Plone ● Marketing ● Developers 5
  • 6. Overview of sections ● Why security? ● Our use case ● Plone ● Infrastructure ● Audits (and feedback) 6
  • 7. The internet is evil ● Have to protect against: ● Cross site scripting ● Unencrypted connections ● Spoofing ● Password cracking ● Mail interception ● Server hacking ● SQL injection 7
  • 8. SQL Injection Comic by XKCD: http://xkcd.com/327/ 8
  • 9. Our use case ● Two portals: ● Plone as a DMS for online collaboration – Largely standard Plone – Alternative to Sharepoint – Sensitive data ● Plone as a user friendly file upload system – Document upload by suppliers – User friendly upload 9
  • 10. Security of default Plone ● Plone (Zope) is pretty secure by default ● Quantitative comparison: – Track number of hits on Google – See nr. of vulnerabilities in the National Vulnerability Database ● Qualititative comparison: – See article “security overview of plone” on plone.org 10
  • 11. Small Plone modifications ● Disable self- registration ● Workflow + permissions ● Additional Products – Aagje (activity log) – LoginLockout 11
  • 12. How to protect? ● Let's start with a secure location 12
  • 13. Infrastructure ● Secure hosting ● Trusted hosting partner ● Secure hosting ● Dedicated servers ● Operating system ● Security updates ● Company procedures ● Who has access? 13
  • 14. Only HTTPS port is opened to the internet ● VPN-only access for all except HTTPS 14
  • 15. Infrastructure: OS ● Modifications on Debian Linux to enhance security – Different system user for each Zope instance – Regular security update – Tighten filesystem permissions 15
  • 16. Infrastructure: Web server ● Apache – HTTPS – Get an SSL certificate (Thawte, VeriSign) – No rewrite rule for Zope root – Keep log files 16
  • 18. Just to keep your attention 18 http://xkcd.com
  • 19. Audits ● Document your procedures ● We are using parts of ITIL ● Get audits ● Technical audit ● Process audit 19
  • 20. Technical security audit ● Done by 3rd party ● They have a checklist ● They report back in a structured way ● Black box audit ● From outside, on Plone portal ● Crystal box audit ● On server, with root access ● Check user permissions, etc. 20
  • 21. Recommendations for Plone ● Plone itself is pretty secure ● Modifications: ● Quota (file upload limit) ● Cookie settings (HTTPOnly, Secure), fixed with Apache ● And, of course: ● disable self-registration, check workflow, permissions, use LoginLockout 21
  • 22. Recommendations outside Plone ● Modifications: ● Use HTTPS only (no redirects from HTTP) ● Paranoid user permission restrictions ● Caching header control ● And, of course: ● secure hosting, VPN, security updates, etc. 22
  • 23. Technical audit final result ● We implemented these recommendations for the next audit, which was tested again and approved: 23
  • 24. Process security audit ● Done by our client's accountants ● Check processes: ● Talk about our server management documents (esp. security-related) ● Talk about certification of hosting partner ● Talk to technical auditing party ● Talk to us, again... 24
  • 25. Recommendations for Plone ● Confidentiality and user agreement 25
  • 26. Process audit final result ● We passed! 26 Image by Getty images
  • 27. Wrapping up ● Done: ● Think about how to secure our existing setup even more ● Have specialists check our setup + procedures ● Implement their recommendations ● Result: Plone is officially 100% secure. 27