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

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

Второй канал: @srv_admin_live
Сайт: serveradmin.ru
Download Telegram
​​Расскажу вам про отличную бесплатную Open Source систему контроля доступа к сервисам и системам - Teleport. Она очень функциональная, кроссплатформенная, немного навороченная. Попробую кратко рассказать принцип работы.

Допустим, у вас есть какой-то веб сервис и полноценный сервер в закрытой сети. Вы не хотите открывать к ним доступ извне. Вам нужно точечно выдавать права к этим ресурсам различным пользователям. Есть вариант организовать это с помощью VPN, но это решение сетевого уровня. В то время как Teleport обеспечивает доступ на уровне сервисов.

Вы разворачиваете какой-то сервер в интернете, привязываете к нему DNS имя. Устанавливаете туда сервер Teleport. Добавляете все свои внутренние ресурсы, к которым хотите настроить доступ. Добавляете пользователей и назначаете им права доступа. Далее на целевых серверах ставите Teleport и связываете его с сервером и ресурсами, которые туда добавили.

Теперь централизованно можете управлять доступом к своим внутренним ресурсам. При этом ведётся лог подключений. В качестве ресурсов могут выступать: ssh подключения к серверам, доступ к kubernetes, к базам данных, к десктопным системам (в т.ч. windows по rdp), к отдельным приложениям (gitlab, grafana и т.д.).

Доступ к серверу Teleport и ресурсам осуществляется через браузер. Можно включить двухфакторную аутентификацию. Доступ к SSH может осуществляться как через web, так и с помощью локального приложения со своим cli. Выглядит это примерно так:
# tsh login --proxy=tp.site.com --user=sysadmin

Я систему не разворачивал и не использовал. Изучил сайт, документацию, видео. На вид выглядит очень круто. Можно закрыть вопросы как подключений администраторов для управления всего и всем, так и пользователей к своим компьютерам и терминальным серверам. Компания, которая разработала и поддерживает Teleport, зарабатывает на поддержке и облачной версии. За счёт этого Community версия выглядит очень неплохо. Каких-то ограничений я не нашёл.

Аналог этой системы я описывал ранее - Trasa. Teleport показался более функциональным, удобным, с хорошей документацией.

Сайт - https://goteleport.com/
Исходники - https://github.com/gravitational/teleport
Обзор - https://www.youtube.com/watch?v=6ynLlAUipNE

#remote #управление #devops
​​Один подписчик поделился информацией о программе для учёта компьютерного оборудования в компании - Hardware Inspector. Я с удивлением вспомнил, что эту программу хорошо знаю, потому что покупал её и активно использовал, но давно. Решил написать по ней заметку.

Hardware Inspector из далёкого прошлого, но до сих пор активно развивается, судя по новостям с обновлениями. Выглядит очень старомодно и, возможно, отталкивающе в наше время. Тем не менее, она реально очень функциональна и способна эффективно решать поставленные задачи.

Как использовал эту программу я? У меня была идея качественно разобрать и упорядочить всю подконтрольную мне технику, её управление, выдачу и перемещения. Не поленился и вручную завёл всю номенклатуру оборудования и расходников в эту программу. Создал структуру компании, людей, все рабочие месте и всю технику.

Hardware Inspector умеет автоматически заполнять информацию о железе и установленном ПО на рабочих местах с помощью интеграции с AIDA32 или ASTRA. Я Аиду использовал. Сама интеграция очень простая. AIDA с нужными ключами запускается на компе с помощью GPO при Logon, генерирует текстовый отчёт, записывает его в файл. Hardware Inspector читает этот файл.

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

Конкретно мне было очень удобно с этой программой. Я всегда знал, где что хранится, кому что выдано и когда. Если старый монитор лежал на складе, я всегда знал откуда он и почему туда попал. Перед бухгалтерией всё было прикрыто и вообще был порядок в бумагах и делах.

С внедрением программы придётся потрудиться и потратить какое-то время. С кондачка тут хорошего результата не будет.

📌 Особенности Hardware Inspector:

Локальное приложение под Windows (на Linux работает через Wine), веб версии нет.
База хранится в файле, его можно положить на сетевой диск и открывать из разных мест.
Лицензирование идёт по количеству объектов в базе.
Есть интеграция рабочих мест с AD, так что при желании можно всё автоматически развернуть и потом уже редактировать то, что получилось. Это быстрее, чем заводить с нуля.

❗️ Программа не бесплатная, но стоит не дорого. С покупкой и обоснованием не было каких-то проблем. Можно оплачивать каждый год по подписке или сразу купить бессрочную версию.

Сайт - https://www.hwinspector.com
Реестр ПО - https://reestr.digital.gov.ru/reestr/303504/

#управление #ITSM #отечественное
​​GestioIP - бесплатный open source продукт для управления IP адресации сетей и автоматического обнаружения сетевых устройств. Его можно отнести к IPAM (IPv4/IPv6 Address Management). Для сбора информации о сетевых устройствах используются протоколы ICMP и SNMP.

Программа представляет из себя обычное веб приложение, написанное на Perl. Для запуска требуется веб сервер, например Apache, и база данных Mysql. Поддерживаются все популярные Linux дистрибутивы. Для быстрой установки есть bash скрипт. Он ставит все необходимые пакеты, копирует конфиги, создаёт службу. Для быстрого запускать можно запустить всё в докер. Есть готовый контейнер или docker-compose для запуска всех сопутствующих служб разом.

