rebuilding for the cloud - how cloud architeture can improve application security
DESCRIPTION
Talk I gave at OWASP San Francisco 3/14/2012TRANSCRIPT
![Page 1: Rebuilding for the cloud - How Cloud Architeture Can Improve Application Security](https://reader035.vdocument.in/reader035/viewer/2022062615/548f4d0ab4795956138b4e05/html5/thumbnails/1.jpg)
REBUILDING FOR THE CLOUD
HOW CLOUD ARCHITECTURE CAN IMPROVE APPLICATION SECURITY
![Page 2: Rebuilding for the cloud - How Cloud Architeture Can Improve Application Security](https://reader035.vdocument.in/reader035/viewer/2022062615/548f4d0ab4795956138b4e05/html5/thumbnails/2.jpg)
INTRO
![Page 3: Rebuilding for the cloud - How Cloud Architeture Can Improve Application Security](https://reader035.vdocument.in/reader035/viewer/2022062615/548f4d0ab4795956138b4e05/html5/thumbnails/3.jpg)
AGENDA
Definitions (brief, I promise)
Cloud Benefits
Cloud Security Concepts
Moving applications to the cloud, wrong way
Moving applications to the cloud, right way
Please do ask questions!
![Page 4: Rebuilding for the cloud - How Cloud Architeture Can Improve Application Security](https://reader035.vdocument.in/reader035/viewer/2022062615/548f4d0ab4795956138b4e05/html5/thumbnails/4.jpg)
CLOUD [kloud]noun
NIST Definition (AKA SP800-145)
• On demand, self-service• Broad network access• Resource pooling• Rapid elasticity• Measured (read: billable) service
![Page 5: Rebuilding for the cloud - How Cloud Architeture Can Improve Application Security](https://reader035.vdocument.in/reader035/viewer/2022062615/548f4d0ab4795956138b4e05/html5/thumbnails/5.jpg)
INFORMATION SECURITY[in-fer-mey-shuhn si-kyoor-i-tee]noun
Protecting information and information systems from unauthorized access, use, disclosure, disruption, modification, perusal, inspection, recording or destruction.
See Also: Job Security
![Page 6: Rebuilding for the cloud - How Cloud Architeture Can Improve Application Security](https://reader035.vdocument.in/reader035/viewer/2022062615/548f4d0ab4795956138b4e05/html5/thumbnails/6.jpg)
Artist: Tyler, 11. Dortmund, Germany
![Page 7: Rebuilding for the cloud - How Cloud Architeture Can Improve Application Security](https://reader035.vdocument.in/reader035/viewer/2022062615/548f4d0ab4795956138b4e05/html5/thumbnails/7.jpg)
CLOUD BENEFITS
Main benefit: Flexibility
Possible benefit: Cost savings
![Page 8: Rebuilding for the cloud - How Cloud Architeture Can Improve Application Security](https://reader035.vdocument.in/reader035/viewer/2022062615/548f4d0ab4795956138b4e05/html5/thumbnails/8.jpg)
CLOUD SECURITY CLIFF NOTES
• Trust nobody
• Encrypt everything
• Expect service issues
![Page 9: Rebuilding for the cloud - How Cloud Architeture Can Improve Application Security](https://reader035.vdocument.in/reader035/viewer/2022062615/548f4d0ab4795956138b4e05/html5/thumbnails/9.jpg)
WHAT’S WRONG WITH FORKLIFTING?
![Page 10: Rebuilding for the cloud - How Cloud Architeture Can Improve Application Security](https://reader035.vdocument.in/reader035/viewer/2022062615/548f4d0ab4795956138b4e05/html5/thumbnails/10.jpg)
FORKLIFTING…
“Datacenter” application to the cloud:
• Can’t trust what you used to
• Datacenter apps usually not flexible
• Confidentiality, Integrity, Availability all handled differently
![Page 11: Rebuilding for the cloud - How Cloud Architeture Can Improve Application Security](https://reader035.vdocument.in/reader035/viewer/2022062615/548f4d0ab4795956138b4e05/html5/thumbnails/11.jpg)
ENTERPRISE vs CLOUD
![Page 12: Rebuilding for the cloud - How Cloud Architeture Can Improve Application Security](https://reader035.vdocument.in/reader035/viewer/2022062615/548f4d0ab4795956138b4e05/html5/thumbnails/12.jpg)
HOW ABOUT PAAS?
![Page 13: Rebuilding for the cloud - How Cloud Architeture Can Improve Application Security](https://reader035.vdocument.in/reader035/viewer/2022062615/548f4d0ab4795956138b4e05/html5/thumbnails/13.jpg)
LEVERAGING CLOUD ARCHITECTURE
How can we (gently) re-architect to take advantage of the cloud?
• Network
• Web server
• Application Server
• Database server
• Don’t forget audit/forensics!
![Page 14: Rebuilding for the cloud - How Cloud Architeture Can Improve Application Security](https://reader035.vdocument.in/reader035/viewer/2022062615/548f4d0ab4795956138b4e05/html5/thumbnails/14.jpg)
NETWORK
Good: Limit by IP
Better: Allow administration via VPN only
Best: Admin interface on separate host, VPN only
Artist: Jonathan, Age 7 Heidelberg, Germany
![Page 15: Rebuilding for the cloud - How Cloud Architeture Can Improve Application Security](https://reader035.vdocument.in/reader035/viewer/2022062615/548f4d0ab4795956138b4e05/html5/thumbnails/15.jpg)
WEB/APP SERVER
Good: Load balancing, “Basic” hardening (IP ACLs, only accept GET/POST, server tuned for large loads). SSL’s cheap nowadays
Better: Build Web Application Firewalls and reverse caches into your IaaS (mod_security’s free)
Best: Use 3rd party services to handle load and minimize security issues (CDNs like Akamai, Cloudflare)
Required: Input filtering, output encoding.
![Page 16: Rebuilding for the cloud - How Cloud Architeture Can Improve Application Security](https://reader035.vdocument.in/reader035/viewer/2022062615/548f4d0ab4795956138b4e05/html5/thumbnails/16.jpg)
DATASTORE
Good: Place DBs on separate host from application.
Better: Place DBs in separate datacenters, and replicate
Best: Migrate to a “NOSQL” datastore (Cassandra, MongoDB, ElasticSearch)
Required: Encrypt data-at-rest
![Page 17: Rebuilding for the cloud - How Cloud Architeture Can Improve Application Security](https://reader035.vdocument.in/reader035/viewer/2022062615/548f4d0ab4795956138b4e05/html5/thumbnails/17.jpg)
NOSQL SECURITY?• Many NOSQL systems turn off
even authentication
• Data labeling or granular access needs to be handled in application.
Artist: Luca, Italy
![Page 18: Rebuilding for the cloud - How Cloud Architeture Can Improve Application Security](https://reader035.vdocument.in/reader035/viewer/2022062615/548f4d0ab4795956138b4e05/html5/thumbnails/18.jpg)
INTER-PROCESS COMMUNICATION
Good: Whatever you’ve dreamt up, (cloud bullhorn?) at least encrypt it.
Better: Use open protocols for communication between nodes. Make sure encryption is enabled!
Best: Consider using message queues.
Required, in case you missed it: encryption.
![Page 19: Rebuilding for the cloud - How Cloud Architeture Can Improve Application Security](https://reader035.vdocument.in/reader035/viewer/2022062615/548f4d0ab4795956138b4e05/html5/thumbnails/19.jpg)
LOGGING & FORENSICS
What happens to logs when our scalable architecture…
scales down?
Cloud really really requires centralized logging, monitoring, and management.
Also, consider erase vs. overwrite
![Page 20: Rebuilding for the cloud - How Cloud Architeture Can Improve Application Security](https://reader035.vdocument.in/reader035/viewer/2022062615/548f4d0ab4795956138b4e05/html5/thumbnails/20.jpg)
WHAT HAVE WE BUILT?• Scalable solution
• No single point of failure
• Healthy caution of all those around us (filtering/encoding)
• Data stored and transmitted safely
• And a nice set of audit logs for when Bad Things happen
![Page 21: Rebuilding for the cloud - How Cloud Architeture Can Improve Application Security](https://reader035.vdocument.in/reader035/viewer/2022062615/548f4d0ab4795956138b4e05/html5/thumbnails/21.jpg)
LEARN MORE
Cloud Security Alliance
OWASP Cloud top 10
![Page 22: Rebuilding for the cloud - How Cloud Architeture Can Improve Application Security](https://reader035.vdocument.in/reader035/viewer/2022062615/548f4d0ab4795956138b4e05/html5/thumbnails/22.jpg)
THANKS AND CONTACT INFO
“Bad People” drawings from http://badpeopleproject.org
Follow me on twitter: @johnlkinsella