Поиск по сайту:

Установите и настройте менеджер паролей Passbolt Team в Ubuntu 20.04


На этой странице

  1. Предпосылки
  2. Установить сервер LAMP
  3. Настройка базы данных MariaDB
  4. Загрузить и настроить Passbolt
    1. Скачать Passbolt
    2. Создать ключ OpenPGP
    3. Настроить пароль

    Passbolt — это бесплатный, открытый, самодостаточный и расширяемый менеджер паролей, который помогает вам безопасно обмениваться и хранить учетные данные для входа, такие как пароль маршрутизатора, веб-сайта, Wi-Fi и т. д. Он отличается от других менеджеров паролей. он ориентирован на использование команды, а не отдельных лиц. Он доступен как в сообществе, так и в платной версии. Он предлагает множество функций, некоторые из которых перечислены ниже:

    • Предоставляет расширения для Firefox и Google Chrome.
    • Используйте OpenPGP для шифрования пароля.
    • Простой и удобный веб-интерфейс.
    • Позволяет импортировать и экспортировать пароли.
    • Позволяет добавлять учетные данные для входа вручную.

    В этом руководстве мы объясним, как установить менеджер паролей Passbolt с Apache и Lets Encrypt на Ubuntu 20.04.

    Предпосылки

    • Сервер под управлением Ubuntu 20.04.
    • Действительное доменное имя, указанное с IP-адресом вашего сервера.
    • Пароль root настраивается на сервере.

    Установить LAMP-сервер

    Во-первых, вам нужно будет установить Apache и сервер MariaDB в вашей системе. Вы можете установить их с помощью следующей команды:

    apt-get install apache2 mariadb-server -y

    После установки вышеуказанных пакетов вам также потребуется установить PHP и другие необходимые пакеты в вашей системе.

    По умолчанию Ubuntu 20.04 поставляется с PHP7.4 в репозитории по умолчанию. Однако Passbolt не поддерживает PHP7.4. Поэтому вам нужно будет добавить репозиторий PHP в вашу систему.

    Сначала установите необходимые пакеты с помощью следующей команды:

    apt-get install software-properties-common gnupg -y

    Затем добавьте репозиторий PHP с помощью следующей команды:

    add-apt-repository ppa:ondrej/php --yes

    Затем установите PHP версии 7.3 с Composer и другими необходимыми расширениями с помощью следующей команды:

    apt-get install php7.3 php7.3-mysql libapache2-mod-php7.3 php7.3-intl php7.3-mbstring php7.3-gd php7.3-imagick php7.3-xml php7.3-common php7.3-curl php7.3-json php7.3-ldap php7.3-gnupg zlib1g unzip git composer curl -y

    После установки всех пакетов можно переходить к следующему шагу.

    Настроить базу данных MariaDB

    Во-первых, вам нужно будет защитить установку MariaDB и установить пароль root для MariaDB. Вы можете сделать это с помощью следующей команды:

    mysql_secure_installation

    Этот скрипт установит корневой пароль MariaDB, удалит анонимных пользователей, запретит удаленный вход в систему root и удалит тестовую базу данных и доступ к ней, как показано ниже:

    Enter current password for root (enter for none): 
    OK, successfully used password, moving on...
    Set root password? [Y/n] Y
    Remove anonymous users? [Y/n] Y
    Disallow root login remotely? [Y/n] Y
    Remove test database and access to it? [Y/n] Y
    Reload privilege tables now? [Y/n] Y
    

    Как только MariaDB будет защищена, войдите в оболочку MariaDB с помощью следующей команды:

    mysql -u root -p

    Укажите свой пароль root при появлении запроса, затем создайте базу данных и пользователя для Passbolt с помощью следующей команды:

    MariaDB [(none)]> CREATE DATABASE passboltdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    MariaDB [(none)]> GRANT ALL on passboltdb.* to identified by 'password';

    Затем сбросьте привилегии и выйдите из MariaDB с помощью следующей команды:

    MariaDB [(none)]> FLUSH PRIVILEGES;
    MariaDB [(none)]> EXIT;

    Как только вы закончите, вы можете перейти к следующему шагу.

    Загрузите и настройте Passbolt

    В этом разделе мы узнаем, как скачать и настроить passbolt:

    Скачать Passbolt

    Сначала загрузите последнюю версию Passbolt в корневой веб-каталог Apache с помощью следующей команды:

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

    После загрузки измените владельца пароля на www-data с помощью следующей команды:

    chown -R www-data:www-data /var/www/

    Затем измените каталог на passbolt и установите необходимые зависимости с помощью следующей команды:

    cd /var/www/passbolt
    sudo -u www-data composer install --no-dev

    Вы должны получить следующий результат:

    > Cake\Composer\Installer\PluginInstaller::postAutoloadDump
    9 packages you are using are looking for funding.
    Use the `composer fund` command to find out more!
    thadafinser/package-info:  Generating class...
    thadafinser/package-info: ...generating class
    > App\Console\Installer::postInstall
    Created `config/app.php` file
    Created `/var/www/passbolt/logs` directory
    Created `/var/www/passbolt/tmp/cache/models` directory
    Created `/var/www/passbolt/tmp/cache/persistent` directory
    Created `/var/www/passbolt/tmp/cache/views` directory
    Created `/var/www/passbolt/tmp/sessions` directory
    Created `/var/www/passbolt/tmp/tests` directory
    Set Folder Permissions ? (Default to Y) [Y,n]? Y
    

    Введите Y и нажмите Enter, чтобы установить права доступа к папке.

    Сгенерировать ключ OpenPGP

    Далее вам нужно будет сгенерировать ключ OpenPGP для аутентификации и подписи исходящих запросов JSON. Вы можете сгенерировать его с помощью следующей команды:

    cd /var/www/passbolt
    gpg --full-generate-key

    Во время процесса вам будет предложено ввести парольную фразу, просто нажмите клавишу Tab, выберите «ОК» и подтвердите, что вы не хотите ее устанавливать, потому что модуль php-gnupg в данный момент не поддерживает использование парольной фразы.

    gpg (GnuPG) 2.2.19; Copyright (C) 2019 Free Software Foundation, Inc.
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    
    gpg: directory '/root/.gnupg' created
    gpg: keybox '/root/.gnupg/pubring.kbx' created
    Please select what kind of key you want:
       (1) RSA and RSA (default)
       (2) DSA and Elgamal
       (3) DSA (sign only)
       (4) RSA (sign only)
      (14) Existing key from card
    Your selection? 1
    RSA keys may be between 1024 and 4096 bits long.
    What keysize do you want? (3072) 4096
    Requested keysize is 4096 bits
    Please specify how long the key should be valid.
             0 = key does not expire
            = key expires in n days
          w = key expires in n weeks
          m = key expires in n months
          y = key expires in n years
    Key is valid for? (0) 0
    Key does not expire at all
    Is this correct? (y/N) y
    
    GnuPG needs to construct a user ID to identify your key.
    
    Real name: Hitesh
    Email address: 
    Comment: Hi
    You selected this USER-ID:
        "Hitesh (Hi) <>"
    
    Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
    We need to generate a lot of random bytes. It is a good idea to perform
    some other action (type on the keyboard, move the mouse, utilize the
    disks) during the prime generation; this gives the random number
    generator a better chance to gain enough entropy.
    We need to generate a lot of random bytes. It is a good idea to perform
    some other action (type on the keyboard, move the mouse, utilize the
    disks) during the prime generation; this gives the random number
    generator a better chance to gain enough entropy.
    gpg: /root/.gnupg/trustdb.gpg: trustdb created
    gpg: key 2DA8E7FB8E23B2FD marked as ultimately trusted
    gpg: directory '/root/.gnupg/openpgp-revocs.d' created
    gpg: revocation certificate stored as '/root/.gnupg/openpgp-revocs.d/9622291A72D99A4EC78ABCB92DA8E7FB8E23B2FD.rev'
    public and secret key created and signed.
    
    pub   rsa4096 2020-07-25 [SC]
          D2394A45B7CBBAB7F00CC79B23D4750486780854
    uid                      Hitesh (Hi) <>
    sub   rsa4096 2020-07-25 [E]
    

    Пожалуйста, запомните приведенный выше отпечаток открытого ключа, так как он понадобится позже при настройке.

    Затем экспортируйте открытый и закрытый ключ в каталог /var/www/passbolt с помощью следующих команд:

    gpg --armor --export-secret-keys  > /var/www/passbolt/config/gpg/serverkey.asc

    Далее вам нужно будет инициализировать связку ключей gpg для пользователя Apache. Вы можете сделать это с помощью следующей команды:

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

    Вы должны получить следующий результат:

    gpg: directory '/var/www/.gnupg' created
    gpg: keybox '/var/www/.gnupg/pubring.kbx' created
    gpg: /var/www/.gnupg/trustdb.gpg: trustdb created
    

    Настроить Passbolt

    Сначала скопируйте пример файла конфигурации Passbolt с помощью следующей команды:

    cp /var/www/passbolt/config/passbolt{.default,}.php

    Затем отредактируйте файл конфигурации Passbolt с помощью следующей команды:

    nano /var/www/passbolt/config/passbolt.php

    Определите свой fullbaseurl, базу данных и отпечаток открытого ключа, как показано ниже:

            'fullBaseUrl' => 'https://passbolt.linuxbuz.com',
        // Database configuration.
    
        'Datasources' => [
            'default' => [
                'host' => 'localhost',
                //'port' => 'non_standard_port_number',
                'username' => 'passbolt',
                'password' => 'password',
                'database' => 'passboltdb',
                'serverKey' => [
                // Server private key fingerprint.
                'fingerprint' => 'D2394A45B7CBBAB7F00CC79B23D4750486780854',
                'public' => CONFIG . 'gpg' . DS . 'serverkey.asc',
                'private' => CONFIG . 'gpg' . DS . 'serverkey_private.asc',
    

    Сохраните и закройте файл, когда закончите.

    Если вы не помните отпечаток своего открытого ключа, вы можете получить его с помощью следующей команды:

    gpg --list-keys --fingerprint | grep -i -B 2 

    Вы должны получить следующий результат:

    gpg: checking the trustdb
    gpg: marginals needed: 3  completes needed: 1  trust model: pgp
    gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
    pub   rsa4096 2020-07-25 [SC]
          D239 4A45 B7CB BAB7 F00C  C79B 23D4 7504 8678 0854
    uid           [ultimate] Hitesh (Hi) <>
    

    Настройте Apache для Passbolt

    Далее вам нужно будет создать файл конфигурации виртуального хоста Apache для Passbolt. Вы можете создать его с помощью следующей команды:

    nano /etc/apache2/sites-available/passbolt.conf

    Добавьте следующие строки:

    <VirtualHost *:80>
    
            ServerName passbolt.linuxbuz.com
            DocumentRoot /var/www/passbolt
    
            ErrorLog ${APACHE_LOG_DIR}/passbolt_error.log
            CustomLog ${APACHE_LOG_DIR}/passbolt_access.log combined
    
    
          <Directory /var/www/passbolt/>
                    Options FollowSymLinks MultiViews
                    AllowOverride All
                    Require all granted
            </Directory>
    
    </VirtualHost>
    

    Сохраните и закройте файл, затем активируйте файл виртуального хоста и перезапустите службу Apache с помощью следующей команды:

    a2ensite passbolt
    systemctl restart apache2

    Когда вы закончите, вы можете перейти к следующему шагу.

    Безопасный Passbolt с Lets Encrypt

    Чтобы защитить свой веб-сайт с помощью Lets Encrypt SSL, вам необходимо установить клиентскую утилиту Certbot в вашей системе для управления SSL-сертификатом.

    Вы можете установить его с помощью следующей команды:

    apt-get install python3-certbot-apache -y

    После установки выполните следующую команду, чтобы защитить свой сайт с помощью Lets Encrypt SSL:

    certbot --apache -d passbolt.linuxbuz.com

    Вам будет предложено указать адрес электронной почты и принять условия обслуживания, как показано ниже:

    Saving debug log to /var/log/letsencrypt/letsencrypt.log
    Plugins selected: Authenticator standalone, Installer None
    Enter email address (used for urgent renewal and security notices) (Enter 'c' to
    cancel): 
    
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Please read the Terms of Service at
    https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
    agree in order to register with the ACME server at
    https://acme-v02.api.letsencrypt.org/directory
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    (A)gree/(C)ancel: A
    
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Would you be willing to share your email address with the Electronic Frontier
    Foundation, a founding partner of the Let's Encrypt project and the non-profit
    organization that develops Certbot? We'd like to send you email about our work
    encrypting the web, EFF news, campaigns, and ways to support digital freedom.
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    (Y)es/(N)o: Y
    Plugins selected: Authenticator apache, Installer apache
    Obtaining a new certificate
    Performing the following challenges:
    http-01 challenge for passbolt.linuxbuz.com
    Enabled Apache rewrite module
    Waiting for verification...
    Cleaning up challenges
    Created an SSL vhost at /etc/apache2/sites-available/passbolt-le-ssl.conf
    Enabled Apache socache_shmcb module
    Enabled Apache ssl module
    Deploying Certificate to VirtualHost /etc/apache2/sites-available/passbolt-le-ssl.conf
    Enabling available site: /etc/apache2/sites-available/passbolt-le-ssl.conf
    

    Затем выберите, следует ли перенаправлять HTTP-трафик на HTTPS, как показано ниже:

    Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    1: No redirect - Make no further changes to the webserver configuration.
    2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
    new sites, or if you're confident your site works on HTTPS. You can undo this
    change by editing your web server's configuration.
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
    

    Введите 2 и нажмите Enter, чтобы установить Lets Encrypt SSL для вашего сайта:

    Enabled Apache rewrite module
    Redirecting vhost in /etc/apache2/sites-enabled/passbolt.conf to ssl vhost in /etc/apache2/sites-available/passbolt-le-ssl.conf
    
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Congratulations! You have successfully enabled https://passbolt.linuxbuz.com
    
    You should test your configuration at:
    https://www.ssllabs.com/ssltest/analyze.html?d=passbolt.linuxbuz.com
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    
    IMPORTANT NOTES:
     - Congratulations! Your certificate and chain have been saved at:
       /etc/letsencrypt/live/passbolt.linuxbuz.com/fullchain.pem
       Your key file has been saved at:
       /etc/letsencrypt/live/passbolt.linuxbuz.com/privkey.pem
       Your cert will expire on 2020-10-23. To obtain a new or tweaked
       version of this certificate in the future, simply run certbot again
       with the "certonly" option. To non-interactively renew *all* of
       your certificates, run "certbot renew"
     - If you like Certbot, please consider supporting our work by:
    
       Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
       Donating to EFF:                    https://eff.org/donate-le
    

    На данный момент ваш сайт защищен с помощью Lets Encrypt SSL.

    Установить Passbolt

    Далее вы можете установить Passbolt, запустив скрипт установки Passbolt.

    Сначала измените каталог на /var/www/passbolt:

    cd /var/www/passbolt

    Затем запустите скрипт установки Passbolt с помощью следующей команды:

    sudo su -s /bin/bash -c "./bin/cake passbolt install --no-admin" www-data

    После успешного завершения установки вы должны получить следующий вывод:

    All Done. Took 1.6533s
    
    Import the server private key in the keyring
    ---------------------------------------------------------------
    Importing /var/www/passbolt/config/gpg/serverkey_private.asc
    Keyring init OK
    
    Passbolt installation success! Enjoy! ?
    

    Далее вам нужно будет завершить настройку Passbolt из браузера. Откройте веб-браузер и перейдите по URL-адресу https://passbolt.linuxbuz.com. Вы должны увидеть следующий экран:

    Здесь вам нужно будет скачать и установить плагин для вашего браузера. Нажмите «Загрузить плагин», чтобы загрузить и установить плагин Passbolt. После установки можно переходить к следующему шагу.

    Доступ к веб-интерфейсу Passbolt

    Перед запуском вам нужно будет создать пользователя с правами администратора и установить пароль для Passbolt. Вы можете сделать это с помощью следующей команды:

    cd /var/www/passbolt
    sudo su -s /bin/bash -c "./bin/cake passbolt register_user -u -f howtoforge -l Demo -r admin" www-data

    Вы должны получить следующий результат:

         ____                  __          ____  
        / __ \____  _____ ____/ /_  ____  / / /_ 
       / /_/ / __ `/ ___/ ___/ __ \/ __ \/ / __/ 
      / ____/ /_/ (__  |__  ) /_/ / /_/ / / /    
     /_/    \__,_/____/____/_.___/\____/_/\__/   
    
     Open source password manager for teams
    ---------------------------------------------------------------
    User saved successfully.
    To start registration follow the link provided in your mailbox or here: 
    https://passbolt.linuxbuz.com/setup/install/5bcfb186-3d9f-448f-8388-f705abd855c8/a2ba80dc-5ef2-433a-9138-11282747b377
    

    Теперь скопируйте ссылку из приведенного выше вывода и используйте ее для завершения настройки Passbolt в браузере. Вы должны увидеть следующий экран:

    Убедитесь, что URL-адрес и отпечаток ключа GPG в порядке, и нажмите кнопку «Далее». Вы должны увидеть следующий экран:

    Укажите имя владельца, адрес электронной почты и нажмите кнопку «Далее». Вы должны увидеть следующий экран:

    Установите пароль и нажмите кнопку «Далее». Вы должны увидеть следующий экран:

    Загрузите секретный ключ и нажмите кнопку «Далее». Вы должны увидеть следующий экран:

    Установите токен безопасности и нажмите кнопку «Далее». Вы должны увидеть следующий экран:

    Укажите свое имя пользователя, пароль и нажмите на кнопку входа. Вы должны увидеть панель управления Passbolt на следующем экране:

    Заключение

    Поздравляем! вы успешно установили менеджер паролей Passbolt с Lets Encrypt SSL на сервер Ubuntu 20.04. Теперь вы можете хранить свои пароли и делиться ими со своими командами и отдельными пользователями. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.