📌 Основные возможности GestioIP:
 Всё управление через веб интерфейс.
 Интеграция с DNS и DHCP.
 Автообнаружение сетей, хостов, VLAN.
 Калькулятор подсетей, отображение свободных адресов и сегментов сети.
 Экспорт и импорт информации, в том числе в xls таблицы.

Как я уже сказал, GestioIP бесплатный продукт с открытым исходным кодом. Развивается за счёт платных модулей (API, управление конфигурациями) и технической поддержки.

Из особенностей GestioIP можно отметить интеграцию с OCS Inventory NG (бесплатное ПО для инвентаризации сети). С помощью Apache mod_auth можно настроить авторизацию в веб интерфейс через AD или другой LDAP.

Продукт довольно простой, в веб интерфейсе ничего лишнего. Заточен именно под управление IP адресами. Вот аналоги со схожим функционалом:
phpIPAM (программа исключительно для IPAM)
NetBox (IPAM не основной функционал)

Думал, что напишу больше список похожего ПО, но когда стал разбираться, понял, что для управления именно IP адресов особо и не знаю больше ничего.

Сайт / Исходники / Docker Hub / Docker Compose

#IPAM #управление #ITSM
​​Делюсь с вами малоизвестной, но полезной и функциональной находкой. Речь пойдёт про систему централизованного хранения и управления ключами для подключения по SSH к хостам - ssham. Я настроил её и разобрался, как с ней работать. Несмотря на то, что про ssham нет ни одного упоминания в интернете, кроме репозитория программы, она достойна внимания.

Идея ssham следующая. Вы устанавливаете её на любой Linux хост. Потом с её помощью через веб интерфейс управляете настройками подключения к другим хостам.

Для этого вы заходите в веб интерфейс ssham, добавляете туда хосты, пользователей, генерируете ключи. Для всего этого поддерживаются группы. А потом связываете ключи с пользователями, создаёте правила, кому на какой хост можно подключаться с помощью того или иногда ключа. Когда всё настроите, запускаете синхронизацию и ssham сам разложит по хостам нужные сертификаты, для которых настроено разрешение на подключение. Ключи можно как добавлять, так и отзывать/удалять.

Вы получаете централизованную систему хранения и управления доступами для SSH ключей. Теперь рассказываю, как её запустить. Документация очень скудная, мне пришлось довольно долго во всём самому разбираться. Поставить можно как напрямую на сервере, так и запустить в Docker. Для простоты описания, запустим всё в Docker.

Копируем репозитоий:
# git clone https://github.com/pacoorozco/ssham.git ssham
# cd ssham
Делаем копию файла с параметрами окружения:
# cp .env.example .env
Заходим в .env и комментируем строку:
#QUEUE_CONNECTION=database
Пока я этого не сделал, у меня не работала синхронизация ключей по хостам. Несколько часов потратил, пока разобрался.

Далее собираем и запускаем образы:
# export DOCKER_SSHAM_UID="$(id -u)"
# docker-compose build
# docker-compose up -d

Устанавливаем в контейнер app зависимости:
# docker-compose exec app composer install
Инициализируем БД и добавляем туда demo данные:
# docker-compose exec app php artisan key:generate 
# docker-compose exec app php artisan migrate:fresh --seed

Дальше идём в веб интерфейс по ip адресу и логинимся под superadmin / superadmin.

Логика работы с ssham следующая. Создаём SSH Key groups, добавляем SSH key и помещаем его в эту группу. Далее создаём Host group, добавляем Host и помещаем его в эту группу. В завершении создаём Rule, где указываем, что созданная SSH Key group имеет доступ к Host group. Или не имеет. Доступ можно как разрешить, так и запретить.

После того, как всё сделали, в Settings смотрим Public key сервера. Его нужно один раз самостоятельно распространить на управляемые хосты, добавив в ./ssh/authorized_keys. После этого идём в консоль сервера, где запущены контейнеры и выполняем синхронизацию:
# docker-compose exec app php artisan ssham:send

После этого на управляемых хостах ключи будут добавлены в authorized_keys. Теперь можно забрать приватные ключи из веб интерфейса и раздать пользователям.

Исходники

#ssh #devops #управление
​​Хочу вам напомнить про отличный продукт для совместной работы над проектами - YouTrack. Это образец качественного, удобного, продуманного программного обеспечения. Если не ошибаюсь, то использую YouTrack уже около 7-ми лет. С тех пор, как первый раз его увидел, неизменно выбираю для совместной работы. Его ещё называют баг-трекер, но мне кажется, он уже давно вырос в более масштабный продукт.

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

Чтобы вы сразу поняли на что похож YouTrack, приведу несколько аналогов - Jira (YouTrack мне видится в разы лучше), Wrike, Redmine, YouGile, Zendesk, условно и Битрикс24 сюда можно добавить, но он больше на бизнес завязан, а YouTrack на IT, поддержку и разработку.

