ServerAdmin.ru
31.9K subscribers
941 photos
56 videos
27 files
3.05K links
Авторская информация о системном администрировании.

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

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

Ресурс включён в перечень Роскомнадзора
Download Telegram
На днях проскочила новость о том, что Let's Encrypt запускает выпуск сертификатов на IP адреса. Меня это сразу заинтересовало, так как давно думал, почему этого нельзя сделать. Мне нередко хотелось выпустить сертификат на IP адрес, чтобы нормально работал запущенный на нём сервис, для которого нет необходимости делать доменное имя.

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

И вот теперь эта проблема решена. Можно взять виртуалку с внешним IP адресом и выпустить для него подтверждённый сертификат. Я сразу же решил проверить, как это работает.

Мне больше всего нравится certbot как клиент для взаимодействия с Let's Encrypt, хотя я пробовал и использовал все известные клиенты. К сожалению, у него пока не вышла стабильная версия с поддержкой этой новой функциональности. Проверял версию 4.0.0 из пакетов Debian 13, и самую свежую 5.2.2 из docker hub. Нет поддержки новых сертификатов. При запросе ошибка:

The Let's Encrypt certificate authority will not issue certificates for a bare IP address.


Сразу показываю рабочий вариант с использованием acme.sh. От установки, до выпуска сертификата:

# git clone https://github.com/acmesh-official/acme.sh.git
# cd ./acme.sh
# ./acme.sh --install -m zeroxzed@gmail.com
# ./acme.sh --issue -d 85.143.175.116 --standalone --server letsencrypt --certificate-profile shortlived

Получаем набор файлов для использования по назначению:

◽️ ~/.acme.sh/85.143.175.116_ecc/85.143.175.116.cer
◽️ ~/.acme.sh/85.143.175.116_ecc/85.143.175.116.key
◽️ ~/.acme.sh/85.143.175.116_ecc/fullchain.cer

Устанавливаем веб сервер, прописываем там в виде доменного имени IP адрес, подключаем этот сертификат. Пример для Angie/Nginx:

# mkdir -p /etc/nginx/tls
# ./acme.sh --install-cert -d 85.143.175.116 --key-file /etc/nginx/tls/85.143.175.116.key --fullchain-file /etc/nginx/tls/85.143.175.116.cer --reloadcmd "systemctl reload nginx"

Рисуем примерно такую конфигурацию для доступа по IP адресу:

server {
  listen 80 default_server;
  listen 443 ssl default_server;

  ssl_certificate /etc/nginx/tls/85.143.175.116.cer;
  ssl_certificate_key /etc/nginx/tls/85.143.175.116.key;

  root /var/www/html;
  index index.html index.htm index.nginx-debian.html;

  server_name _;

  location / {
    try_files $uri $uri/ =404;
  }
}


Заходим по HTTPS на IP адрес сервера и видим действительный сертификат. Никаких предупреждений.

Сертификат выдаётся менее чем на 7 дней, так что нужно внимательно следить за автоматическим обновлением. Описанных в заметке настроек достаточно для этого. Acme.sh добавил задание в cron пользователя, будет запускаться раз в сутки.

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

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX

#webserver #angie #nginx
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍215👎1
Судя по прошедшему в этом году опросу на тему ОС на рабочей машине, у 24% ответивших это Linux, что в целом немало. Мне лично интересно узнать, какое окружение рабочего стола (DE, Desktop Environment) на сегодняшний день наиболее развито, популярно.

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

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

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

👇👇👇👇👇👇👇

#опрос
👍21👎1
Какое DE (Desktop Environment, окружение рабочего стола) вы используете на рабочей машине с Linux?
Anonymous Poll
29%
GNOME
30%
KDE Plasma
14%
Cinnamon
8%
MATE
0%
Deepin DE
16%
XFCE
2%
LXQt
0%
Budgie
7%
Fly (Astra Linux)
15%
Другое
👍44👎3
Одним из ключевых сервисов в инфраструктуре является DNS. Он же и наиболее простой в настройке, особенно если речь идёт о локальном кэширующем и рекурсивном DNS сервере. При этом его отказ может в один момент парализовать всю работу.

