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

Как установить менеджер паролей SysPass на Rocky Linux


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

  1. Предпосылки
  2. Установка веб-сервера Httpd
  3. Установка сервера MariaDB
  4. Установка PHP
  5. Установка Composer
  6. Установка диспетчера паролей SysPass
  7. Настройка SELinux
  8. Настройка виртуального хоста Httpd
  9. Конфигурация диспетчера паролей SysPass
  10. Заключение

SysPass — это менеджер паролей с открытым исходным кодом, написанный на PHP с шифрованием AES-256 CTR. Он предназначен для централизованного и совместного управления паролями. обеспечивает расширенное управление профилями, многопользовательское управление пользователями, группами и профилями. Поддерживает методы аутентификации через MySQL/MariaDB и OpenLDAP Active Directory и разработан в интерактивном режиме с использованием Material Design через HTML5 и AJAX.

SysPass предоставляет API, который позволяет интегрироваться с другими приложениями. Поддерживает базу данных паролей Keepass и файл CSV для импорта и экспорта. Он также предоставляет историю учетной записи и восстанавливает баллы, многоязычность и общедоступные ссылки без входа в систему (анонимная ссылка).

В этом руководстве вы установите диспетчер паролей SysPass с Apache2, MariaDB и PHP на сервер Rocky Linux. Вы также защитите установку SysPass с помощью SSL-сертификатов, а также узнаете, как установить Composer на Rocky Linux для управления зависимостями PHP.

Предпосылки

Для выполнения этого руководства вам потребуются следующие требования:

  • Сервер Rocky Linux. Вы можете использовать Rocky Linux v8 или v9.
  • Пользователь без полномочий root с привилегиями sudo root.
  • Полное доменное имя указывает на IP-адрес вашего сервера.

Установка веб-сервера Httpd

В этом руководстве вы запустите диспетчер паролей SysPass с веб-сервером Apache или httpd. В Rocky Linux веб-сервер httpd доступен по умолчанию в репозиториях BaseOS и AppStream.

Вы легко установите веб-сервер httpd через официальный репозиторий Rocky Linux.

Запустите приведенную ниже команду dnf, чтобы установить веб-сервер httpd.

sudo dnf install httpd

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

После установки httpd запустите приведенную ниже команду systemctl, чтобы запустить и включить службу httpd. Команда systemctl enable позволяет запускать службы при загрузке системы.

sudo systemctl start httpd
sudo systemctl enable httpd

Теперь выполните следующую команду, чтобы проверить состояние службы httpd и убедиться, что служба работает.

sudo systemctl status httpd

Вы получите вывод, как показано на следующем снимке экрана. Служба httpd в настоящее время работает и включена.

Теперь, если на вашем сервере Rocky Linux установлен и работает firewalld, вы должны добавить службы HTTP и HTTPS в файл firewalld.

Выполните приведенную ниже команду firwewall-cmd, чтобы добавить службу HTTP и HTTPS в файл firewalld.

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

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

sudo firewall-cmd --reload
sudo firewall-cmd --list-services

Вы должны увидеть вывод службы HTTP и HTTPS, добавленный в файл firewalld.

Установка сервера MariaDB

Менеджер паролей SysPass поддерживает MySQL или MariaDB для базы данных. На этом шаге вы установите MariaDB и защитите ее с помощью команды mysql_secure_installation.

mysql_secure_installation — это командная строка, предоставляемая пакетами MariaDB, которая позволяет вам настроить установку MariaDB, например, установить пароль root, отключить удаленный вход для пользователя root, удалить анонимного пользователя и протестировать базу данных.

Чтобы установить MariaDB, выполните следующую команду dnf. Когда будет предложено подтвердить установку, введите Y и нажмите ENTER, чтобы продолжить.

sudo dnf install mariadb-server

После установки MariaDB запустите и включите службу MariaDB с помощью команды systemctl ниже.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Теперь проверьте службу MariaDB, чтобы убедиться, что служба включена и работает.

sudo systemctl status mariadb

Вы должны увидеть, что выходные данные службы MariaDB включены и будут запускаться автоматически при загрузке системы. И статус службы MariaDB работает.

Теперь, когда служба MariaDB запущена, пришло время защитить развертывание MariaDB с помощью mysql_secure_installation.

Выполните следующую команду, чтобы защитить развертывание MariaDB.

sudo mysql_secure_installation

Теперь вам будет предложено указать следующие конфигурации сервера MariaDB:

  1. Изменить аутентификацию на unix_socket? введите n для нет.
  2. Изменить корневой пароль MariaDB? введите y для подтверждения, затем введите новый пароль для корневого пользователя MariaDB.
  3. Отключить удаленный вход для пользователя root? введите y для да.
  4. Удалить анонимного пользователя? ввод у.
  5. Удалить тест базы данных по умолчанию? введите Y снова.
  6. Наконец, перезагрузить права доступа к таблицам и применить новые настройки? введите y для подтверждения.

