Media is too big
VIEW IN TELEGRAM
Уже старенькая известная песня и клип - Все любят программистов (Громкие рыбы). Странно, что я его тут ни разу не публиковал. У меня она есть в плейлисте, иногда слушаю. В ней хоть и идёт речь о программистах, но в широком понимании этого слова среднестатистическим человеком, для которого любой айтишник это программист, который может починить "мой сломанный айтюнс".
Прикольно снято и спето. Понравилось.
#юмор
Прикольно снято и спето. Понравилось.
#юмор
👍95👎31
Начиная с пятницы, в сети наперебой постили новости с шокирующей уязвимостью в OpenSSH сервере CVE-2024-3094, которая позволяет получить доступ к SSH-серверу без аутентификации (на самом деле это не так). Якобы ей подвержены почти все современные системы. Я всю пятницу и субботу в сборах и дороге был, так что только вчера смог спокойно сесть и разобраться, что там случилось.
Сразу скажу, что если у вас Debian 11 или 12 можно вообще не переживать и не торопиться обновляться. Никаких проблем с найденной уязвимостью в этих системах нет. Заражённый пакет успел приехать только в тестовый репозиторий sid.
Расскажу своими словами, в чём там дело. OpenSSH сервер использует библиотеку liblzma. Насколько я понял, не все сервера её используют, но большая часть. Проверить можно так:
Уязвимой является версия библиотеки 5.6.0 и 5.6.1. Проверяем установленную у себя версию через пакетный менеджер. Для deb вот так:
Или напрямую через просмотр версии xz:
В Debian 12 указанной уязвимости нет, можно не переживать. В security-tracker есть отдельная страница по этой уязвимости. Там видно, что версия 5.6.1 была только в sid.
В rpm дистрибутивах нужно проверять версию пакета xz-libs:
Для 8-й ветки форков RHEL проблема тоже неактуальна. 9-й у меня нигде нет, там не проверял.
Вообще, история с этой уязвимостью очень любопытная. На самом деле она позвоялет выполнить произвольный код в системе, не оставляя следов в логах sshd. Подробный разбор работы есть на opennet. Сделано всё очень мудрёно и запутанно не без использования bash портянки, которая выглядит как обфускация. А обнаружили уязвимость случайно, потому что sshd стал чуток медленнее работать, чем раньше. А сколько таких уязвимостей есть в системах, которые ещё никто случайно не заметил?
#linux #security
Сразу скажу, что если у вас Debian 11 или 12 можно вообще не переживать и не торопиться обновляться. Никаких проблем с найденной уязвимостью в этих системах нет. Заражённый пакет успел приехать только в тестовый репозиторий sid.
Расскажу своими словами, в чём там дело. OpenSSH сервер использует библиотеку liblzma. Насколько я понял, не все сервера её используют, но большая часть. Проверить можно так:
# ldd "$(command -v sshd)" | grep liblzma
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f4f01c9d000)
Уязвимой является версия библиотеки 5.6.0 и 5.6.1. Проверяем установленную у себя версию через пакетный менеджер. Для deb вот так:
# dpkg -l | grep liblzma
ii liblzma5:amd64 5.4.1-0.2 amd64 XZ-format compression library
Или напрямую через просмотр версии xz:
# xz --version
xz (XZ Utils) 5.4.1
liblzma 5.4.1
В Debian 12 указанной уязвимости нет, можно не переживать. В security-tracker есть отдельная страница по этой уязвимости. Там видно, что версия 5.6.1 была только в sid.
В rpm дистрибутивах нужно проверять версию пакета xz-libs:
# rpm -qa | grep xz-libs
xz-libs-5.2.4-4.el8_6.x86_64
Для 8-й ветки форков RHEL проблема тоже неактуальна. 9-й у меня нигде нет, там не проверял.
Вообще, история с этой уязвимостью очень любопытная. На самом деле она позвоялет выполнить произвольный код в системе, не оставляя следов в логах sshd. Подробный разбор работы есть на opennet. Сделано всё очень мудрёно и запутанно не без использования bash портянки, которая выглядит как обфускация. А обнаружили уязвимость случайно, потому что sshd стал чуток медленнее работать, чем раньше. А сколько таких уязвимостей есть в системах, которые ещё никто случайно не заметил?
#linux #security
www.opennet.ru
Разбор логики активации и работы бэкдора в пакете xz
Доступны предварительные результаты обратного инжиниринга вредоносного объектного файла, встроенного в liblzma в результате кампании по продвижению бэкдора в пакет xz. Бэкдор затрагивает только системы x86_64 на базе ядра Linux и Си-библиотеки Glibc, в которых…
👍113👎3
🔝 ТОП постов за прошедший месяц. Все самые популярные публикации по месяцам можно почитать со соответствующему хэштэгу #топ. Отдельно можно посмотреть ТОП за прошлый год.
Пользуясь случаем, хочу попросить проголосовать за мой канал, так как это открывает некоторые возможности по настройке (не только публикацию историй): https://t.iss.one/boost/srv_admin.
📌 Больше всего просмотров:
◽️Бесплатные курсы от Postgres Professional (12790)
◽️Подборка авторских IT роликов (11920)
◽️Сервис по генерации конфигов Nginx (11025)
📌 Больше всего комментариев:
◽️Evolution free tier - виртуальная машина бесплатно навсегда (153)
◽️Скрипт для бэкапа файловых баз 1С (112)
◽️Memos - self-hosted сервис заметок (95)
📌 Больше всего пересылок:
◽️Бесплатные курсы от Postgres Professional (955)
◽️Готовые профили для Wireshark (859)
◽️Шпаргалка по поиску свободного места в Linux (720)
◽️Подборка с обучающими материалами по GIT (606)
📌 Больше всего реакций:
◽️Готовые профили для Wireshark (204)
◽️Бесплатные курсы от Postgres Professional (192)
◽️Evolution free tier - виртуальная машина бесплатно навсегда (180)
◽️Запуск виртуалок Windows через Docker (179)
◽️Утилита duf как замена df (175)
#топ
Пользуясь случаем, хочу попросить проголосовать за мой канал, так как это открывает некоторые возможности по настройке (не только публикацию историй): https://t.iss.one/boost/srv_admin.
📌 Больше всего просмотров:
◽️Бесплатные курсы от Postgres Professional (12790)
◽️Подборка авторских IT роликов (11920)
◽️Сервис по генерации конфигов Nginx (11025)
📌 Больше всего комментариев:
◽️Evolution free tier - виртуальная машина бесплатно навсегда (153)
◽️Скрипт для бэкапа файловых баз 1С (112)
◽️Memos - self-hosted сервис заметок (95)
📌 Больше всего пересылок:
◽️Бесплатные курсы от Postgres Professional (955)
◽️Готовые профили для Wireshark (859)
◽️Шпаргалка по поиску свободного места в Linux (720)
◽️Подборка с обучающими материалами по GIT (606)
📌 Больше всего реакций:
◽️Готовые профили для Wireshark (204)
◽️Бесплатные курсы от Postgres Professional (192)
◽️Evolution free tier - виртуальная машина бесплатно навсегда (180)
◽️Запуск виртуалок Windows через Docker (179)
◽️Утилита duf как замена df (175)
#топ
👍43👎1
Я немного слежу за более-менее известными программами и сервисами для удалённого управления компьютерами. Посмотреть о них заметки можно по соответствующему тэгу #remote на канале. На днях читал статью на хабре, где крупная бюджетная организация выбирала себе платную программу для этих задач. Все упомянутые там сервисы мне знакомы, кроме одного - PRO32 Connect, на котором в итоге остановился выбор автора статьи.
Решил посмотреть, что это такое. Впервые услышал это название. Истрия этого сервиса немного запутанная. Я не сразу понял, кто это такие. Когда разобрался, решил сделать заметку, чтобы упростить задачу остальным, кто тоже будет выбирать. К тому же сервис этот на самом деле старый и известный. Я сам им давно пользуюсь.
PRO32 Connect - это бывший getscreen.me, который в какой-то момент стал международным, а для российского рынка сделал отдельный сервис getscreen.ru. Через некоторое время этот сервис переименовали в pro32connect.ru. Теперь это его итоговое название, под которым осуществляются продажи в РФ.
Я зарегистрировался в pro32connect.ru. Там есть бесплатный тарифный план на одно устройство, которым можно управлять. Интерфейс почти 1 в 1 как у getscreen.me, которым я пользуюсь уже много лет. Мне очень нравится этот сервис. Всё управление через браузер. Несколько лет назад я писал обзор на этот сервис, да и тут заметки о нём были. С тех пор так им и пользуюсь сам.
Это качественный софт родом из Казани (если не ошибаюсь). Написан уже давно полностью с нуля без всяких переклеиваний шильдиков на open source продуктах. Ещё до всей истории с активным импортозамещением. Именно поэтому я пишу эту заметку. Мне не трудно прорекламировать хороший софт. У меня никто не заказывал обзор продукта, как и многих других, о которых я иногда пишу (tegu, angie, kaspersky и т.д.). Если мне нравится продукт, то с удовольствием о нём напишу, чтобы другие тоже пользовались.
Так что если ищите продукт для удалённого управления компьютерами, обратите внимание. Цены там нормальные, как для личного пользования (200 ₽ в месяц за 5 устройств), так и для бизнеса (от 13 000 ₽ / в год за 40 устройств). Возможностей у этого сервиса очень много. Можно потестировать на бесплатном тарифном плане, либо запросить триал.
#remote
Решил посмотреть, что это такое. Впервые услышал это название. Истрия этого сервиса немного запутанная. Я не сразу понял, кто это такие. Когда разобрался, решил сделать заметку, чтобы упростить задачу остальным, кто тоже будет выбирать. К тому же сервис этот на самом деле старый и известный. Я сам им давно пользуюсь.
PRO32 Connect - это бывший getscreen.me, который в какой-то момент стал международным, а для российского рынка сделал отдельный сервис getscreen.ru. Через некоторое время этот сервис переименовали в pro32connect.ru. Теперь это его итоговое название, под которым осуществляются продажи в РФ.
Я зарегистрировался в pro32connect.ru. Там есть бесплатный тарифный план на одно устройство, которым можно управлять. Интерфейс почти 1 в 1 как у getscreen.me, которым я пользуюсь уже много лет. Мне очень нравится этот сервис. Всё управление через браузер. Несколько лет назад я писал обзор на этот сервис, да и тут заметки о нём были. С тех пор так им и пользуюсь сам.
Это качественный софт родом из Казани (если не ошибаюсь). Написан уже давно полностью с нуля без всяких переклеиваний шильдиков на open source продуктах. Ещё до всей истории с активным импортозамещением. Именно поэтому я пишу эту заметку. Мне не трудно прорекламировать хороший софт. У меня никто не заказывал обзор продукта, как и многих других, о которых я иногда пишу (tegu, angie, kaspersky и т.д.). Если мне нравится продукт, то с удовольствием о нём напишу, чтобы другие тоже пользовались.
Так что если ищите продукт для удалённого управления компьютерами, обратите внимание. Цены там нормальные, как для личного пользования (200 ₽ в месяц за 5 устройств), так и для бизнеса (от 13 000 ₽ / в год за 40 устройств). Возможностей у этого сервиса очень много. Можно потестировать на бесплатном тарифном плане, либо запросить триал.
#remote
👍85👎24
С удивлением недавно узнал, что известный и популярный ISC DHCP Server с 2022 года не развивается и не поддерживается. Вот соответствующая новость на сайте разработчиков:
⇨ ISC DHCP Server has reached EOL
Я начинал работу с DHCP серверами в Linux как раз с этим сервером. Его базовая настройка была простая и быстрая. Один конфиг с несколькими опциями и дальше настройка подсетей и резервирований. Лог файл и выданные leases в отдельных текстовых файлах. Было удобно поддерживать и дебажить.
Со временем переехал на Dnsmasq, так как он объединяет службы dns и dhcp, что для небольших сетей удобно, поэтому за isc-dhcp следить перестал. Разработчики перестали его развивать, потому что с их слов его код труден для тестирования и внедрения нововведений. Поэтому они прекратили его поддержку, а всё развитие продолжили в новом проекте Kea DHCP, внедрив туда:
◽модульную структуру, где DHCPv4, DHCPv6, DDNS службы работают независимо друг от друга;
◽изменение конфигурации на лету через запросы к REST API;
◽конфигурация в json формате;
◽графический дашборд через web интерфейс;
◽поддержку разных бэкендов для хранения конфигурации: MySQL, PostgreSQL, Cassandra или CSV файл;
◽возмжоность настроить отказоустойчивую конфигурацию;
Сразу отмечу, что для Kea есть пакет netbox-kea-dhcp для интеграции с известным сервисом netbox.
Все компоненты kea есть в стандартном репозитории Debian. Как уже было упомянуто, структура продукта модульная, так что для каждой службы есть отдельный пакет:
▪️ kea - как я понял общий пакет, который в зависимостях тянет все остальные
▪️ kea-admin - утилиты управления
▪️ kea-common - общие библиотеки сервера
▪️ kea-ctrl-agent - служба REST API
▪️ kea-dhcp-ddns-server - служба DDNS
▪️ kea-dhcp4-server - IPv4 DHCP сервер
▪️ kea-dhcp6-server - IPv6 DHCP сервер
Есть инструмент для автоматической миграции с isc-dhcp в одно действие. Примерно так:
Dashboard для Kea реализован на базе отдельного продукта от тех же авторов - Stork. Помимо непосредственно веб интерфейса с информацией о работе сервисов, stork предоставляет экспорт метрик в prometheus и готовые дашборды для Grafana.
Все описанные возмжоности представлены в open source версии. Я посмотрел примеры настроек. Там всё относительно просто. Не сложнее, чем было в isc-dhcp. Вместе с веб интерфейсом, метриками и дашбордами это выглядит наиболее привлекательным dhcp сервером на текущий момент. При случае попробую его натсроить вместо dnsmasq.
#network #dhcp
⇨ ISC DHCP Server has reached EOL
Я начинал работу с DHCP серверами в Linux как раз с этим сервером. Его базовая настройка была простая и быстрая. Один конфиг с несколькими опциями и дальше настройка подсетей и резервирований. Лог файл и выданные leases в отдельных текстовых файлах. Было удобно поддерживать и дебажить.
Со временем переехал на Dnsmasq, так как он объединяет службы dns и dhcp, что для небольших сетей удобно, поэтому за isc-dhcp следить перестал. Разработчики перестали его развивать, потому что с их слов его код труден для тестирования и внедрения нововведений. Поэтому они прекратили его поддержку, а всё развитие продолжили в новом проекте Kea DHCP, внедрив туда:
◽модульную структуру, где DHCPv4, DHCPv6, DDNS службы работают независимо друг от друга;
◽изменение конфигурации на лету через запросы к REST API;
◽конфигурация в json формате;
◽графический дашборд через web интерфейс;
◽поддержку разных бэкендов для хранения конфигурации: MySQL, PostgreSQL, Cassandra или CSV файл;
◽возмжоность настроить отказоустойчивую конфигурацию;
Сразу отмечу, что для Kea есть пакет netbox-kea-dhcp для интеграции с известным сервисом netbox.
Все компоненты kea есть в стандартном репозитории Debian. Как уже было упомянуто, структура продукта модульная, так что для каждой службы есть отдельный пакет:
▪️ kea - как я понял общий пакет, который в зависимостях тянет все остальные
▪️ kea-admin - утилиты управления
▪️ kea-common - общие библиотеки сервера
▪️ kea-ctrl-agent - служба REST API
▪️ kea-dhcp-ddns-server - служба DDNS
▪️ kea-dhcp4-server - IPv4 DHCP сервер
▪️ kea-dhcp6-server - IPv6 DHCP сервер
Есть инструмент для автоматической миграции с isc-dhcp в одно действие. Примерно так:
# keama -4 -i /etc/dhcp/dhcp4.conf -o /etc/kea/kea-dhcp4.conf
Dashboard для Kea реализован на базе отдельного продукта от тех же авторов - Stork. Помимо непосредственно веб интерфейса с информацией о работе сервисов, stork предоставляет экспорт метрик в prometheus и готовые дашборды для Grafana.
Все описанные возмжоности представлены в open source версии. Я посмотрел примеры настроек. Там всё относительно просто. Не сложнее, чем было в isc-dhcp. Вместе с веб интерфейсом, метриками и дашбордами это выглядит наиболее привлекательным dhcp сервером на текущий момент. При случае попробую его натсроить вместо dnsmasq.
#network #dhcp
👍98👎4
Заглядывал на днях на один из серверов 1С, который настраивал примерно 3 года назад. Купил туда бюджетные серверные диски KINGSTON SEDC500M 960G в RAID1. Стоят они очень умеренно, а по ресурсу значительно преворсходят десктопные модели. Раньше там каждые год-два меняли SSD. В принципе, хватало производительности, но при интенсивной записи во время дампов баз всё подтормаживало. С этими стало намного лучше.
Я, собственно, зашёл проверить ресурс и статистику по записи. Просто любопытно стало. Решил и с вами поделиться цифрами. У меня все метрики SMART собирал Zabbix, а основные выведены на дашборд. Так что удобно оценить разом.
Основные метрики, за которыми следил:
▪️ Flash_Writes_GiB - количество сырых данных, записанных в NAND flash.
▪️ Lifetime_Writes_GiB - количество записанных данных, прошедших через ATA интерфейс.
▪️ Lifetime_Reads_GiB - количество прочитанных данных.
▪️ SSD_Life_Left - остаток ресурса жизни SSD.
По записи для обоих дисков получились примерно одинаковые значения:
sdb: ID 233 Flash_Writes_GiB 515.61 TB
sdb: ID 241 Lifetime_Writes_GiB 431.86 TB
sdc: ID 233 Flash_Writes_GiB 516.49 TB
sdc: ID 241 Lifetime_Writes_GiB 432.73 TB
Сырых данных на флеш пишется значительно больше, чем переданных на диск реальных, прошедших через интерфейс передачи данных. Если я правильно понимаю, это связно с тем, что данные записываются не как есть, а в зависимости от кратности ячеек памяти, куда происходит запись. То есть реально на диск пишется больше данных, чем передаётся.
А вот по чтению данные сильно разнятся:
sdb: ID 242 Lifetime_Reads_GiB 205.54 TB
sdc: ID 242 Lifetime_Reads_GiB 148.85 TB
С одного диска данные читались на четверть чаще, чем с другого. Рейд организован средствами mdadm. То есть обычный софтовый RAID1.
Ну и по ресурсу там запас ещё огромный. SMART показывает 92%. За последние два года изменение с 97% до 92%. Если смарт не врёт, то скорее заменят сервер с дисками, чем они израсходуют свой ресурс. В день там примерно по 400 GB пишется.
Мониторится всё это через парсинг вывода smartctl:
Примерный вариант настройки можно в моей статье посмотреть:
⇨ Настройка мониторинга SMART жесткого диска в zabbix
#железо #zabbix
Я, собственно, зашёл проверить ресурс и статистику по записи. Просто любопытно стало. Решил и с вами поделиться цифрами. У меня все метрики SMART собирал Zabbix, а основные выведены на дашборд. Так что удобно оценить разом.
Основные метрики, за которыми следил:
▪️ Flash_Writes_GiB - количество сырых данных, записанных в NAND flash.
▪️ Lifetime_Writes_GiB - количество записанных данных, прошедших через ATA интерфейс.
▪️ Lifetime_Reads_GiB - количество прочитанных данных.
▪️ SSD_Life_Left - остаток ресурса жизни SSD.
По записи для обоих дисков получились примерно одинаковые значения:
sdb: ID 233 Flash_Writes_GiB 515.61 TB
sdb: ID 241 Lifetime_Writes_GiB 431.86 TB
sdc: ID 233 Flash_Writes_GiB 516.49 TB
sdc: ID 241 Lifetime_Writes_GiB 432.73 TB
Сырых данных на флеш пишется значительно больше, чем переданных на диск реальных, прошедших через интерфейс передачи данных. Если я правильно понимаю, это связно с тем, что данные записываются не как есть, а в зависимости от кратности ячеек памяти, куда происходит запись. То есть реально на диск пишется больше данных, чем передаётся.
А вот по чтению данные сильно разнятся:
sdb: ID 242 Lifetime_Reads_GiB 205.54 TB
sdc: ID 242 Lifetime_Reads_GiB 148.85 TB
С одного диска данные читались на четверть чаще, чем с другого. Рейд организован средствами mdadm. То есть обычный софтовый RAID1.
Ну и по ресурсу там запас ещё огромный. SMART показывает 92%. За последние два года изменение с 97% до 92%. Если смарт не врёт, то скорее заменят сервер с дисками, чем они израсходуют свой ресурс. В день там примерно по 400 GB пишется.
Мониторится всё это через парсинг вывода smartctl:
# smartctl -A /dev/sdb
Примерный вариант настройки можно в моей статье посмотреть:
⇨ Настройка мониторинга SMART жесткого диска в zabbix
#железо #zabbix
👍137👎1
⚒ Системы оркестрации контейнеров популярны. Но как тестировать их надежность?
Таким вопросом задаются не только DevOps и SRE инженеры, но и все, кому интересна тема обеспечения надежности и тестирования контейнеризированных приложений и сервисов.
💬 Приходите на вебинар от OTUS. На этом открытом уроке вы:
- узнаете, как проводить тестирование надежности систем оркестрации контейнеров;
- рассмотрите подход к тестированию системы, называемый Chaos Engineering;
- обсудите, как и когда его лучше применять;
- увидите обзор доступных инструментов.
📆 Занятие пройдёт 3 апреля в 19:00 (мск) в рамках набора на онлайн-курс «Инфраструктурная платформа на основе Kubernetes». Спикер — ведущий DevOps-инженер. Также на вебинаре вы сможете задать эксперту вопросы о самом курсе и перспективах выпускников.
👉 Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок — https://clck.ru/39pfMR
🔥 Для всех, кто запишется на бесплатный вебинар этого курса, будет доступна спец.цена на курс — обсудите свое обучение с менеджерами OTUS.
Таким вопросом задаются не только DevOps и SRE инженеры, но и все, кому интересна тема обеспечения надежности и тестирования контейнеризированных приложений и сервисов.
💬 Приходите на вебинар от OTUS. На этом открытом уроке вы:
- узнаете, как проводить тестирование надежности систем оркестрации контейнеров;
- рассмотрите подход к тестированию системы, называемый Chaos Engineering;
- обсудите, как и когда его лучше применять;
- увидите обзор доступных инструментов.
📆 Занятие пройдёт 3 апреля в 19:00 (мск) в рамках набора на онлайн-курс «Инфраструктурная платформа на основе Kubernetes». Спикер — ведущий DevOps-инженер. Также на вебинаре вы сможете задать эксперту вопросы о самом курсе и перспективах выпускников.
👉 Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок — https://clck.ru/39pfMR
🔥 Для всех, кто запишется на бесплатный вебинар этого курса, будет доступна спец.цена на курс — обсудите свое обучение с менеджерами OTUS.
👍7👎6
Увидел упоминание браузера Thorium в контексте того, что он типа очень быстрый. Заинтересовала информация, поэтому решил попробовать. Мне просто нравится различные браузеры пробовать. Я когда-то писал про LibreWolf на базе Firefox. И я им реально с тех пор пользуюсь как второстепенным браузером под различные задачи. И на работчем ноуте стоит, и на некоторые виртуалки ставлю portable версию.
Возвращаюсь к Thorium. Это форк Chromium, только якобы с какими-то флагами оптимизации, указанными при сборке. За счёт этого получается прирост производительности, особенно на современных компьютерах, так как оригинальный Chromium и Chrome поддерживают огромное количество старого железа и не могут позволить себе собираться с поддержкой всех современных технологий в процессорах.
Браузер собрает какой-то энтузиаст-одиночка под все современные системы. И под Windows, и под Linux. Меня немного удивило наличие отзывов в инетренте, когда я искал информацию по нему, на тему того, что браузер реально быстрый. Чуть ли не быстрее всех остальных. Стало любопытно попробовать. Решил взять чистую виртуалку с Windows 11, скачал туда сборку с флагами под набор инструкций AVX, так как тестовый комп AVX2 судя про всему не знает, так как эта сборка не запустилась.
В сравнение к нему взял голые Edge и Chrome, как наиболее популярные браузеры. И прогнал на них поочерёдно набор тестов:
⇨ https://browserbench.org/Speedometer3.0
⇨ https://browserbench.org/JetStream
⇨ https://browserbench.org/MotionMark1.3
Результаты получились следующие.
Edge: 7,06 -=- 134,5 -=- 712,91
Chrome: 6,85 -=- 130,5 -=- 727,81
Thorium AVX: 7,31 -=- 131,3 -=- 781,21
В целом, у Thorium реально результаты лучше. Не сказать, что намного, но Chrome он однозначно по всем тестам обходит. Возможно версия с AVX2 ещё быстрее будет. Поленился тестировать. Тесты долгие, много времени уходит.
Ко всему прочему, у Thorium есть portable версия. Получился неплохой браузер для тех, кто предпочитает браузеры на базе Chromium. Что-то с ним реально сделали, что он немного ускорился. Там помимо флагов для оптимизации при сборке, есть некоторые другие изменения. Подробности в репозитории, не буду тут раздувать заметку. Браузер инетресный, стоит обратить внимание.
⇨ Исходники / Сайт
#разное
Возвращаюсь к Thorium. Это форк Chromium, только якобы с какими-то флагами оптимизации, указанными при сборке. За счёт этого получается прирост производительности, особенно на современных компьютерах, так как оригинальный Chromium и Chrome поддерживают огромное количество старого железа и не могут позволить себе собираться с поддержкой всех современных технологий в процессорах.
Браузер собрает какой-то энтузиаст-одиночка под все современные системы. И под Windows, и под Linux. Меня немного удивило наличие отзывов в инетренте, когда я искал информацию по нему, на тему того, что браузер реально быстрый. Чуть ли не быстрее всех остальных. Стало любопытно попробовать. Решил взять чистую виртуалку с Windows 11, скачал туда сборку с флагами под набор инструкций AVX, так как тестовый комп AVX2 судя про всему не знает, так как эта сборка не запустилась.
В сравнение к нему взял голые Edge и Chrome, как наиболее популярные браузеры. И прогнал на них поочерёдно набор тестов:
⇨ https://browserbench.org/Speedometer3.0
⇨ https://browserbench.org/JetStream
⇨ https://browserbench.org/MotionMark1.3
Результаты получились следующие.
Edge: 7,06 -=- 134,5 -=- 712,91
Chrome: 6,85 -=- 130,5 -=- 727,81
Thorium AVX: 7,31 -=- 131,3 -=- 781,21
В целом, у Thorium реально результаты лучше. Не сказать, что намного, но Chrome он однозначно по всем тестам обходит. Возможно версия с AVX2 ещё быстрее будет. Поленился тестировать. Тесты долгие, много времени уходит.
Ко всему прочему, у Thorium есть portable версия. Получился неплохой браузер для тех, кто предпочитает браузеры на базе Chromium. Что-то с ним реально сделали, что он немного ускорился. Там помимо флагов для оптимизации при сборке, есть некоторые другие изменения. Подробности в репозитории, не буду тут раздувать заметку. Браузер инетресный, стоит обратить внимание.
⇨ Исходники / Сайт
#разное
👍66👎9
Как быстро и малыми усилиями попытаться выяснить, почему что-то тормозит в php коде сайта? Расскажу, с чего уместнее всего начать расследование, если вы используете php-fpm. Если нет каких-то особых требований, то лично я всегда исользую именно его.
У него есть две простые настройки, которые можно применить в нужном пуле, когда проводите расследование:
Таймаут выставляете под свои требования. Если сайт в целом тормозной (bitrix, админка wordpress), то 1 секунда слишком малый интервал, но в идеале хочется, чтобы весь код выполнялся быстрее этого времени.
Далее необходимо перезаустить php-fpm и идти смотреть лог:
В логе запросов будет не только информация о скрипте, который долго выполняется, но и его трассировака. Она будет включать в себя все инклюды и функции. То, что было вызвано сначала, будет внизу трейса, последняя функция - в самом верху. Причём верхней функцией будет та, что выполнялась в момент наступления времени, указанного в request_slowlog_timeout. Часто именно она и причина тормозов.
Разобраться во всём этом не такая простая задача, но в целом выполнимая даже админом. Самое главное, что иногда можно сразу получить подсказку, которая ответит на ворос о том, что именно томозит. Бывает не понятно, какой именно запрос приводит к выполнению того или иного скрипта. Нужно сопоставить по времени запрос в access.log веб сервера и slowlog php-fpm.
Очень часто тормозят какие-то заросы к внешним сервисам. Они могут делаться, к примеру, через curl_exec. И вы это сразу увидите в slowlog в самом верху трейса. Нужно будет только пройтись по функуциям и зависимостям, и найти то место, откуда функция с curl вызывается. Также часто в самом верху трейса можно увидеть функцию mysqli_query или что-то в этом роде. Тогда понятно, что тормозят запросы к базе.
По факту это самый простой инструмент, который имеет смысл использовать в самом начале разборов. Зачастую с его помощью можно сразу найти проблему. Ну а если нет, то можно подключать strace и смотреть более детально, что там внутри происходит. Но это уже сложнее, хотя какие-то простые вещи тоже можно сразу отловить. Тот же внешний тормозящий запрос тоже будет виден сразу.
#php #webserver #perfomance
У него есть две простые настройки, которые можно применить в нужном пуле, когда проводите расследование:
slowlog = /var/log/php-fpm/site01.ru.slow.log
request_slowlog_timeout = 1s
Таймаут выставляете под свои требования. Если сайт в целом тормозной (bitrix, админка wordpress), то 1 секунда слишком малый интервал, но в идеале хочется, чтобы весь код выполнялся быстрее этого времени.
Далее необходимо перезаустить php-fpm и идти смотреть лог:
# systemctl restart php8.0-fpm
В логе запросов будет не только информация о скрипте, который долго выполняется, но и его трассировака. Она будет включать в себя все инклюды и функции. То, что было вызвано сначала, будет внизу трейса, последняя функция - в самом верху. Причём верхней функцией будет та, что выполнялась в момент наступления времени, указанного в request_slowlog_timeout. Часто именно она и причина тормозов.
Разобраться во всём этом не такая простая задача, но в целом выполнимая даже админом. Самое главное, что иногда можно сразу получить подсказку, которая ответит на ворос о том, что именно томозит. Бывает не понятно, какой именно запрос приводит к выполнению того или иного скрипта. Нужно сопоставить по времени запрос в access.log веб сервера и slowlog php-fpm.
Очень часто тормозят какие-то заросы к внешним сервисам. Они могут делаться, к примеру, через curl_exec. И вы это сразу увидите в slowlog в самом верху трейса. Нужно будет только пройтись по функуциям и зависимостям, и найти то место, откуда функция с curl вызывается. Также часто в самом верху трейса можно увидеть функцию mysqli_query или что-то в этом роде. Тогда понятно, что тормозят запросы к базе.
По факту это самый простой инструмент, который имеет смысл использовать в самом начале разборов. Зачастую с его помощью можно сразу найти проблему. Ну а если нет, то можно подключать strace и смотреть более детально, что там внутри происходит. Но это уже сложнее, хотя какие-то простые вещи тоже можно сразу отловить. Тот же внешний тормозящий запрос тоже будет виден сразу.
#php #webserver #perfomance
👍83👎3
Услышал неожиданную и новую для себя информацию. Нельзя последовательно соединить две и более rj45 розетки для того, чтобы пользоваться только одной из них одновременно. Работать будет только последняя розетка. Спорить не стал, но слегка удивился, так как для меня это неочевидная информация. К тому же я сам у себя в доме электрические розетки собирал и некоторые из них соединялись последовательно. То же самое для температурных датчиков делал, которые соединял последовательно на шине от контроллера. То есть для меня такая схема подключения выглядит вполне привычной. Я бы даже не подумал, что тут есть какой-то нюанс.
Полез в интернет за подробностями и действительно нашёл подтверждение этому. Последовательно соединять ethernet розетки нельзя, даже если будет использоваться только одна. Если подключиться к розетке посередине, то тот конец, что идёт до дальней розетки, будет отражать сигнал. Это будет приводить к помехам в сети, соединение будет либо постоянно обрываться, либо вообще не установится.
Надо либо отдельный кабель кидать к каждой розетке, либо ставить какое-то устройство, которое будет физически отсекать конец кабеля до других розеток, чтобы подключенная была последней в цепи.
❗️Век живи, век учись. Знали об этом? Либо может быть сталкивались с таким соединением?
#железо #network
Полез в интернет за подробностями и действительно нашёл подтверждение этому. Последовательно соединять ethernet розетки нельзя, даже если будет использоваться только одна. Если подключиться к розетке посередине, то тот конец, что идёт до дальней розетки, будет отражать сигнал. Это будет приводить к помехам в сети, соединение будет либо постоянно обрываться, либо вообще не установится.
Надо либо отдельный кабель кидать к каждой розетке, либо ставить какое-то устройство, которое будет физически отсекать конец кабеля до других розеток, чтобы подключенная была последней в цепи.
❗️Век живи, век учись. Знали об этом? Либо может быть сталкивались с таким соединением?
#железо #network
👍178👎17
На канале накопилось много полезных материалов по MySQL, которые я использую сам, особенно во время настройки нового сервера. Чтобы упростить себе и вам задачу, решил объединить всё наиболее полезное в одну публикацию для удобной навигации.
📌 Настройка:
▪️ Базовые настройки сервера, которые нужно проконтроллировать при установке
▪️ MySQLTuner - помощник по подбору оптимальных параметров под железо и профиль нагрузки
▪️ Скрипт mysql-stat для упрощения выбора параметров в зависимости от доступной оперативы на сервере
▪️ Рекомендации по безопасности от CIS
▪️ Разбор параметра innodb_temp_data_file_path
▪️ Настройка Audit Plugin для отслеживания действий на сервере
▪️ Настройка репликации
📌 Бэкап:
▪️ Полный и инкрементный backup Mysql с помощью Percona XtraBackup
▪️ Mydumper - многопоточное создание дампов
▪️ SQLBackupAndFTP - приложение под Windows для бэкапа
▪️ Скрипт AutoMySQLBackup для автоматического бэкапа баз
▪️ Восстановление отдельной таблицы из дампа всей базы
📌 Мониторинг:
▪️ Мониторинг MySQL с помощью Zabbix
▪️ Консольный Mytop для мониторинга в режиме реального времени
▪️ Проверка успешности создания дампа
▪️ Мониторинг с помощью Percona Monitoring and Management
📌 Эксплуатация:
▪️ Пошаговый план оптимизации запросов MySQL сервера
▪️ Полезные консольные команды mysql клиента
▪️ Подборка MySQL клиентов для работы с СУБД
▪️ Удаление всех таблиц в базе без удаления самой базы
▪️ ProxySQL для проксирования и кэша SQL запросов
▪️ Краткая информация о том, что такое индексы в MySQL
#mysql #подборка
📌 Настройка:
▪️ Базовые настройки сервера, которые нужно проконтроллировать при установке
▪️ MySQLTuner - помощник по подбору оптимальных параметров под железо и профиль нагрузки
▪️ Скрипт mysql-stat для упрощения выбора параметров в зависимости от доступной оперативы на сервере
▪️ Рекомендации по безопасности от CIS
▪️ Разбор параметра innodb_temp_data_file_path
▪️ Настройка Audit Plugin для отслеживания действий на сервере
▪️ Настройка репликации
📌 Бэкап:
▪️ Полный и инкрементный backup Mysql с помощью Percona XtraBackup
▪️ Mydumper - многопоточное создание дампов
▪️ SQLBackupAndFTP - приложение под Windows для бэкапа
▪️ Скрипт AutoMySQLBackup для автоматического бэкапа баз
▪️ Восстановление отдельной таблицы из дампа всей базы
📌 Мониторинг:
▪️ Мониторинг MySQL с помощью Zabbix
▪️ Консольный Mytop для мониторинга в режиме реального времени
▪️ Проверка успешности создания дампа
▪️ Мониторинг с помощью Percona Monitoring and Management
📌 Эксплуатация:
▪️ Пошаговый план оптимизации запросов MySQL сервера
▪️ Полезные консольные команды mysql клиента
▪️ Подборка MySQL клиентов для работы с СУБД
▪️ Удаление всех таблиц в базе без удаления самой базы
▪️ ProxySQL для проксирования и кэша SQL запросов
▪️ Краткая информация о том, что такое индексы в MySQL
#mysql #подборка
👍104👎1
▶️ Очередная подборка авторских IT роликов, которые я лично посмотрел и посчитал интересными/полезными. Как обычно к выходным.
⇨ Best Free Hypervisors in 2024
Обзор существующих бесплатных гипервизоров. Автор рассмотрел Nutanix CE, Proxmox VE, XCP-ng, KubeVirt, Vanilla KVM. Nutanix Community Edition лично я вообще никогда не использовал и не видел в работе.
⇨ Анализатор сети Wireshark
Урок из обновлённого курса по сетям от Созыкина Андрея. Если не знакомы с Wireshark, то этот урок для вас.
⇨ It’s time for a new HomeLab Dashboard // Homepage
Удобная и функциональная штуковина для организации дашборда с различными виджетами. Эти виджеты интегрируются с существующими сервисами и отображают различные метрики и состояния на дашборде. Например, можно настроить интергацию с uptime kuma, portainer, prometheus, proxmox и т.д.
⇨ RetroPie - игровая ретро консоль на Raspberry Pi. Установка и настройка
Превращение Raspberry Pi в игровую консоль со старыми играми и джойстиками. Настраивается всё очень быстро и просто. Получается дешевле и функциональнее отдельных игровых консолей. Тут они все в одной куче поддерживаются: Super nintendo, Sega, Sony Play Station и другие.
⇨ Apache Guacamole доступ к SSH RDP и VNC из веб-клиента с помощью Docker
Краткая настройка Apache Guacamole, установленного в Docker. Дополнительно используется двухфакторная аутентификация с помощью auth-totp. Текстовая версия настройки.
⇨ Complete Ansible Semaphore Tutorial: From Installation to Automation
Установка и настройка веб интерфейса для управления Ansible, Terraform, Bash. Я когда-то давно смотрел эту панель и писал о ней. Кстати, интересная штука. Набрала попуялрность и появилась платная версия. Но open source тоже осталась.
⇨ Расследую инцидент взлома MEERKAT.HTB
Очередной классный разбор задания с HackTheBox от уже известного автора. Тут надо будет не взламывать, а расследовать инцидент. Как обычно, хорошо снято и тема интересная. Рекомендую видео этого автора. Они интересные все.
⇨ Fastest Way To Install Kubernetes Cluster Using Portainer
Разворачивание учебного кластера Kubernetes на базе MikroK8s через Portainer.
#видео
⇨ Best Free Hypervisors in 2024
Обзор существующих бесплатных гипервизоров. Автор рассмотрел Nutanix CE, Proxmox VE, XCP-ng, KubeVirt, Vanilla KVM. Nutanix Community Edition лично я вообще никогда не использовал и не видел в работе.
⇨ Анализатор сети Wireshark
Урок из обновлённого курса по сетям от Созыкина Андрея. Если не знакомы с Wireshark, то этот урок для вас.
⇨ It’s time for a new HomeLab Dashboard // Homepage
Удобная и функциональная штуковина для организации дашборда с различными виджетами. Эти виджеты интегрируются с существующими сервисами и отображают различные метрики и состояния на дашборде. Например, можно настроить интергацию с uptime kuma, portainer, prometheus, proxmox и т.д.
⇨ RetroPie - игровая ретро консоль на Raspberry Pi. Установка и настройка
Превращение Raspberry Pi в игровую консоль со старыми играми и джойстиками. Настраивается всё очень быстро и просто. Получается дешевле и функциональнее отдельных игровых консолей. Тут они все в одной куче поддерживаются: Super nintendo, Sega, Sony Play Station и другие.
⇨ Apache Guacamole доступ к SSH RDP и VNC из веб-клиента с помощью Docker
Краткая настройка Apache Guacamole, установленного в Docker. Дополнительно используется двухфакторная аутентификация с помощью auth-totp. Текстовая версия настройки.
⇨ Complete Ansible Semaphore Tutorial: From Installation to Automation
Установка и настройка веб интерфейса для управления Ansible, Terraform, Bash. Я когда-то давно смотрел эту панель и писал о ней. Кстати, интересная штука. Набрала попуялрность и появилась платная версия. Но open source тоже осталась.
⇨ Расследую инцидент взлома MEERKAT.HTB
Очередной классный разбор задания с HackTheBox от уже известного автора. Тут надо будет не взламывать, а расследовать инцидент. Как обычно, хорошо снято и тема интересная. Рекомендую видео этого автора. Они интересные все.
⇨ Fastest Way To Install Kubernetes Cluster Using Portainer
Разворачивание учебного кластера Kubernetes на базе MikroK8s через Portainer.
#видео
YouTube
Best Free Hypervisors in 2024
As we deal with the death of the VMware ESXi free edition, in this video we look at the best free hypervisor solutions now that VMware ESXi free edition is dead.
Check out the written write up of this video here:
https://www.virtualizationhowto.com/2024/02/best…
Check out the written write up of this video here:
https://www.virtualizationhowto.com/2024/02/best…
👍58👎2
🎮 Для тех, у кого есть время на поиграть в компьютерные игры (это не про меня). Недавно вышел 3D симулятор на тему разработки программного обеспечения, где для игры нужно писать код на Python. Судя по отзывам, игра не обучалка, нужен хоть какой-то минимульный уровень. Это больше практика в игровой форме для тех, кто хоть немного может программировать. То есть примерно наш уровень. Админам как раз достатчоно немного знать Python и писать что-то базовое, либо просто понимать код.
Игра называется JOY OF PROGRAMMING - Software Engineering Simulator. В Steam она в раннем доступе. Не знаю, как сейчас с покупкой игр там, но на торрентах, если что, она тоже есть.
Игра смотрится необычно. Отзывы в целом тоже неплохие, так что для коллекции игр на тему IT она вполне подходит. У меня кто-то спрашивал в комментариях к прошлому посту с игрой, какие я ещё тематические игры могу посоветовать. Для тех, кто не так давно читает мой канал, поясню, что тут под тэгом #игра собраны практически все игры, так или иначе связанные с информационными технологиями от простых проходилок из 90-х типа Компьютерщик и Взломщик до современных инди игр от Zachtronics. Соберу как-нибудь всё это в единую заметку для удобства.
Вовзращаясь к упомянутой игре. Немного отзывов из Steam:
Я купил это, чтобы поддержать автора, потому что подобных игр, к сожалению, мало. А тут еще есть решение задач в неделю и рейтинг. Мне понравилось абсолютно все, ведь тут ты решаешь задачи и ищешь подход. Я, например, решил с роботом и дорогой задачу короче, чем автор =)
На самом деле отличная игра. Головоломки, еженедельные задания и песочница могут дать некоторые полезные навыки в реальной жизни, хотя система начисления очков вызывает сомнения.
Удивительно.
Затягивает.
Порой очень сложно.
С помощью этой игры вы научитесь программировать на Python, а также потренируете логическое мышление в попытках решать головоломки с программированием. В ней всё ещё есть баги, но играть в целом можно. Игру рекомендую.
Программистам, думаю, было бы странно играть в подобные игры 😁 А тем, кто хочет к ним приобщиться, наверное, в самый раз.
⇨ Steam / Посмотреть игровой процесс: раз, два
#игра
Игра называется JOY OF PROGRAMMING - Software Engineering Simulator. В Steam она в раннем доступе. Не знаю, как сейчас с покупкой игр там, но на торрентах, если что, она тоже есть.
Игра смотрится необычно. Отзывы в целом тоже неплохие, так что для коллекции игр на тему IT она вполне подходит. У меня кто-то спрашивал в комментариях к прошлому посту с игрой, какие я ещё тематические игры могу посоветовать. Для тех, кто не так давно читает мой канал, поясню, что тут под тэгом #игра собраны практически все игры, так или иначе связанные с информационными технологиями от простых проходилок из 90-х типа Компьютерщик и Взломщик до современных инди игр от Zachtronics. Соберу как-нибудь всё это в единую заметку для удобства.
Вовзращаясь к упомянутой игре. Немного отзывов из Steam:
Я купил это, чтобы поддержать автора, потому что подобных игр, к сожалению, мало. А тут еще есть решение задач в неделю и рейтинг. Мне понравилось абсолютно все, ведь тут ты решаешь задачи и ищешь подход. Я, например, решил с роботом и дорогой задачу короче, чем автор =)
На самом деле отличная игра. Головоломки, еженедельные задания и песочница могут дать некоторые полезные навыки в реальной жизни, хотя система начисления очков вызывает сомнения.
Удивительно.
Затягивает.
Порой очень сложно.
С помощью этой игры вы научитесь программировать на Python, а также потренируете логическое мышление в попытках решать головоломки с программированием. В ней всё ещё есть баги, но играть в целом можно. Игру рекомендую.
Программистам, думаю, было бы странно играть в подобные игры 😁 А тем, кто хочет к ним приобщиться, наверное, в самый раз.
⇨ Steam / Посмотреть игровой процесс: раз, два
#игра
👍63👎4
Познакомлю вас интересной VPN системой на базе Wireguard, которую недавно посоветовали в комментариях - DefGuard. Это open source проект с очень привлекательными возможностями, который можно развернуть полностью у себя. Это аналог таких продуктов, как firezone, pritunl, netbird.
📌 Что в первую очередь привлекает внимание:
▪️ многофакторная (MFA) или двухфакторная (2FA) аутентификация на базе TOTP/Email и pre-shared keys;
▪️ интеграция с OpenID
▪️ возможность объединения нескольких VPN шлюзов с разными настройками в едином веб интерфейсе;
▪️ возможность подтягивать пользователей из LDAP;
▪️ система прав доступа к туннелям на базе пользователей и паролей;
▪️ свой десктопный клиент для реализации MFA;
Набор возможностей для бесплатного self-hosted продукта внушительный. При этом по стурктуре он не очень сложный. Я почитал описание, документацию, развернул у себя и в целом разобрался с его концепцией. Но сразу скажу, что быстро настроить и всё попробовать не получилось. Где-то часа два провозился, часть возможностей настроил, но не всё. MFA не сделал. Попробовал только создание пользователей, заведение VPN шлюза, подключение клиента.
Расскажу оснвную идею, как это работает. DefGuard упакован в Docker. Развернуть монжо как вручную через docker compose, так и автоматически через bash скрипт. Вся информация в репозитории и документации.
Далее вы идёте в веб интерфейс, добавляете новый Location. Это сущность, которая представялет из себя настроенный сервер Wireguard. Он может быть установлен как локально вместе с веб интерфейсом, так и вынесен куда-то в другое место. Таких Location может быть много. У каждого свои настройки, маршруты, которые он обслуживает, группы пользователей, которым можно к нему подключаться.
Далее создаёте пользователя со своими параметрами. Можно настроить сервер так, что после создания пользователя, он будет отправлять email со всеми ссылками и паролями. Пользователь может зайти в веб интерфейс под своей учёткой, посмотреть свои настройки, WG туннели, которые ему доступны, статистику подключений. Может скачать настройки отдельных туннелей, чтобы использовать их в любых других клиентах WireGuard, если у него не включена MFA.
Родное приложение позволяет реализовать возмжоность MFA при подключении к серверам DefGuard, а так же использовать его как обычный WG клиент для подключения к любым другим VPN туннелям. У меня не получилось настроить MFA. Либо что-то не допонял по последовательности действий, либо где-то ошибся. Думаю, что там всё работает нормально, так как в Issues не заметил каких-то вопросов по этой теме. Думаю, надо просто больше времени потратить на настройку.
Помимо всего описанного, DefGuard поддерживает YubiKeys. У меня, кстати, есть такой. Любопытная штука, но я так и не стал им пользоваться. Также реализованы Webhooks на некоторые действия с пользователями: создание, удаление, смена пароля, добавление YubiKey. В осноном это для того, чтобы настроить те или иные введомления для пользователя.
Благодаря интеграции с OpenID, можно настроить сквозную аутентификацию через DefGuard в друиге сервисы, которые тоже его поддерживают. Например, Proxmox. Пример, как это выглядит, показан в документации. Там же есть примеры интеграции с Portainer, Grafana, MinIO, Vault, Django, Matrix.
В целом, продукт очень привлеактельный. Из бесплатных self-hosted аналогов не много. Netbird.io разве что. Расскажу про него на днях отдельно.
⇨ Сайт / Исходники
#vpn #wireguard
📌 Что в первую очередь привлекает внимание:
▪️ многофакторная (MFA) или двухфакторная (2FA) аутентификация на базе TOTP/Email и pre-shared keys;
▪️ интеграция с OpenID
▪️ возможность объединения нескольких VPN шлюзов с разными настройками в едином веб интерфейсе;
▪️ возможность подтягивать пользователей из LDAP;
▪️ система прав доступа к туннелям на базе пользователей и паролей;
▪️ свой десктопный клиент для реализации MFA;
Набор возможностей для бесплатного self-hosted продукта внушительный. При этом по стурктуре он не очень сложный. Я почитал описание, документацию, развернул у себя и в целом разобрался с его концепцией. Но сразу скажу, что быстро настроить и всё попробовать не получилось. Где-то часа два провозился, часть возможностей настроил, но не всё. MFA не сделал. Попробовал только создание пользователей, заведение VPN шлюза, подключение клиента.
Расскажу оснвную идею, как это работает. DefGuard упакован в Docker. Развернуть монжо как вручную через docker compose, так и автоматически через bash скрипт. Вся информация в репозитории и документации.
Далее вы идёте в веб интерфейс, добавляете новый Location. Это сущность, которая представялет из себя настроенный сервер Wireguard. Он может быть установлен как локально вместе с веб интерфейсом, так и вынесен куда-то в другое место. Таких Location может быть много. У каждого свои настройки, маршруты, которые он обслуживает, группы пользователей, которым можно к нему подключаться.
Далее создаёте пользователя со своими параметрами. Можно настроить сервер так, что после создания пользователя, он будет отправлять email со всеми ссылками и паролями. Пользователь может зайти в веб интерфейс под своей учёткой, посмотреть свои настройки, WG туннели, которые ему доступны, статистику подключений. Может скачать настройки отдельных туннелей, чтобы использовать их в любых других клиентах WireGuard, если у него не включена MFA.
Родное приложение позволяет реализовать возмжоность MFA при подключении к серверам DefGuard, а так же использовать его как обычный WG клиент для подключения к любым другим VPN туннелям. У меня не получилось настроить MFA. Либо что-то не допонял по последовательности действий, либо где-то ошибся. Думаю, что там всё работает нормально, так как в Issues не заметил каких-то вопросов по этой теме. Думаю, надо просто больше времени потратить на настройку.
Помимо всего описанного, DefGuard поддерживает YubiKeys. У меня, кстати, есть такой. Любопытная штука, но я так и не стал им пользоваться. Также реализованы Webhooks на некоторые действия с пользователями: создание, удаление, смена пароля, добавление YubiKey. В осноном это для того, чтобы настроить те или иные введомления для пользователя.
Благодаря интеграции с OpenID, можно настроить сквозную аутентификацию через DefGuard в друиге сервисы, которые тоже его поддерживают. Например, Proxmox. Пример, как это выглядит, показан в документации. Там же есть примеры интеграции с Portainer, Grafana, MinIO, Vault, Django, Matrix.
В целом, продукт очень привлеактельный. Из бесплатных self-hosted аналогов не много. Netbird.io разве что. Расскажу про него на днях отдельно.
⇨ Сайт / Исходники
#vpn #wireguard
👍89👎4
На прошлой неделе купил себе для работы монитор 27" с разрешением 2K, 2560x1440, 165 Гц. Хочу поделиться впечатлением и предостеречь тех, кто планирует себе что-то подобное.
Прошлый мой монитор был 23" FullHD. Причём у меня уже была попытка поменять его на новый 27" FullHD, но мне не понравилось за ним работать. Слишком всё крупное. Отдал его сыну, сам вернулся на 23". Он начал подглючивать и самопроизвольно выключаться на несколько секунд, что предвещает полный выход из строя. Не стал этого ждать и решил поменять монитор.
Я не люблю сильно ковыряться в железе, кропотливо выбирать, читать отзывы и т.д. Особо нет на это времени, да и интереса. Поэтому быстро прикинул, что неплохо было бы попробовать что-то современное. Сейчас все повально берут 2K или 4К мониторы, поэтому решил попробовать что-то такое. 4К сразу отбросил, так как дорого, большая диагональ, да и для работы не вижу большого смысла в таком разрешении. Так что остановился на 2К. Подумал немного насчёт вогнутого экрана, но тоже решил не экспериментировать. Для выбранной диагонали это не сильно актуально.
Сначала хотел взять 2К в диагонали 23"-24", помятуя о том, как не понравился здоровый 27". Но, судя по отзывам, 23" для 2К слишком мал, поэтому не стал рисковать и купил в итоге 27". Поработал за ним несколько дней и могу сказать, что лично мне не очень нравится для работы такое разрешение.
Самая большая проблема - браузер и приложения зачастую плохо выглядят на таком большом экране. Большая часть сайтов показывает картинку посередине, а по краям огромные белые полосы. При этом интерфейс управления размазывается по всей ширине. Приходится открывать в окне, что размывает фокус внимания, так как на заднем плане остаётся рабочий стол с ярлыками и обоями, и окна других приложений. В итоге тратишь время на расположение этих окон по экрану, чтобы не мешали друг другу. Большого смысла в этом нет.
Консоль, RDP подключения тоже на весь экран открывать неудобно. Приходится в окна сворачивать. На полном экране удобно работать только с тексом или таблицами, 1С. Но это меньшая часть моей деятельности.
Когда у тебя всё открыто в окнах, неудобно потом переходить на экран ноутбука, когда работаешь где-то на выезде без монитора. Все окна надо развернуть на весь экран, а когда возвращаешься домой, обратно в окна их сворачиваешь и гоняешь по экрану.
В общем, мне как-то вообще не зашло. Попробую ещё поработать. Если не привыкну, отдам кому-то из домашних, а сам опять на 23" FullHD пересяду. Мне кажется, для работы это оптимальный размер. Всё открыто развёрнутым на весь экран, головой крутить по сторонам не надо, плюс все сайты и приложения оптимизированы в основном под это разрешение.
Так что если планируете поменять монитор, рекомендую где-то сначала всё же попробовать, по возможности, новый формат. Мне некритично, так как железо всегда есть куда отдать, если мне не подойдёт, поэтому я не сильно парюсь.
У меня, кстати, по бокам от основного тоже мониторы, но я ими не пользуюсь. В основном они выключены. Иногда их подключаю к тестовым сервакам, которые по бокам под столом стоят. Мне привычнее работать за одним и переключатсья между приложениями, нежели выносить их на разные мониторы. Ниже картинка с моим рабочим местом дома. Справа под моником ноутбук в докстанции. На основном экране можно оценить, как выглядит страница поиска Яндекса. Узенькая полоска текста и белый экран.
#железо #разное
Прошлый мой монитор был 23" FullHD. Причём у меня уже была попытка поменять его на новый 27" FullHD, но мне не понравилось за ним работать. Слишком всё крупное. Отдал его сыну, сам вернулся на 23". Он начал подглючивать и самопроизвольно выключаться на несколько секунд, что предвещает полный выход из строя. Не стал этого ждать и решил поменять монитор.
Я не люблю сильно ковыряться в железе, кропотливо выбирать, читать отзывы и т.д. Особо нет на это времени, да и интереса. Поэтому быстро прикинул, что неплохо было бы попробовать что-то современное. Сейчас все повально берут 2K или 4К мониторы, поэтому решил попробовать что-то такое. 4К сразу отбросил, так как дорого, большая диагональ, да и для работы не вижу большого смысла в таком разрешении. Так что остановился на 2К. Подумал немного насчёт вогнутого экрана, но тоже решил не экспериментировать. Для выбранной диагонали это не сильно актуально.
Сначала хотел взять 2К в диагонали 23"-24", помятуя о том, как не понравился здоровый 27". Но, судя по отзывам, 23" для 2К слишком мал, поэтому не стал рисковать и купил в итоге 27". Поработал за ним несколько дней и могу сказать, что лично мне не очень нравится для работы такое разрешение.
Самая большая проблема - браузер и приложения зачастую плохо выглядят на таком большом экране. Большая часть сайтов показывает картинку посередине, а по краям огромные белые полосы. При этом интерфейс управления размазывается по всей ширине. Приходится открывать в окне, что размывает фокус внимания, так как на заднем плане остаётся рабочий стол с ярлыками и обоями, и окна других приложений. В итоге тратишь время на расположение этих окон по экрану, чтобы не мешали друг другу. Большого смысла в этом нет.
Консоль, RDP подключения тоже на весь экран открывать неудобно. Приходится в окна сворачивать. На полном экране удобно работать только с тексом или таблицами, 1С. Но это меньшая часть моей деятельности.
Когда у тебя всё открыто в окнах, неудобно потом переходить на экран ноутбука, когда работаешь где-то на выезде без монитора. Все окна надо развернуть на весь экран, а когда возвращаешься домой, обратно в окна их сворачиваешь и гоняешь по экрану.
В общем, мне как-то вообще не зашло. Попробую ещё поработать. Если не привыкну, отдам кому-то из домашних, а сам опять на 23" FullHD пересяду. Мне кажется, для работы это оптимальный размер. Всё открыто развёрнутым на весь экран, головой крутить по сторонам не надо, плюс все сайты и приложения оптимизированы в основном под это разрешение.
Так что если планируете поменять монитор, рекомендую где-то сначала всё же попробовать, по возможности, новый формат. Мне некритично, так как железо всегда есть куда отдать, если мне не подойдёт, поэтому я не сильно парюсь.
У меня, кстати, по бокам от основного тоже мониторы, но я ими не пользуюсь. В основном они выключены. Иногда их подключаю к тестовым сервакам, которые по бокам под столом стоят. Мне привычнее работать за одним и переключатсья между приложениями, нежели выносить их на разные мониторы. Ниже картинка с моим рабочим местом дома. Справа под моником ноутбук в докстанции. На основном экране можно оценить, как выглядит страница поиска Яндекса. Узенькая полоска текста и белый экран.
#железо #разное
👎122👍90
Когда у вас появляется несколько сервисов, остро встаёт вопрос с управлением пользователями. Хочется всё это делать в одном месте, а не ходить по разным системам и актуализировать там учётные данные. Решений этой задачи не так много. Чаще всего используют тот или иной LDAP каталог и настраивают софт на работу с ним. Либо второй вариант - настраивают сервис SSO (single sign-on, технология единого входа). В качестве бэкенда для хранения учётных данных может выступать тот же LDAP, внутренняя база SSO либо что-то другое.
Организация SSO более сложный, но в то же время более гибкий, функциональный вариант, нежели просто какой-то каталог. Схема там примерно такая получается. У вас есть некий сервис SSO, который интегрируется с рабочими службами, типа админки сайта, системы мониторинга, почты, VPN и т.д. Этот же сервис в качестве источника информации о пользователях использует какой-то бэкенд, например, тот же LDAP каталог или свою внутреннюю базу. Пользователь заходит в админку сайта. Ему предлагается пройти аутентификацию. Он это делает, админка связывается с SSO, та проверяет введённую учётку. Если всё ОК, то возвращает админке информацию о том, что аутентификация прошла успешно, а так же набор прав для этой учётки.
Есть относительно новый open source продукт в качестве SSO - Keycloak. Он в последние года 3-4 стал прям очень популярен. В основном из-за двух причин. Во-первых, бесплатных продуктов такого класса в целом не так много. Во-вторых, он относительно просто и быстро настраивается.
У Keycloak есть неплохая документация, по которой развернуть продукт очень просто. Далее всё управление через веб интерфейс, что тоже сильно упрощает настройку. То есть бувально:
И идёте в веб интерфейс разбираться. Далее, к примеру, открываете руководство Grafana и настраиваете аутентификацию в ней через Keycloak. Алгоритм интеграции будет примерно такой:
1️⃣ Создаёте в Keycloak realm с нужными правами, которые поддерживает сервис. Например, с правами Admin, Viewer и Editor.
2️⃣ Далее создаёте отдельного клиента для Grafana с маппингом прав.
3️⃣ Создаёте пользователей в Keycloak с разными правами.
4️⃣ Добавляете в конфигурацию Grafana параметры из документации с учётом своих урлов и секрета клиента.
5️⃣ Пробуете зайти в Grafana, выбрав Sign in with Keycloak, и свою учётку в Keycloak.
Похожим образом настраивается интеграция с другими продуктами. Если они поддерживают такую интеграцию, то процесс будет максимально простым и быстрым. Достаточно будет создать реалм с нужными правами, клиента с маппингом прав, получить его секрет и использовать для интеграции.
В англоязычном интернете много статей с конкретными примерами интеграции различных сервисов и Keycloak. Всё современное и популярное его сейчас поддерживает, настраивается легко. С более старыми продуктами, типа postfix, dovecot будет посложнее, но в целом тоже решаемо. У postfix не видел поддержки, а у dovecot есть. Можно использовать его в качестве SASL (Simple Authentication and Security Layer). Проще ситуация, если используется веб интерфейс. Тот же Roundcube поддерживает Keycloak.
Так что если сейчас планируете построение каких-то информационных систем, сразу внедряйте SSO, чтобы потом не делать это уже по ходу дела.
#sso
Организация SSO более сложный, но в то же время более гибкий, функциональный вариант, нежели просто какой-то каталог. Схема там примерно такая получается. У вас есть некий сервис SSO, который интегрируется с рабочими службами, типа админки сайта, системы мониторинга, почты, VPN и т.д. Этот же сервис в качестве источника информации о пользователях использует какой-то бэкенд, например, тот же LDAP каталог или свою внутреннюю базу. Пользователь заходит в админку сайта. Ему предлагается пройти аутентификацию. Он это делает, админка связывается с SSO, та проверяет введённую учётку. Если всё ОК, то возвращает админке информацию о том, что аутентификация прошла успешно, а так же набор прав для этой учётки.
Есть относительно новый open source продукт в качестве SSO - Keycloak. Он в последние года 3-4 стал прям очень популярен. В основном из-за двух причин. Во-первых, бесплатных продуктов такого класса в целом не так много. Во-вторых, он относительно просто и быстро настраивается.
У Keycloak есть неплохая документация, по которой развернуть продукт очень просто. Далее всё управление через веб интерфейс, что тоже сильно упрощает настройку. То есть бувально:
# docker run -p 8080:8080 -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=admin quay.io/keycloak/keycloak:24.0.2 start-dev
И идёте в веб интерфейс разбираться. Далее, к примеру, открываете руководство Grafana и настраиваете аутентификацию в ней через Keycloak. Алгоритм интеграции будет примерно такой:
1️⃣ Создаёте в Keycloak realm с нужными правами, которые поддерживает сервис. Например, с правами Admin, Viewer и Editor.
2️⃣ Далее создаёте отдельного клиента для Grafana с маппингом прав.
3️⃣ Создаёте пользователей в Keycloak с разными правами.
4️⃣ Добавляете в конфигурацию Grafana параметры из документации с учётом своих урлов и секрета клиента.
5️⃣ Пробуете зайти в Grafana, выбрав Sign in with Keycloak, и свою учётку в Keycloak.
Похожим образом настраивается интеграция с другими продуктами. Если они поддерживают такую интеграцию, то процесс будет максимально простым и быстрым. Достаточно будет создать реалм с нужными правами, клиента с маппингом прав, получить его секрет и использовать для интеграции.
В англоязычном интернете много статей с конкретными примерами интеграции различных сервисов и Keycloak. Всё современное и популярное его сейчас поддерживает, настраивается легко. С более старыми продуктами, типа postfix, dovecot будет посложнее, но в целом тоже решаемо. У postfix не видел поддержки, а у dovecot есть. Можно использовать его в качестве SASL (Simple Authentication and Security Layer). Проще ситуация, если используется веб интерфейс. Тот же Roundcube поддерживает Keycloak.
Так что если сейчас планируете построение каких-то информационных систем, сразу внедряйте SSO, чтобы потом не делать это уже по ходу дела.
#sso
👍107👎1
У сайтов на Bitrix существует одна особенность. Специально выделил жирным, потому что это такая особенность, что всем особенностям особенность. В админке можно править исходники сайта прямо наживую, в том числе и служебные файлы .htaccess. Любой, кто имеет доступ к админке, может грохнуть сайт. И это время от времени случается.
Вчера грохнули сайт по похожей схеме. Сеошник добавлял редиректы правкой .htaccess через админку. Редиректов там сотни. Сайт очень старый. Его развивали и поддерживали за последние лет 10 несколько разных компаний и программистов. Правку файлов тоже на постоянной основе делают несколько человек - как минимум сеошник и контент менеджер.
Из-за ошибки в .htaccess апач на каждый запрос отдавал 500-ю ошибку. Это я уже потом узнал. Сначала зашёл на сервер, сразу посмотрел изменения за последние сутки:
Когда увидел в списке файлов .htaccess сразу на него подумал. Сходил на бэкап сервер, забрал оттуда предыдущую версию файла. Он очень большой, так что глазами разницу не видно. Сравнил так:
Увидел много изменений. Сразу вернул прошлую версию файла. Сайт ожил. Я посмотрел на внесённые изменения. Сходил, проверил синтаксис через публичный сервис:
⇨ https://www.htaccesscheck.com (полезный, стоит сохранить)
Забавное вступительное слово у сервиса:
"Sick of one silly typo in a .htaccess file causing your entire site to be broken?" - "Устали, что банальная опечатка в .htaccess, роняет весь сайт?"
Это такая фишка Апача. И плюс, и минус одновременно.
Сервис показал ошибку. Один url, куда был направлен 301 редирект, был некорректный по формату. Из-за этого Apache на все запросы возвращал 500-ю ошибку. Я удивился от этого. Не припоминаю, что сталкивался с этим раньше. Как-то нелогично. Одно дело давать ошибку на конкретный редирект, а другое руинить всю свою работу из-за него.
В общем, файл починил, сеошнику отправил ссылку на сервис, чтобы проверял свои редиректы, прежде чем добавлять их в .htaccess. Как защититься от этого, не знаю. Это уже не первый раз, когда прямой правкой сайта через админку ломают его работу. Теоретически, я конечно знаю, как это можно исправить. Но для масштаба текущего бизнеса это будет неоправданно большой бюджет. Простой даже в несколько часов некритичен и проблем не создаёт. Напрягает это только меня, что приходится вручную решать проблемы. Но, собственно, я для этого туда и нанят.
#bitrix #webserver #apache
Вчера грохнули сайт по похожей схеме. Сеошник добавлял редиректы правкой .htaccess через админку. Редиректов там сотни. Сайт очень старый. Его развивали и поддерживали за последние лет 10 несколько разных компаний и программистов. Правку файлов тоже на постоянной основе делают несколько человек - как минимум сеошник и контент менеджер.
Из-за ошибки в .htaccess апач на каждый запрос отдавал 500-ю ошибку. Это я уже потом узнал. Сначала зашёл на сервер, сразу посмотрел изменения за последние сутки:
# find /home/bitrix/ext_www/site01 -mtime -1 -ls
Когда увидел в списке файлов .htaccess сразу на него подумал. Сходил на бэкап сервер, забрал оттуда предыдущую версию файла. Он очень большой, так что глазами разницу не видно. Сравнил так:
# sdiff /root/restored/.htaccess /home/bitrix/ext_www/site01/.htaccess
Увидел много изменений. Сразу вернул прошлую версию файла. Сайт ожил. Я посмотрел на внесённые изменения. Сходил, проверил синтаксис через публичный сервис:
⇨ https://www.htaccesscheck.com (полезный, стоит сохранить)
Забавное вступительное слово у сервиса:
"Sick of one silly typo in a .htaccess file causing your entire site to be broken?" - "Устали, что банальная опечатка в .htaccess, роняет весь сайт?"
Это такая фишка Апача. И плюс, и минус одновременно.
Сервис показал ошибку. Один url, куда был направлен 301 редирект, был некорректный по формату. Из-за этого Apache на все запросы возвращал 500-ю ошибку. Я удивился от этого. Не припоминаю, что сталкивался с этим раньше. Как-то нелогично. Одно дело давать ошибку на конкретный редирект, а другое руинить всю свою работу из-за него.
В общем, файл починил, сеошнику отправил ссылку на сервис, чтобы проверял свои редиректы, прежде чем добавлять их в .htaccess. Как защититься от этого, не знаю. Это уже не первый раз, когда прямой правкой сайта через админку ломают его работу. Теоретически, я конечно знаю, как это можно исправить. Но для масштаба текущего бизнеса это будет неоправданно большой бюджет. Простой даже в несколько часов некритичен и проблем не создаёт. Напрягает это только меня, что приходится вручную решать проблемы. Но, собственно, я для этого туда и нанят.
#bitrix #webserver #apache
Htaccesscheck
.htaccess check - Syntax checker for Apache .htaccess files
👍175
Я недавно рассказывал про namespaces в Linux. На основе этой изоляции работает множество софта. Далее будет пример одного из них, который использует network namespaces для записи дампа трафика конкретного приложения.
Речь пойдёт про nsntrace. Это относительно простое приложение, которое, как я уже сказал, может собрать дамп трафика отдельного приложения. Для этого оно делает следующие вещи:
1️⃣ Создаёт отдельный network namespace для исследуемого приложения.
2️⃣ Для того, чтобы там был доступ в интернет, создаются виртуальные сетевые интерфейсы. Один в новом namespace, другой в основном. В новом используется шлюз из основного namespace. Из-за этой схемы у запускаемого приложения будет IP адрес виртуальной сети.
3️⃣ Средствами iptables трафик натится из виртуальной сети в реальную.
4️⃣ Запускает приложение в новом namespace и собирает его трафик с помощью libpcap. Результат сохраняет в обычный pcap файл.
Nsntrace есть в базовых репах Debian:
Самый банальный пример, чтобы проверить работу:
На выходе получаем nsntrace.pcap, который можно посмотреть тут же, если у вас есть tshark:
Можно и в режиме реального времени наблюдать:
Помимо обычных приложений, снимать трафик можно и со скриптов:
Проверим на простом python скрипте:
Запускаем анализ сетевой активности:
Смотрим:
Можно передать .pcap на другую машину и посмотреть в Wireshark.
Удобный инструмент. Нужен не часто, но конкретно для скриптов мне реализация понравилась. Обычно это нетривиальная задача, посмотреть, куда он стучится и что делает. Нужно вычленять именно его запросы из общего трафика, а это не всегда просто. Либо трассировку работы делать, что тоже сложнее, чем просто воспользоваться nsntrace.
#network #perfomance
Речь пойдёт про nsntrace. Это относительно простое приложение, которое, как я уже сказал, может собрать дамп трафика отдельного приложения. Для этого оно делает следующие вещи:
1️⃣ Создаёт отдельный network namespace для исследуемого приложения.
2️⃣ Для того, чтобы там был доступ в интернет, создаются виртуальные сетевые интерфейсы. Один в новом namespace, другой в основном. В новом используется шлюз из основного namespace. Из-за этой схемы у запускаемого приложения будет IP адрес виртуальной сети.
3️⃣ Средствами iptables трафик натится из виртуальной сети в реальную.
4️⃣ Запускает приложение в новом namespace и собирает его трафик с помощью libpcap. Результат сохраняет в обычный pcap файл.
Nsntrace есть в базовых репах Debian:
# apt install nsntrace
Самый банальный пример, чтобы проверить работу:
# nsntrace wget google.com
На выходе получаем nsntrace.pcap, который можно посмотреть тут же, если у вас есть tshark:
# tshark -r nsntrace.pcap
Можно и в режиме реального времени наблюдать:
# nsntrace -o - wget google.com 2> /dev/null | tshark -r -
Помимо обычных приложений, снимать трафик можно и со скриптов:
# nsntrace php script.php
# nsntrace python script.py
Проверим на простом python скрипте:
import requests
res = requests.get('https://ya.ru')
Запускаем анализ сетевой активности:
# nsntrace python3 script.py
Starting network trace of 'python3' on interface eth0.
Your IP address in this trace is 172.16.42.255.
Use ctrl-c to end at any time.
Finished capturing 57 packets.
Смотрим:
# tshark -r nsntrace.pcap
Можно передать .pcap на другую машину и посмотреть в Wireshark.
Удобный инструмент. Нужен не часто, но конкретно для скриптов мне реализация понравилась. Обычно это нетривиальная задача, посмотреть, куда он стучится и что делает. Нужно вычленять именно его запросы из общего трафика, а это не всегда просто. Либо трассировку работы делать, что тоже сложнее, чем просто воспользоваться nsntrace.
#network #perfomance
👍114👎2
Недавно рассказывал про один из самых популярных бесплатных сервисов SSO - Keycloak. Думаю, не сильно ошибусь, если вторым по популярности поставлю Authentik. В общем и целом они выполняют схожие функции, так что в лоб их трудно сравнить. Keycloak более старый продукт под крылом RedHat. Можно считать его более основательным, как с точки зрения решения запросов enterprise сегмента, так и безопасности. С другой стороны у Authentik немного больше возможностей.
Например, Authentik может выступать сам в роли LDAP каталога или сервиса RADIUS. Это удобно, если у вас есть приложения, которые поддерживают только их. Не нужны сторонние каталоги. Также в Authentik есть возможность настроить так называемый Application Proxy для приложений, которые не поддерживают SSO. Вот пример для Nginx, или для любого веб приложения, которое поддерживает только Basic Auth, которая реализуется через Authentik.
Запустить в работу Authentik так же просто, как и Keycloak. Есть готовый Docker Compose и набор контейнеров. Весь процесс описан в документации. Там же подробное видео. Отдельно отмечу совсем свежее (21 мар. 2024 г.) видео по этой теме:
▶️ Secure authentication for EVERYTHING! // Authentik
Автор подробно описывает, как запустить Authentik в прод и показывает пару примеров интеграции своих сервисов с этим SSO: Portainer и Proxmox VE. Видео интересное и информативное. Рекомендую посмотреть хотя бы для того, чтобы увидеть рабочую среду этого инженера.
Все интеграции Authentik собраны в отдельный раздел на сайте. По каждому продукту подробная пошаговая инструкция. Так что настроить по ней будет не сложно. В списке есть такие популярные продукты как Zabbix, Grafana, Uptime Kuma, Gitlab, OnlyOffice, Nextcloud, Rocket.chat, Roundcube, Proxmox VE, Apache Guacamole, pfSense, MinIO, ProFTPD, Home Assistant и т.д. Список большой.
В целом, Authentik выглядит немного проще по настройке и внедрению, так что для старта и небольших проектов он скорее всего будет более предпочтителен, нежели Keycloak. К тому же в явный плюс идёт встроенный каталог LDAP. В Keycloak нужно будет какой-то внешний каталог использовать. Но это чисто мои умозрительные заключения.
⇨ Сайт / Исходники / Видеоинструкция
#sso
Например, Authentik может выступать сам в роли LDAP каталога или сервиса RADIUS. Это удобно, если у вас есть приложения, которые поддерживают только их. Не нужны сторонние каталоги. Также в Authentik есть возможность настроить так называемый Application Proxy для приложений, которые не поддерживают SSO. Вот пример для Nginx, или для любого веб приложения, которое поддерживает только Basic Auth, которая реализуется через Authentik.
Запустить в работу Authentik так же просто, как и Keycloak. Есть готовый Docker Compose и набор контейнеров. Весь процесс описан в документации. Там же подробное видео. Отдельно отмечу совсем свежее (21 мар. 2024 г.) видео по этой теме:
▶️ Secure authentication for EVERYTHING! // Authentik
Автор подробно описывает, как запустить Authentik в прод и показывает пару примеров интеграции своих сервисов с этим SSO: Portainer и Proxmox VE. Видео интересное и информативное. Рекомендую посмотреть хотя бы для того, чтобы увидеть рабочую среду этого инженера.
Все интеграции Authentik собраны в отдельный раздел на сайте. По каждому продукту подробная пошаговая инструкция. Так что настроить по ней будет не сложно. В списке есть такие популярные продукты как Zabbix, Grafana, Uptime Kuma, Gitlab, OnlyOffice, Nextcloud, Rocket.chat, Roundcube, Proxmox VE, Apache Guacamole, pfSense, MinIO, ProFTPD, Home Assistant и т.д. Список большой.
В целом, Authentik выглядит немного проще по настройке и внедрению, так что для старта и небольших проектов он скорее всего будет более предпочтителен, нежели Keycloak. К тому же в явный плюс идёт встроенный каталог LDAP. В Keycloak нужно будет какой-то внешний каталог использовать. Но это чисто мои умозрительные заключения.
⇨ Сайт / Исходники / Видеоинструкция
#sso
👍82👎3
Примерно 3 года назад я рассказывал про хороший инструмент для бэкапа - Kopia. Это бесплатная кросс-платформенная система для бэкапов с управлением через веб интерфейс. С тех пор вышло много обновлений, продукт активно развивается и обрастает возможностями. Решил написать о нём ещё раз, чтобы напомнить и рассказать тем, кто не знаком с ним.
📌 Кратко перечислю основные возможности Kopia:
▪️ Кросс-платформенная система как на уровне агентов, так и сервера. Вы можете развернуть сервер с веб интерфейсом как на Linux, так и Windows или macOS. И бэкапить туда все поддерживаемые системы.
▪️ Поддержка различных бэкендов для организации архива с бэкапами. Даже если чего-то не хватает, то в качестве транспорта может выступать rclone, который поддерживает вообще всё, что только можно.
▪️ Есть в том числе поддержка CLI (консольного интерфейса), что позволяет очень гибко с помощью ключей задавать преднастройки для процесса архивирования.
▪️ Очень гибкая система хранения и управления бэкапами с помощью политик.
▪️ Веб интерфейс для настройки бэкапов и доступа к данным. При желании, можно всё делать через него. В консоль ходить не обязательно. Но при этом все настройки, сделанные в веб интерфейсе можно экспортировать в json конфиги и консольные ключи.
🔥 Поддержка инкрементных бэкапов, дедупликации, сжатия.
▪️ Есть возможность проводить регулярные проверки бэкапов на целостность.
▪️ В последний релиз завезли поддержку Volume Shadow Copy Service (VSS) под Windows.
▪️ Всё это написано на GO и работает быстро.
❗️Сразу отмечу, что Kopia делает бэкапы только на уровне файлов и каталогов. Сделать образ диска или бэкап всей системы разом с ней не получится.
У Kopia немного необычная архитектура и принцип работы. Сейчас кратко расскажу, как там всё устроено. Клиент и сервер по сути одно и то же. Это всё один бинарник. Поставить в Debian можно так:
Далее вы можете все конфиги подготовить заранее и запустить бинарник с нужными параметрами. Но так как мы используем этот продукт впервые, то запустим веб интерфейс и всё настроим там. А потом уже заберём готовые конфиги для других серверов.
Запустили kopia в режиме веб интерфейса. Идём на https://10.20.1.36:51515 и логинимся под указанной учёткой. Сразу добавляем репозиторий для хранения бэкапов. Например, локальную директорию
После того, как мы настроили репозиторий и параметры бэкапа, его конфиг сохранился в
Будет создан очередной снэпшот директории. Посмотреть его можно будет в том числе через веб интерфейс.
Теперь мы можем установить kopia на любую другую машину. Если мы захотим складывать её бэкапы на тот же сервер, где мы ранее настроили репозиторий, то на него они будут попадать уже по sftp. Для этого можно так же запустить на новой машине веб интерфейс и добавить репозиторий уже не локальный, а sftp и указать параметры подключения по ssh. И далее так же делать снепшоты либо через веб интерфейс, либо локальной командой, которую можно запускать через cron или systemd.
При описанной схеме, все клиенты имеют полный доступ к репозиторию с бэкапами. Это самая простая настройка. Чтобы доступ ограничивать через acl, можно поднять Repository Server и подключаться через него.
⇨ Сайт / Исходники
#backup
📌 Кратко перечислю основные возможности Kopia:
▪️ Кросс-платформенная система как на уровне агентов, так и сервера. Вы можете развернуть сервер с веб интерфейсом как на Linux, так и Windows или macOS. И бэкапить туда все поддерживаемые системы.
▪️ Поддержка различных бэкендов для организации архива с бэкапами. Даже если чего-то не хватает, то в качестве транспорта может выступать rclone, который поддерживает вообще всё, что только можно.
▪️ Есть в том числе поддержка CLI (консольного интерфейса), что позволяет очень гибко с помощью ключей задавать преднастройки для процесса архивирования.
▪️ Очень гибкая система хранения и управления бэкапами с помощью политик.
▪️ Веб интерфейс для настройки бэкапов и доступа к данным. При желании, можно всё делать через него. В консоль ходить не обязательно. Но при этом все настройки, сделанные в веб интерфейсе можно экспортировать в json конфиги и консольные ключи.
🔥 Поддержка инкрементных бэкапов, дедупликации, сжатия.
▪️ Есть возможность проводить регулярные проверки бэкапов на целостность.
▪️ В последний релиз завезли поддержку Volume Shadow Copy Service (VSS) под Windows.
▪️ Всё это написано на GO и работает быстро.
❗️Сразу отмечу, что Kopia делает бэкапы только на уровне файлов и каталогов. Сделать образ диска или бэкап всей системы разом с ней не получится.
У Kopia немного необычная архитектура и принцип работы. Сейчас кратко расскажу, как там всё устроено. Клиент и сервер по сути одно и то же. Это всё один бинарник. Поставить в Debian можно так:
# curl -s https://kopia.io/signing-key \
| gpg --dearmor -o /etc/apt/keyrings/kopia-keyring.gpg
# echo "deb [signed-by=/etc/apt/keyrings/kopia-keyring.gpg] \ https://packages.kopia.io/apt/ stable main" \
| tee /etc/apt/sources.list.d/kopia.list
# apt update
# apt install kopia
Далее вы можете все конфиги подготовить заранее и запустить бинарник с нужными параметрами. Но так как мы используем этот продукт впервые, то запустим веб интерфейс и всё настроим там. А потом уже заберём готовые конфиги для других серверов.
# kopia server start --insecure --address="https://10.20.1.36:51515" \
--server-username="kopia" --server-password=kopia
Запустили kopia в режиме веб интерфейса. Идём на https://10.20.1.36:51515 и логинимся под указанной учёткой. Сразу добавляем репозиторий для хранения бэкапов. Например, локальную директорию
/mnt/backup
. После этого в разделе Snapshots мы можем добавить любой локальный каталог в качестве источника бэкапа. И там же через веб интерфейс настроить параметры бэкапа и политики хранения. Они сохранятся в репозитории. После того, как мы настроили репозиторий и параметры бэкапа, его конфиг сохранился в
/root/.config/kopia/repository.config
. Теперь мы можем просто запускать команду для бэкапа в консоли. Примерно так для директории /var/log
:# kopia snapshot create /var/log
Будет создан очередной снэпшот директории. Посмотреть его можно будет в том числе через веб интерфейс.
Теперь мы можем установить kopia на любую другую машину. Если мы захотим складывать её бэкапы на тот же сервер, где мы ранее настроили репозиторий, то на него они будут попадать уже по sftp. Для этого можно так же запустить на новой машине веб интерфейс и добавить репозиторий уже не локальный, а sftp и указать параметры подключения по ssh. И далее так же делать снепшоты либо через веб интерфейс, либо локальной командой, которую можно запускать через cron или systemd.
При описанной схеме, все клиенты имеют полный доступ к репозиторию с бэкапами. Это самая простая настройка. Чтобы доступ ограничивать через acl, можно поднять Repository Server и подключаться через него.
⇨ Сайт / Исходники
#backup
👍86👎1
Озадачился вопросом GUI клиента для S3 под Windows. Обычно у всех сервисов есть веб интерфейс, так что для разовых задач можно и им воспользоваться. Но локальным клиентом всё равно удобнее.
Быстро посмотрел в поиске и практически сразу же увидел, что WinSCP оказывается поддерживает S3. Я этой программой пользуюсь с незапамятных времён для подключений по SFTP, другие протоколы даже не смотрел. Для FTP привык к Total Commander, так что у меня эта связка очень давно. Посмотрел на свою портированную версию WinSCP, она от 2020 года. Обновил до свежей и попробовал.
WinSCP реально поддерживает S3 совместимые хранилища, хоть в настройках и указано, что протокол Amazon S3. Я подключился к хранилищу Selectel, просто указав s3.ru-1.storage.selcloud.ru и access key, secret key от сервисного пользователя с соответствующим доступом. Единственный нюанс был - надо включить Virtual-Hosted адресацию в конфигурации контейнера. Без этого хоть и подключался, но не мог в контейнеры заходить.
Других провайдеров не пробовал, но видел, что WinSCP с Яндекс облаком тоже без проблем работает. Думаю, что и со всеми остальными всё в порядке будет.
#s3
Быстро посмотрел в поиске и практически сразу же увидел, что WinSCP оказывается поддерживает S3. Я этой программой пользуюсь с незапамятных времён для подключений по SFTP, другие протоколы даже не смотрел. Для FTP привык к Total Commander, так что у меня эта связка очень давно. Посмотрел на свою портированную версию WinSCP, она от 2020 года. Обновил до свежей и попробовал.
WinSCP реально поддерживает S3 совместимые хранилища, хоть в настройках и указано, что протокол Amazon S3. Я подключился к хранилищу Selectel, просто указав s3.ru-1.storage.selcloud.ru и access key, secret key от сервисного пользователя с соответствующим доступом. Единственный нюанс был - надо включить Virtual-Hosted адресацию в конфигурации контейнера. Без этого хоть и подключался, но не мог в контейнеры заходить.
Других провайдеров не пробовал, но видел, что WinSCP с Яндекс облаком тоже без проблем работает. Думаю, что и со всеми остальными всё в порядке будет.
#s3
👍98👎7