Holistic Security for
OpenStack Clouds
Major Hayden
Principal Architect, Rackspace
@majorhayden
Photo credit: bastiend (Flickr)
Image credit: Wikipedia
Security feels like this
Image credit: Wikipedia
Securing complex
systems creates
more challenges
Securing OpenStack can feel like
taking a trip to the Upside Down.
It doesn’t have to be that way
(even with something as complex as OpenStack)
Image credit: Pixabay
The key is
taking the right approach
to secure a complex system.
Major Hayden
Principal Architect
● At Rackspace since 2006
● Working on OpenStack since 2012
● Focused on information security for
Rackspace Private Cloud
● Fedora Linux contributor; Fedora Security
Team and Server Working Group member
● Has a terrible domain name purchase habit
(please, no ideas for domain names today)
Holistic
characterized by comprehension of the
parts of something as intimately
interconnected and explicable only by
reference to the whole
-- Oxford English Dictionary
The holistic approach for
humans considers a person
to be made of a body, a
mind, and a spirit.
Image credit: Pixabay
The holistic approach for
OpenStack considers
a cloud to be made of
servers, software, and a
business goal.
A holistic approach to security
involves people, processes,
and technologies working in
tandem.
“The whole is greater
than the sum of its parts,
especially in the case of OpenStack.”
-- (partially) Aristotle
Image credit: Wikipedia
How does this apply to
securing an OpenStack
cloud?
Let’s do a quick security
refresher.
Assume that attackers
will get inside eventually.
Image credit: Pixabay
Attackers are on offense.
They can be wrong many times.
Defenders can only be wrong
once for a breach to occur.
Securing only the outer perimeter
is not sufficient.
We must secure our OpenStack cloud.
We need to go deeper.
We just bought an expensive firewall for
the perimeter. Isn’t that enough?
(no caption necessary)
Build small security improvements
at multiple layers.*
* This is the cornerstone of defense-in-depth.
Individually, these changes may
not seem to have much value.
All of these changes create a
strong, valuable security strategy
when they are added together.
Let’s get to the good stuff.
Image credit: Pexels
Work from the outside in
(just like you would at a fancy dinner)
Image credit: Wikipedia
Four layers
Outer perimeter
Control and data planes
Control plane deep dive:
OpenStack services and backend services
OpenStack services deep dive
Image credit: imageme (Flickr)
The outer perimeter
Image credit: Pixabay
OUTER PERIMETER SECURITY GOAL:
Convince your attackers that
it’s easier to attack someone
else’s cloud
Key concepts
Make it expensive for attackers to
breach your perimeter defense
When they do make it through,
ensure that you know about it
immediately
Perimeters usually have openings
on the outside and inside --
secure both of them
Tactical
objectives
Require a VPN for access from
external networks
Segregate internal networks using
a firewall or an internally-facing
VPN
Monitor all logins (successful and
unsuccessful) for unusual activity
Track bandwidth usage trends
using netflow data
Secure the perimeter
VPN
Internet Corporate network
Firewall
Log collector Alert system
Netflow collector
Auth system
Control and data planes
Image credit: Pixabay
Control and data plane
Control plane
keystone, nova, glance,
cinder, neutron, horizon,
rabbitmq, mysql,
memcached
Data plane
Hypervisors and
tenant-built items (VMs,
containers, networks,
storage)
CONTROL/DATA PLANES SECURITY GOAL:
Keep the inner workings
of your OpenStack cloud
separated from
tenant infrastructure
Key concepts
Tenant infrastructure should have
extremely limited access to the
control plane, and vice versa
A misconfigured tenant VM could
open a wide hole in your secure
network
Protect your cloud from VM exit
exploits that allow attackers to
gain hypervisor access
Tactical
objectives
Separate control plane,
hypervisors and tenant
infrastructure with VLANs and
strict firewall rules (and monitor
dropped packets)
Use SELinux or AppArmor on
hypervisors to reduce the impact
of VM and container exit exploits
Hypervisor
Linux Security Module refresher
Three popular implementations:
SELinux, AppArmor, and TOMOYO
sVirt (in libvirt) ensures that all
processes are labeled properly
(SELinux) or have profiles configured
(AppArmor)
VM exit exploits are confined in most
situations
Tenant VM
Storage Network
Linux Security Module
Do not disable
SELinux or AppArmor
on your hypervisors.
(Seriously. Leave it enabled.)
Control plane deep dive:
OpenStack and backend services
Image credit: Wikipedia
CONTROL PLANE SECURITY GOAL:
Heavily restrict lateral
movement and restrict access
to the “crown jewels”
“crown jewels” are the databases and message queues
in your OpenStack cloud
Control plane deep dive
OpenStack services
keystone, nova, glance,
cinder, neutron, horizon
Backend services
mysql, rabbitmq,
memcached, syslog
The “crown jewels” are here
The map to the “crown
jewels” is here
Key concepts
Allow the least amount of access
possible from the OpenStack
services to backend services
Further restrict access to specific
ports, sources, and destinations
Deploy services into containers to
apply fine-tuned network and
process restrictions
Tactical
objectives
Use a load balancer or firewall to
create a “choke point” between
OpenStack and backend services
Monitor messaging and database
performance closely to look for
anomalies or unauthorized access
Use unique credentials for each
MySQL database and RabbitMQ
virtual host
OpenStack services deep dive
Image credit: Wikipedia
OPENSTACK SERVICES SECURITY GOAL:
Know what valid communication
looks like and alert on
everything else
OpenStack has many (predictable) interactions
Key concepts
OpenStack services are heavily
interconnected, but the
connections are predictable
Limit access between OpenStack
services and monitor any invalid
questions
Tactical
objectives
Use iptables rules to limit access
between OpenStack services; alert
on any invalid connections
Give each service a different
keystone service account (with
different credentials)
Monitor closely for high
bandwidth usage and high
connection counts
Let’s wrap up
Analyze.
Isolate.
Monitor.
Repeat.
These small security changes
add up to a strong defense
Image credit: Wikipedia
Try OpenStack-Ansible
OpenStack-Ansible deploys
enterprise-grade OpenStack clouds
using Ansible.
Security and reliability are two of the
core priorities for the project. Most of
the security changes in this talk are
already implemented.
Learn more:
http://bit.ly/openstack-ansible
RACKSPACE PRIVATE CLOUD
POWERED BY OPENSTACK®
Learn more about our
proven operational expertise,
industry-leading reliability,
and OpenStack Everywhere.
Join us at the Rackspace booth (A22)
in the OpenStack Marketplace.
RACKSPACE INVENTED
OPENSTACK® – NOW WE'RE
PERFECTING IT
Thank you!
Major Hayden
@majorhayden
major.hayden@rackspace.com
Photo credit: bastiend (Flickr)