Мне один раз досталась в наследство компания, где периодически падал локальный DNS сервер. Когда это случилось первый раз, было стрёмно. Я ещё только изучал инфраструктуру. Там и кластер виртуализации был, и DRBD диски, и домен на Samba. Разом всё сломалось, мониторинг спамит, пользователи жалуются техподдержке, она теребит меня. Быстро догадался зайти по IP на сервер и перезапустить тогда ещё использовавшийся Bind, если не ошибаюсь. Потом уже всё перенастроил, но Bind успел упасть ещё пару раз. На серваке, где он работал, как потом выяснилось, банально кончалась память.

Сам я потом тоже использовал какое-то время Bind, потом перешёл на DNSmasq, если в инфре была винда, то использовал её DNS сервер, если есть железный роутер, то DNS сервер обычно на нём. На базе DNSmasq собран небезызвестный Pi-hole. Я немного пользовался им, даже запускал его в контейнере на Mikrotik. В итоге отказался, так как всё это ненадёжно работало на моём железе.

Длинная подводка получилась. Рассказать хотел о новом для меня DNS сервере - Technitium DNS. Впервые увидел его в недавнем обзоре. По описанию понравилось, поэтому решил попробовать. Особенно привлекла простая возможность собрать полноценный (но однонаправленный) кластер. Я всё это развернул у себя, в том числе и кластер, и протестировал. DNS сервер понравился. Думаю, что при необходимости буду использовать именно его, если нужен будет сервер с веб панелью управления, статистикой, разграничением доступа, блокировками по готовым спискам и т.д.

Technitium DNS - современный сервер, который поддерживает всевозможные технологии и настройки:

▪️DNS-over-TLS, DNS-over-HTTPS, and DNS-over-QUIC, DNSSEC.
▪️Блокировки по готовым спискам доменов.
▪️Быстрый запуск через готовый Docker контейнер (есть и другие способы).
▪️Расширение функциональности через встроенный магазин приложений (может, к примеру, логи запросов писать в MySQL).
▪️Встроенный DHCP сервер.
▪️Управление доступом на основе ролей (RBAC).
▪️API с доступом по токенам.
▪️Поддержка работы через HTTP и SOCKS5 прокси.

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

При этом, всё это настраивается очень просто, особенно в базовой функциональности. Я развернул на двух нодах и собрал сервер в кластер. Использовал следующий docker-compose.yml, изменив только имя хостов:

services:
 dns-server:
  container_name: technitium-01
  hostname: technitium-01
  image: technitium/dns-server:latest
  ports:
   - "5380:5380/tcp" # Web console (HTTP)
   - "53:53/udp"   # DNS service
   - "53:53/tcp"   # DNS service
   - "53443:53443/tcp" # Web console (HTTPS)
   # - "853:853/udp"   # DNS-over-QUIC
   # - "853:853/tcp"   # DNS-over-TLS
   # - "443:443/udp"   # DNS-over-HTTPS (HTTP/3)
   # - "443:443/tcp"   # DNS-over-HTTPS (HTTP/1.1, HTTP/2)
   # - "67:67/udp"    # DHCP service
  environment:
   - DNS_SERVER_DOMAIN=home.local
   - DNS_SERVER_ADMIN_PASSWORD=your_password
   - DNS_SERVER_PREFER_IPV6=false
   - DNS_SERVER_RECURSION=AllowOnlyForPrivateNetworks
   - DNS_SERVER_FORWARDERS=62.76.76.62,77.88.8.1,62.76.62.76,77.88.8.8
  volumes:
   - ./config:/etc/dns
  restart: unless-stopped
  sysctls:
   - net.ipv4.ip_local_port_range=1024 65000


Запустил, зашёл на веб интерфейс http://server-ip:5380/, собрал в кластер, настроил списки блокировки и другие настройки. Подключил нескольким пользователям. Проверил - отлично работает, никаких проблем не возникло. Выключил одну ноду, кластер продолжил работать на второй, запросы резолвил.

Продукт однозначно хорош. Я не знаю, что сейчас есть лучше для рекурсивного кэширующего DNS сервера. Если знаете - подскажите.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX

#dns
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍154👎6
У Windows в какой-то момент появилось интересное техническое решение под названием Песочница (Windows Sandbox). Она сделана на базе Hyper-V. Можно запустить любой исполняемый файл в этой песочнице. На практике будет создана временная виртуальная машина с Windows, где вы сможете проверить работу приложения. А после закрытия виртуальной машины, она удаляется со всеми сделанными изменениями.

Реализовано, в принципе, удобно. Правой кнопкой мыши нажимаешь на файле и выбираешь Запустить в песочнице. Я первое время пользовался, потом перестал. У меня и так полно тестовых виртуальных машин. Нет нужды что-то у себя локально запускать. К тому же у меня есть постоянные локальные виртуальные машины. Установить песочницу можно через Панель управления, в разделе компонентов Windows. Он так и называет - Песочница Windows.

Несколько лет не пользовался песочницей. Недавно заметил, что осталось мало места на системном диске. Стал разбираться, куда оно ушло. Кстати, удивительно, что в Винде до сих пор нет удобного встроенного инструмента для этого. Заметил, что директория

C:\ProgramData\Microsoft\Windows\Containers\Layers


занимает 80 гигов. По названию это похоже на слои контейнеров того же Docker, но я его не устанавливал на эту машину и точно не запускал контейнеры.

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

Стал гуглить и спрашивать ИИ на тему, что тут хранится. На удивление, информации не так много. В основном везде говорится, что это хозяйство Docker, который можно установить и на Windows. Но это не мой случай.

Оказалось, что это Песочница плодит контейнеры со слоями. Зачем и почему, не нашёл подробной информации. Как и не нашёл, как всё это можно корректно почистить. В итоге песочницу просто удалил через тот же раздел с компонентами Windows. После удаления и перезагрузки, каталог с контейнерами и слоями сам очистился, место освободилось, хотя и не все 80 ГБ. Судя по всему там в том числе и ссылки были, а не только файлы.

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

#windows
8👍112👎3
Я часто упоминал в различных заметках систему по сбору логов Loki. Например, вот в этой подборке подобных систем (там сразу можете посмотреть аналоги). При этом у меня нет ни одной заметки на тему того, как её быстро развернуть. Решил написать краткое руководство по этой теме.

Проект относительно новый, стартовал в 2018 году в противовес стеку ELK. Grafana решила сделать более простой и легковесный вариант хранения логов немного с другой моделью анализа, без полной индексации текстов логов, используя вместо этого метки для потоков. На деле получился хороший продукт, интегрированный в стек Grafana + Prometheus с похожей идеологией хранения и поиска (язык запросов LogQL по аналогии с PromQL).

Для начала выполню базовые действия для запуска Loki и Grafana и настрою отправку логов в Loki от различных Docker контейнеров. Большее в одну заметку не уместить. Думаю, что далее я эту тему разовью.

Я не буду запускать Loki и Grafana в одном Docker Compose файле, так как им не обязательно быть установленными вместе. Grafana поддерживает весь стек своих продуктов, так что нет особого смысла поднимать её рядом со сборщиком логов.

Сначала запустим Loki. Готовим для него compose.yaml и конфигурацию в config.yaml. Не буду приводить здесь содержимое. Оно будет отправлено следующим сообщением в архиве со всеми остальными конфигурациями. Для удобства скопировал её же в gitflic.

# curl https://get.docker.com | bash -
# git clone https://gitflic.ru/project/serveradmin/grafana-loki.git
# cd grafana-loki/loki/

В файле compose.yaml укажите актуальную версию image на момент установки. Запускаем проект:

# docker compose up -d

Проверим, что сервис стартовал:

# curl http://192.168.137.29:3100
404 page not found

Это нормальный ответ. 404 нам ответил Loki. Запустим теперь Grafana:

# cd ../grafana

Указываем нужную версию в compose.yaml и запускаем:

# docker compose up -d

