Sysadminium
322 subscribers
148 photos
1 video
1 file
398 links
Я делюсь своими знаниями системного администратора. Всё проверено на себе — иногда даже дважды.
Download Telegram
🗓Статься от 27.09.2023 про утилиту psping.

Эта утилита позволяет:
🔹Выполнять ping по определённому tcp порту.
🔹Сделать анализ и построить гистограмму.
🔹Протестировать латентность и скорость соединения между двумя серверами.

Она входит в состав пакета PsTools от Марка Руссиновича.

💡Пример использования:

psping.exe yandex.ru:443
🚀 Bash-скрипты без создания файлов: метод Heredoc

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

Этот способ называется Here-document (или Heredoc). Конструкция bash <<'EOF' ... EOF позволяет передать многострочный текст напрямую в bash.

Кавычки вокруг 'EOF' важны: они говорят оболочке не раскрыть переменные внутри блока до его передачи в bash. Это защищает от неожиданных ошибок при копировании.

В таком скрипте часто используют:
⭐️set -e - скрипт остановиться, если любая из команд завершится с ошибкой.
⭐️export DEBIAN_FRONTEND=noninteractive - переменная окружения для пакетного менеджера apt/dpkg. Она отключает интерактивные диалоги, всё становится молча и автоматически.

Пример:

bash <<'EOF'
set -e
export DEBIAN_FRONTEND=noninteractive

apt-get update && apt-get dist-upgrade -y
apt-get install -y locales wget tzdata lbzip2 bash-completion

EOF
👍8
✅В продолжении темы heredoc я написал небольшую статью.

✅В этой статье я расскажу, как можно создавать шаблоны текстовых файлов, например конфигов или скриптов с помощью метода Heredoc.

💡В статье разбирается:
- Подстановка переменных или запрет подстановки
- Создание файлов (с помощью перенаправления или утилиты tee)
- Использование heredoc в bash скриптах для форматирования вывода
- Использование для автоматизации (bash, sql-запросы, sftp-команды)

❓Также в статье есть вопросы для самопроверки.

Буду рад вашим лайкам👍
👍5
📝Выделенный сервер 1С для раздачи лицензий - решение не новое, но я начал применять его совсем недавно. Суть проста: в кластере из нескольких серверов одному назначаем только "Сервис лицензирования", отключая остальные функции. Лицензия на сам этот сервер не нужна.

👉Раньше я использовал аппаратные ключи (hasplm), но сейчас их почти не выдают. Пришлось переходить на программные лицензии: их можно активировать на рабочие места сотрудников или централизованно на сервере 1С.

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

👇Продолжение
👍6
Существуют некоторые особенности такого сервера лицензирования:
- Работает только с программными лицензиями.
- Умеет выдавать клиентские и серверные лицензии.
- Серверные лицензии выдаются серверам 1С в составе кластера.
- Клиентские лицензии выдаются только через сервер 1С (на каждый сеанс), файловые базы не поддерживаются.
- Все серверы 1С в одном кластере должны быть одной версией платформы.

Серверы 1С в кластере общаются по именам, и удобно на обоих серверах добавить имена друг друга в файл hosts, или прописать их на своём DNS-сервере.

Подготовить такой кластер несложно.

1. Устанавливаем два сервера 1С.
2. Подключаемся к обоим оснасткой "Администрирование серверов 1С Предприятия".
3. На сервере лицензирования удаляем локальный кластер.
4. На рабочем сервере добавляем "Рабочий сервер" к кластеру (укажем имя сервера лицензирования).
5. На каждом "Рабочем сервере" настраиваем требования назначения:
- На сервере лицензирования:
Сервис лицензирования - Назначить - Для всех.
Для всех - Не назначать - Для всех.
- На рабочем сервере:
Клиентское соединение с ИБ - Назначить - Для всех.
Сервис лицензирования - Не назначать - Для всех.
6. Применяем требования назначения на "Локальном кластере".

При активации лицензии выбираем тип активации "На сервере" и указываем имя сервера лицензирования.
👍5
📌Полезные команды PowerShell

