第21章 MariaDB (MySQL の後継)

MariaDB データベースはマルチユーザー、マルチスレッドの SQL データベースサーバーで、MariaDB サーバーデーモン (mysqld) と多くのクライアントプログラムおよびライブラリーで構成されています[18]
Red Hat Enterprise Linux では、mariadb-server パッケージが MariaDB を提供します。以下のコマンドを実行して mariadb-server パッケージがインストールされていることを確認します。
~]$ rpm -q mariadb-server
package mariadb-server is not installed
このパッケージがインストールされていない場合は、root で yum ユーティリティーを使用してインストールします。
~]# yum install mariadb-server

21.1. MariaDB と SELinux

MariaDB を有効にすると、デフォルトで制限のあるサービスとして実行されます。制限のあるプロセスはそれ自体のドメイン内で実行され、他の制限のあるプロセスとは分離されます。制限のあるプロセスが攻撃を受けると、SELinux ポリシー設定に応じて、攻撃側がリソースにアクセスして加えることができる被害は限定されます。以下では、MariaDB 自体のドメイン内で実行している MariaDB プロセスの例を示します。ここでは mariadb-server パッケージがインストールされていることを前提としています。
  1. getenforce コマンドを実行して、SELinux が enforcing モードで実行していることを確認します。
    ~]$ getenforce
    Enforcing
    SELinux が enforcing モードで実行している場合は、Enforcing が返されます。
  2. root ユーザーで以下のコマンドを実行し、mariadb を起動します。
    ~]# systemctl start mariadb.service
    サービスが稼働していることを確認します。出力は以下のようになり、タイムスタンプのみが異なります。
    ~]# systemctl status mariadb.service
    mariadb.service - MariaDB database server
       Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled)
       Active: active (running) since Mon 2013-08-05 11:20:11 CEST; 3h 28min ago
  3. 以下のコマンドを実行して、mysqld プロセスを表示します。
    ~]$ ps -eZ | grep mysqld
    system_u:system_r:mysqld_safe_t:s0 12831 ?     00:00:00 mysqld_safe
    system_u:system_r:mysqld_t:s0   13014 ?        00:00:00 mysqld
    mysqld プロセスに関連する SELinux コンテキストは system_u:system_r:mysqld_t:s0 です。このコンテキストの最後から 2 番目の部分、mysqld_t がタイプになります。タイプは、プロセスのドメインやファイルのタイプを定義します。この例の場合、mysqld プロセスは mysqld_t ドメイン内で実行しています。


[18] 詳細情報は、MariaDB プロジェクトページを参照してください。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。