Как я использую YouTrack? Сразу приведу пару примеров. Небольшой IT отдел из нескольких человек. В YouTrack заводятся все задачи (не заявки пользователей, это не для них), всё максимально подробно в них описывается, разбивается на проекты (поддержка, закупка, модернизация и т.д.). В итоге копится база знаний, плюс всегда готов список задач, которые выполняются. При желании даётся доступ руководству, чтобы не было вопросов на тему того, чем вы вообще занимаетесь. Я сначала работал в youtrack как человек, которому ставят задачи, потом сам стал использовать для управления подчинёнными. Удобно работать в обоих ролях. Причём я сам оценил удобство трекера, когда выполнял и описывал решение задач. Сам потом пользовался информацией.

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

Мне YouTrack нравится за удобство, скорость работы и внешний вид. Возможностей у него очень много и по началу трудно всё настроить и понять логику работы. Но я осилил в своё время, так что ничего невозможного. В SaaS версии с этим попроще, многое настроено за вас. Отдельно отмечу качество софта. Он легко разворачивается (работает на Java) на любой платформе, будь то Linux или Windows. Без проблем обновляется на новые версии. Отлично работает встроенный бэкап. Не надо особо заморачиваться с ним. Создаётся единый архив, который потом скармливается чистой установке. У меня ни разу не было проблемы с тем, чтобы бэкап не развернулся. Даже в SaaS версии можно сделать бэкап и потом развернуть его у себя на сервере. Делал так собственноручно, когда проект закрывался, но хотелось сохранить всю документацию по нему. Сделал бэкап и развернул его у себя на сервере.

Не буду рассказывать про установку своего сервера. Для того, чтобы посмотреть на YouTrack проще всего зарегистрироваться в облаке. А если понравится и будет необходимость, развернуть у себя. В документации всё описано.

Отдельно отмечу, что в YouTrack хорошая русификация. Можно смело использовать русский язык. Разработчики возможно русскоязычные, но это не точно, компания JetBrains международная, хоть и основана русскими в 2000-м году.

Сайт / Полномасштабный обзор (2 часа)

#управление_проектами
​​Познакомился с бесплатной системой управления бизнес процессами ELMA Community Edition. Хочу поделиться своими впечатлениями от неё. Подобный класс софта сейчас популярен и нужен практически любой компании. При этом не так просто его выбрать, сравнить, внедрить. Требуется потратить значительное количество времени, прежде чем станет понятно, подходит вам тот или иной продукт.

Я лично работал со многими подобными программами - 1С Документооборот, Битрикс24, Wrike, YouGile, Onlyoffice Workspace. ELMA CE полностью бесплатна без каких-либо условий и ограничений. По сути это реклама остальных продуктов компании с более широким функционалом. А там есть из чего выбирать. Компании ЭЛМА давно на рынке систем управления бизнес-процессами.

ELMA CE представляет из себя приложение под Windows. Работает на базе стека IIS, Asp, .Net Framework, БД PostgreSQL или MS SQL. Устанавливается через типовой установщик Windows. Каких-то сложностей с этим процессом нет. Единственное, лучше все компоненты, кроме PostgreSQL самостоятельно установить заранее. Ресурсов много не надо. Я запустил на виртуалке с 2 ядрами и 4 Гб памяти.

Работа с системой осуществляется через браузер, то есть это обычное веб приложение. Внешний вид пользовательского интерфейса простой, понятный, лаконичный. Мне понравился. С помощью бесплатной версии можно получить следующий функционал:
настройка и использование бизнес процессов, которые можно создавать в наглядном редакторе;
управление проектами, контрагентами;
календарь, события, задачи, то есть личный или командный органайзер;
база знаний, в программе раздел называется "справочник";
хранилище документов, общий доступ к ним, связывание с бизнес-процессами.

В общем и целом функционал для бесплатной версии более чем. Редактор процессов немного напомнил аналогичный в 1С документооборот. Возможности редактора большие. Это не просто система с каким-то последовательными действиями и стрелочками. Бизнес-процесс можно описать довольно сложно, с разными шагами, реакциями на те или иные действия, с отправкой уведомлений, с матрицей ответственности, подпроцессами и т.д. С пол тычка в системе не разобраться, придётся погружаться.

Могу точно сказать, что ELMA CE понравилась намного больше, чем тот же бесплатный Битрикс24, весьма популярный в народе. Часто с ним сталкиваюсь. Функционала по управлению процессами, подобно ELMA CE в других бесплатных системах не встречал. Тут может быть внешний вид не такой удобный и современный, как в Onlyoffice Workspace или Wrike, но возможностей по настройке процессов в них вообще нет.

В целом, система неплохая. Рассмотреть точно стоит, если подбираете что-то подобное. К тому же сделать это очень просто. Никаких проблем с установкой и запуском в работу нет. Софт российский, есть в реестре ПО.

Сайт / Реестр ПО / Подробный Обзор / Полное описание возможностей

#управление_проектами #crm #отечественное
​​Хочу вас познакомить с необычным продуктом, который не будет подходить для массового использования. Но в каких-то нестандартных задачах он может оказаться настоящей находкой, так как позволяет как конструктор собрать то, что нужно именно вам. Речь пойдёт про open source CMDB систему DataGerry.