🔹Получить список процессов в системе:
Get-Process

🔹Топ 10 процессов по занимаемой памяти:
Get-Process | Sort-Object WS -Descending | Select -First 10

🔹Получить информацию о процессе, остановить и запустить его:
Get-Process -Name <process-name>
# Завершить процесс по имени
Stop-Process -Name <process-name>
# Завершить процесс по имени
Stop-Process -Id <PID>
# Запустить процесс указав путь к файлу
Start-Process -FilePath <file>

🔹Получить список служб Windows:
Get-Service

🔹Получить информацию о службе, остановить, запустить и перезапустить её:
Get-Service -Name <service-name>
Stop-Service -Name <service-name>
Start-Service -Name <service-name>
Restart-Service -Name <service-name>

🔹Прочитать текстовый файл:
Get-Content -Path <file>

🔹Найти строку в текстовом файле:
Select-String -Path <file> -Pattern <pattern>

🔹Получить информацию о системе:
Get-ComputerInfo

Продолжение👇
👍2
🔹Получить хеш файла. Бывает полезно чтобы проверить не побился ли файл (например: образ или архив):
Get-FileHash -Path <file> -Algorithm SHA256

🔹Проверить порт (открыт или закрыт):
Test-NetConnection -ComputerName <ip> -Port <port>

🔹Переключить неопознанную сеть в частную (кстати, переключить сеть в DomainAuthenticated принудительно нельзя):
# узнаём имя интерфейса и текущий профиль (InterfaceAlias / NetworkCategory)
Get-NetConnectionProfile
# переключим сеть на Private (например, интерфейс называется Ethernet-2)
Set-NetConnectionProfile -InterfaceAlias "Ethernet-2" -NetworkCategory Private
👍3
В статье мы знакомимся с SIEM сервером Wazuh и устанавливаем его на Debian12.

Wazuh — это платформа с открытым исходным кодом, реализующая концепции XDR (Extended Detection and Response) и SIEM (Security Information and Event Management). Решение является бесплатным для развертывания на собственной инфраструктуре. Агенты поддерживают операционные системы Linux, Windows и macOS.
👍4
✔️Из статьи вы узнаете, как подключить Linux, Windows и MikroTik к SIEM-системе Wazuh. Для подключения будем использовать агентов и syslog.
👉В этой статье в качестве Linux используется дистрибутив Debian 13, а в качестве Windows - Windows 10 22H2. На других системах установка и настройка может немного отличаться.
👉На Linux в статье показаны 2 возможных сценария:
- Отправка логов по протоколу syslog.
- Использование агента, который не просто пересылает логи, а также собирает и отправляет на сервер некоторую телеметрию для анализа.
👉Для Windows показан только вариант с использованием агента, хотя отправлять логи по syslog технически тоже можно.
👉Также в статье показана настройка отправки логов с роутеров MikroTik по протоколу syslog.
1👍5
📌Временные метки файла в Linux

👉Файлы в Linux имеют 3 типа временных меток:
- Время доступа (atime). Обновляется, когда файл открывается или читается (например утилитами: cat, grep, head).
- Время модификации (mtime). Обновляется, когда изменяется содержимое файла (например с помощью nano).
- Время изменения (ctime). Обновляется когда меняются атрибуты файла (владелец, права). Поменять атрибуты можно с помощью утилит: chown, chmod. А также ctime обновляется, если файл перемещается на другую файловую систему.

💡При редактировании файла меняется mtime и ctime, а при изменении атрибутов меняется только ctime.

Посмотреть временные метки вы можете с помощью утилиты stat:
# stat test.txt 
Access: 2025-03-05 09:58:28.856107220 +0300
Modify: 2025-03-05 11:19:54.917690765 +0300
Change: 2025-03-05 11:19:54.917690765 +0300


Вы можете изменить время доступа к файлу (atime):
touch -a --date="1988-02-15" test.txt
touch -a --date="1988-02-15 01:00" test.txt


Или изменить время модификации файла (ctime):
touch -m --date="2020-01-20" test.txt


