Securing OpenStack Networking Services
In order to secure OpenStack Networking, an understanding of the workflow process for tenant instance creation needs to be mapped to security domains.
There are four main services that interact with OpenStack Networking. In a typical OpenStack deployment these services map to the following security domains:
OpenStack Dashboard: Public and Management
OpenStack Identity: Management
OpenStack Compute Node: Management and Guest
OpenStack Network Node: Management, Guest, and possibly Public depending upon neutron-plugin in use.
SDN Services Node: Management, Guest and possibly
Public depending upon product used.
In order to isolate sensitive data communication between the OpenStack Networking services and other OpenStack core services, we strongly recommend that these communication channels be configured to only allow communications over an isolated management network.
OpenStack Networking Service Configuration
Restrict Bind Address of the API server: neutron-server
To restrict the interface or IP address on which the OpenStack Networking API service binds a network socket for incoming client connections, specify the bind_host and bind_port in the neutron.conf file as shown:
# Address to bind the API server
bind_host = <ip address of server>
# Port the bind the API server to
bind_port = 9696
Restrict DB and RPC communication of the OpenStack Networking services:
Various components of the OpenStack Networking services use either the messaging queue or database connections to communicate with other components in OpenStack Networking.
It is recommended that you follow the guidelines provided in the Database Authentication and Access Control chapter in the Database section for all components that require direct DB connections.
It is recommended that you follow the guidelines provided in the Queue Authentication and Access Control chapter in the Messaging section for all components that require RPC communication.