GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS7にPassboltセルフホストパスワードマネージャーをインストールする方法

Passboltは、チーム向けの無料のオープンソースパスワードマネージャーです。これにより、チームメンバーは資格情報/パスワードを安全に保存および共有できます。 PassboltはPHPで作成され、LEMPスタックの下で実行することも、Dockerコンテナーとして実行することもできます。

このチュートリアルでは、CentOS7サーバーにオープンソースのパスワードマネージャー「Passbolt」をインストールして構成する手順を説明します。 PassboltはPHPで開発されたWebアプリケーションであり、LEMP(Linux、Nginx、MySQL / MariaDB、およびPHP-FPM)で実行します。

前提条件
  • CentOS 7
  • root権限

何をしますか?

  1. 依存関係のインストール
  2. MariaDBデータベースのインストールと構成
  3. NginxとPHP-FPMをインストールします
  4. SSLLetsencryptを生成する
  5. NginxとPHP-FPMを構成する
  6. PassboltをダウンロードしてOpenPGPキーを生成する
  7. パスボルトをインストールする
  8. パスボルトのインストール後
  9. 追加のセキュリティサーバーの設定
ステップ1-依存関係をインストールする

このガイドで最初に行うことは、Passboltのインストールに必要なすべてのパッケージ依存関係をインストールすることです。これには、EPELおよびRemi PHPリポジトリ、php Composer、gccなどのインストールが含まれます。

EPELリポジトリを追加します。

sudo yum -y install yum-utils epel-release

RemiPHPリポジトリを追加して有効にします。

sudo yum -y install 'http://rpms.remirepo.net/enterprise/remi-release-7.rpm'
sudo yum-config-manager --enable 'remi-php72'
>

次に、以下のyumコマンドを使用して、パッケージの依存関係コンポーザー、gitgccなどをインストールします。

sudo yum -y install unzip wget composer policycoreutils-python git gcc

すべてのパッケージがインストールされるのを待ちます。

ステップ2-MySQL/MariaDBをインストールして構成する

このステップでは、MariaDBデータベースをインストールしてから、Passboltインストール用の新しいデータベースとユーザーを作成します。

以下のyumコマンドを使用してMariaDBサーバーをインストールします。

sudo yum -y install mariadb-server

インストールが完了したら、MariaDBサービスを開始し、システムの起動時に毎回起動できるようにします。

sudo systemctl start mariadb
sudo systemctl enable mariadb

次に、MariaDBの「root」パスワードを構成する必要があります。以下の「mysql_secure_installation」コマンドを実行します。

mysql_secure_installation

新しいルートパスワードを入力します。

そして、MariaDBルートパスワードが構成されました。

次に、「root」ユーザーを使用してMySQLシェルにログインします。

mysql -u root -p

パスワード「hakase-labs」を使用して「passbolt」という名前の新しいデータベースとユーザーを作成し、以下のMySQLクエリを実行します。

create database passbolt;
grant all on passbolt.* to 'passbolt'@'localhost' identified by 'hakase-labs';
flush privileges;
quit;

MariaDBサーバーがCentOS7サーバーにインストールされ、「Passbolt」インストール用のデータベースが作成されました。

ステップ3-NginxとPHP-FPMをインストールします

MariaDBサーバーをインストールした後、EPELリポジトリからNginxをインストールし、Remiリポジトリを使用してPHP-FPMパッケージをインストールします。

NginxWebサーバーをインストールします。

sudo yum -y install nginx

インストールが完了したら、Nginxサービスを開始し、システムの起動時に毎回起動できるようにします。

sudo systemctl start nginx
sudo systemctl enable nginx

次に、以下のyumコマンドを使用して、必要なすべての拡張機能を備えたPHP-FPMをインストールします。

sudo yum -y install php-fpm php-intl php-gd php-mysql php-mcrypt php-pear php-devel php-mbstring php-fpm gpgme-devel

インストールが完了したら、PHP-FPMサービスを開始し、システムの起動時に毎回起動できるようにします。

sudo systemctl start php-fpm
sudo systemctl enable php-fpm

NginxWebサーバーとPHP-FPMがインストールされました。

ステップ4-SSLLetsencryptを生成する

certbotツールをシステムにインストールします。

sudo yum -y install certbot

次に、nginxサービスを停止します。

sudo systemctl stop nginx

そして、passboltドメイン名'passbolt.hakase.io'のSSLLetsencryptを生成します。

以下のcertbotコマンドを実行します。

sudo certbot certonly --standalone --agree-tos --no-eff-email --email [email protected] -d passbolt.hakase.io

certbotツールは、検証のために一時的なWebサーバーを実行します。

完了すると、「/ etc /letsencrypt /live/」ディレクトリで証明書を取得します。

ステップ5-NginxとPHP-FPMを構成する

このステップでは、Passboltの新しい仮想ホスト構成を作成してNginx Webサーバーを構成し、PHP-FPMを構成してPHPGnuPGサポートをインストールします。

PHP-FPMを構成する