В некоторых системах для оптимизации производительности atime может не обновляться при каждом доступе, если включена опция relatime или noatime.
👍5
📌Настройка драйверов АТОЛ (ДТО 10.x)

ДТО (Драйвер Торгового Оборудования) - это прослойка между ОС и онлайн-кассой (ККТ).

📥 Установка

🔗 Качаем драйвер актуальной версии - сейчас это 10.10.9.0. Необходимо выбрать:
- Категория: Программное обеспечение.
- Брэнд: ДТО.
- Модель: 10.x.
- Нажимаем: Найти.

Скачать нужно KKT10-10.10.9.0-windows64-setup или KKT10-10.10.9.0-windows32-setup. Разрядность обязательно должна совпадать с разрядностью установленной платформы 1С. При установке, добавляем компоненты:
- EoU (EthOverUsb).
- Драйвер 1С.

После установки и подключения кассы, открываем "Тест драйвера ККТ" для проверки связи (приложение идет в комплекте).

🔌 Виртуальные COM-порты

При подключении кассы по USB обычно появляются два виртуальных COM-порта:
1️⃣ для подключения и управления ККТ.
2️⃣ для службы EoU (Ethernet over USB) - необходим для передачи чеков в ОФД.

🛠 Частые проблемы

❌ Не появляются COM-порты
В "Диспетчере устройств" видим "Неизвестное устройство" с желтым треугольником. Значит, драйвер виртуального COM-порта не встал.
Решение: Правой кнопкой -> Обновить драйвер -> Обзор -> указываем путь:
- (для x64): C:\Program Files\ATOL\Drivers10\KKT\USB_Drivers.
- (для x32): C:\Program Files (x86)\ATOL\Drivers10\KKT\USB_Drivers.

❌ 1С не видит кассу
Частая проблема - несовпадение разрядности. Если 1С 32-битная, а драйвер поставили 64-битный, связка не заработает.
Решение: Устанавливаем драйвер той же разрядности, что и платформа 1С.

❌ Проверка отправки в ОФД
В "Тесте драйвера" идем в раздел "Состояние обмена с ОФД". Формируем отчет: там будет статус соединения и количество зависших (неотправленных) чеков.

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

А иногда могут происходить крупные изменения. Например изменяются требования к ФФД (формат фискальных документов), требующие обновление прошивки/ПО. В этом случае требуется выполнить по порядку:

1️⃣Обновить прошивку кассы. Чаще всего выполняется сертифицированными ЦТО (центрами технического обслуживания) или специализированными компаниями. Но может выполнить и штатный IT-специалист.

2️⃣Обновить драйвер ККТ в операционной системе. Это стандартная задача системного администратора/IT-специалиста.

3️⃣Обновить конфигурацию 1С, чтобы в ней появилась поддержка новых драйверов. Это зона ответственности программистов 1С.

4️⃣Перенастроить оборудование в 1С для работы с новыми драйверами. Это может выполняться как программистом 1С, так и IT-специалистом знающим 1С.
50👍3
📌Сравнение и выбор современных дистрибутивов Linux

🟠 Ubuntu 26.04 LTS
Пакеты: DEB
Менеджер пакетов: apt, Snap
Init / Service manager: systemd 259
C library: glibc
Firewall: UFW / nftables / iptables
Сетевое управление: Netplan → systemd-networkd
Ядро: Linux 7.0
Модель релизов: фиксированные релизы каждые 6 месяцев; LTS - каждые 2 года
Поддержка: 5 лет для LTS
Ресурсоёмкость: средняя
Контейнерный хост: отлично
Container image: полноценный image, относительно большой
Доступность ПО: очень высокая
⭐️ Главная особенность: удобство, большое сообщество, коммерческая поддержка, современное ПО.
⚠️ Основной недостаток: больше Ubuntu-специфики: Netplan, Snap и т. д.