Чтобы сразу было понятно, о чём пойдёт речь, поясню, что это аналог таких продуктов, как i-doit, iTop, Ralph и т. д. Основное отличие от перечисленных бесплатных продуктов в том, что в DataGerry нет вообще никаких преднастроек. По своей сути это конструктор, который позволяет на базе CMDB (Configuration Management Database) собрать готовую систему под конкретную задачу.

В DataGerry вы сможете сами создавать категории, в них разные типы данных со своей структурой и параметрами, а на основании типов данных добавлять объекты. Это не готовая программа по учёту техники в офисе, серверов в стойках, лицензий ПО и т. д. Вы можете в ней хранить всё, что угодно. Описать структуру какого-то своего склада, своей системы управления.

У DataGerry есть встроенный API, с помощью которого можно настраивать интеграции с внешними системами. Аутентификация по API происходит с помощью токенов, доступ к системе через web настраивается либо с помощью локальных пользователей и групп, либо через интеграцию с LDAP.

Помимо API DataGerry умеет взаимодействовать с внешними системами через встроенные ExternalSystems. Это готовые экспортёры данных. Их можно писать самому в виде плагинов, либо использовать что-то из готового. Например, есть экспортёры inventory для Ansible, DNS записей для веб панели Cpanel, объектов в CVS файлы, объектов в MySQL базы и т.д. Список можно в документации посмотреть. Отдельно отмечу встроенную возможность экспорта хостов в бесплатную систему мониторинга OpenNMS.

Попробовать DataGerry очень просто. Есть готовый docker-compose.yml. Достаточно его запустить и идти в веб интерфейс на стандартный 80-й или 443-й порт. Учётка - admin / admin. При первом входе вам предложат пройти небольшое обучение, чтобы понять, как тут создавать объекты.

Сайт / Исходники

#управление #ITSM
​​Сегодня расскажу вам про современный функциональный инструмент для управления парком рабочих станций и серверов с разными ОС. Речь пойдёт про Fleetdm. В рунете вообще не нашёл не то что информации по настройке, но даже упоминаний. Во всём разбирался сам на основе документации. Установил себе сервер и два управляемых хоста: Windows и Linux.

Fleetdm — это open source клиент-серверное приложение. Устанавливаете сервер, на управляемые хосты агенты. Поддерживаются системы: Windows, Linux, Macos. Раскатка агентов максимально простая — заранее готовится преднастроенный установщик. Далее он устанавливается на хост и тот появляется в панели управления.

С помощью Fleetdm можно управлять настройками хостов и проверять всё установленное ПО на наличие уязвимостей. Для выборки используется известный open source язык запросов osquery, который разработан специально для этих целей. С его помощью можно делать всевозможные выборки и к ним применять какие-то действия или политики. Вот простой пример, как это работает. Допустим, вы хотите найти все хосты и учётные записи, где установлена оболочка bash. Запрос выглядит так:
SELECT * FROM users WHERE shell='/bin/bash';

Для Windows запросы схожи. К примеру, найдём всех, у кого разрешён SMB1 на клиенте:
SELECT 1 FROM windows_optional_features \
WHERE name = 'SMB1Protocol-Client' AND state != 1;
Описание запросов хорошо документировано. Писать их с помощью подсказок не сложно.

Бесплатная версия Fleetdm не предполагает встроенных средств для автоматизации выставления настроек или обновления уязвимого ПО. Вы можете создавать политики, которые будут в режиме реального времени проверять хосты. И если находят расхождения в политиках или уязвимое ПО, уведомляют об этом. С помощью API и вебхуков вы можете сами решать проблемы, например с помощью Ansible. Либо автоматически создавать задачи в Jira и Zendesk. В бесплатной версии настроены эти интеграции.

Теперь постараюсь кратко рассказать, как это всё быстро развернуть в тестовой среде, чтобы получилось быстро. В продуктив лучше поставить руками, есть подробная инструкция. Для работы сервера обязательно нужен TLS сертификат. Желательно валидный. С этим я провозился дольше всего, так как настраивал всё в локалке с использованием самоподписанного сертификата. Подготовим его:
# mkdir fleet
# openssl req -x509 -newkey rsa:4096 -sha256 -days 3650 -nodes \
-keyout fleet/server.key -out fleet/server.cert -subj "/CN=fleet.example.com" \
-addext "subjectAltName=DNS:fleet.example.com"
# chown -R 100:101 fleet/

Теперь берём минимально необходимый набор софта (Mysql+Redis) и запускаем Fleetdm через docker-compose (возьмите свежую 2-ю версию):
# docker-compose up

Дожидаемся запуска, идём на fleet.example.com:8080, создаём учётку. На всех управляемых хостах имя fleet.example.com должно резолвиться в IP адрес. Это важно.

Теперь качаем fleetctl последней версии под Linux. Это утилита, которая генерирует установщик для хостов. Распаковываем и создаём установщики под deb и windows. Используем тот же сертификат сервера, secret смотрим в веб интерфейсе, в разделе hosts.