Идём браузером по IP сервера, где запущена Grafana на порт 3000. Учётка по умолчанию - admin / admin. Заходим в Grafana, идём в раздел ConnectionsData sourcesAdd data source. Выбираем Loki. В качестве настроек достаточно указать только url. В моём случае это http://192.168.137.30:3100/. Мотаем страничку в самый низ и нажимаем Save & Test. Ошибок быть не должно.

Стек поднят и готов к приёму логов. Отправим туда логи контейнеров Docker. Для этого у Docker существует драйвер. Его необходимо установить на хосте:

# docker plugin install grafana/loki-docker-driver:3.6.0-amd64 --alias loki --grant-all-permissions

Проверяем, что он установился:

# docker plugin ls
018395707e37  loki:latest  Loki Logging Driver  true

Всё в порядке. Теперь мы можем в самом демоне Docker настроить отправку всех логов в Loki через правку его конфигурации в /etc/docker/daemon.json. Для этого туда надо добавить:

{
"debug": true,
"log-driver": "loki",
"log-opts": {
"loki-url": "http://192.168.137.30:3100//loki/api/v1/push",
"loki-batch-size": "400"
}
}


Это не очень удобно, если у нас нет желания собирать логи абсолютно всех контейнеров. Удобнее управлять этим для каждого контейнера отдельно. Для этого в compose файл достаточно добавить ещё одну секцию logging. Покажу сразу итоговый пример для запуска Grafana из этой публикации:

services:
 grafana:
  image: docker.io/grafana/grafana-oss:12.3.1
  container_name: grafana
  logging:
   driver: loki
   options:
    loki-url: "http://192.168.137.30:3100/loki/api/v1/push"
    loki-retries: 2
    loki-max-backoff: 800ms
    loki-timeout: 1s
    keep-file: "true"
    mode: "non-blocking"
  ports:
   - "3000:3000"
  volumes:
   - grafana-data:/var/lib/grafana
  restart: unless-stopped
volumes:
 grafana-data:
  driver: local


Перезапускаем проект:

# docker compose stop
# docker compose up -d

Идём в Grafana, раздел DrilldownLogs. Выбираем в выпадающем списке service имя контейнера и смотрим его логи.

Настройка простая и быстрая, легко автоматизируется. Далее я разовью эту тему и добавлю логи из других систем.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX

#loki #logs #devops
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍95👎5
grafana-loki.zip
1.8 KB
Конфигурации к предыдущей заметке про Grafana Loki 👆👆👆👆👆👆
👍55👎2
▶️ Очередная подборка авторских IT роликов, которые я лично посмотрел и посчитал интересными/полезными. Это видео из моих подписок за последнее время (обычно беру период в 2 недели), что мне понравились.

Proxmox VE 9 — Создание и настройка Ceph кластера | Распределённое хранилище и отказоустойчивость
Proxmox + Ceph: как заменить отказавший диск шаг за шагом
Продолжение цикла видео автора о настройке HA кластера на базе PVE. Эти два ролика про Ceph.

Я целый год использовал Proxmox и VMware одновременно (что меня больше всего удивило).
Сравнение двух платформ виртуализации. Вывод автора - для небольших инфраструктур PVE однозначно удобнее и функциональнее.

Web FileBrowser Quantum + OnlyOffice.
Обзор файлового менеджера через браузер, что лично для меня не очень интересно. А вот его связка с OnlyOffice выглядит уже интересным и функциональным решением для каких-то ситуаций.

Palmr - Simple File Sharing that keeps your files off the big guys' cloud.
Простая open source система для совместного доступа к файлам. Загружаете туда свой файл и настраиваете доступ к нему другим людям. Можно ограничить по кол-ву скачиваний, времени жизни ссылки, закрыть паролем и т.д. Это более простой аналог Seafile или полный аналог Pwndrop.

Dockhand Deep Dive: The NEW Docker Management Tool Explained
Обзор новой панельки для управления Docker контейнерами. Выглядит прикольнее Portainer. Если для вас это актуально, рекомендую посмотреть. Я привык запускать Docker контейнеры в LXC контейнерах Proxmox, каждый в отдельном контейнере, так что мне не подходит такой софт. Мне кажется, так, как у меня, удобнее, нежели собирать все контейнеры в одной виртуалке. Хотя раньше именно так делал.