🔵 Debian 13 Trixie
Пакеты: DEB
Менеджер пакетов: apt
Init / Service manager: systemd 257
C library: glibc
Firewall: nftables / iptables
Сетевое управление: ifupdown
Ядро: Linux 6.12 LTS
Модель релизов: фиксированные stable-релизы примерно раз в 2 года
Поддержка: 5 лет: 3 года Debian + 2 года LTS
Ресурсоёмкость: низкая
Контейнерный хост: отлично
Container image: полноценный и slim, универсальный вариант
Доступность ПО: очень высокая
⭐️ Главная особенность: универсальность, стабильность, огромная экосистема.
⚠️ Основной недостаток: более консервативные версии ПО.

🟢 Alpine Linux 3.24
Пакеты: APK
Менеджер пакетов: apk
Init / Service manager: OpenRC
C library: musl libc
Firewall: nftables / iptables
Сетевое управление: ifupdown-ng
Ядро: Linux 6.18
Модель релизов: стабильные ветки примерно каждые 6 месяцев + Edge (rolling)
Поддержка: основная ветка обычно 2 года
Ресурсоёмкость: очень низкая
Контейнерный хост: можно, но специфично
Container image: очень маленький image, одна из главных областей применения
Доступность ПО: высокая, но набор пакетов меньше
⭐️ Главная особенность: минимализм, musl + OpenRC.
⚠️ Основной недостаток: musl может создавать проблемы с некоторым ПО.

🟣 Devuan Excalibur 6
Пакеты: DEB
Менеджер пакетов: apt
Init / Service manager: sysvinit по умолчанию
C library: glibc
Firewall: nftables / iptables
Сетевое управление: ifupdown
Ядро: Linux 6.12
Модель релизов: фиксированные, основанные на Debian
Поддержка: следует жизненному циклу Debian
Ресурсоёмкость: очень низкая
Контейнерный хост: можно, но специфично
Container image: полноценный Debian-подобный image, но менее распространённый
Доступность ПО: высокая, но меньше systemd-зависимого ПО
⭐️ Главная особенность: Debian без systemd.
⚠️ Основной недостаток: меньше экосистема и сторонняя документация.

🔴 Rocky Linux 10
Пакеты: RPM
Менеджер пакетов: dnf
Init / Service manager: systemd 257
C library: glibc
Firewall: firewalld / nftables (не активен по умолчанию)
Сетевое управление: NetworkManager
Ядро: Linux 6.12
Модель релизов: фиксированные major-релизы раз в 3–4 года + minor-релизы
Поддержка: 10 лет
Ресурсоёмкость: средняя
Контейнерный хост: отлично
Container image: полноценный image, относительно большой
Доступность ПО: очень высокая
⭐️ Главная особенность: RHEL-совместимость, корпоративная экосистема.
⚠️ Основной недостаток: более консервативное ПО, сильная ориентация на RHEL-экосистему.

🧭 Быстрый выбор:
🖥 Обычный production-сервер → Debian / Ubuntu
🛡 Максимальная стабильность → Debian
📦 Минимальная система / Контейнер → Alpine / Devuan
🏢 Корпоративная RHEL-инфраструктура → Rocky Linux
🐳 Docker host → Debian / Ubuntu / Rocky
🚀 Нужно самое свежее ПО → Ubuntu / Alpine, в зависимости от задачи
👍3
📌IP-калькулятор в терминале Linux - ipcalc

👉Устанавливаем:
$ sudo apt install -y ipcalc-ng libgeoip1t64


👉Смотрим версию и читаем справку:
$ ipcalc-ng -v
$ ipcalc-ng -h


👉Примеры:

🔹Смотрим всю информацию об IP-адресе:
$ ipcalc-ng --all-info 193.92.150.2/24
Address: 193.92.150.2
Network: 193.92.150.0/24
Netmask: 255.255.255.0 = 24
Broadcast: 193.92.150.255
Reverse DNS: 150.92.193.in-addr.arpa.

Address space: Internet
Address class: Class C
HostMin: 193.92.150.1
HostMax: 193.92.150.254
Hosts/Net: 254

Country code: GR
Country: Greece


🔹Получаем информацию по определённым полям:
$ ipcalc-ng --geoinfo --addrspace 193.92.150.2/27
ADDRSPACE=Internet
COUNTRYCODE=GR
COUNTRY=Greece

