システムの文書化における要件

システムのロールとタイプ

通常 OpenStack のインストールを構成している、広く定義された 2 つのノードタイプは次のとおりです。

インフラストラクチャーノード

Run the cloud related services such as the OpenStack Identity service, the message queuing service, storage, networking, and other services required to support the operation of the cloud.

コンピュート、ストレージ、他のリソースのノード

Provide storage capacity or virtual machines for your cloud.

システムインベントリ

Documentation should provide a general description of the OpenStack environment and cover all systems used (for example, production, development, or test). Documenting system components, networks, services, and software often provides the bird's-eye view needed to thoroughly cover and consider security concerns, attack vectors, and possible security domain bridging points. A system inventory may need to capture ephemeral resources such as virtual machines or virtual disk volumes that would otherwise be persistent resources in a traditional IT system.

ハードウェアインベントリ

Clouds without stringent compliance requirements for written documentation might benefit from having a Configuration Management Database (CMDB). CMDBs are normally used for hardware asset tracking and overall life-cycle management. By leveraging a CMDB, an organization can quickly identify cloud infrastructure hardware such as compute nodes, storage nodes, or network devices. A CMDB can assist in identifying assets that exist on the network which may have vulnerabilities due to inadequate maintenance, inadequate protection, or being displaced and forgotten. An OpenStack provisioning system can provide some basic CMDB functions if the underlying hardware supports the necessary auto-discovery features.

ソフトウェアインベントリ

As with hardware, all software components within the OpenStack deployment should be documented. Examples include:

  • MySQL や mongoDB などのシステムデータベース

  • Identity や Compute などの OpenStack ソフトウェアコンポーネント

  • Supporting components, such as load-balancers, reverse proxies, DNS, or DHCP services

An authoritative list of software components may be critical when assessing the impact of a compromise or vulnerability in a library, application or class of software.

ネットワークトポロジー

A network topology should be provided with highlights specifically calling out the data flows and bridging points between the security domains. Network ingress and egress points should be identified along with any OpenStack logical system boundaries. Multiple diagrams might be needed to provide complete visual coverage of the system. A network topology document should include virtual networks created on behalf of tenants by the system along with virtual machine instances and gateways created by OpenStack.

Services, protocols, and ports

Knowing information about organizational assets is typically a best practice. An assets table can assist with validating security requirements and help to maintain standard security components such as firewall configuration, service port conflicts, security remediation areas, and compliance. Additionally, the table can help to understand the relationship between OpenStack components. The table might include:

  • Services, protocols, and ports being utilized in the OpenStack deployment.

  • An overview of all services running within the cloud infrastructure.

It is highly recommended that OpenStack deployments have information similar to this on record. The table can be created from information derived from a CMDB or can be constructed manually.

A table example is provided below:

サービス

プロトコル

ポート

目的

使用サービス

セキュリティードメイン

beam.smp

AMQP

5672/tcp

AMQP メッセージサービス

RabbitMQ

管理

tgtd

iSCSI

3260/tcp

iSCSI イニシエーターサービス

iSCSI

プライベート (データネットワーク)

sshd

ssh

22/tcp

Allows secure login to nodes and guest VMs

各種

設定により、管理、ゲスト、パブリック

mysqld

mysql

3306/tcp

MySQL データベースサービス

各種

管理

apache2

http

443/tcp

Dashboard

テナント

パブリック

dnsmasq

dns

53/tcp

DNS サービス

ゲスト仮想マシン

ゲスト