認証

Authentication is an integral part of any real world OpenStack deployment and so careful thought should be given to this aspect of system design. A complete treatment of this topic is beyond the scope of this guide however some key topics are presented in the following sections.

At its most basic, authentication is the process of confirming identity - that a user is actually who they claim to be. A familiar example is providing a username and password when logging in to a system.

OpenStack Identity Service (keystone) は、ユーザー名・パスワード、LDAP、外部認証方式など、複数の認証方式をサポートします。認証に成功すると、Identity サービスは後続のサービスリクエストに使用する認可トークンをユーザーに返します。

Transport Layer Security TLS は、サービスと人の間で X.509 を使用した認証を提供します。TLS の規定のモードはサーバーのみを認証しますが、証明書はクライアント認証にも使用できます。

無効なログイン試行

As of the Newton release, the Identity service can limit access to accounts after repeated unsuccessful login attempts. A pattern of repetitive failed login attempts is generally an indicator of brute-force attacks (refer to 攻撃の種類). This type of attack is more prevalent in public cloud deployments.

For older deployments needing this functionality, prevention is possible by using an external authentication system that locks out an account after some configured number of failed login attempts. The account then may only be unlocked with further side-channel intervention.

もし防止することが選択肢になければ、被害を減らすために、検知することができます。検知は、アカウントへの権限のないアクセスを特定するために、アクセス制御ログを頻繁にレビューすることを意味します。その他の改善法としては、ユーザーパスワードの強度のレビュー、ファイアウォールルールで攻撃のネットワーク送信元のブロックなどがあります。接続数を制限するという、Keystone サーバのファイアウォールルールは、攻撃の効率を悪くし、攻撃者をあきらめさせるために使用できます。

In addition, it is useful to examine account activity for unusual login times and suspicious actions, and take corrective actions such as disabling the account. Oftentimes this approach is taken by credit card providers for fraud detection and alert.

多要素認証

権限のあるユーザーアカウントにネットワークアクセス用の多要素認証を使用します。Identity はこの機能を提供できる Apache Web サーバーを通して外部認証サービスをサポートします。サーバーは証明書を使用したクライアント認証を強制することもできます。

このお勧めの方式は、管理者パスワードを流出させる可能性のある、総当たり、ソーシャルエンジニアリング、標的型と無差別のフィッシング攻撃に対する防御になります。