$ ipcalc-ng --geoinfo --addrspace 192.168.0.1/24
ADDRSPACE="Private Use"
COUNTRYCODE=--


🔹В json формате:
$ ipcalc-ng -j 193.92.150.2/27
{
"ADDRESS":"193.92.150.2",
"NETWORK":"193.92.150.0",
"NETMASK":"255.255.255.224",
"PREFIX":"27",
"BROADCAST":"193.92.150.31",
"ADDRSPACE":"Internet",
"MINADDR":"193.92.150.1",
"MAXADDR":"193.92.150.30",
"ADDRESSES":"30"
}


🔹Разбиение сети на подсети:
$ ipcalc-ng -S 26 192.168.1.0/24
[Split networks]
Network: 192.168.1.0/26
Network: 192.168.1.64/26
Network: 192.168.1.128/26
Network: 192.168.1.192/26

Total: 4
Hosts/Net: 62
👍3
📌Бесплатные и Open Source почтовые серверы для Linux

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

🟢 Mailcow

Полноценный почтовый комплекс на Docker.

🔹 Postfix + Dovecot
🔹 Rspamd + ClamAV
🔹 Web-клиент — SOGo (Webmail, календарь, контакты, ActiveSync)
🔹 DKIM / SPF / DMARC
🔹 Web-панель администратора
🔹 Let's Encrypt
🔹 Несколько доменов и пользователей

➕очень функциональный и удобный.
➖достаточно тяжёлый, состоит из большого количества контейнеров.

🟢 Mailu

Лёгкий почтовый комплекс на Docker.

🔹 Postfix + Dovecot
🔹 Rspamd
🔹 Web-клиент — Roundcube / SnappyMail
🔹 DKIM / SPF / DMARC
🔹 Web-панель администратора
🔹 Let's Encrypt
🔹 Несколько доменов и пользователей

➕ проще и легче Mailcow.
➖ нет SOGo и Exchange ActiveSync.

🟢 iRedMail

Классический почтовый сервер без Docker.

🔹 Postfix + Dovecot
🔹 Rspamd / SpamAssassin
🔹 Web-клиент — Roundcube / SOGo (Webmail, календарь, контакты, ActiveSync)
🔹 DKIM / SPF / DMARC
🔹 Web-панель администратора (бесплатная версия урезана)
🔹 Let's Encrypt
🔹 Несколько доменов и пользователей

➕ обычные Linux-сервисы (без Docker), хорошо подходит для самостоятельного администрирования.
➖ некоторые расширенные возможности управления доступны только в платной версии.

🟢 Modoboa

Почтовая система центральным компонентом которого является web-платформа управления.

🔹 Postfix + Dovecot
🔹 SpamAssassin + Amavis
🔹 Web-клиент — собственный (Webmail, календарь, адресные книги)
🔹 DKIM / DMARC / SPF
🔹 Web-панель администратора — собственная
🔹 Let's Encrypt
🔹 Несколько доменов и пользователей

➕ удобное централизованное управление.
➖ нет Exchange ActiveSync и менее распространён, чем Mailcow или iRedMail.

🟢 Mail-in-a-Box

Максимально автоматизированная установка почтового сервера.

🔹 Postfix + Dovecot
🔹 SpamAssassin + Postgrey
🔹 Web-клиент — Roundcube
🔹 DKIM / SPF / DMARC
🔹 Web-панель администратора — собственная
🔹 Let's Encrypt
🔹 Nextcloud — контакты и календари
🔹 Exchange ActiveSync — Z-Push

➕ минимум ручной настройки.
➖ сильно ограничивает возможность самостоятельно проектировать инфраструктуру.

🟢 Stalwart Mail Server

Современный почтовый сервер на Rust, построенный как единое приложение.

🔹 SMTP / IMAP / JMAP
🔹 Свой встроенный антиспам
🔹 DKIM / SPF / DMARC
🔹 Web-панель администратора — встроенная
🔹 Let's Encrypt
🔹 CalDAV / CardDAV / WebDAV

