ServerAdmin.ru
31.3K subscribers
674 photos
55 videos
22 files
2.87K links
Авторская информация о системном администрировании.

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

Второй канал: @srv_admin_live
Сайт: serveradmin.ru

Регистрация в РКН: https://vk.cc/cG1Urj
Download Telegram
Посмотрел на днях очень полезное с практической точки зрения видео на тему различий между форками СУБД MySQL.

Сравнение форков СУБД MYSQL: Oracle MySQL, Percona Server for MySQL и MariaDB

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

Для начала назовём основные отличия трёх указанных продуктов.

🔹Oracle Mysql Community Edition - изначальная версия MySQL, которую купила компания Oracle вместе с Sun и продолжила развивать, сделав акцент на развитии движка InnoDB. В качестве кластерного решения используется InnoDB Cluster.

🔹Percona server for Mysql - в основе оракловский Mysql, а поверх установлен набор патчей для оптимизации и мониторинга производительности. Помимо СУБД компания развивает собственный комплект софта для мониторинга (Percona Monitoring and Management), бэкапа (XtraBackup), кластеризации (Percona XtraDB Cluster) и т.д.

🔹MariaDB - самостоятельный сервер, который уже значительно отличается от MySQL. Разрабатывается разработчиками первых версий MySQL, которые ушли из Oracle. Начиная с версии MySQL 5.7 нет прямой совместимости между Oracle MySQL и MariaDB. Переключаться между ними можно только через логический дамп. Продукт проповедует более открытую для сообщества модель развития. В современных дистрибутивах Linux для баз данных MySQL в основном ставится MariaDB. Используется своё кластерное решение - Galera Cluster. В отличие от MySQL, в MariaDB сохранена поддержка технологии Query Cache. Для бэкапов есть свой продукт - mariabackup.

Автор ролика собрал стенд из идентичных виртуальных машин. Установил на каждую свою СУБД, установил примерно одинаковые базовые настройки, остальные оставил по умолчанию, как они были изначально. Подготовил тест с использованием sysbench. Исходники теста выложил в репозиторий:

https://github.com/Nickmob/mysql_bench

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

Наиболее высокие результаты показала MariaDB, Oracle разных версий и Percona показали сопоставимые результаты, а MariaDB в паре тестов явно показывает лучшую производительность.

Так что если вы сомневаетесь и не знаете, какую СУБД взять для баз MySQL, берите MariaDB. По умолчанию скорее всего она заработает как минимум не хуже форков, а возможно и лучше. Внизу скриншот результатов. Левый столбец - чем выше метрика, тем лучше, правый наоборот - чем меньше отклик, тем лучше.

#mysql

🦖 Selectel — дешёвые и не очень дедики с аукционом!
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍97👎2
У Zabbix есть отдельная страница, где публикуются все найденные уязвимости:

https://www.zabbix.com/security_advisories

Какого-то API или выгрузки для этих данных нет. В официальном блоге появилась статья на эту тему: Monitoring Zabbix Security Advisories. Автор предложил решение, как настроить мониторинг этой страницы. Я его попробовал и изучил. В целом, мне понравилось, как это работает, оставил у себя на одном из серверов для информирования.

Автор распарсил указанную страницу с помощью rust, scraper и AWS Lambda function. Положил итоговый файл в формате json на S3 бакет и обновляет его раз в 2 часа. Вот ссылка на файл.

Далее был сделан шаблон для сбора данных. В статье есть ссылка на него. Он довольно простой, так как парсить json с помощью Zabbix просто и удобно. В шаблоне 2 триггера:

▪️появилась новая уязвимость
▪️файл с уязвимостями не обновлялся дольше 6-ти часов

Последний триггер сделан как-то непонятно. У меня он работал неправильно, я не понял его логику. Подставив макросы в триггере, там получилось вот такое выражение:

last(/Zabbix Security Advisories/zbx_sec.last_updated)>2h*3

Значение zbx_sec.last_updated в формате unixtime. Я заменил этот триггер на свой. Он срабатывает, если время обновления json файла отличается больше чем на 24 часа (86400 секунд) от текущего времени сервера. То есть обновление было больше суток назад.

fuzzytime(/Zabbix Security Advisories/zbx_sec.last_updated,86400)=0

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

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

Если работаете с Zabbix, рекомендую обратить внимание на эту статью в блоге и шаблон. Удобно получать оперативно информацию о том, что появилась какая-то уязвимость в Zabbix от самих разработчиков.

#zabbix

🦖 Selectel — дешёвые и не очень дедики с аукционом!
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍66👎3
Не Заббиксом единым живёт мониторинг традиционной инфраструктуры на базе хостов и сервисов на них. Расскажу вам про не очень известную в русскоязычном сегменте систему мониторинга Checkmk. Я уже писал про неё несколько лет назад. Она мне тогда понравилась, так что решил посмотреть на неё спустя несколько лет. В этот раз немного подробнее, погрузившись в детали настройки.

Checkmk сделана на базе Nagios. Но насколько я понял, она уже очень далеко от неё ушла. Сразу отвечу на главный вопрос. Зачем изучать и использовать какой-то другой мониторинг, отличный от наиболее популярных Zabbix и Prometheus (и совместимых систем на его базе)? В целом, незачем, если у вас задача расти и развиваться в системном администрировании и devops. Использовать такие системы, типа Checkmk имеет смысл для решения конкретных задач, которые она решает удобнее и проще других, ну и плюс, если вы уже постигли дзен и вам просто нравится изучать что-то новое.

Мониторинг на базе Checkmk внедрить проще, чем тот же Zabbix или Prometheus. Работает он по модели pull, то есть ставите агент, он слушает определённый порт, а сервер шлёт на него команды по сбору метрик.

Развернуть Checkmk можно в докере буквально в одну команду:

