ServerAdmin.ru
28.9K subscribers
305 photos
35 videos
13 files
2.63K links
Авторская информация о системном администрировании.

Информация о рекламе: @srv_admin_reklama_bot
Автор: @zeroxzed

Второй канал: @srv_admin_live
Сайт: serveradmin.ru
Download Telegram
​​Менеджер паролей Bitwarden

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

Ставится относительно быстро и просто, так как все в докере и запускается через docker-compose. Подробная инструкция на сайте - https://bitwarden.com/help/article/install-on-premise/ Можно даже на винду поставить и должно нормально работать. В качестве базы данных там mssql. Из трудностей только то, что нельзя потестить без настройки подключения к smtp серверу. Чтобы зарегистрироваться даже в своей локальной веб панели, необходимо отправить себе на почту email с подтверждением регистрации.

После этого можно ставить расширение в браузер, приложение на смартфон и везде использовать свои пароли, подключившись к своему серверу. Продукт open source, исходники на github - https://github.com/bitwarden. Там все - сам сервер, приложения на десктопы и смартфоны, расширения для браузера. Если сильно переживаете за сохранность паролей, можете сами все проверить и собрать.

Бесплатных аналогов подобной штуки лично я вообще не знаю. Если кто-то пользовался, поделитесь тем, как оно. На вид все круто и удобно. Только сервер нужен, смотрящий в интернет, если хочется отовсюду иметь доступ к паролям. А это уже как-то не очень безопасно. Либо только через vpn открывать. Больше всего интересно, насколько это удобно в одновременном использовании разными людьми для совместного доступа к паролям.

Забыл добавить, что помимо self-hosted версии, есть и облачная. Но советовать не могу. Сам не доверяю такому формату хранения паролей. Даже в браузерах их не сохраняю.

#password
​​TeamPass - веб-портал для совместного хранения паролей. По своей сути это обычное web приложение на php. Исходники открыты - https://github.com/nilsteampassnet/TeamPass, что важно для программ такого рода. Уточняю, что это именно для командной работы и совместного доступа. Одиночному пользователю нет никого смыла в этом приложении.

Официальный сайт - https://teampass.net/
Документация - https://teampass.readthedocs.io/en/latest/
Есть поддержка русского языка.

Чтобы быстро посмотреть и попробовать, можно запустить в докере:

docker run --name teampass -d --restart always -v /var/teampass-data/www:/var/www/html -v /var/teampass-data/php_session:/var/php/session -p 9501:80 teampass/teampass

Выглядит неказисто, но программ подобного рода не так много, особенно бесплатных и с открытыми исходниками. В комментариях к заметкам о хранении паролей неоднократно упоминали этот инструмент. Сам я его не пробовал. Для небольших команд мне всегда хватало файла keepass на каком-то сетевом хранилище с совместным доступом. Но понятно, что у этого способа много минусов, а плюс только один - простота.

Для тех, кто будет пользоваться, напоминаю, что подобные приложения обязательно закрывать от внешнего доступа, желательно по спискам IP или хотя бы Basic Auth. Доверять только внутренней аутентификации пользователей нельзя.

#password
​​Ранее я касался темы менеджеров паролей, когда рассказывал про TeamPass и Bitwarden. В комментариях надавали кучу ссылок и других продуктов из этой же тематики. Наконец-то дошли руки, и я решил рассмотреть их все. Речь пойдет о менеджерах паролей для командной работы.

Начну с Syspass. Это бесплатная система управлением паролями, написанная на php. Код открыт и доступен на github. Основной функционал, который требуется от подобной системы есть: шифрование, двухфакторная авторизация, управление пользователями и группами, интеграция с ad и ldap, api, аудит событий. На вид система вполне зрелая, большое сообщество. Доступен импорт паролей из KeePass! Есть русский язык.

📌 Ссылки:
Сайт - https://www.syspass.org/
Github - https://github.com/nuxsmin/sysPass
Документация - https://syspass-doc.readthedocs.io/
Demo - https://demo.syspass.org/