➕ современная архитектура, высокая производительность и небольшое потребление ресурсов.
➖ не поддерживается ActiveSync, нет web-клиента.

🟢 Mox

Современный all-in-one почтовый сервер на Go.

🔹 SMTP / IMAP
🔹 Свой встроенный антиспам
🔹 Web-клиент — свой встроенный
🔹 DKIM / SPF / DMARC
🔹 Web-панель администратора — встроенная
🔹 Let's Encrypt

➕ современная архитектура и минимум компонентов.
➖ нет реализации CalDAV, CardDAV или WebDAV, ActiveSync не поддерживается.

🟢 Postfix + Dovecot + SOGo + Rspamd
Можно собрать почтовую систему самостоятельно:
📤 Postfix — SMTP
📥 Dovecot — IMAP
🛡 Rspamd — антиспам
🌐 SOGo — Webmail, календарь, контакты и ActiveSync

➕ максимальный контроль и возможность настроить всё под себя.
➖ всё необходимо устанавливать, настраивать и обновлять самостоятельно.

⭐️ Что выбрать?

Если нужен Exchange ActiveSync:
- iRedMail + SOGo — хороший вариант.
- Mailcow — более функциональный, но и тяжёлый вариант.
- Postfix + Dovecot + SOGo + Rspamd — максимум контроля.

Если ActiveSync не нужен:
- Stalwart — современный all-in-one.
- Mox — современный сервер на Go.
- Mailu — простой и функциональный Docker-вариант.
👍6
📌Включение технологического журнала

Технологический журнал можно включить для 1С на разных операционных системах (Linux / Windows).

Для начала нужно создать каталог, в который сможет писать сервер 1С. Сами каталоги не создаются. Например:

- /home/usr1cv8/.1cv8/1C/1cv8/logs - для Linux
- C:\Program Files\1cv8\logs - для Windows

Дополнительно, придётся настроить права на каталог.

Дальше создаём конфиг технологического журнала. Он должен лежать в домашнем каталоге пользователя или в каталоге с установленной платформой. Конфиг должен быть доступен пользователю сервера 1С. Например:

- C:\Program Files\1cv8\conf\logcfg.xml - для Windows
- /home/usr1cv8/.1cv8/1C/1cv8/conf/logcfg.xml - для Linux

Пример конфига:
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="/home/usr1cv8/.1cv8/1C/1cv8/logs/" history="24">
<event>
<eq property="Name" value="EXCP"/>
</event>
<event>
<eq property="Name" value="EXCPCNTX"/>
</event>
<event>
<eq property="Name" value="DBPOSTGRS"/>
</event>
<property name="all"/>
</log>
</config>

Вы можете фиксировать следующие события (это не полный список):

- PROC - события, относящиеся к процессу целиком и влияющие на дальнейшую работоспособность процесса. Например, старт, завершение, аварийное завершение и т.п.
- CONN - установка или разрыв клиентского соединения с сервером.
- EXCP - исключительные ситуации приложений системы 1С:Предприятие, которые штатно не обрабатываются и могут послужить причиной аварийного завершения серверного процесса или подсоединенного к нему клиентского процесса.
- ADMIN - управляющие воздействия администратора кластера серверов системы 1С:Предприятие.
- DBPOSTGRS - запросы к PostgreSQL.
- DBMSSQL - запросы к MS SQL.

Для того чтобы выключить технологический журнал, не удаляя конфиг, можем закомментировать конфиг:
<!--
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="/home/usr1cv8/.1cv8/1C/1cv8/logs/" history="24">
<event>
<eq property="Name" value="EXCP"/>
</event>
<event>
<eq property="Name" value="EXCPCNTX"/>
</event>
<property name="all"/>
</log>
</config>
-->
👍1
📌КриптоПро CSP c доступом к локальным смарт-картам по RDP

Если сотрудник уходя на удалёнку подключается к своему рабочему ПК по RDP и работает с ЭЦП подключенными к рабочему компьютеру, то эта заметка для вас.

👉Теория