# docker run -dit -p 8080:5000 -p 8000:8000 --tmpfs /opt/omd/sites/cmk/tmp:uid=1000,gid=1000 -v monitoring:/omd/sites --name monitoring -v /etc/localtime:/etc/localtime:ro --restart always checkmk/check-mk-raw:2.3.0-latest

Далее ждём пару минут и смотрим лог контейнера. Там будет учётка администратора:

# docker logs monitoring
...
The admin user for the web applications is cmkadmin with password: RliEfjVR9H3J
...

Можно идти в веб интерфейс на порт 8080 и настраивать систему. Агенты можно скачивать прямо с сервера в разделе Setup ⇨ Agents ⇨ Linux или Windows.

# wget https://10.20.1.36:8080/cmk/check_mk/agents/check-mk-agent_2.3.0p17-1_all.deb
# dpkg -i check-mk-agent_2.3.0p17-1_all.deb

Потом идём на сервер в раздел Setup ⇨ Hosts ⇨ Add host и добавляем машину по IP. После выполнения настроек, необходимо их принять. До этого их можно откатить. То есть сразу изменения не принимаются.

Далее нужно зайти в настройки хоста, в раздел Save & run service discovery, выполнить поиск служб, которые преднастроены для хостов с определённой системой. Там будут в основном базовые метрики: сеть, диск, процессор, память и т.д. Выбрать то, что вам нужно, либо сразу всё и сохранить.

Возможности Checkmk расширяются плагинами. Расскажу про один из таких плагинов, который показался мне полезным. Я настроил его и проверил работу. Плагин называется filestats. С его помощью можно следить за файлами. Конкретно мне это интересно в контексте мониторинга бэкапов.

С помощью этого плагина можно настроить следующие условия:

◽️минимальный возраст самого старого файла
◽️минимальный возраст самого нового файла
◽️минимальный или максимальный размер файла
◽️минимальное число файлов

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

Этот плагин Checkmk без проблем решает задачу. Чтобы сделать то же самое на Zabbix, мне приходилось писать велосипеды на баше, а тут это уже реализовано. Только галочки ставь на условия, которые тебя интересуют. Пример, как это настраивается, можно посмотреть в документации. Не скажу, что я быстро разобрался, но с учётом того, что я вижу фактически впервые эту систему, пришлось для начала разобраться с самой концепцией плагинов и их настройки. За пару-тройку часов разобрался.

Подобных плагинов в Checkmk не меньше сотни. Скорее больше. Полный список есть тут. Чего там только нет. Если вам нужен базовый мониторинг и не хочется разбираться с более сложными и масштабными системами, попробуйте Checkmk. Некоторые вещи с его помощью решаются значительно проще, чем в других системах.

#мониторинг

🦖 Selectel — дешёвые и не очень дедики с аукционом!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
16👍92👎1
На всех серверах на базе Linux, а раньше и не только Linux, которые настраиваю и обслуживаю сам, изменяю параметры хранения истории команд, то есть history. Настройки обычно добавляю в файл ~/.bashrc. Постоянно обращаюсь к истории команд, поэтому стараюсь, чтобы они туда попадали и сохранялись. Покажу свои привычные настройки:

Для того, чтобы сразу же сохранять в историю введённую команду, использую переменную bash - PROMPT_COMMAND. Содержимое этой переменной выполняется как обычная команда Bash непосредственно перед тем, как Bash отобразит приглашение. Соответственно, команда history -a сохраняет историю команд этого сеанса в файл с историей.

PROMPT_COMMAND='history -a'

Сохранение метки времени вместе с самой командой и вывод её в определённом формате (2024-09-25 16:39:30):

export HISTTIMEFORMAT='%F %T '

Увеличение числа строк в файле с историей. По умолчанию хранится вроде бы только 500 последних команд, более старые удаляются. Я увеличиваю этот размер до 10000 строк. Ни разу не было, чтобы этого не хватило:

export HISTSIZE=10000

Некоторые команды не сохраняю в истории, так как они не представляют какой-то ценности, только отвлекают и занимают место. Вы можете свой список таких команд вести:

export HISTIGNORE="ls:history:w:htop:pwd:top:iftop"

Если я не хочу, чтобы команда попала в историю, то ставлю в консоли перед ней пробел. За это поведение отвечает соответствующий параметр:

export HISTCONTROL=ignorespace 

Для применения настроек можно выполнить:

# source ~/.bashrc

Посмотреть свои применённые параметры для истории можно вот так:

# export | grep -i hist

Если вы хотите, чтобы эти параметры применялись для всех пользователей сервера, то создайте отдельный файл с настройками, к примеру, history.sh и положите его в директорию /etc/profile.d. Скрипты из этой директории выполняются при запуске шелла пользователя.

❗️Для поиска по истории нажмите сочетание клавиш Ctrl+r и начните вводить команду. Для перебора множественных совпадений продолжайте нажимать Ctrl+r, пока не найдёте то, что ищите. Я лично привык просто грепать, а не искать в истории:

# history | grep 'apt install'

Тут сразу всё перед глазами, можно быстро либо найти, то, что надо, либо скопировать команду.

⚡️Расскажу про один нюанс, связанный HISTIGNORE, который не раз меня подставлял. У меня в исключениях, к примеру, есть команда htop. Она в историю не попадает. Бывало такое, что я перезагружал сервер командой reboot. Потом загружался и первым делом вводил команду htop, что-то смотрел, закрывал htop. Потом нужно было запустить htop снова. Я на автомате нажимаю стрелку вверх, чтобы запустить последнюю команду, там выскакивает reboot, потому что htop не сохранился, и я тут же жму enter. И сокрушаюсь, что на автомате выполнил не ту команду. Реально много раз на это попадался, правда без последствий. В основном это во время какой-то отладки бывает, там и так перезагрузки идут.

#linux #terminal #bash