# wget https://github.com/fleetdm/fleet/releases/download/fleet-v4.32.0/fleetctl_v4.32.0_linux.tar.gz
# tar xzvf fleetctl_v4.32.0_linux.tar.gz
# cd fleetctl_v4.32.0_linux
# ./fleetctl package --type=msi --fleet-url=https://fleet.example.com:8080 \
--enroll-secret=jlBXb1LUMo4/0Pn1cHXnVKqziMo87CgN --fleet-certificate=server.cert
# ./fleetctl package --type=deb --fleet-url=https://fleet.example.com:8080 \
--enroll-secret=jlBXb1LUMo4/0Pn1cHXnVKqziMo87CgN --fleet-certificate=server.cert

Передаём установщики на целевые хосты. Я запустил http сервер и скачал пакеты:
# python3 -m http.server 8181

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

Программа мне понравилась, достойна полноценной статьи. Может напишу. Бесплатную, мультисистемную, с похожей функциональностью не припоминаю.

Сайт / Исходники

#управление #security #devops
​​Почти год назад я вам рассказывал про бесплатную open source систему контроля доступа к сервисам и системам — Teleport. У неё недавно вышло несколько крупных обновлений 13-й версии, так что я решил посмотреть на неё повнимательнее и проверить в работе.

Кратко расскажу, в чём суть этой системы. Это условно точка входа в вашу инфраструктуру. Работает в виде службы, веб сервиса и клиентов. Вы ставите Teleport на управляющий сервер, создаёте там пользователей, подключаете другие системы и сервисы. Используя двухфакторную аутентификацию с помощью OTP authenticator пользователь логинится в систему. Это может быть либо браузер, либо консольный клиент. Далее пользователь прямо через браузер может подключиться к SSH разрешённого сервера, либо с помощью специального консольного SSH клиента. Все сессии логируются и записываются. Помимо SSH поддерживаются и другие виды подключений.

Кратко покажу, как это всё развернуть и запустить в работу. Для начала устанавливаем Teleport на Linux сервер:
# curl https://goteleport.com/static/install.sh | bash -s 13.3.2

Создаём самоподписанные сертификаты для домена teleport.local, так как в примере я использую сервер в локальной сети. Можно взять бесплатные сертификаты от Let's Encrypt.
# cd /var/lib/teleport
# openssl req -x509 -newkey rsa:4096 -keyout privkey.pem \
-out fullchain.pem -sha256 -days 3650 -nodes \
-subj "/C=RU/ST=Russia/L=Moscow/O=Homelab/OU=ITdep/CN=*.teleport.local"

На выходе получите два файла privkey.pem и fullchain.pem. Используем их для создания файла конфигурации:
# teleport configure -o file \
  --cluster-name=teleport.local \
  --public-addr=teleport.local:443 \
  --cert-file=/var/lib/teleport/fullchain.pem \
  --key-file=/var/lib/teleport/privkey.pem

Запускаем службу:
# systemctl start teleport

Все клиенты должны иметь DNS запись teleport.local, чтобы обращаться к серверу Teleport только по доменному имени. Откройте в браузере страницу https://teleport.local. Если увидите окно аутентификации, значит сервис запустился. Идём обратно в консоль сервера и добавляем туда администратора системы с именем teleport-admin, разрешая ему использовать пользователя root для своих подключений. Если подключаетесь не под root, укажите своего пользователя, или перечислите их через запятую.
# tctl users add teleport-admin --roles=editor,access --logins=root

В ответ получите ссылку вида https://teleport.local/web/invite/296a7fab9182d7525a6f3f456ed3b074. Пройдите по ней. Тут нам понадобится любой OTP аутентификатор со сканером QR кода. Я стандартно взял Google Authenticator, но можно использовать любой другой. Сканируем QR код смартфоном и вводим код в поле регистрации. Пользователь teleport-admin добавлен.

Теперь можно зайти в веб интерфейс и подключиться по SSH к управляющему серверу, который по умолчанию уже добавлен. В разделе Management ⇨ Session Recordings будут записи сессий. Записывается всё, в том числе работа в MC.

Расскажу, как использовать консольный клиент для подключений по SSH. Он есть под все системы. Показываю пример с Linux. Ставим клиента:
# curl -O https://cdn.teleport.dev/teleport-v13.3.2-linux-amd64-bin.tar.gz
# tar -xzf teleport-v13.3.2-linux-amd64-bin.tar.gz
# cd teleport
# ./install

Проходим аутентификацию на сервере Teleport:
# tsh login --proxy=teleport.local --user=teleport-admin --insecure
Тут опять понадобится аутентификатор от гугла и одноразовый код. После успешной аутентификации, можно подключаться по SSH к серверу teleport.local:
# tsh ssh teleport.local

Список доступных серверов для вашей учётной записи можно посмотреть вот так:
# tsh ls
Информацию об аутентификации и время её жизни так:
# tsh status

Таким образом можно организовать безопасный и контролируемый доступ к закрытой инфраструктуре без VPN и пробросов портов. Но лучше Teleport тоже скрыть от посторонних глаз.

Сайт / Исходники

#security #управление #devops
Недавно рассказывал про open source систему контроля доступа к сервисам и системам Teleport. На днях как по заказу вышел подробный ролик с описанием его установки за проксируемым сервером Traefik. Это, кстати, фича последних версий. Раньше Teleport не удавалось разместить за прокси.

Installing Teleport + Traefik (Letsencrypt TLS certs)