'/etc/php-fpm.d'ディレクトリに移動し、vimエディターを使用してデフォルトのプール構成'www.conf'を編集します。

cd /etc/php-fpm.d/
sudo vim www.conf

デフォルトのユーザーとグループを「nginx」ユーザーに変更します。

user = nginx
group = nginx

PHP-FPMをリッスンするポートを以下のようにsockファイルに変更します。

listen = /var/run/php-fpm/php-fpm.sock

以下の行のコメントを解除し、sockファイルのlisten.ownerとlisten.groupを「nginx」に変更します。

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

保存して終了します。

次に、PHPセッションディレクトリの所有者を変更し、PHPGnuPG拡張サポートをインストールする必要があります。

phpセッションディレクトリの権限を変更します。

sudo chgrp nginx /var/lib/php/session

peclコマンドを使用してPHPGnuPG拡張機能をインストールし、アクティブ化します。

sudo pecl install gnupg
echo "extension=gnupg.so" > /etc/php.d/gnupg.ini

PHPGnuPG拡張機能がインストールされました。

Nginx仮想ホストを構成する

'/etc/nginx/conf.d'ディレクトリに移動し、新しい仮想ホストファイル'passbolt.conf'を作成します。

cd /etc/nginx/conf.d/
sudo vim passbolt.conf

以下に構成を貼り付けます。

server {
  listen 443;
  server_name passbolt.hakase.io;
  ssl on;
  ssl_certificate     /etc/letsencrypt/live/passbolt.hakase.io/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/passbolt.hakase.io/privkey.pem;
  ssl_protocols TLSv1.2;
  ssl_prefer_server_ciphers on;
  ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;
  ssl_session_tickets off;
  root /var/www/passbolt;
  
  location / {
    try_files $uri $uri/ /index.php?$args;
    index index.php;
  }
  
  location ~ \.php$ {
    fastcgi_index           index.php;
    fastcgi_pass            unix:/var/run/php-fpm/php-fpm.sock;
    fastcgi_split_path_info ^(.+\.php)(.+)$;
    include                 fastcgi_params;
    fastcgi_param           SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param           SERVER_NAME $http_host;
  }
       
  location ~* \.(jpe?g|woff|woff2|ttf|gif|png|bmp|ico|css|js|json|pdf|zip|htm|html|docx?|xlsx?|pptx?|txt|wav|swf|svg|avi|mp\d)$ {
    access_log off;
    log_not_found off;
    try_files $uri /webroot/$uri /index.php?$args;
  }
}

保存して終了します。

nginx構成をテストし、エラーがないことを確認します。

sudo nginx -t

次に、NginxサービスとPHP-FPMサービスの両方を再起動します。

sudo systemctl restart nginx
sudo systemctl restart php-fpm

NginxWebサーバーとPHP-FPMの構成が正常に完了しました。

ステップ6-PassboltをダウンロードしてOpenPGPキーを生成する

このステップでは、passbolt Webアプリケーションをダウンロードし、PassboltAPIに使用される新しいOpenPGPキーを生成します。

'/ var / www'ディレクトリに移動し、passboltWebアプリケーションのクローンを作成します。

cd /var/www/
git clone https://github.com/passbolt/passbolt_api.git passbolt/

次に、「haveged」パッケージをインストールして、サービスを開始します。

sudo yum -y install haveged
sudo systemctl start haveged

以下のgpgコマンドを使用して新しいOpenPGPキーを生成します。

gpg --gen-key

メールアドレス、有効期限などの詳細を入力します。

注:

  • PHP GnuPG拡張機能はOpenPGPキーパスフレーズをサポートしていないため、パスフレーズは空白のままにします。

完了したら、使用可能なすべてのキーを確認し、キーの「指紋」を書き留めます。

gpg --list-keys --fingerprint

次に、公開鍵と秘密鍵を「/ var / www/passbolt」ディレクトリにエクスポートします。

gpg --armor --export-secret-keys [email protected] > /var/www/passbolt/config/gpg/serverkey_private.asc
gpg --armor --export [email protected] > /var/www/passbolt/config/gpg/serverkey.asc

そして、これらすべてのキーの権限と「/ var / www/passbolt」ディレクトリの所有者を変更します。

sudo chmod 640 /var/www/passbolt/config/gpg/serverkey*
sudo chown -R  nginx:nginx /var/www/passbolt

Passbolt Webアプリケーションがダウンロードされ、OpenPGPキーが作成されました。

ステップ7-Passboltをインストールします

'Passbolt'のすべての依存関係をインストールする前に、nginxユーザーのgpgキーのキーリングを初期化する必要があります。

以下のコマンドを実行します。

sudo su -s /bin/bash -c "gpg --list-keys" nginx

次に、「nginx」ユーザーにログインし、「/ var / www/passbolt」ディレクトリに移動します。

su -s /bin/bash nginx
cd /var/www/passbolt/

以下のcomposerコマンドを使用して、すべてのパスボルト依存関係をインストールします。

composer install --no-dev

完了したら、アプリのデフォルトの構成ファイルをコピーして、vimで編集します。