🦖 Selectel — дешёвые и не очень дедики с аукционом!
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍174👎4
Расскажу про непривычное представление IP адреса, которое вряд ли где-то на практике пригодится. Информация чисто для расширения кругозора. Можно использовать для собеседований или приколов над коллегами:

$ ping 1297614849
PING 1297614849 (77.88.8.1) 56(84) bytes of data.
64 bytes from 77.88.8.1: icmp_seq=1 ttl=56 time=8.03 ms
64 bytes from 77.88.8.1: icmp_seq=2 ttl=56 time=8.39 ms
64 bytes from 77.88.8.1: icmp_seq=3 ttl=56 time=8.08 ms
64 bytes from 77.88.8.1: icmp_seq=4 ttl=56 time=7.94 ms

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

Берём IP адрес 77.88.8.1 и преобразуем его в двоичное представление. Можно по отдельности каждый окет, либо на каком-то калькуляторе. Например, тут:

⇨ https://infocisco.ru/ip_to_bin.php

77.88.8.1 ⇨ 01001101010110000000100000000001

А теперь это двоичное представление переводим в десятичный вид. Например, тут:

⇨ https://calcus.ru/perevod-sistem-schisleniya/iz-dvoichnoy-v-desyatichnuyu

01001101010110000000100000000001 ⇨ 1297614849

И теперь этот адрес в виде десятичного числа можно использовать вместо IP адреса. К сожалению, я не нашёл, где ещё его можно использовать в таком виде. Попытался в hosts добавлять, но ни в Windows, ни в Linux представление в таком виде не работает. Команда host тоже не принимает в таком виде, в статические записи DNS в микротике тоже не проходит. Работает в ping, tracert, traceroute.

Если кто-то знает, где ещё можно в десятичном виде использовать IP адреса, поделитесь информацией.

#network

🦖 Selectel — дешёвые и не очень дедики с аукционом!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍130👎3
На днях новость проскочила про новый мониторинг - Astra Monitoring. Продукты Астры сейчас популярны, поэтому решил посмотреть, что это вообще такое. Честно говоря, первое, о чём подумал, что взяли исходники Zabbix и сделали что-то поверх. Я ошибся в частностях, но не в самой сути.

На сайте есть вся информация о новом мониторинге, в том числе состав продуктов, из которых он состоит. Это сборка на базе:

▪️Prometheus
▪️Grafana
▪️VictoriaMetrics
▪️Postgresql
▪️Keycloak
▪️Vector
▪️Clickhouse

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

# curl -sLo astra-monitoring.tgz https://dl.astralinux.ru/am/generic/compose/astra-monitoring-latest.tgz
# tar zxvf astra-monitoring.tgz
# cd astra-monitoring/

Тут можно посмотреть весь состав продукта со всеми конфигами и итоговый docker-compose.yml. В инструкции сказано, что можно сразу запускать:

# docker compose up

У меня не заработало. Постоянно падал контейнер gatekeeper с веб интерфейсом. По какой-то причине он не мог получить информацию от keycloak, хотя контейнер с ним запускался и урлы, на которые ругался gatekeeper, были доступны. Keycloak отклонял соединения со стороны gatekeeper.

Я некоторое время поковырялся в проекте, но починить не смог. Помогал в отладке, кстати, вот этот подход. Позволил из контейнеров попинговать и проверить урлы, доступность адресов. В архиве нашёлся скрипт start.sh и файл .env. Попробовал через скрипт запускать, заполнять инвентарь. Результат тот же - падает gatekeeper. Так и не смог попасть в веб интерфейс. Если кто-то уже устанавливал и запускал этот мониторинг, подскажите, что надо поправить. В инструкции, к сожалению, никаких подробностей.

Подход Астры в этом продукте такой же как и в RuPost и многих других, когда берутся open source компоненты и объединяются в единое управление. С точки зрения администрирования это неплохо, так как те, кто будут с этим работать, будут взаимодействовать с лучшими общемировыми продуктами, что только в плюс к компетенциям и опыту.

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

#мониторинг
👍77👎19
Media is too big
VIEW IN TELEGRAM
Забавный старый ролик, который я раньше не видел. Скинул когда-то давно один подписчик. Несмотря на то, что он не по теме канала, решил с вами поделиться.

▶️ Короче Говоря, Я сделал Сайт (Ellgin)

Хотя как сказать, не по теме. Тот, кто начинал с техподдержки или администрировании офисной инфраструктуры, наверняка увидит тут что-то знакомое. Кого из вас просили сделать сайт? Меня просили и не раз. Удавалось каждый раз увильнуть. Реально по работе сайт ни разу сам не делал, хотя личный блог веду уже много лет. И люди знали, что простенький сайт я могу сварганить. Но вести свой для души - это одно, а на работе этим заниматься - другое дело.

На сайте я, кстати, как-то раз подзаработал, ещё будучи студентом. Я тогда освоил Adobe Dreamweaver и мог верстать на нём простенькие html странички, объединяя их в сайт. Один такой сайт у меня купили. Страниц 5 тогда сделал, скопировав дизайн какого-то другого сайта.

#юмор
Please open Telegram to view this post
VIEW IN TELEGRAM
👍111👎4
В пятницу была рассылка от Mikrotik. У них классный формат - оформляют в красивый pdf документ. Я раньше внимательно читал, переводил, вникал. Сейчас в основном пролистываю. Покупать их стало сложнее, ассортимент меньше, цены выше. Хотя сопоставимых по возможностям аналогов так и не появилось. Сам с микротиками продолжаю постоянно работать, потому что они как работали, так и работают там, где были куплены.

В новостях главным событием был выпуск новой версии утилиты Winbox 4. Вообще, это классная задумка Микротика. Всегда нравилось настраивать их устройства именно через Winbox, а не веб интерфейс. Я его всегда отключаю. Решил сразу посмотреть на новую версию.

 📌 Основные нововведения Winbox 4:

