OpenStack Security CI/CD Way

May. 19, 2015
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
OpenStack Security CI/CD Way
1 of 37

More Related Content

Recently uploaded

GDSC SRMCEM Info Session 2023GDSC SRMCEM Info Session 2023
GDSC SRMCEM Info Session 2023HariOM Dwivedi
Deploying CloudStack with CephDeploying CloudStack with Ceph
Deploying CloudStack with CephShapeBlue
DigitalWisers Onepager.pdfDigitalWisers Onepager.pdf
DigitalWisers Onepager.pdfMustafa Kuğu
zkStudyClub - Lasso/Jolt (Justin Thaler, GWU/a16z)zkStudyClub - Lasso/Jolt (Justin Thaler, GWU/a16z)
zkStudyClub - Lasso/Jolt (Justin Thaler, GWU/a16z)Alex Pruden
NoSQL Database Migration Masterclass - Session 3: Migration LogisticsNoSQL Database Migration Masterclass - Session 3: Migration Logistics
NoSQL Database Migration Masterclass - Session 3: Migration LogisticsScyllaDB
Generative AI PotentialGenerative AI Potential
Generative AI PotentialKapil Khandelwal (KK)

Featured

The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slidesAlireza Esmikhani
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesProject for Public Spaces & National Center for Biking and Walking
Staying Cool During SummerStaying Cool During Summer
Staying Cool During SummerDeborah Davis
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference

Featured(20)