Для знакомства проще всего запустить всё в докере. Есть готовый docker-compose (также есть deb и rpm пакеты):
# wget https://raw.githubusercontent.com/nuxsmin/docker-syspass/master/docker-compose.yml
# docker-compose -p syspass up -d

После запуска переходим на порт 49154 по https и создаём админскую учётку. В качестве пароля бд используется syspass, адрес сервера бд - syspass-db, по имени запущенного контейнера с базой данных.

Можно логиниться в систему и настраивать ее. Русский интерфейс неинтуитивен, лучше английскую версию использовать. Есть поддержка плагинов, но я не понял, где их можно взять.

#password
​​Продолжаю тему хранения паролей для командной работы. На этот раз речь пойдет про известный сервис passbolt. У него современный веб интерфейс и стандартный набор возможностей для подобных программ:

Возможность установки на своем сервере
Доступ к сервису на основе пользователей и групп
Импорт, экспорт в csv, xls, kdbx (формат keepass)
Расширение для браузера, встроенный CLI
Работа с сервисом через Open API

Passbolt есть в бесплатной редакции и платной с дополнительным набором возможностей, таких как интеграция с ldap, тэгирование записей, лог событий, поддержка и некоторые другие возможности.

Установка. Клонируем репозиторий с docker-compose:
# git clone https://github.com/passbolt/passbolt_docker
# cd passbolt_docker
Открываем файл env/passbolt.env и обязательно указываем ваш url. Без этого ничего не заработает. Я указал просто ip адрес тестовой машины:
APP_FULL_BASE_URL=https://192.168.13.171
После этого запускаем контейнеры:
# docker-compose -d docker-compose.yml up

Дожидаемся запуска и создаем администратора, не выходя из директории репозитория, откуда запущен docker-compose.
# docker-compose exec passbolt su -m -c "/usr/share/php/passbolt/bin/cake \
                passbolt register_user \
                -u <your@email.com> \
                -f <yourname> \
                -l <surname> \
                -r admin" -s /bin/sh www-data
Не забудьте указать свои данные. В консоль вам будет выдана некоторая информация, в том числе ссылка, вида:
https://192.168.13.171/setup/install/27942498-8aa3-4587-b105-1092d4c0c864/e3f1dc15-1b4e-4264-84c4-e480b96bf4c1
По ней нужно пройти и активировать учётную запись. Для этого нужно будет установить официальное расширение для браузера. После этого окажитесь в системе и можете начинать ей пользоваться.

Из всех систем, что я тестировал ранее, passbolt понравился больше всего. Тут и интерфейс современный, удобный. Живой проект с большим сообществом, хорошей документацией. Есть платная версия, которая теоретически должна обеспечивать поддержку и развитие проекта.

Сайт - https://www.passbolt.com/
Github - https://github.com/passbolt/passbolt_api
Demo - https://www.passbolt.com/cloud/signup
Документация - https://help.passbolt.com/

#password
​​Продолжаю обзор бесплатных self-hosted решений для командной работы с паролями. Сегодня речь пойдёт о psono. Я много раз слышал его упоминание в комментариях к предыдущим статьям этой серии, так что решил посмотреть на него.

Это полностью open source проект. Доступны исходники мобильных и обычных клиентов, а также сервера. Есть 2 редакции: Community Edition (CE) и Enterprise Edition (EE). Первая без ограничений, но функционал беден. Нет ни интеграции ldap, ни логов аудита. Редакция EE все это имеет, но бесплатна только для 10-ти пользователей. Дальше уже нужно лицензии на каждого пользователя приобретать.

Из особенностей psono я заметил возможность встроенной интеграции с файловым хранилищем на базе различных технологий (s3, ftp, sftp и т.д.) для хранения зашифрованных файлов. Причём можно не только подключать что-то стороннее, но и поднимать свой psonofileserver с функционалом HA и Failover. Было удивительно всё это видеть в данном продукте. Если кто-то все это настраивал и использовал, то скажите, что это за решение. В чём его смысл и стоит ли пользоваться. Я не стал тратить время на его настройку и проверку.

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