◽️Поддержка трёх систем: Windows, Linux, MacOS. Наконец-то можно будет запускать утилиту на Linux нативно, без Wine.
◽️Тёмная тема. Мне лично вообще не актуально. Не понимаю, что все так носятся с этими тёмными темами. Возможно дело в том, что я всегда со светом работаю за компьютером. В темноте действительно с тёмными темами удобнее.
◽️Возможность настраивать масштаб. Не сильно критично, но полезно. Иногда на ноутах очень всё мелко, хочется увеличить.
◽️Настройка рабочих областей. Имеется ввиду набор открытых окон. Это реально удобно. Мне не хватало. Постоянно окошки открывал, закрывал, двигал под разные задачи.
◽️Изменился внешний вид. Понятное дело, что это напрашивалось. Выглядеть интерфейс стал посовременнее.

Когда увидел новость, подумал, что работать, наверное, будет только с новой версией RouterOS 7. Опасения были напрасны. Работает и с 6-й версии. Я попробовал, очень понравилось. Сразу же увеличил стандартный масштаб, чтобы было покрупнее.

Наверное ещё есть какие-тот баги, но, объективно, работать в этой утилите удобнее. Она пока ещё в статусе бета, так что пользоваться не буду. Но на вид всё стабильно. Думаю, скоро в релиз уйдёт.

#mikrotik
👍141👎8
Rsync - мощная консольная утилита и служба для быстрого копирования файлов. Отличает её в первую очередь скорость сравнения директорий с огромным количеством файлов. К примеру, если вам нужно будет сравнить и привести к единому содержимому два разнесённых по сети хранилища с миллионом файлов внутри, то rsync для этого подойдёт лучше, чем что-либо другое.

Расскажу про одну функциональность rsync, про которую, возможно, не все знают. Речь пойдёт про ключ --remove-sent-files. С этим ключом есть некоторая неоднозначность. В каких-то манах он представлен в таком виде, а где-то в виде --remove-source-files. Судя по описанию, это одно и то же. Я в своих скриптах использую --remove-sent-files.

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

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

Выглядит итоговая команда для бэкапа примерно так:

/usr/bin/rsync --remove-sent-files --progress -av -e "ssh -p 31003 -i /home/user/.ssh/id_rsa" [email protected]:/home/bitrix/mysqlbackup/ /mnt/backup/site01/mysql-dump/


Для тех, кто не привык колхозить автоматизацию бэкапов с помощью самодельных скриптов, есть готовые системы на базе Rsync. Я постарался рассмотреть практически все более ли менее известные. Вот они:

▪️ Butterfly Backup - консольная утилита Linux.
▪️ Rsnapshot - консольная утилита Linux.
▪️ ElkarBackup - сервис для бэкапов, написанный на PHP, настройка через браузер.
▪️ BackupPC - сервис для бэкапов, написанный на PERL, настройка через браузер.
▪️ Burp - сервис под Linux, более простой аналог Bacula.
▪️ cwRsyncServer Программа под Windows.
▪️ DeltaCopy Программа под Windows.

Забирайте в закладки. Для сырых данных rsync предоставляет наилучшую производительность и утилизацию канала. Особенно это заметно на большом количестве мелких файлов, или там, где большой файл изменяется незначительно. Алгоритм работы rsync позволяет не выкачивать весь файл заново, а только изменения.

#rsync #backup
4👍152👎2
Пришлось не так давно переносить виртуальный сервер Windows с установленными программными клиентскими лицензиями 1C. Мне не так часто приходится с ними взаимодействовать, так что технических нюансов их работы я не знаю, как и не имею большой практики использования. Знаю только, что они жёстко привязаны к железу и очень чувствительны к изменениям. Расскажу, как у меня прошёл перенос.

На гипервизоре Proxmox стало не хватать ресурсов. Было принято решение взять в аренду идентичный сервер, чтобы разгрузить существующий и добавить ресурсов виртуалке. Как минимум процессор там был точно такой же. Изменилась версия гипервизора с 7-й на 8-ю. Воссоздал на новом сервере виртуалку с идентичными настройками и перенёс вручную диск виртуальной машины.

Пару дней сервер проработал нормально, а потом ругнулся на программную лицензию из-за изменения железа. Меня удивило, что случилось это не сразу. В информационном сообщении было указано, что изменилась цифра в версии биоса и mac адрес сетевого интерфейса. Его я забыл скопировать со старого сервера. Это был мой недосмотр. Хоть я наверняка и не знал, что есть привязка по маку, но надо было в любом случае таким же его оставить.

Интересное произошло дальше. Я изменил mac адрес сетевого интерфейса на старый и перезагрузил сервер. Он всё равно ругнулся на изменившийся mac адрес адаптера, показывая в качестве нового адреса тот, что я уже успел поменять на старый. Думаю, ладно, ничего не поделать. Пошёл добывать документы, пинкоды и т.д. Когда всё нашёл, решил перезагрузиться ещё раз. И, о чудо, всё заработало.

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

SeaBIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org, 01.04.2014

Соответственно, на старом сервере цифры были немного другие. Вот для примера версия bios с другого гипервизора:

SeaBIOS rel-1.16.2-0-gea1b7a073390-prebuilt.qemu.org, 01.04.2014

❗️Решил написать эту заметку, потому что везде в интернете видел информацию о том, что лицензия привязывается к версии bios. При переезде с гипервизора на гипервизор, да и просто при обновлении на новый релиз, информация о биосе меняется. Но лично в моём случае необходимости в обновлении лицензии в связи с этим не возникло. Также я не знал, что если вернуть конфигурацию обратно, то лицензии восстанавливаются. Думал, что они слетает безвозвратно.

#1С
👍186👎2
🔝 ТОП постов за прошедший месяц. Все самые популярные публикации по месяцам можно почитать со соответствующему хэштэгу #топ. Отдельно можно посмотреть ТОП за прошлый год.