OpenStack Security CI/CD Way

  1. 2 Jim Freeman Director of Security Engineering Jim.freeman@rackspace.com Michael Xin Manager of Security Engineering Michael.xin@rackspace.com

  2. It is all about Software Development Testing Security Deployment

  3. Software Development Methodologies Waterfall Methodology Agile Development Methodology Continuous Integration/Continuous Deployment (CI/CD)

  4. 6www.rackspace.com Extensive Planning Defined Scope Better Design

  5. 7www.rackspace.com Better Engagement Predictable Delivery Improved Quality

  6. 8www.rackspace.com 8www.rackspace.com Less Defects Fast Delivery Better Quality

  7. 9www.rackspace.com Limited Resources Priority Issue Test Process

  8. 10www.rackspace.com

  9. Developers Version Control Server Continuous Integration Server Configure Static Analysis / Security Unit/funct ional/ Security/ tests Report Report Deploy Smoke / Security/ Performance tests commits triggers runs runs runs logs logs logs FAIL Success logs FAIL Success

  10. •Reduce test time from weeks to hours •Security defect fix time reduced from weeks to days •Better security testing –Repeatable –Consistent –Auditable •Build great working relationships CI/CD Security Engineering Advantages

  11. •Reduce test time from weeks to hours •Security defect fix time reduced from weeks to days •Better security testing –Repeatable –Consistent –Auditable •Build great working relationships CI/CD Security Engineering Advantages Test Time: Weeks -> Days Defect Fix time: Weeks-> Days Better Security Tests Test Time: Months -> Weeks

  12. •Reduce test time from weeks to hours •Security defect fix time reduced from weeks to days •Better security testing –Repeatable –Consistent –Auditable •Build great working relationships CI/CD Security Engineering Advantages Test Time: Weeks -> Days Defect Fix time: Weeks-> Days Better Security Tests Defect Fix time: Weeks-> Days

  13. Repeatable Measurable Auditable

  14. Automation Efforts Different CI/CD Pipelines Mindset Change

  15. How to integrate security into CI/CD pipeline?

  16. What should we automate? Security Code Review API Security Tests Infrastructure Test

  17. NO PYTHON

  18. Bandit a framework for performing security analysis of Python source code! https://wiki.openstack.org/wiki/Securi ty/Projects/Bandit OpenStack Security Group

  19. >> Issue: subprocess call without a subshell. Severity: Low Confidence: High Location: ./solum/worker/handlers/shell.py:494 493 try: 494 runtest = subprocess.Popen(command, env=user_env, 495 stdout=subprocess.PIPE) 496 returncode = runtest.wait() >> Issue: Use of random is not suitable for security/cryptographic purposes. Severity: Low Confidence: High Location: ./solum/worker/handlers/shell.py:141 140 else: 141 str_assem = (''.join(random.choice(string.ascii_uppercase) 142 for i in range(20))) 143 user_env['ASSEMBLY_ID'] = str_assem

  20. Customize the Configuration File: bandit.yaml # optional: plugins discovery name pattern plugin_name_pattern: '*.py’ exclude_dirs: - '/tests/’ ShellInjection: include: - subprocess_popen_with_shell_equals_true - start_process_with_no_shell exclude: SqlInjection: include: - hardcoded_sql_expressions

  21. Extend Bandit using plugins @takes_config('shell_injection') @checks('Call') def subprocess_popen_with_shell_equals_true(context, config): if config and context.call_function_name_qual in config['subprocess']: if context.check_call_arg_value('shell', 'True'): return bandit.Issue( severity=bandit.HIGH, confidence=bandit.HIGH, text="subprocess call with shell=True identified, security " "issue. %s" % context.call_args_string )

  22. 27www.rackspace.com

  23. Commercial automatic Restful API scanner is limited

  24. 29www.rackspace.com Quality Engineers QE Framework QE Test Codes

  25. @tags("authorization", "security") def test_get_network_of_other_user(self): resp = self.one_network_client.get_network(self.two_network_id) assert resp.status_code != 200 @tags("authorization", "security") def test_update_network_of_other_user(self): resp = self.one_network_client.update_network(self.two_network_id, name="newname") assert resp.status_code != 200

  26. 32www.rackspace.com

  27. POST /v2.0/subnets HTTP/1.1 User-Agent: curl/7.30.0 Host: xxx.xxx.xxx.xxx Content-Type: application/json Accept: application/json Content-Length: 189 {"subnet": {"network_id": "fc795965-cdad-40b5-8e7b- 73ee174a9451", "name": "Sectest", "cidr": "11.168.200.0/24", "ip_version": 4, "dns_nameservers": ["11111111111111111111111111111111111"]}}

  28. HTTP/1.1 503 Service Unavailable Via: 1.1 Repose (Repose/2.12) Content-Length: 0 Server: Jetty(8.0.y.z-SNAPSHOT) CVE-2014-7821 (http://lists.openstack.org/pipermail/openstack-announce/2014- November/000303.html )

  29. CI/CD Evolve Automate Contribute Lessons Learned CI/CD Opportunities AutomationBandit Collaboration

  30. Questions? Jim.Freeman@rackspace.com Michael.Xin@rackspace.com

  31. WE’RE HIRING! bit.ly/RackerTalent Expo Hall Booth P-11 Python OpenStack Engineers C, C++ Linux Systems Engineers Ruby DevOps Engineers Java Frontend & Backend Developers C#, .NET Software Developer in Test JavaScript, CSS, HTML iOS/Android Development Twisted, Backhone Data Scientist Angular.JS, Ember.js, Node.js Field Sales Specialist Restful/JSON/XML Strategic Account Executive Closure, Scala, Erlang Hadoop, MongoDB, MySQL Solution Architect Data Visualization

Editor's Notes

  1. Add twitter account, email address
  2. Check the room size and make the picture bigger and increase the font
  3. Change a different picture! Check whether the audience know CI/CD. The benefits of CI/CD.
  4. Change a different picture! Check whether the audience know CI/CD. The benefits of CI/CD.
  5. Change a different picture! Check whether the audience know CI/CD. The benefits of CI/CD.
  6. Add description to make people understand
  7. Better examples of challenges. Find a picture. There are general issues and not Rackspace issues.
  8. This is what we are doing! Different logos for different components.
  9. More slides for success! Explain the details about better security tests.
  10. More slides for success! Explain the details about better security tests.
  11. More slides for success! Explain the details about better security tests.
  12. More slides for success! Explain the details about better security tests.
  13. Fix this slides.
  14. Maybe we do not need these slides.
  15. The advantages and disadvantages for Bandit.
  16. Highlight what I want people to see.
  17. Make this to be a challenge and problem.
  18. Identify the problem and how the problem and explain the benefits. Real numbers. Make them checklist
  19. Microsoft Confidential