Теперь вы установили и защитили MariaDB на своем сервере.

Установка PHP

После установки MariaDB вы установите PHP на свой сервер Rocky Linux. Для SysPass Password Manager требуется установленный PHP 7.4, поэтому теперь вы установите его через репозиторий REMI.

Для Rocky Linux 8 — выполните следующую команду, чтобы добавить репозиторий REMI.

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Для Rocky Linux 9 — выполните следующую команду, чтобы добавить репозиторий REMI.

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm

Введите y, когда будет предложено подтвердить установку.

Теперь запустите приведенную ниже команду dnf, чтобы проверить список доступных пакетов PHP. И вы должны увидеть, что репозиторий REMI предоставляет несколько версий PHP 7.4, 8.0, 8.1 и 8.2.

sudo dnf module list php

Для установки SysPass вам потребуется установить PHP 7.4. Итак, выполните следующую команду, чтобы включить модуль PHP remi-7.4. Введите Y, чтобы подтвердить и включить модуль.

sudo dnf module enable php:remi-7.4

Теперь запустите следующую команду dnf, чтобы установить PHP 7.4 в вашу систему.

sudo dnf install -y php php-pear php-cgi php-cli php-common php-gd php-json php-mysql php-readline php curl php-intl php-ldap php-mcrypt php-xml php-mbstring php-zip

Должна начаться установка, и вам будет предложено подтвердить установку. Введите y и нажмите ENTER, чтобы продолжить.

После установки PHP отредактируйте файл конфигурации по умолчанию /etc/php.ini, используя следующую команду.

sudo nano /etc/php/7.4/apache2/php.ini

Измените конфигурацию PHP по умолчанию со следующими настройками. обязательно настройте часовой пояс и memory_limit в соответствии с вашей системной средой.

post_max_size = 120M
upload_max_filesize = 120M
max_execution_time = 6000
memory_limit = 256M
date.timezone = Europe/Stockholm

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

Теперь выполните следующую команду systemctl, чтобы перезапустить службу httpd и применить конфигурации PHP. Итак, вы завершили базовую установку LAMP Stack для SysPass Password Manager.

sudo systemctl restart httpd

Установка Композитора

Еще одна зависимость, необходимая для SysPass, — Composer. Это будет использоваться для установки зависимостей PHP для веб-приложения SysPass.

Выполните следующую команду, чтобы установить Composer на ваш компьютер с Rocky Linux.

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer

Ниже вы получите вывод:

Теперь проверьте Composer с помощью приведенной ниже команды. Вы должны увидеть версию PHP Composer, которая установлена в вашей системе.

sudo -u apache composer -v

После установки Composer вы начнете установку SysPass.

Установка менеджера паролей SysPass

Для начала запустите следующую команду dnf, чтобы установить git и разархивировать пакеты в вашу систему.

sudo dnf install git unzip -y

Теперь загрузите исходный код SysPass с помощью команды git в целевой каталог установки /var/www/syspass.

git clone https://github.com/nuxsmin/sysPass.git /var/www/syspass

Выполните следующую команду, чтобы изменить владельца и права доступа к каталогу установки SysPass. Владельцем должен быть пользователь apache, на котором работает httpd.

sudo chown -R apache:apache /var/www/syspass
sudo chmod 750 /var/www/syspass/app/config /var/www/syspass/app/backup

Затем выполните следующую команду, чтобы создать каталог кеша для Composer. Затем измените владельца на пользователя apache. Этот каталог будет использоваться для хранения зависимостей PHP для вашего приложения.

sudo mkdir -p /usr/share/httpd/.cache
sudo chown -R apache:apache /usr/share/httpd/.cache

Наконец, перейдите в каталог установки SysPass /var/www/syspass и установите зависимости PHP для SysPass с помощью приведенной ниже команды composer.

cd /var/www/syspass
sudo -u apache composer install --no-interaction --no-dev

На следующем снимке экрана вы увидите установку зависимостей PHP для диспетчера паролей SysPass.

После установки зависимостей PHP перейдите к следующему шагу.

Настройка SELinux

Если вы используете SysPass с SELinux в принудительном режиме, вы должны добавить в свою систему новое правило SELinux.

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

sudo dnf install policycoreutils-python-utils -y

После этого выполните следующую команду, чтобы добавить политику SELinux, которая будет использоваться SysPass.

В этой команде вы разрешаете службе httpd подключаться к LDAP через сеть (при использовании аутентификации LDAP), а также указываете правильную метку для исходного кода SysPass.

sudo setsebool -P httpd_can_connect_ldap 1
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/syspass/app/(config|backup|cache|temp)(/.*)?"
sudo restorecon -R -v /var/www/syspass