Пользуясь случаем, хочу попросить проголосовать за мой канал, так как это открывает некоторые дополнительные возможности по настройке: https://t.iss.one/boost/srv_admin.

В этот раз больше всего обсуждали мониторы. Я высказал мысль насчёт соотношения 4:3 и разрешения 1920x1200. Не хочу опять делать публикацию на эту тему, поэтому кратко скажу здесь. Я купил себе монитор 1920x1200 с диагональю 24 дюйма. Для меня это оказалось лучшим вариантом на текущий момент из тех, что пробовал. Такой формат для работы устраивает полностью.

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

📌 Больше всего пересылок:
◽️Программа для бэкапов Hasleo Backup Suite Free (657)
◽️Бесплатный видеорегистратор Frigate.video (610)
◽️Настройка службы SSHD (456)

📌 Больше всего комментариев:
◽️Обсуждение мониторов для работы (151)
◽️Заметка про Astra Monitoring (128)
◽️Поддержка Proxmox в Veeam Backup & Replication (83)

📌 Больше всего реакций:
◽️Программа для бэкапов Hasleo Backup Suite Free (243)
◽️Миграция VM в Proxmox с помощью remote-migrate (175)
◽️Алиасы, команды оболочки и бинарники в bash (166)

📌 Больше всего просмотров:
◽️Программа для бэкапов Hasleo Backup Suite Free (11164)
◽️Видео про разбор параметров TLS (10614)
◽️Некоторые полезные команды git от ohshitgit.com (10323)

#топ
👍51👎2
Тема VPN серверов всё актуальнее день ото дня. Покажу, как быстро настроить VPN сервер OpenConnect. В чём его особенности, я рассказывал в отдельной заметке, не буду повторяться. Кратко поясню, что это VPN с использованием TLS шифрования, что делает его похожим на HTTPS трафик. Сразу скажу, что это не означает, что его нельзя отличить от реального трафика к веб сайтам. Можно, но пока такая блокировка не особо практикуется, так что можно пользоваться.

Я установлю OpenConnect на Debian 12 с использованием сертификатов от Let's Encrypt и аутентификацией пользователей через связку логин/пароль. Это максимально простая настройка, в которой вы получаете полнофункциональный VPN сервер с возможностью управления маршрутизации клиентов централизованно на сервере.

Подготовимся и получим сертификаты:

# apt install certbot
# certbot certonly -d 333271.simplecloud.ru --standalone

В директории /etc/letsencrypt/live/333271.simplecloud.ru будут файлы fullchain.pem и privkey.pem, которые нам понадобятся позже.

Устанавливаем OpenConnect из пакетов:

# apt install ocserv

Рисуем ему примерно такой конфиг /etc/ocserv/ocserv.conf. Показываю только те параметры, что поменял. Остальное отставил по умолчанию, как было:

# включаем аутентификацию по данным из файла
auth = "plain[passwd=/etc/ocserv/passwd]"
# указываем сертификат от let's encrypt
server-cert = /etc/letsencrypt/live/333271.simplecloud.ru/fullchain.pem
server-key = /etc/letsencrypt/live/333271.simplecloud.ru/privkey.pem
# указываем подсеть для внутренней адресации в туннеле
ipv4-network = 192.168.155.0
# заворачиваем в туннель все dns запросы и резолвим их через 1.1.1.1
tunnel-all-dns = true
dns = 1.1.1.1
# заворачиваем весь трафик в VPN туннель
route = default
# эти 2 подсети отправляем мимо туннеля
no-route = 192.168.13.0/255.255.255.0
no-route = 10.20.1.0/255.255.255.0


Файл конфигурации хорошо прокомментирован, нетрудно разобраться. Здесь я весь трафик отправляю в туннель. А вот такая настройка:

route = 10.10.10.0/255.255.255.0
route = 1.2.3.4/255.255.255.255

Отправит в туннель только указанные подсети.

Теперь создаём файл с учётками и добавляем пользователя zerox:

# ocpasswd -c /etc/ocserv/passwd zerox

Перезапускаем службу и проверяем её работу:

# systemctl restart ocserv
# systemctl status ocserv

Логи смотрим либо в /var/log/syslog, либо в systemd, если syslog отключен:

# journalctl -f -u ocserv

В завершении важная настройка, которую некоторые либо забывают, либо не понимают, что это такое и для чего. По умолчанию на сервере не работает перенаправление пакетов с одного сетевого интерфейса на другой. В данном случае с VPN интерфейса на WAN. Нам нужно включить эту настройку. Для этого раскомментируем в файле /etc/sysctl.conf параметр:

net.ipv4.ip_forward = 1

И применим его:

# sysctl -p

Теперь нам нужно настроить NAT, чтобы клиенты VPN сети могли выходить в интернет. Сам OpenConnect эти вопросы не решает. Для этого воспользуемся старым добрым iptables:

# apt install iptables
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Eth0 - WAN интерфейс, который смотрит в интернет.

Теперь идём на клиент, качаем клиентское приложение:

https://gui.openconnect-vpn.net/download/

Запускаем приложение, добавляем новый профиль, указав единственный параметр gateway с url сервера. В моём случае https://333271.simplecloud.ru. Далее подключаемся с использованием созданного пользователя и пароля.

Нужно не забыть настроить hook в certbot на перезапуск сервера после обновления сертификата:

post_hook = systemctl restart ocserv

Ну и не забудьте применить правила файрвола после перезапуска сервера. Подробно не останавливаюсь на этих вопросах, так как уже лимит на объём заметки исчерпан.

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

Если кто-то пользуется данным сервером, скажите, сталкивались ли с блокировками протокола этого VPN сервера на уровне провайдеров.