По правильному работа с токенами (смарт-картами) должна производиться локально. То есть сотрудник должен вставлять токен в свой компьютер, за которым работает физически. А при подключении к серверу по RDP локальный токен пробрасывается на сервер и там уже виден в сеансе пользователя. Но в RDP сеансе пользователю запрещено обращаться к токенам, которые физически подключены к серверу.

В наше время сотрудники уходя в отпуск или оставаясь дома на больничном часто продолжают работать, подключаться к своему рабочему компьютеру. Но ЭЦП с собой на удалёнку забирать нельзя. Для такой работы обычно используют AnyDesk, RuDesktop или другие аналоги. Но иногда используют и протокол RDP, и тут появляется проблема. Токены подключены к рабочему компьютеру, и в сеансе RDP не видны.

💡Решение

Начиная со сборки "КриптоПро CSP 5.0.12600" доступ к локальным смарт-картам включается в панели "КриптоПро CSP" на вкладке "Безопасность" с помощью кнопки "Включить службу локальных смарт-карт".

При этом пользователь должен быть добавлен в локальную группу "Пользователи локальных смарт-карт КриптоПро CSP" (CryptoPro Local Smartcard Users) или группу локальных администраторов.

По возвращению сотрудника в офис желательно эту службу выключить.
👍4
📌DNS-записи для корректной работы почты

🔴 Записи MX
Указывают серверы, принимающие почту для домена. Например домен example.com обслуживает сервер mail.example.com:
example.com | MX | mail.example.com. 10

🔴Запись A
Сопоставляет домен почтового сервера с его IP-адресом.
mail.example.com | A | 156.34.28.12

🔴 Запись SPF (TXT-запись)
Указывает разрешённые IP-адреса для отправки почты.
example.com | TXT | "v=spf1 +a +mx ~all"

🔹+a +mx - разрешает отправку писем с адреcов указанных в A-Записи и MX-записях;
🔹~all - мягкое ограничение, разрешает отправку писем с других серверов, но они помечаются как ненадёжные;
🔹-all - жёсткое ограничение.
🔴 Запись DKIM (TXT-запись)
Открытый ключ сервера. Письма подписываются закрытым ключом, а для проверки подлинности используется открытый ключ указанный в TXT-записи.
mail._domainkey | TXT | "v=DKIM1;k=rsa;p=<открытый ключ>"

🔴Запись DMARC (TXT-запись)
Определяет политику обработки писем, не прошедших SPF/DKIM.
_dmarc | TXT | "v=DMARC1; p=quarantine; pct=5; rua=mailto:admin@example.com"

🔹p=quarantine - непрошедшие проверку письма попадут в спам, но не будут полностью отклоняться;
🔹pct=5 - из всех писем только 5% будут проверяться;
🔹rua=mailto:admin@example.com - email, куда будут отправляться отчёты о проверке писем;
🔴PTR-запись (Reverse DNS)
Обратная запись, которая сопоставляет IP почтового сервера с его доменом. Настраивается у вашего интернет-провайдера.
1👍5
📌Certbot - не обновляется сертификат

Если:
# certbot renew

завершается ошибкой Challenge failed / unauthorized, проверить по порядку.
🔘DNS
Убедиться, что домен указывает на правильный внешний IP:
# dig +short example.com A
# dig +short example.com AAAA

Если используется только IPv4 — убедиться, что лишней AAAA записи нет.
🔘Порт 80
Для http-01 challenge Let's Encrypt нужен обычный HTTP на TCP/80. Проверить с внешней машины:
# curl -v http://example.com/

Нормальные варианты: 200 OK / 301/302 → HTTPS
Плохой вариант: HTTP/1.1 400 Bad Request. HTTP-трафик не проходит.
В этом случае проверить, что с интернета доступны:
TCP 80  → веб-сервер
TCP 443 → веб-сервер

Внимательно проверить NAT/Port Forwarding на роутере. Если убрали проброс TCP/80, оставив только TCP/443, то сайт будет работать по HTTPS, но Let's Encrypt не пройдёт HTTP-01 challenge.
🔘Кто слушает 80 порт
На сервере:
# ss -ltnp | grep ':80 '