Сам psono достаточно просто поднимается в Docker. Но перед этим ему нужна будет база данных Postgres. Я сначала начал всё это настраивать у себя, но когда поднял сервер, понял, что он выполняет роль только бэкенда. Далее нужно ставить отдельно клиент для администрирования (веб панель) и для пользователей (веб панель или приложение). Понял, что муторно всё это делать, и пошел регистрироваться в Demo. Там и посмотрел, как всё выглядит на практике.

Сначала прохладно отнёсся к psono, но потом, когда вник в его структуру и особенности, он мне показался весьма интересным. Распределённая структура приложения будет скорее плюсом, чем минусом, особенно для больших распределённых команд. Удобнее настроить и ограничить доступ. Да и в целом разделение бэкенда и фронта для подобного продукта выглядит разумным подходом.

Сайт - https://psono.com/
Документация - https://doc.psono.com/
DockerHub - https://hub.docker.com/r/psono/psono-server/
Исходники - https://gitlab.com/psono
Demo - https://www.psono.pw/

#password #selfhosted
​​Рассказываю про еще один инструмент для совместного хранения и использования паролей - KeePassXC. Это бесплатный мультиплатформенный форк известного KeePass, который я использую для своих паролей. Но при этом в KeePassXC есть уникальный функционал под названием KeeShare.

С помощью KeeShare вы можете один и тот же файл с паролями, к которому есть общий доступ, открыть в разных клиентах KeePassXC. При этом есть возможность ограничивать доступ, настраивать параметры синхронизации этого файла. Он может быть доступен для остальных в режиме только чтения или обоюдной синхронизации.

Я попробовал этот функционал. Настраивается просто. Положил файл с паролями на сетевой диск, подключил его к разным клиентам как отдельную папку в существующем локальном хранилище. Одному в режиме записи, второму - чтения.

Внешний вид KeePassXC лично мне не понравился по сравнению с классическим KeePass. Но тут уж выбирать не приходится. Подобных возможностей лично я ни в одной другой программе (не сервисе) для хранения паролей не видел. Приходилось просто на общий диск класть файл и кричать на весь кабинет, чтобы отпустили файл, когда в него что-то записать нужно было.

Сайт - https://keepassxc.org/
Исходники - https://github.com/keepassxreboot/keepassxc

#password
​​Хочу напомнить, что у меня есть подборка open source программ для группового хранения паролей. Писал её довольно давно, так что многие могли не видеть. Решил освежить тему и добавить кое-что новое.

Обзоры можно посмотреть по тэгу #password. Вот список программ, про которые писал:

Bitwarden
TeamPass
Syspass
Passbolt
Psono
KeePassXC

По моим представлениям, самым популярным решением в этой области является Bitwarden. Многие ругают Bitwarden за то, что он тяжёлый и медленный, поэтому появился более легковесный форк, написанный на Rust - Vaultwarden. Раньше он назывался Bitwarden_RS, но авторы переименовались, чтобы не было путаницы, так как Vaultwarden напрямую с Bitwarden никак не связан.

Vaultwarden полностью копирует серверное API Bitwarden, так что все стандартные клиенты без проблем могут с ним работать. То есть это полная копия исходного сервера, которая требует меньше ресурсов для работы, и даёт более низкий отклик серверной части.

Поставить и попробовать проще всего через Docker:
# docker run -d --name vaultwarden -v /vw-data/:/data/ \
-p 80:80 vaultwarden/server:latest

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

Если есть желание, можно собрать и поставить без Docker, но придётся немного повозиться. Нужно будет поставить Mysql или Postgresql, Rust, и собрать всё это в Cargo. Потом подготовить конфиг, написать unit для systemd. Так себе затея. В данном случае с докером гораздо проще и быстрее.

Исходники / DockerHub

#password
🔐 Где хранить пароли компании?

Используйте Пассворк — единственный менеджер паролей в реестре российского ПО.

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

• Тонкая настройка прав доступа
• Отчеты о действиях каждого пользователя
• Поддержка LDAP / AD
• Авторизация с помощью SAML SSO
• Интеграция с помощью API
• История изменений паролей

Протестировать можно тут — passwork.ru

#реклама #password
Для хранения и командной работы с паролями есть не очень большой набор более-менее известных бесплатных программ. Я в своё время рассматривал и описывал некоторые из них.