Настройка виртуального хоста Httpd

Теперь вы настроите виртуальный хост httpd/apache2 для менеджера паролей SysPass. прежде чем начать, убедитесь, что у вас есть SSL-сертификаты, а доменное имя указывает на IP-адрес вашего сервера.

Запустите следующую команду dnf ниже, чтобы установить пакет mod_ssl для веб-сервера httpd.

sudo dnf install mod_ssl -y

После установки mod_ssl выполните следующую команду, чтобы сгенерировать SSL-сертификаты для локального хоста. Вы должны сгенерировать этот сертификат, иначе httpd не запустится. Эти сертификаты используются локальным хостом в конфигурации /etc/httpd/conf.d/ssl.conf.

sudo openssl req -newkey rsa:4096  -x509  -sha512  -days 365 -nodes -out /etc/pki/tls/certs/localhost.crt -keyout /etc/pki/tls/private/localhost.key

Затем создайте новую конфигурацию виртуального хоста /etc/httpd/conf.d/syspass.conf, используя следующую команду редактора nano.

sudo nano /etc/httpd/conf.d/syspass.conf

Добавьте следующую конфигурацию в файл. А также обязательно измените доменное имя и путь SSL-сертификатов.

#
# File: syspass.conf
#

RedirectMatch "^/$" "/index.php"

<Directory "/var/www/syspass">
    DirectoryIndex index.php
    Options -Indexes -FollowSymLinks -Includes -ExecCGI

    <RequireAny>
      Require expr "%{REQUEST_URI} =~ m#.*/index\.php(\?r=)?#"
      Require expr "%{REQUEST_URI} =~ m#.*/api\.php$#"
      Require expr "%{REQUEST_URI} =~ m#^/?$#"
    </RequireAny>
</Directory>

<FilesMatch ".(png|jpg|js|css|ttf|otf|eot|woff|woff2|ico)$">
    Require all granted
</FilesMatch>

<VirtualHost *:80>
  ServerName syspass.hwdomain.io

  ServerAdmin
    DocumentRoot /var/www/syspass

    ErrorLog /var/log/httpd/error.log
    CustomLog /var/log/httpd/access.log combined

    SSLEngine on

    SSLCertificateFile        /etc/letsencrypt/live/syspass.hwdomain.io/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/syspass.hwdomain.io/privkey.pem

    <FilesMatch "\.(cgi|shtml|phtml|php)$">
              SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory /usr/lib/cgi-bin>
              SSLOptions +StdEnvVars
    </Directory>

    BrowserMatch "MSIE [2-6]" \
      nokeepalive ssl-unclean-shutdown \
      downgrade-1.0 force-response-1.0
    # MSIE 7 and newer should be able to use keepalive
    BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
  </VirtualHost>
</IfModule>

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

Теперь выполните следующую команду, чтобы проверить конфигурацию httpd и убедиться, что у вас есть правильные конфигурации httpd.

sudo apachectl configtest

Если у вас есть правильные и правильные конфигурации httpd, вы увидите выходное сообщение, такое как Syntax OK.

Наконец, запустите приведенную ниже команду systemctl, чтобы перезапустить службу httpd и применить новые изменения. Теперь ваш менеджер паролей SysPass установлен и готов к настройке.

sudo systemctl restart httpd

Конфигурация менеджера паролей SysPass

Откройте веб-браузер и перейдите на доменное имя вашей установки SysPass (например, https://syspass.hwdomain.io).

Теперь вам нужно будет создать нового пользователя-администратора и пароль для вашего SysPass. Затем введите новый мастер-пароль. Обязательно используйте надежные и легко запоминающиеся пароли администратора и мастер-пароли.

На нижней странице введите имя пользователя базы данных как root и введите свой пароль. Затем введите имя базы данных, которое будет автоматически создано программой установки SysPass.

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

Когда будете готовы, нажмите \УСТАНОВИТЬ\, чтобы начать установку SysPass.

После установки SysPass вы получите страницу входа в SysPass Password Manager.

Введите имя пользователя и пароль администратора, затем нажмите кнопку входа.

Если вы используете правильного пользователя и пароль, вы увидите панель управления SysPass Password Manager.

Теперь вы можете добавлять новых пользователей и группы, импортировать пароли базы данных из файлов CSV или файлов базы данных Kepass, а также интегрировать аутентификацию через LDAP.

Заключение

В этом руководстве вы установили и настроили диспетчер паролей SysPass в Rocky Linux. Вы также установили стек LAMP (Apache2/httpd, MariaDB и PHP) и Composer на свой сервер Rocky Linux.

Установив и защитив SysPass, вы можете использовать его в качестве ежедневного менеджера паролей. или вы можете добавить больше пользователей для вашей внутренней организации.