Holistic Security for OpenStack Clouds

  • 1.
    Holistic Security for OpenStackClouds Major Hayden Principal Architect, Rackspace @majorhayden Photo credit: bastiend (Flickr)
  • 2.
  • 3.
    Security feels likethis Image credit: Wikipedia
  • 4.
  • 5.
    Securing OpenStack canfeel like taking a trip to the Upside Down.
  • 6.
    It doesn’t haveto be that way (even with something as complex as OpenStack) Image credit: Pixabay
  • 7.
    The key is takingthe right approach to secure a complex system.
  • 8.
    Major Hayden Principal Architect ●At Rackspace since 2006 ● Working on OpenStack since 2012 ● Focused on information security for Rackspace Private Cloud ● Fedora Linux contributor; Fedora Security Team and Server Working Group member ● Has a terrible domain name purchase habit (please, no ideas for domain names today)
  • 9.
    Holistic characterized by comprehensionof the parts of something as intimately interconnected and explicable only by reference to the whole -- Oxford English Dictionary
  • 10.
    The holistic approachfor humans considers a person to be made of a body, a mind, and a spirit. Image credit: Pixabay
  • 11.
    The holistic approachfor OpenStack considers a cloud to be made of servers, software, and a business goal.
  • 12.
    A holistic approachto security involves people, processes, and technologies working in tandem.
  • 13.
    “The whole isgreater than the sum of its parts, especially in the case of OpenStack.” -- (partially) Aristotle Image credit: Wikipedia
  • 14.
    How does thisapply to securing an OpenStack cloud? Let’s do a quick security refresher.
  • 15.
    Assume that attackers willget inside eventually. Image credit: Pixabay
  • 16.
    Attackers are onoffense. They can be wrong many times. Defenders can only be wrong once for a breach to occur.
  • 17.
    Securing only theouter perimeter is not sufficient.
  • 18.
    We must secureour OpenStack cloud. We need to go deeper.
  • 19.
    We just boughtan expensive firewall for the perimeter. Isn’t that enough?
  • 20.
  • 21.
    Build small securityimprovements at multiple layers.* * This is the cornerstone of defense-in-depth.
  • 22.
    Individually, these changesmay not seem to have much value. All of these changes create a strong, valuable security strategy when they are added together.
  • 23.
    Let’s get tothe good stuff. Image credit: Pexels
  • 24.
    Work from theoutside in (just like you would at a fancy dinner) Image credit: Wikipedia
  • 25.
    Four layers Outer perimeter Controland data planes Control plane deep dive: OpenStack services and backend services OpenStack services deep dive Image credit: imageme (Flickr)
  • 26.
  • 27.
    OUTER PERIMETER SECURITYGOAL: Convince your attackers that it’s easier to attack someone else’s cloud
  • 28.
    Key concepts Make itexpensive for attackers to breach your perimeter defense When they do make it through, ensure that you know about it immediately Perimeters usually have openings on the outside and inside -- secure both of them
  • 29.
    Tactical objectives Require a VPNfor access from external networks Segregate internal networks using a firewall or an internally-facing VPN Monitor all logins (successful and unsuccessful) for unusual activity Track bandwidth usage trends using netflow data
  • 30.
    Secure the perimeter VPN InternetCorporate network Firewall Log collector Alert system Netflow collector Auth system
  • 31.
    Control and dataplanes Image credit: Pixabay
  • 32.
    Control and dataplane Control plane keystone, nova, glance, cinder, neutron, horizon, rabbitmq, mysql, memcached Data plane Hypervisors and tenant-built items (VMs, containers, networks, storage)
  • 33.
    CONTROL/DATA PLANES SECURITYGOAL: Keep the inner workings of your OpenStack cloud separated from tenant infrastructure
  • 34.
    Key concepts Tenant infrastructureshould have extremely limited access to the control plane, and vice versa A misconfigured tenant VM could open a wide hole in your secure network Protect your cloud from VM exit exploits that allow attackers to gain hypervisor access
  • 35.
    Tactical objectives Separate control plane, hypervisorsand tenant infrastructure with VLANs and strict firewall rules (and monitor dropped packets) Use SELinux or AppArmor on hypervisors to reduce the impact of VM and container exit exploits
  • 36.
    Hypervisor Linux Security Modulerefresher Three popular implementations: SELinux, AppArmor, and TOMOYO sVirt (in libvirt) ensures that all processes are labeled properly (SELinux) or have profiles configured (AppArmor) VM exit exploits are confined in most situations Tenant VM Storage Network Linux Security Module
  • 37.
    Do not disable SELinuxor AppArmor on your hypervisors. (Seriously. Leave it enabled.)
  • 38.
    Control plane deepdive: OpenStack and backend services Image credit: Wikipedia
  • 39.
    CONTROL PLANE SECURITYGOAL: Heavily restrict lateral movement and restrict access to the “crown jewels” “crown jewels” are the databases and message queues in your OpenStack cloud
  • 40.
    Control plane deepdive OpenStack services keystone, nova, glance, cinder, neutron, horizon Backend services mysql, rabbitmq, memcached, syslog The “crown jewels” are here The map to the “crown jewels” is here
  • 41.
    Key concepts Allow theleast amount of access possible from the OpenStack services to backend services Further restrict access to specific ports, sources, and destinations Deploy services into containers to apply fine-tuned network and process restrictions
  • 42.
    Tactical objectives Use a loadbalancer or firewall to create a “choke point” between OpenStack and backend services Monitor messaging and database performance closely to look for anomalies or unauthorized access Use unique credentials for each MySQL database and RabbitMQ virtual host
  • 43.
    OpenStack services deepdive Image credit: Wikipedia
  • 44.
    OPENSTACK SERVICES SECURITYGOAL: Know what valid communication looks like and alert on everything else
  • 45.
    OpenStack has many(predictable) interactions
  • 46.
    Key concepts OpenStack servicesare heavily interconnected, but the connections are predictable Limit access between OpenStack services and monitor any invalid questions
  • 47.
    Tactical objectives Use iptables rulesto limit access between OpenStack services; alert on any invalid connections Give each service a different keystone service account (with different credentials) Monitor closely for high bandwidth usage and high connection counts
  • 48.
  • 49.
  • 50.
    These small securitychanges add up to a strong defense Image credit: Wikipedia
  • 51.
    Try OpenStack-Ansible OpenStack-Ansible deploys enterprise-gradeOpenStack clouds using Ansible. Security and reliability are two of the core priorities for the project. Most of the security changes in this talk are already implemented. Learn more: http://bit.ly/openstack-ansible
  • 52.
    RACKSPACE PRIVATE CLOUD POWEREDBY OPENSTACK® Learn more about our proven operational expertise, industry-leading reliability, and OpenStack Everywhere. Join us at the Rackspace booth (A22) in the OpenStack Marketplace. RACKSPACE INVENTED OPENSTACK® – NOW WE'RE PERFECTING IT
  • 53.