Как ни как, а использовать TeamPass в локальной сети с одним лишь входом вида http://IP&DNS — не правильно и к тому же угроза безопасности, т. к. трафик передается не шифрованном виде. А значит нужно настроить доступ в Webинтерфейс через защищенный протокол https. Сертификат буду использовать самоподписанный если организация купила настоящий wildcard сертификат для своего доменного имени то тут проще. Не будет предупреждения перед URL-адресом что «Не защищено«. Но это лишь удобство. Вы ведь ни в коем случае не выставляете сервис в интернет, т.к. сервис TeamPass кладезь доступ к информационным системам вверенным в Ваше администрирование. Ну по крайней мере это мое видение.

Заметка следует после ранее опубликованной «Установка и настройка Teampass в Ubuntu 18.04»

Шаг №1: Создаю сертификат

ekzorchik@srv-bionic:~$ openssl req -new -x509 -days 3650 -keyout $HOSTNAME.key -out $HOSTNAME.pem -subj '/CN=172.33.33.20'
Can't load /home/ekzorchik/.rnd into RNG
140579231465920:error:2406F079:random number generator:RAND_load_file:Cannot open file:../crypto/rand/randfile.c:88:Filename=/home/ekzorchik/.rnd
Generating a RSA private key
.................................+++++
...........................................+++++
writing new private key to 'srv-bionic.key'
Enter PEM pass phrase: ввожу пароль 712mbddr@
Verifying - Enter PEM pass phrase: 712mbddr@
-----
ekzorchik@srv-bionic:~$
ekzorchik@srv-bionic:~$ cp srv-bionic.key{,.orig}
ekzorchik@srv-bionic:~$ openssl rsa -in srv-bionic.key.orig -out srv-bionic.key
Enter pass phrase for srv-bionic.key.orig: 712mbddr@
writing RSA key
ekzorchik@srv-bionic:~$

ekzorchik@srv-bionic:~$ rm srv-bionic.key.orig

ekzorchik@srv-bionic:~$ sudo cp srv-bionic.pem /etc/ssl/certs

ekzorchik@srv-bionic:~$ sudo cp srv-bionic.key /etc/ssl/private/

ekzorchik@srv-bionic:~$ sudo chmod 0600 /etc/ssl/private/srv-bionic.key

ekzorchik@srv-bionic:~$ rm srv-bionic.key srv-bionic.pem

Шаг №2: Изменяю настройки Webсервиса:

ekzorchik@srv-bionic:~$ sudo rm /var/www/html/index.html

ekzorchik@srv-bionic:~$ sudo apt-get install -y apache2-ssl-dev

ekzorchik@srv-bionic:~$ sudo a2ensite
Your choices are: teampass
Which site(s) do you want to enable (wildcards ok)?

ekzorchik@srv-bionic:~$

ekzorchik@srv-bionic:~$ sudo a2dissite teampass

ekzorchik@srv-bionic:~$ sudo rm /etc/apache2/sites-available/teampass.conf

ekzorchik@srv-bionic:~$ sudo a2enmod alias

ekzorchik@srv-bionic:~$ sudo nano /etc/apache2/sites-available/000-default.conf
<Virtualhost *:80>
Redirect / https://172.33.33.20/
</VirtualHost>

ekzorchik@srv-bionic:~$ sudo a2ensite 000-default.conf

ekzorchik@srv-bionic:~$ sudo a2enmod headers

ekzorchik@srv-bionic:~$ sudo a2enmod ssl

ekzorchik@srv-bionic:~$ sudo nano /etc/apache2/sites-available/teampass-ssl.conf

<IfModule mod_ssl.c>
<VirtualHost _default_:443>
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains; preload"
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
<Directory "/var/www/html">
Options -Indexes -FollowSymLinks
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

SSLEngine on
#disable protocol sslv2
SSLProtocol all -SSLv2
SSLCertificateFile /etc/ssl/certs/srv-bionic.pem
SSLCertificateKeyFile /etc/ssl/private/srv-bionic.key

<Directory /var/www/html/teampass>
AllowOverride All
</Directory>

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

ekzorchik@srv-bionic:~$ sudo a2ensite teampass-ssl.conf

ekzorchik@srv-bionic:~$ sudo apache2ctl configtest
Syntax OK

ekzorchik@srv-bionic:~$ sudo systemctl restart apache2

При обращении на http://172.33.33.20 перекидывает на https://172.33.33.20

Доступ к корню / запрещен

указав к URL адресу teampass, URL примет вид https://172.33.33.20/teampass откроется Web-интерфейс на доступ в TeamPass:

Доступ к TeamPass закрыт самоподписанным сертификатом

Теперь нельзя перехватить пароль авторизации в Web-интерфейсе TeamPass, доступ защищен самоподписанным сертификатом. В целом это то что мне было нужно.

Почему я сделал что у меня не сразу открывается TeamPass, а все потому что на эту заготовку я могу навесить еще сервисы нужные мне на этом сервере, к примеру: FOG, Asterisk (+ Asterisk CDR Viewer) и т.д или сделав страницу index.html где будут созданы гиперссылки на мои сервисы. Как-то так.

Заметка работоспособна и используется у меня, как в локальной сети так и на работе. На этом я прощаюсь, с уважением автор блога Олло Александр aka ekzorchik.