Netbox как источник достоверной информации о Zabbix: статья Эндрю Нельсона / Zabbix Summit 2025
Интересное выступление, где автор рассказал, как у них Netbox выступает как источник истины для мониторинга. Всё, что туда добавляется автоматически заводится в мониторинг через интеграцию с Ansible.

Кастомизация Angie (NJS, Lua, Perl)
Расширение функциональности веб сервера с помощью модулей для поддержки различных языков программирования, используемых для написания тех или иных функций. Как обычно автор приводит конкретные наглядные примеры.
Запуск CGI-скриптов в Angie
Пример настройки CGI скриптов. Не знаю, кто и где их сейчас использует. Я уже очень давно не настраивал и не запускал их.

Звонки без блокировок - Свой мессенджер на homelab
Автор разворачивает у себя для общения Nextcloud Talk, рассказывает про него, объясняет почему его выбрал.

Self-hosted Cloudflare + VPN replacement! Pangolin Tutorial
Обзор и настройка Pangolin - необычная система на базе обратного прокси Traefik со своей системой аутентификации или IAM (Identity and Access Management). Он способен объединять разрозненные веб сервера с помощью встроенной интеграции с Wireguard.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX

#видео
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍48👎1
Я думал, что из Windows 11 старый Internet Explorer выпилили окончательно. И тут мне в ВК прилетает уведомление о комментарии к заметке 2023 года, где я рассказываю, как можно зайти в старое оборудование, интерфейс которого работает только в IE. Я там речь веду про расширение IE Tab.

А в комментариях человек предложил более простое решение. Создаём файл с расширением .vbs следующего содержания:

Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = 1

Запускаем его и получаем старый добрый Internet Explorer. От нечего делать проверил у себя на самой свежей Windows 11. Просто любопытно стало, заработает или нет. До сих пор работает, к камерам можно подключиться.

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

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX

#windows
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍290👎1
Написал очередную статью из цикла про настройку своего почтового сервера:

Roundcube Fetchmail plugin - сбор почты с других почтовых ящиков

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

В настоящий момент цикл моих статей про почтовый сервер выглядит следующим образом:

▪️Настройка сервера на базе ОС Debian
▪️Защита от перебора учётных данных с помощью Fail2Ban
▪️Мониторинг Postfix в Zabbix
▪️Автоматическая загрузка почтовых вложений в Nextcloud при отправке через RoundCube и Thunderbird
▪️Roundcube Fetchmail plugin - сбор почты с других почтовых ящиков

Это свежие статьи, обновлённые в течении последних двух месяцев. Есть более старый, но актуальный материал:

◽️Выбор сервера для отправки в зависимости от получателя
◽️Настройка маршрута отправки в зависимости от домена
◽️Ограничение на отправку писем в единицу времени
◽️Перенос почтового сервера
◽️Как изменить тему письма и адрес отправителя через Postfix
◽️Удаление из писем заголовков с локальными IP адресами
◽️Защита почтовых алиасов с множеством получателей от спама
◽️Очистка и обслуживание почтовой базы Postfix

Как думаете, какой ещё темы не хватает в контексте своего почтового сервера? По идее не хватает бэкапа, но я почтовую базу формата maildir бэкаплю обычным rsync, про который было много заметок и добавить нечего. Подумываю написать ещё про сбор и анализ логов. Больше ничего в голову не приходит. По идее, всё наиболее актуальное я описал.

Не хватает материала по аутентификации через LDAP, но лично я всегда для почтового сервера использую отдельную базу данных учётных записей. Почтовые сервера всегда открыты для всего интернета, клиенты настроены на различных устройствах пользователей. Учётные данные нередко утекают. Мне не нравится идея объединять их с другими сервисами. Конкретно для почты я считаю, лучше использовать отдельную базу данных с учётными записями, хотя это и не совсем удобно. Для больших масштабов, наверное, не подойдёт, но для малых и средних компаний вполне.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX

#mailserver #postfix #подборка
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍78👎2
Подписчик поделился интересной реализацией OTP (One Time Password) для подключений по RDP. При подключении пользователь сначала вводит свой основной пароль от учётной записи, а потом одноразовый через приложение на смартфоне. Это неплохо страхует сервер, доступный из интернета. Способ отлично подойдёт в том случае, когда по какой-то причине доступ по RDP нельзя убрать из прямого доступа через интернет.

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

Для реализации 2FA через OTP на Windows нам понадобится open source продукт под названием multiOTP, а точнее его отдельный компонент multiOTPCredentialProvider. Покажу сразу полную настройку. Я у себя всё проверил. Долго провозился, потому что разбирался, как всё это работает, собирал нужные команды, читал help. Повторить можно будет намного быстрее. ИИ не помог, тупо выдумал все команды. Вообще все.

Со страницы загрузки скачиваете свежую версию multiOTP Credential Provider. Это обычный .msi пакет. Устанавливаете в системе. Во время установки ставите галочку, что не используете никакой сервис, а только локальную версию. Не запомнил, как точно настройка называлась. А на втором экране отмечаете галочками, для каких процессов будет запрашиваться одноразовый пароль. Это могут быть:

- локальные и удалённые входы
- локальные или удалённые разблокировки сеансов
- локальный или удалённый запуск приложений в режиме "Запустить от администратора (Run as Administrator)"

Я выбрал только один случай - remote logon, то есть удалённое подключение, в данном случае по RDP.

После установки запускаем cmd от администратора и переходим в каталог с программой:

> cd C:\Program Files\multiOTP

Выбираем любого системного пользователя и задаём ему вход через TOTP:

> multiotp.exe -debug -display-log -create totp_user TOTP 34443E4948A3C06A1CFB 6

◽️totp_user - имя пользователя
◽️34443E4948A3C06A1CFB - любой 160 битный ключ (Hexadecimal, Шестнадцатеричный ключ, 20 символов), можно создать в онлайн генераторе.
◽️6 - количество символов в одноразовом пароле

И сразу же создадим пользователю qr код для добавления в аутентификатор:

> multiotp.exe -qrcode totp_user c:\multiotp\totp_user.png

❗️Теперь важный момент. После установки multiOTP Credential Provider для всех удалённых подключений будет требоваться TOTP, даже если вы их не добавили в базу multiotp. Я попался на этом. Пришлось подключаться локально и добавлять TOTP для остальных учёток.

Только после того, как вы выполнили создание пользователя через multiotp, вы сможете отключить для отдельных пользователей использование TOTP:

> multiotp -iswithout2fa zerox

Для пользователя zerox отключили одноразовые пароли. Он заходит как обычно.

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

Список пользователей в базе multiotp:
> multiotp -userslist

Информация о пользователе:
> multiotp -user-info totp_user

Настроить длину пароля по умолчанию:
> multiotp -config default-2fa-digits 6

Выпустить список одноразовых паролей. Могут пригодиться, если пользователь потерял смартфон или не может воспользоваться аутентификатором:
> multiotp.exe -scratchlist totp_user

Я проверил одноразовые пароли. По ним нормально заходит.

Пользователю нужно установить на смартфон или компьютер какой-то аутентификатор. Их очень много. Я проверял Google Authenticator и FreeOTP. Последний можно через RuStore установить.

В самой программе достаточно отсканировать qr код пользователя и генератор одноразовых паролей для multiotp будет добавлен. Если нет возможности отсканировать qr код, то можно hexadecimal ключ сконвертировать в base32 и добавить вручную.

multiOTP - масштабный сервис. Может быть развёрнут в связке с AD, или по аналогии настроен в Linux для SSH.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX

#windows #security
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍216👎2
⚡️Серверная ОС SelectOS теперь включена в реестр российского ПО Минцифры. Её можно использовать в корпоративной инфраструктуре и при этом получать поддержку от вендора.

Из преимуществ:
🔹поддержка по SLA,
🔹предсказуемая совместимость с 500+ конфигурациями выделенных серверов,
🔹доступ к расширенной документации с помощью ИИ-ассистента в manpages

Скачайте бесплатно и протестируйте у себя: https://slc.tl/5kg3c

Реклама. АО "Селектел". erid:2W5zFJM5KXn
👎50👍27