cp config/passbolt.default.php config/passbolt.php
vim config/passbolt.php

[アプリ]セクションで、ドメイン名を独自のドメイン名に変更します。

    'App' => [
        // A base URL to use for absolute links.
        // The url where the passbolt instance will be reachable to your end users.
        // This information is need to render images in emails for example
        'fullBaseUrl' => 'https://passbolt.hakase.io',
    ],
などの電子メールで画像をレンダリングするために必要です。

「データソース」構成で、詳細データベース情報を入力します。

    // Database configuration.
    'Datasources' => [
        'default' => [
            'host' => 'localhost',
            //'port' => 'non_standard_port_number',
            'username' => 'passbolt',
            'password' => 'hakase-labs',
            'database' => 'passbolt',
        ],
    ],

データベース構成の下に、新しい「ssl」構成を追加して、すべての接続を安全なhttpsに強制します。

    'ssl' => [
        'force' => true,
    ],

SMTPメール構成の場合は、すべてを詳細に変更します。

    // Email configuration.
    'EmailTransport' => [
        'default' => [
            'host' => 'localhost',
            'port' => 25,
            'username' => 'user',
            'password' => 'secret',
            // Is this a secure connection? true if yes, null if no.
            'tls' => null,
            //'timeout' => 30,
            //'client' => null,
            //'url' => null,
        ],
    ],
    'Email' => [
        'default' => [
            // Defines the default name and email of the sender of the emails.
            'from' => ['[email protected]_organization.com' => 'Passbolt'],
            //'charset' => 'utf-8',
            //'headerCharset' => 'utf-8',
        ],
    ],

最後に、OpenPGPキーの「フィンガープリント」を貼り付けて、これらのパブリックおよびプライベート構成行のコメントを解除します。

            'serverKey' => [
                // Server private key fingerprint.
                'fingerprint' => '63BA4EBB65126A6BE334075DD210E985E2ED02E5',
                'public' => CONFIG . 'gpg' . DS . 'serverkey.asc',
                'private' => CONFIG . 'gpg' . DS . 'serverkey_private.asc',
            ],

保存して終了します。

次に、以下のコマンドを使用して「Passbolt」をインストールします。

./bin/cake passbolt install

新しい管理者ユーザーとパスワードを作成するように求められます。詳細を入力してください。

そして最後に、「登録」リンクが表示され、メモに書き留めます。

ステップ8-Passboltのインストール後

Webブラウザーを開き、Webブラウザーの「Passbolt」拡張機能をインストールします。

以下は、Chromeブラウザのパスボルト拡張機能のリンクです。拡張機能をインストールします。

https://chrome.google.com/webstore/detail/passbolt-extension

次に、新しいタブを開き、アドレスバーに表示された「登録」リンクを貼り付けます。私のは:

https://passbolt.hakase.io/setup/install/b830cc87-1aa5-4f6f-95f4-9be21accdefa/103001a4-39a1-4bb9-866c-822ac0f7c76f

そして、以下に示すようなページになります。

下部のチェックボックスをオンにして、[次へ]ボタンをクリックします。次に、ユーザーの新しいキーを作成するように求められます。

[次へ]ボタンをクリックします。

「パスフレーズ」を設定し、強力なパスフレーズを入力します。

「次へ」ボタンをクリックします。 [ダウンロード]ボタンを押してキーをバックアップし、もう一度[次へ]をクリックします。

セキュリティトークンについては、デフォルトのままにして、[次へ]をクリックします。

そして、Passboltログインページにリダイレクトされます。

「パスワード」と入力し、「ログイン」をクリックします。そして、以下のようにPassboltユーザーダッシュボードが表示されます。

CentOS7へのPassboltオープンソースパスワードマネージャーのインストールが正常に完了しました。

ステップ9-追加のセキュリティサーバーのセットアップ

-Firewalldをセットアップする

サーバーで新しいHTTP、HTTPS、およびSMTPポートを開きます。

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent
sudo firewall-cmd --add-service=smtp --permanent

次に、firewalld構成をリロードします。

sudo firewall-cmd --reload

-Selinuxパーミッションのセットアップ

'Passbolt'webrootディレクトリの権限。

sudo semanage fcontext -a -t httpd_sys_content_t '/var/www(/.*)?'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/passbolt/tmp(/.*)?'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/passbolt/logs(/.*)?'
sudo restorecon -Rv /var/www

Nginxgnupgキーリングディレクトリの権限。

sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/lib/nginx/.gnupg(/.*)?'
sudo restorecon -Rv /var/lib/nginx/.gnupg

Cent OS
  1. CentOS7にVagrantをインストールする方法

  2. CentOS8にGiteaをインストールする方法

  3. CentOS8にownCloudをインストールする方法

  1. CentOS8にMemcachedをインストールする方法

  2. CentOS7にNginxをインストールする方法

  3. CentOS7にApacheをインストールする方法

  1. CentOS7にTomcat8.5をインストールする方法

  2. CentOS7にJenkinsをインストールする方法

  3. CentOS7にTomcat9をインストールする方法