Проверить, что запрос действительно приходит в нужный Apache/nginx/Caddy/HAProxy.
🔘Проверить ответ именно для challenge
# curl -v http://example.com/.well-known/acme-challenge/test

Важно посмотреть HTTP-код и Server: в ответе.
🔘Посмотреть конфигурацию Certbot
# cat /etc/letsencrypt/renewal/example.com.conf

Обратить внимание на:
authenticator = apache / nginx / webroot

🔘Посмотреть подробный лог
# less /var/log/letsencrypt/letsencrypt.log

Или запустить:
# certbot renew --dry-run -v

🔘После исправления
Выполнить проверку:
# certbot renew --dry-run

Если всё хорошо, тогда можно обновлять сертификат:
# certbot renew
👍1
Hugo — статический генератор сайтов, написанный на Go. Он превращает Markdown-файлы в готовый HTML-сайт. Вы пишете контент в текстовых файлах (.md), а Hugo генерирует из них готовый сайт.

В этой статье мы познакомимся с генератором статичных сайтов Hugo. Установим Hugo в Docker и сгенерируем сайт с главной страничкой и статьёй из Markdown-файлов.
👍2
Обновил одну из первых статей по администрированию Linux.

👉Пакетный менеджер dpkg

В этой статье рассмотрим низкоуровневый пакетный менеджер dpkg, который используется в deb-based Linux-системах (Debian/Ubuntu) и в отличие от apt / apt-get не умеет работать с зависимостями и репозиториями.

📌Краткая шпаргалка:
-i - установить пакет
-r - удалить пакет
-P - удалить пакет вместе с конфигами
-l - список установленных пакетов
-s - информация об установленном приложении
-I - информация о скачанном пакете
-L - список файлов, которые установились из пакета
-c - список файлов в пакете (можно проверить перед установкой)
👍1
Решил сделать рубрику про видео из VK, которые я недавно посмотрел и они мне понравились. Это не реклама, никаких соглашений с авторами я не заключал. Пока это тестовая рубрика, если зайдёт, то оставлю на постоянку.
AGI: Хайп или факт?
В видео разбирают, что такое узкий, общий и сильный ИИ, и почему заявления Дженсена Хуанга о наступлении AGI пока преждевременны: современные модели всё ещё ошибаются, плохо справляются с новыми задачами, а их дообучение во многом остаётся набором костылей. При этом громкие заявления выгодны Nvidia, чьи ускорители используются для обучения передовых моделей. Обсуждают и возможные причины призывов «притормозить» развитие ИИ, а также тренд на небольшие специализированные модели, которые в связке могут оказаться эффективнее одной огромной LLM. В видео также выражают мнение, что если AGI и появится, то внезапно, а осознание этого придёт лишь спустя время.
ИИ не умеет думать
Видео простым языком объясняет, как работают LLM: это не «мыслящий» ИИ, а модель, предсказывающая следующий фрагмент текста на основе терабайтов данных из интернета. Разбираются базовые понятия — нейроны, веса, слои, трансформеры, обратное распространение ошибки. Отдельно рассматриваются проблемы: галлюцинации, слабые рассуждения, однотипные ответы, дороговизна и вопросы авторских прав. Также объясняется, зачем нужны видеокарты и квантование, и чем ИИ-агенты отличаются от чат-ботов.
Настройка копий БД для горизонтального масштабирования 1С
В видео разбирается механизм копий баз данных на примере 1С: Управление торговлей 11 (нужна лицензия КОРП). Отчёт выполняется на копии базы и не нагружает основную базу. Всё наглядно показано в Postgres Pro Enterprise Manager — раньше не знал про это решение, выглядит интересно. Показан кластер из одного мастера и двух асинхронных реплик. Мониторинг нагрузки в момент создания отчёта показывает, что основная нагрузка приходится на реплику. В конце коротко рассказывается о подключении через Proxima — расширение для Postgres Pro Enterprise 17, которое позволяет заменить отдельный прокси и организовать балансировку нагрузки.
👍1