#vpn
2👍121👎5
Заметил по статистике, что один сайт стали донимать какие-то роботы сканированием несуществующих страниц. В статистике 404 ошибок стало существенно больше, чем 200-х ответов. Я обычно не практикую блокировку по этому признаку, так как можно словить неявные проблемы от каких-нибудь поисковиков или других легитимных пользователей. В этот раз решил сделать исключение.

С помощью fail2ban нетрудно выполнить блокировку. Не буду подробно рассказывать про настройку fail2ban, так как это не тема заметки. Покажу, как я забанил тех, от кого сыпется много 404 кодов ответа веб сервера.

Для начала создаём правило фильтрации в директории /etc/fail2ban/filter.d. Назвал его nginx-4xx.conf:

[Definition]
#failregex = ^<HOST>.*"(GET|POST).*" (404|429) .*$
failregex = ^<HOST>.*"(GET|POST).*" *.* (status=404|status=429) .*$
ignoreregex =

Закомментированная строка подойдёт для стандартного формата логов Nginx или Apache. Вторая для моего изменённого. Я обычно использую свой формат, если собираю логи в ELK и анализирую. У меня есть набор готовых grok фильтров для этого. Вот мой модернизированный формат логов:

log_format full '$remote_addr - $host [$time_local] "$request" '
  'request_length=$request_length '
  'status=$status bytes_sent=$bytes_sent '
  'body_bytes_sent=$body_bytes_sent '
  'referer=$http_referer '
  'user_agent="$http_user_agent" '
  'upstream_status=$upstream_status '
  'request_time=$request_time '
  'upstream_response_time=$upstream_response_time '
  'upstream_connect_time=$upstream_connect_time '
  'upstream_header_time=$upstream_header_time';

Соответственно, получаем вот такую запись в логе:

178.218.43.55 - site01.ru [01/Oct/2024:13:46:24 +0300] "GET /about HTTP/2.0" request_length=123 status=200 bytes_sent=489 body_bytes_sent=8 referer=https://site01.ru/ user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:130.0) Gecko/20100101" upstream_status=200 request_time=0.075 upstream_response_time=0.069 upstream_connect_time=0.000 upstream_header_time=0.069

Для тех, кто использует logstash, покажу grok фильтр для этого формата. Он позволяет анализировать некоторые метрики и выводить их на графики и дашборды. Даю для справки без объяснений, так как это отдельная большая тема.

%{IPORHOST:remote_ip} - %{DATA:virt_host} \[%{HTTPDATE:access_time}\] \"%{WORD:http_method} %{DATA:url} HTTP/%{NUMBER:http_version}\" request_length=%{INT:request_length} status=%{INT:status} bytes_sent=%{INT:bytes_sent} body_bytes_sent=%{NUMBER:body_bytes_sent} referer=%{DATA:referer} user_agent=\"%{DATA:user_agent}\" upstream_status=%{DATA:upstream_status} request_time=%{NUMBER:request_time} upstream_response_time=%{DATA:upstream_response_time} upstream_connect_time=%{DATA:upstream_connect_time} upstream_header_time=%{DATA:upstream_header_time}

Приведённая в nginx-4xx.conf регулярка находит 404 и 429 ответы в таком логе. Я не силён в написании регулярок, поэтому хз, правильно составил или нет, но на практике работает. В составлении регулярок помогают вот эти сервисы:

https://regex101.com/
https://regexper.com/

Постоянно ими пользуюсь. Вот тут была хорошая подборка по этой теме. Дальше создаём файл настроек блокировки в /etc/fail2ban/jail.d, назвал его так же nginx-4xx.conf:

[nginx-4xx]
enabled = true
filter = nginx-4xx
port = http,https
action = iptables-multiport[name=Nginx404, port="http,https", protocol=tcp]
logpath = /web/sites/*/logs/access.log
maxretry = 30
findtime = 10m
bantime = 30m

Баню на 30 минут тех, кто за последние 10 минут получил 30 раз 404 ответ. На мой взгляд это достаточно мягкое условие, которое отсечёт явных ботов, но не тронет легитимных пользователей.

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

#fail2ban #webserver
👍96👎3
Одной из обязательных настроек, которую делаю на новом сервере, касается ротации текстовых логов. Несмотря на то, что их активно заменяют бинарные логи systemd, я предпочитаю возвращать текстовые логи syslog. Для этого на чистый сервер устанавливаю rsyslog:

# apt install rsyslog

Далее выполняю некоторые настройки, которые относятся к ротации логов с помощью logrotate. В первую очередь в фале /etc/logrotate.conf включаю параметр:

dateext

Он нужен, чтобы в имени файла была указана дата, когда лог-файл был ротирован. С этой настройкой связан один очень важный момент, если вы хотите ротировать логи чаще, чем раз в сутки. По умолчанию logrotate во время ротации лога с этой настройкой переименовывает текущий лог файл, назначая ему имя вида access.log.20241001.gz. То есть в имени файла будет указан текущий день. Второй раз в этот день ротация закончится ошибкой, так как logrotate скажет, что не могу переименовать лог, так как файл с таким именем уже существует. Для тех логов, что точно будут ротироваться чаще, чем раз в сутки, нужно обязательно добавить параметр:

dateformat -%Y-%m-%d_%H-%s

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

Далее в обязательном порядке нужно настроить запуск logrotate чаще, чем раз в сутки. По умолчанию в Debian запуск logrotate настроен в /etc/cron.daily и запускается не чаще раза в сутки. Я обычно просто добавляю запуск в /etc/crontab каждые 5 минут:

*/5 * * * * root logrotate /etc/logrotate.conf

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

Все возможные настройки файлов logrotate можно почитать в man. Там довольно подробно всё описано. Если не хочется читать man, можно воспользоваться простым конфигуратором:

🌐 https://scoin.github.io/logrotate-tool

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