Видео наглядное и подробное. Автор на наших глазах разворачивает всё хозяйство в Docker и настраивает. В качестве примера Application настраивает доступ к серверу Proxmox. Всё как мы любим. Не хватает только Mikrotik. Доступ через web, при желании, к нему настраивается по аналогии. Мне очень интересно узнать, записывает ли Teleport сессии к Application так же как к серверам по SSH. На своём стенде забыл это проверить.

Если не понимаете на слух английский, включите субтитры или синхронный перевод от Яндекса. Я с ним слушал, всё понятно. Качество перевода приемлемое. Я бы даже сказал хорошее, если бы он "teleport" не переводил как "телепортация".

#security #управление #devops
​​Знакомы ли вам такие современные понятия как Agile, Kanban, Scrum? Если совсем не знакомы, то у вас есть отличный шанс погрузиться в эту замечательную прогрессивную и развитую среду современной разработки и управления проектами с помощью бесплатного инструмента Taiga. Впрочем, если знакомы, то шанс тоже есть. Это open source проект для поднятия собственного self-hosted движка по управлению проектами. Условно можно назвать его современным аналогом Redmine или Youtrack. Условно, потому что по возможностям они сильно различаются, но в целом направлены на решение схожих задач.

Название Taiga меня сначала сбило с толку. Я думал, это что-то с корнями из России, Сибири, тайги. Но нет, это продукт испанской компании Kaleidos Ventures. Попробовать её можно разными способами: установить себе self-hosted версию или воспользоваться бесплатным тарифным планом облачной версии. Я покажу, как Тайгу установить у себя. Под капотом там следующий стек технологий:
Python - бэк, JavaScript - фронт.
СУБД PostgreSQL
RabbitMQ
Можно считать, что стандартный набор.

Ставить будем Docker версию из репозитория разработчиков:

# git clone https://github.com/kaleidos-ventures/taiga-docker
# cd taiga-docker/
# git checkout stable
В файле .env в переменной TAIGA_DOMAIN замените localhost на IP адрес сервера, если запускаете не на своей машине.
# ./launch-all.sh
# ./taiga-manage.sh createsuperuser

Создаём пользователя. После этого идём по адресу сервера на порт 9000 и логинимся под созданной учёткой. Это вариант тестовой установки. Если будете ставить в прод, то в этой статье даны все необходимые рекомендации по настройке, в том числе по размещению за nginx proxy, использованию https, отправки почты и т.д.

Система прикольная. Выглядит современно, работает шустро. Есть youtube канал, где можно посмотреть, как она вживую выглядит. Раньше вроде бы было какое-то неофициальное приложение для смартфона на Android, но сейчас оно заброшено. Как я понял, интерфейс и так нормально адаптирован под смартфоны, так что большой нужды в приложении нет.

Немного почитал отзывы и статьи о Taiga. В основном положительные. Её называют бесплатной альтернативой Trello или Jira. Проект существует давно. Как минимум с 2014 года есть упоминания.

#управление_проектами
​​В заметке к системе управления проектам Taiga в комментариях порекомендовали продукт Plane.so. Я посмотрел, он у меня давно уже в todo листе стоит, ещё с лета. Решил развернуть его и попробовать.

Plane — open-source аналог Jira. Бэкенд написан на Python, фронт на JavaScript. Данные хранит в PostgreSQL, файлы в локальном Minio, кэш в Redis, веб сервер использует Nginx. В общем, стандартный современный стек. Всё это упаковано в Docker, так что установка в несколько простых действий:

# git clone --depth 1 -b master https://github.com/makeplane/plane.git
# cd plane
# ./setup.sh
# docker compose -f docker-compose-hub.yml up

И можно идти в веб интерфейс. Настройки можно поменять в .env файлах перед запуском. По умолчанию учётка будет captain@plane.so / password123.

Система выглядит очень приятной, шустрой, удобной. Мне понравился интерфейс. Возможности там стандартные для такого рода продуктов. Создаёте проекты и ведёте их. Фиксируете проблемы, отслеживаете исправление, создаёте Kanban доски и т.д. Попробовать можно в бесплатном тарифном плане в облаке.

Монетизируется вся эта штука облачным сервисом и расширенной версией self-hosted установки. Так что это не поделка энтузиастов, а продукт коммерческой компании. Судя по звездам на гитхабе, Plane весьма популярна. Я так сходу в голове всё не припомню, что знаю, но навскидку мне понравилось Plane больше, чем всё, что я видел раньше. Но сразу уточню, что конкретно я никогда не работал с навороченными и большими установками, поэтому мне чем проще и лаконичнее интерфейс, тем лучше. Тот же YouTrack очень навороченный. Его употеешь настраивать, прежде чем запустишь. Он мне нравится, но функциональность там избыточная для небольших команд.

Сайт / Исходники

#управление_проектами
Расскажу про небольшую прикладную программу, которая в некоторых случаях может упростить жизнь. Речь пойдёт про веб панель OliveTin, которая позволяет через веб интерфейс управлять задачами, которые можно запустить с локального сервера. То есть по сути это удобная запускалка скриптов.

Особенность OliveTin в том, что сделана красиво, аккуратно, удобно. Очевидно, что подобные задачи можно решать очень большим количеством способов. Например, когда мне нужно было отдать кому-то возможность запуска скриптов, я устанавливал Webmin и оказывал, куда там тыкать. В OliveTin это настроить проще и удобнее.

