ServerAdmin.ru
26.7K subscribers
203 photos
24 videos
8 files
2.49K 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