/web/sites/*/logs/*.log {
  create 644 angie webuser
  size=50M
  dateext
  dateformat -%Y-%m-%d_%H-%s
  missingok
  rotate 30
  compress
  notifempty
  sharedscripts
  postrotate
if [ -f /run/angie.pid ]; then
kill -USR1 $(cat /run/angie.pid)
fi
  endscript
}

Маска /web/sites/*/logs/*.log захватывает все виртуальные хосты веб сервера, где логи располагаются в директориях:

◽️/web/sites/site01.ru/logs/
◽️/web/sites/site02.ru/logs/
и т.д.

Когда будете настраивать ротацию логов, проверяйте, чтобы у службы, для которой управляем логами, в итоге оказался доступ к этим логам. Я иногда ошибаюсь и потом приходится разбираться, почему после ротации логи нулевого размера. Это актуально, когда логи куда-то выносятся из /var/log и отдельно настраиваются права, например, для того, чтобы какие-то пользователи имели к ним доступ, к примеру, только на чтение.

#linux #logs #logrotate #webserver
Please open Telegram to view this post
VIEW IN TELEGRAM
👍95👎7
Посмотрел запись шикарного выступления на тему информационной безопасности:

▶️ Топ-10 артефактов Linux для расследования инцидентов

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

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

◽️ ps auxwf - список процессов с дополнительной информацией в древовидном представлении
◽️ ss -tupln и netstat -plunto - открытые порты (plunto - имя героя из мультика с микки маусом)
◽️ last -Faiwx - список логинов пользователей
◽️ tail /var/log/<file> и cat ~/.bash_history - просмотр различных системных логов
◽️ ls -lta - список файлов, отсортированный по времени изменения
◽️ lsof -V - открытые в настоящий момент файлы
◽️ find / -mtime -2 -ls - все файлы, изменённые за последние 2 дня
◽️ stat || statx || istat - различные команды для получения информации о файловой системе

📌 ТОП 10 системных артефактов, которые проверяем при взломах:

▪️SYSTEM INFO:
◽️/proc/version, /etc/release, /etc/localtime - информация о системе, времени
◽️/proc/mounts, /etc/mtab - монтирование файловых систем
◽️/etc/network/interfaces, /var/lib/NetworkManager/*.lease, /var/lib/dhcp/*.lease, /etc/sysconfig/network-scripts/ifcfg-*, /etc/sysconfig/iptables - сеть, маршруты
◽️/proc/[PID]/cmdline - процессы

▪️LOGS в /var/log:
◽️auth.log, secure.log - аутентификации пользователей
◽️lastlog - последний логин пользователей
◽️btmp - неудачные попытки логина
◽️wtmp - записи о каждом логине, логауте
◽️cron - планировщик cron
◽️dpkg, apt/history.log - установка/удаление пакетов
◽️audit/audit.log - логи аудита, если запущен

▪️SHELL HISTORY
~/bash_history, ~/.history, ~/sh_history, ~/.*_history - история команд оболочки, обязательно настраиваем у всех HISTTIMEFORMAT.

▪️FILE SYSTEM
Ищем изменённые, скрытые, большие файлы, символьные ссылки, расширенные разрешения, setuid
find / -xdev -print0 | xargs -0 stat -- printf="%i,%h,%n,%x,%y,%z,%w,%U,%G,%A,%s\n" 2>/dev/null
find "${MOUNTPOINT}" -xdev -print0 | xargs -0 -c "%Y %X %Z %A %U %G %n" >> timestamps.dat

▪️USER ACCOUNTS
/etc/passwd, /etc/shadow, /etc/group, /etc/sudoers, /etc/sudoers.d/*, /etc/profile, /etc/profile.d/*, /etc/bash.bashrc

▪️PUBLIC FACING APP
Публичные приложения, запущенные на сервере: apache, nginx и т.д. Смотрим архитектуру, логи, рабочие директории, версию, уязвимости и т.д.

▪️PERSIST
Места, где злоумышленник или вирус может закрепиться:
/etc/cron/, /var/spool/cron/, /var/spool/anacron, /etc/crontab, /etc/at, /etc/inittab, /etc/init.d/etc/rd[0-6].d/, /etc/rc.boot/, /etc/init.conf, /etc/init, /lib/systemd/system/*, /etc/systemd/system/*
Основное внимание - cron и службы.

▪️CONFIG
Все конфигурации в /etc/

▪️APPLICATION DATA
~/.config, ~/.cache, ~/.local и т.д.

▪️TMP
/tmp, /var/tmp, /dev/shm, /var/run, /var/spool

Это конспект примерно половины выступления. Дальше в основном теория на тему того, как надо защищать сервера и анализировать подозрительную активность и ответы на вопросы. В вопросах дополнили:

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

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

#security
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍184👎4
Вчера ходил на конференцию, которую тут недавно рекламировал. Это не рекламный пост, у меня его не заказывали, а на конференцию я записался и сходил по своей инициативе. До ковида я старался раз в месяц-два ходить на какую-то конференцию, причём не обязательно по IT. Просто развеяться и для расширения кругозора. В ковид всё это прикрыли, а потом как-то времени не стало на подобные мероприятия.

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

🔹Сейчас на рынке труда в сфере IT есть существенный избыток джунов. Несмотря на то, что общая статистика показывает, что в целом по РФ вакансий больше, чем соискателей, конкретно в IT статистика обратная. Вакансий существенно меньше, чем резюме. Большая часть этих резюме от джунов, то есть это новички без опыта. Для мидлов уже плюс-минус паритет по вакансиям и резюме, а сеньоров недостаток. Так что если вы собрались вкатываться в IT, сейчас для этого плохое время. Не надо идти на IT курсы для переквалификации. А вот для того, чтобы перейти в мидлы стоит подучиться, но при условии, что вы уже джун с опытом работы.

🔹Статистика использования большими компаниями on-premise (локальных) инфраструктур плюс-минус стабильна. То есть явной тенденции на полный уход в облака не наблюдается, несмотря на то, что они показывают рост год от года. Кто-то что-то вынес, а что-то оставил на своих мощностях и переносить не собирается.

🔹Компания Гравитон может поставлять современное IT оборудование (серверы, рабочие станции, ноутбуки), которое соответствует требованиям минпромторга по локализации (она реальна, насколько позволяет современный технологический уровень в РФ), по схеме, схожей с ушедшими западными вендорами. Речь идёт о круглосуточной техподдержке, времени реагирования в 4 часа и замене оборудования в течении дня. Под это дело имеются большие складские запасы. Соответственно, за это всё нужно будет отдельно заплатить.

🔹Редсофт довольно крупная компания (около 500 сотрудников) с масштабной линейкой программных продуктов, в том числе со своей ОС для смартфонов. Я, честно говоря, думал, что это какая-то небольшая компания с ОС для рабочих станций.

🔹У компании Базальт СПО (разработчик систем Альт) есть свой продукт на замену Active Directory - Альт Домен на базе Samba DC. Я про другие продукты слышал раньше, а об этом узнал впервые. Он на самом деле не так давно был презентован. Его можно ставить вместе с AD и осуществлять плавный перенос инфраструктуры. Управлять групповыми политиками Альт Домена можно в том числе с помощью RSAT в Windows. В Linux свои похожие инструменты есть. Сделан акцент на удобство управления, как в AD.

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

Процесс импортозамещения стремительно набирает обороты, причём не только на бумаге, но и на деле. Особенно, что касается замены программных продуктов. Здесь все карты в руках и ничто не препятствует. Желание, компетенции и деньги есть. С железом всё сильно сложнее.

#отечественное
👍107👎22
▶️ Очередная подборка авторских IT роликов, которые я лично посмотрел и посчитал интересными/полезными. Как обычно, ниже те видео из моих подписок за последнее время (обычно беру период в 2 недели), что мне показались интересными и полезными.

Компьютер для нейросетей. 5x3090ti, 48cpu, 512gb ram.
Автор показал свой личный сервер для нейросетей. Детально рассказал про комплектующие. Необычное и интересное видео.

Affine Setup & Config: Streamline Your Workflow
Обзор open source сервиса Affine как замены Notion и Miro. Удивился, что впервые вообще о нём услышал, хотя у проекта 41к звёзд на гитхабе. То есть он очень популярен. В начале ролика сразу идёт обзор интерфейса и возможностей. Выглядит по функциональности необычно и круто.

УМЕЩАЕМ OLLAMA AI В САМЫЙ МАЛЕНЬКИЙ МИНИ-ПК НА INTEL N100
Автор запустил и потестировал несколько маленьких моделей на мини-пк. В целом, они работают, но качество ответов у маленьких моделей так себе. Кому интересно, может посмотреть, как я на своём железе запускал Ollama c Mistral.

Самая полная, ну почти, настройка обратного прокси Traefik v. 3.x
Очень подробная инструкция по настройке Traefik. У автора уже были ролики по этой теме. Тут он всё объединил в один. Получилось информативно и доступно для понимания. Всё на наглядных примерах и готовых конфигах, которые он демонстрирует.

Automate GitLab + Terraform (state file, and more)
Автор рассмотрел на примере своей homelab установки две интеграции: использование Terraform Provider для настройки ресурсов GitLab и использование GitLab в качестве серверной части для файлов состояния Terraform.

You should be using Proxmox Backup Server
Свежий обзор Proxmox Backup Server от популярного англоязычного блогера Techno Tim.

ЛУЧШИЙ ЛИНУКС ДЛЯ НОВИЧКОВ. КАКОЙ LINUX ВЫБРАТЬ НОВИЧКУ
Авторский взгляд на современные дистрибутивы Linux. Информация для новичков, незнакомых с Linux. Автор рассказывает, почему так много разных дистрибутивов, оболочек, как и что выбирать. Сам он рекомендует начинать на десктопе с Mint, ZorinOS, PopOS, Ubuntu или Fedora.

Настройка Crowdsec Bouncer Traefik Plugin
Настройка Crowdsec. Для тех, кто не знает, что это такое, кратко поясню. Это более современный аналог Fail2ban, написанный на Go, модульный, с API. У автора есть отдельное видео про этот продукт. Кстати, рекомендую посмотреть. Я им пользовался немного, но как-то не прижилось. Большой нужды нет.

Best NAS in 2024 for Home Lab? Terramaster F4-424 Max Review // Giveaway Winner
Уже не раз встречаю обзоры на NAS фирмы Terramaster. До этого игнорировал, но сейчас решил поделиться. В общем, они пытаются сделать примерно то же самое, что Synology. Пилят свою ОС с управлением через браузер. Называется TOS. Судя по тому, как они вкладываются в маркетинг, что-то путное должно получиться. По ценам там как и у Synology всё грустно. Дорогие устройства. Есть официальный дистрибьютор продукции TerraMaster в России, так что купить устройства можно без проблем в сетевых магазинах.

OPENCONNECT VPN 2024 | Часть 2 | Сертификаты вместо паролей + Автоматизация!
Автор рассмотрел настройку аутентификации в OpenConnect на базе сертификатов, а не паролей, как сделал я в недавней публикации. Также автор выложил свой ansible playbook для настройки этой темы и оформил основную информацию в текстовом виде. Всё есть в описании к видео.

Двухфакторная аутентификациядля VPN mikrotik
Вебинар от известного тренера Романа Козлова. Начинать смотреть можно с 15-й минуты. Там рассказана в том числе довольно навороченная схема построения 2FA с использованием Asterisk для генерации и передачи кодов подтверждения через голосовые вызовы для подключения по VPN. Помимо этого там много теории по теме и другие способы организации двухфакторки в микротах с примерами настройки.

#видео
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍63👎2