Сразу приведу примеры некоторых задач, которые можно решать с помощью OliveTin:

Запуск какой-то личной инфраструктуры через WOL. Я, кстати, эту же задачу решаю через скрипты в Mikrotik. Подключаюсь к домашнему микроту и запускаю то, что мне нужно. Уже много лет так делаю. То же самое можно сделать через OliveTin. Это будет удобнее, если есть постоянно работающая виртуалка. У меня иногда выключено всё, поэтому Mikrotik мне подходит.

Запуск скриптов на каком-то тестовом сервере, которые будут накатывать свежую версию исходников или базы данных. Можно настроить OliveTin, скрипты и отдать всё это дело разработчикам. Пусть сами актуализируют свой тестовый сервер.

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

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

В основном всё это актуально тогда, когда задачи нужно делегировать кому-то, кто не умеет, не хочет или ему не положено ходить в консоль. На работе можно каким-то помощникам скинуть рутину, дома домашним что-то настроить.

Установить OliveTin максимально просто. Есть пакеты, контейнеры, экзешники под все популярные системы и архитектуры. Полный список в репозитории. Показываю на примере Debian:

# wget https://github.com/OliveTin/OliveTin/releases/download/2024.09.11/OliveTin_linux_amd64.deb
# dpkg -i OliveTin_linux_amd64.deb
# systemctl start OliveTin

Можно идти по ip адресу на порт 1337 и смотреть, как это выглядит. Там уже будут настроены полтора десятка различных действий для демонстрации возможностей. Можно быстро оценить как это всё выглядит.

Все настройки хранятся в директории /etc/OliveTin, в том числе в основном файле config.yaml. Формат конфига, как можно понять из названия, yaml. В нём уже присутствуют и хорошо прокомментированы все настроенные действия. По аналогии можно настраивать свои.

Вот пример для запуска локального скрипта:

- title: Run backup script
shell: /opt/backupScript.sh
shellAfterCompleted: "apprise -t 'Notification: Backup script completed' -b 'The backup script completed with code {{ exitCode}}. The log is: \n {{ output }} '"
maxConcurrent: 1
timeout: 10
icon: backup
popupOnStart: execution-dialog


А вот для рестарта Docker контейнеров:

- title: Restart Docker Container
icon: restart
shell: docker restart {{ container }}
arguments:
- name: container
title: Container name
choices:
- value: plex
- value: traefik
- value: grafana


Можно выполнить что-то на удалённом сервере через подключение по SSH:

- title: Restart httpd on server1
id: restart_httpd
icon: restart
timeout: 1
shell: ssh -F /config/ssh/easy.cg root@server1 'service httpd restart'


Думаю, логика понятна.

🌐 Сайт / 4️⃣ Исходники / ▶️ Обзор

#управление
Please open Telegram to view this post
VIEW IN TELEGRAM
Пару лет назад я собрал в одну статью все свои заметки на тему полностью или частично бесплатных программ для инвентаризации и учёта оборудования. Вот статья на эту тему на сайте:

Топ 10 программ для инвентаризации оборудования

В ней перечислены следующие программы:

GLPI
Snipe-IT
Tactical RMM
Ralph
ITop
NetBox
I-doit
Lansweeper
Algorius
Spiceworks
DataGerry

Насколько я знаю, самым популярным и функциональным является GLPI. Несмотря на то, что это очень старый продукт, написанный на PHP, он продолжает развиваться: большая активность на github, регулярно выходят новые релизы. Есть свой агент для сбора данных с управляемых систем. Дополнительно можно развернуть HelpDesk систему. Причём она там не для галочки, а вполне функциональна. Есть встроенная база знаний, учёт финансов, серверных стоек и много что ещё.

Для учёта только серверных ресурсов в виде серверов, стоек, виртуалок и всей сопутствующей сетевой инфраструктуры, самым популярным будет Netbox.

Я сходу не нашёл чего-то интересного, чем можно было бы дополнить список из того, о чём ещё не писал. Может кто-то из вас успешно использует что-то другое? Или просто хочет поделиться известной программой на эту тему. Напишите о них в комментариях. Я посмотрю, напишу заметки и дополню подборку как тут в Telegram, так и на сайте.

#управление #ITSM #подборка

🦖 Selectel — дешёвые и не очень дедики с аукционом!
На прошлой неделе делал подборку программ для учёта систем и оборудования. Для дополнения списка решил сделать обзор ещё одной системы, про которую мне и тут в комментариях писали, и на сайте к соответствующей статье. Речь пойдёт про программу Severcart.

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

Servercart представляет из себя клиент-серверное приложение с доступом через веб интерфейс. Информацию об оборудовании и ПО можно вносить как вручную, так и автоматически. Для этого используется агент на базе open source проекта OCS Inventory Agent. Как агент, так и серверная часть, представлены для систем и Windows, и Linux.

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

Servercart собирает стандартную информацию о железе и софте, как и все подобные программы: модели комплектующих, место на дисках, лицензии, список софта и т.д. По каждому устройству ведётся лог изменений. То есть будет видно, если вдруг уменьшится кол-во памяти, изменится диск или появится новое ПО. Это будет отражено в логе, так же можно настроить отправку уведомлений на эти события.