▪️ Bitwarden
▪️ TeamPass
▪️ Syspass
▪️ Passbolt
▪️ Psono
▪️ KeePassXC
▪️ Vaultwarden

Наиболее популярным решением является Bitwarden и его форк Vaultwarden. Причём последний превзошёл по своей популярности и удобству первоисточник. Он более легковесный, а сейчас уже и функциональный, так как вобрал в себя часть возможностей платной версии Bitwarden.

Из того, что я не описывал, есть Padloc, который смотрится неплохо, но я ни разу не видел упоминаний и отзывов о нём. Если кто-то пользовался, поделитесь впечатлением, стоит ли его рассматривать.

Так что если подыскиваете что-то self-hosted для себя или небольшой команды, и не хочется пробовать разные вещи, то берите сразу Vaultwarden. Ну а если есть время и желание, то посмотрите всё описанное. В публикациях есть и инструкции для быстрого запуска, и отзывы пользователей в комментариях.

#password #подборка
Среди решений по совместному хранению паролей есть ещё один open source продукт, который заслуживает внимание. Речь пойдёт про российский Bearpass. Это собственная разработка российской компании, которая имеет бесплатную self-hosted версию с открытым исходным кодом, что не характерно для российских продуктов. Не часто с этим сталкиваешься, поэтому я решил подсветить продукт и обратить на него внимание. Он присутствует в реестре отечественного ПО.

Основные возможности программы плюс-минус как у всех подобных продуктов.

🟢 Возможности бесплатной версии:

◽️роли и группы пользователей
◽️журналирование и контроль действий пользователей
◽️двухфакторная 2FA-авторизация
◽️проверка паролей на компрометацию через публичные базы данных
◽️администратор системы не видит пароли пользователей

🟡 Платная версия:

▪️расширения для браузеров
▪️ предоставление паролей через временные или постоянные ссылки
▪️поддержка SSO и LDAP
▪️API

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

Посмотреть на продукт можно в публичном demo:

https://demo.bearpass.ru

Учётка: admin@demo.bearpass.ru / password.

Можно установить на своём сервере. Как обычно, проще всего это сделать через Docker, но есть возможность сделать это и вручную, так как продукт на писан на PHP и работает на стандартном стеке nginx + php-fpm + postgresql. Показываю, как быстро запустить через Docker:

# adduser bearpass
# passwd bearpass
# usermod -aG docker bearpass
# mkdir /opt/bearpass
# chmod -R 700 /opt/bearpass
# chown -R bearpass:bearpass /opt/bearpass
# su - bearpass
$ git clone https://git.bearpass.ru/bear-pass /opt/bearpass/app
$ git clone https://github.com/BearPass/Docker-core.git /opt/bearpass/docker
$ cd /opt/bearpass/docker
$ cp .env.example .env

Заполняем инвентарь в файле .env. У меня он получился вот такой для тестового сервера:

DATABASE_PASSWORD=password
BEARPASS_URL=localhost
BEARPASS_PORT=80
BEARPASS_SSL_PORT=443
BEARPASS_FULL_URL=http://10.20.1.36
USER_ID=1001
GROUP_ID=1001

1001 - id пользователя bearpass в системе. Посмотреть так:

# su - bearpass
$ id
uid=1001(bearpass) gid=1001(bearpass) groups=1001(bearpass),996(docker)

Запускаем проект:

# docker compose up -d

Дожидаемся запуска и создаём первого пользователя-администратора:

# docker compose exec -u www-data app sh -c "cd /var/www/bearpass && php artisan make:user"

Заполняете данные пользователя и логинитесь под ним в систему, зайдя по ip адресу сервера, где развернули bearpass.

☝️ У программы есть облачная версия BearPass Cloud. Для личного использования одним человеком она полностью бесплатна, так что можно без проблем попробовать, если не хочется разворачивать на своём сервере. Данные пользователя шифруются мастер-паролем. Техническая реализация описана на отдельный странице.

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

#password #отечественное

🦖 Selectel — дешёвые и не очень дедики с аукционом!
Please open Telegram to view this post
VIEW IN TELEGRAM