Сделано всё максимально просто для быстрого запуска в работу. Можно мышкой потыкать в веб интерфейсе и начинать вести свою базу. Я в документации посмотрел только как связать агент с сервером. Дальше всё интуитивно понятно. Помимо компьютеров ведётся учёт принтеров и расходников к ним.

У Servercart есть бесплатная версия. На сайте прямо на главной странице есть таблица со сравнением версий. Там же загрузка бесплатной редакции. Не нужна ни регистрация, ни получение лицензий. Просто качаете, устанавливаете и начинаете пользоваться.

Продукт в целом неплохой. Отдаёт стариной, но смотрится нормально для такого рода продуктов. Они все немного неказистые. Если покупать платную версию, то цены там доступные, лицензии вечные. Отлично подойдёт для ситуаций, где всем этим хозяйством заведует эникей или технически неподкованный человек. Развернуть эту систему и вести в ней учёт несложно. К тому же есть документация на русском языке.

Сайт

#управление #ITSM #отечественное

🦖 Selectel — дешёвые и не очень дедики с аукционом!
Please open Telegram to view this post
VIEW IN TELEGRAM
С уходом Atlassian с рынка РФ для некоторых компаний возникла масштабная задача по переходу на какие-то другие продукты в качестве замены Jira, Confluence, кому-то возможно и Trello. У меня, кстати, последний до их пор работает. Когда-то давно поменял email на гугловский и спокойно пользуюсь по сей день.

Так вот по поводу перехода. В настоящий момент эту тему особо не обсуждают, так как пик замены пришёлся на 2022 и 2023 год. Сейчас уже всё устаканилось. В качестве замены есть вариант использовать китайский продукт ZenTao. У него есть встроенный инструмент для автоматического импорта данных из Jira. Про него не очень много информации, но я нашёл отзыв реального человека, где он дал положительную оценку продукту после годового использования. У ZenTao есть вполне функциональная open source версия, так что я решил написать про него. Возможно кому-то это будет полезно. На первый взгляд продукт выглядит неплохо.

В рунете информации о ZanTao очень мало. В основном это материалы от компании GlowByte, которая занимается продажами продукта в РФ. Ссылки на статьи:

Что такое ZenTao и как установить его на Windows за 5 минут
Как устроен модуль «Документы» в ZenTao и может ли он заменить Confluence от Atlassian
Дзен в управлении продуктами

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

Система управления проектами ZenTao

Статья не очень большая, но информативная. Там самая суть, картинки из реальной рабочей системы и вывод после года использования:

Спустя почти год использования системы уже можно говорит о том, что мнение о системе ZenTao сложилось. Даже в бесплатной версии система управления проектами ZenTao – это тот продукт, на который стоит обратить внимание. Особенно с учетом того, что его прямые конкуренты в виде MS Project, JIRA и Trello сейчас не так легко приобрести (если вообще возможно). А с учетом стоимости и получаемого набора функций в платных версий, на мой взгляд, получается очень гуманная цена.

В ходе эксплуатации системы мы уже несколько раз устанавливали обновления, т.е. продукт активно развивается. Причем, после каждого обновления мы находили какие-то интересные опции. Например, рабочие процессы, новый раздел для обучения (Academy) и т.д.

Отдельно хочу отметить стабильность работы системы – за весь период эксплуатации не было ни одного внепланового простоя системы. Это прям очень порадовало.

Порекомендовал бы я систему ZenTao в качестве системы управления проектами? Несомненно. Хотя бы попробуйте поработать с бесплатной версией программы. И тогда вы точно сможете понять – подходит ли эта система именно вашей методологии работы с проектами или нет.

Посмотреть на ZenTao можно либо в публичном Demo, либо развернуть у себя. Есть готовые установщики под Windows и Linux, а также Docker версия. Хотел воспользоваться последней, но там всё описание на китайском. Не стал разбираться. Запустил версию под Linux:

# wget https://www.zentao.pm/dl/zentao/20.6/ZenTaoALM-20.6-zbox_amd64.tar.gz
# tar -zxvf ZenTaoALM-20.6-zbox_amd64.tar.gz -C /opt
# /opt/zbox/zbox start

В общем-то и всё. Приложение написано на php + mysql. Рабочий стек: Apache, PHP, MariaDB. Разработчики как-то упаковали весь стек в архив и запускают его через bash скрипт. Можно идти в веб интерфейс по IP адресу сервера и смотреть.

Различия между open source и платными редакциями можно посмотреть на отдельной странице. Приятно, что в бесплатной версии оставлена интеграция с git, gitlab, jenkins, возможность настроить ci/cd и другие штуки. Весь раздел DevOps представлен. Так же оставлена возможность вести базовую документацию. LDAP, как обычно, только в платных редакциях.

Бесплатная редакция на русском языке отсутствует, есть английский. А вот платные переведены на русский язык.

🌐 Сайт / 4️⃣ Исходники / 📺 Русскоязычная группа в TG

Бесплатные аналоги ZenTao можете посмотреть по соответствующему тэгу снизу.

#itsm #управление_проектами
Please open Telegram to view this post
VIEW IN TELEGRAM