🐧 Linux: LD_PRELOAD — Руткит для бедных (и для админов)
Знаете ли вы, что можно перехватить и подменить любую функцию в Linux-программе, не перекомпилируя её?
Это делает переменная окружения LD_PRELOAD. Она говорит динамическому линковщику: "Сначала загрузи мою библиотеку, а потом всё остальное".
Как это используют:
Хакеры (Userland Rootkits): Создают библиотеку, которая переопределяет функцию readdir(). Когда админ пишет ls, команда вызывает подмененную функцию, которая показывает все файлы, кроме вредоносных.
Админы (Отладка и Фиксы): Можно подменить time(), чтобы протестировать поведение программы в "будущем", или перехватить connect(), чтобы перенаправить трафик без изменения конфигов.
Как обнаружить (Аудит): Проверьте переменные окружения запущенных процессов.
Также проверьте файл /etc/ld.so.preload. Если там есть незнакомые библиотеки — у вас проблемы.
Взгляд архитектора: Механизмы, созданные для гибкости (LD_PRELOAD), часто становятся векторами атак. Архитектор должен знать "темную сторону" своих инструментов.
#linux #security #rootkit #ldpreload #hack #sysadmin #гайд
Знаете ли вы, что можно перехватить и подменить любую функцию в Linux-программе, не перекомпилируя её?
Это делает переменная окружения LD_PRELOAD. Она говорит динамическому линковщику: "Сначала загрузи мою библиотеку, а потом всё остальное".
Как это используют:
Хакеры (Userland Rootkits): Создают библиотеку, которая переопределяет функцию readdir(). Когда админ пишет ls, команда вызывает подмененную функцию, которая показывает все файлы, кроме вредоносных.
Админы (Отладка и Фиксы): Можно подменить time(), чтобы протестировать поведение программы в "будущем", или перехватить connect(), чтобы перенаправить трафик без изменения конфигов.
Как обнаружить (Аудит): Проверьте переменные окружения запущенных процессов.
# Ищем процессы с установленным LD_PRELOAD
sudo grep -a "LD_PRELOAD" /proc/*/environ
Также проверьте файл /etc/ld.so.preload. Если там есть незнакомые библиотеки — у вас проблемы.
Взгляд архитектора: Механизмы, созданные для гибкости (LD_PRELOAD), часто становятся векторами атак. Архитектор должен знать "темную сторону" своих инструментов.
#linux #security #rootkit #ldpreload #hack #sysadmin #гайд
🌐 Инструмент: gping — Пинг с графиком в терминале
Обычный ping скучен. Вы видите только цифры и не чувствуете "пульс" сети.
gping — это тот же пинг, но с живым ASCII-графиком прямо в консоли.
Почему это круто:
* Вы визуально видите "спайки" (скачки задержки).
* Вы видите джиттер (разброс).
* Можно пинговать несколько хостов одновременно и сравнивать графики.
Установка:
Использование:
Взгляд архитектора: Визуализация — ключ к быстрому пониманию проблемы. Когда вы видите график, ваш мозг находит аномалии быстрее, чем когда вы читаете колонки цифр.
#tools #cli #networking #ping #gping #devops #musthave
Обычный ping скучен. Вы видите только цифры и не чувствуете "пульс" сети.
gping — это тот же пинг, но с живым ASCII-графиком прямо в консоли.
Почему это круто:
* Вы визуально видите "спайки" (скачки задержки).
* Вы видите джиттер (разброс).
* Можно пинговать несколько хостов одновременно и сравнивать графики.
Установка:
# Linux (через snap или пакетный менеджер)
sudo snap install gping
# macOS
brew install gping
Использование:
# Пингуем Google и Яндекс одновременно
gping google.com ya.ru
Взгляд архитектора: Визуализация — ключ к быстрому пониманию проблемы. Когда вы видите график, ваш мозг находит аномалии быстрее, чем когда вы читаете колонки цифр.
#tools #cli #networking #ping #gping #devops #musthave
🎲 Пятничная пасхалка: "Режим Бога" в Windows
Хотите получить доступ ко всем настройкам Windows в одной папке? Старый трюк, который работает даже в Windows 11.
God Mode (Режим Бога) — это специальная папка, которая собирает ссылки на все элементы Панели управления и Администрирования.
Как сделать:
1. Создайте новую папку на рабочем столе.
2. Назовите её (скопируйте целиком):
3. Иконка папки изменится.
Откройте её — и у вас под рукой более 200 инструментов настройки, от "Учетных записей" до "Дефрагментации", в виде удобного списка с поиском.
Взгляд архитектора: Это не магия, а использование CLSID (идентификаторов классов) Windows. Знание того, как система устроена под капотом (реестр, GUID, COM-объекты), позволяет делать вещи, недоступные через обычный GUI.
#windows #tricks #godmode #lifehack #sysadmin #friday
Хотите получить доступ ко всем настройкам Windows в одной папке? Старый трюк, который работает даже в Windows 11.
God Mode (Режим Бога) — это специальная папка, которая собирает ссылки на все элементы Панели управления и Администрирования.
Как сделать:
1. Создайте новую папку на рабочем столе.
2. Назовите её (скопируйте целиком):
GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}
3. Иконка папки изменится.
Откройте её — и у вас под рукой более 200 инструментов настройки, от "Учетных записей" до "Дефрагментации", в виде удобного списка с поиском.
Взгляд архитектора: Это не магия, а использование CLSID (идентификаторов классов) Windows. Знание того, как система устроена под капотом (реестр, GUID, COM-объекты), позволяет делать вещи, недоступные через обычный GUI.
#windows #tricks #godmode #lifehack #sysadmin #friday
👍2
🦀 Linux: nethogs — хорошо, а bandwhich — красивее. Сетевой мониторинг на Rust
Мы уже говорили про nethogs для поиска процессов, забивающих канал. Но прогресс не стоит на месте.
Встречайте bandwhich (ранее what). Это современный, написанный на Rust инструмент, который показывает использование сети по процессам, соединениям и удаленным IP в реальном времени.
Почему он крут:
Детализация: Он показывает не только "какой процесс", но и "куда" (DNS-имя или IP) он стучится.
UI: Адаптивный и очень наглядный интерфейс в терминале.
Rust: Работает быстро и безопасно.
Установка:
Запуск:
Взгляд архитектора: Инструменты должны эволюционировать. Использование современного софта на Rust снижает накладные расходы на мониторинг. bandwhich — это отличный пример инструмента, который дает максимум контекста (Процесс -> IP -> Скорость) за одну секунду взгляда на экран.
#linux #rust #networking #monitoring #bandwhich #tools #гайд
Мы уже говорили про nethogs для поиска процессов, забивающих канал. Но прогресс не стоит на месте.
Встречайте bandwhich (ранее what). Это современный, написанный на Rust инструмент, который показывает использование сети по процессам, соединениям и удаленным IP в реальном времени.
Почему он крут:
Детализация: Он показывает не только "какой процесс", но и "куда" (DNS-имя или IP) он стучится.
UI: Адаптивный и очень наглядный интерфейс в терминале.
Rust: Работает быстро и безопасно.
Установка:
# Arch Linux
pacman -S bandwhich
# Ubuntu/Debian (через snap, если нет в репо)
sudo snap install bandwhich
# Или через Cargo (если вы уже осваиваете Rust)
cargo install bandwhich
Запуск:
sudo bandwhich
Взгляд архитектора: Инструменты должны эволюционировать. Использование современного софта на Rust снижает накладные расходы на мониторинг. bandwhich — это отличный пример инструмента, который дает максимум контекста (Процесс -> IP -> Скорость) за одну секунду взгляда на экран.
#linux #rust #networking #monitoring #bandwhich #tools #гайд
❤2
♻️ AD: Кнопка "Отменить удаление". Почему у вас выключена AD Recycle Bin?
Сценарий: Утро субботы. HelpDesk "случайно" удалил целое OU с бухгалтерией. Вариант А (Плохой): Перезагружать DC в режим DSRM, восстанавливать ntds.dit из бэкапа, делать Authoritative Restore. Простой — часы. Вариант Б (Архитектурный): Восстановить объекты за 3 секунды через Active Directory Recycle Bin.
Эта фича появилась в Server 2008 R2, но она отключена по умолчанию.
Как проверить и включить (PowerShell):
Проверка статуса:
Если EnabledScopes пустое — корзина выключена!
Включение (Внимание! Это необратимо!):
Восстановление удаленного объекта (Пример):
Взгляд архитектора: Включение корзины — это нулевой шаг при настройке любого домена. Это превращает катастрофу (потерю данных) в мелкий инцидент. Если у вас она выключена — сделайте это прямо сейчас.
#windows #activedirectory #recovery #powershell #bestpractice #гайд
Сценарий: Утро субботы. HelpDesk "случайно" удалил целое OU с бухгалтерией. Вариант А (Плохой): Перезагружать DC в режим DSRM, восстанавливать ntds.dit из бэкапа, делать Authoritative Restore. Простой — часы. Вариант Б (Архитектурный): Восстановить объекты за 3 секунды через Active Directory Recycle Bin.
Эта фича появилась в Server 2008 R2, но она отключена по умолчанию.
Как проверить и включить (PowerShell):
Проверка статуса:
Get-ADOptionalFeature -Filter 'Name -like "Recycle Bin Feature"'
Если EnabledScopes пустое — корзина выключена!
Включение (Внимание! Это необратимо!):
Enable-ADOptionalFeature 'Recycle Bin Feature' -Scope ForestOrConfigurationSet -Target 'corp.local'
Восстановление удаленного объекта (Пример):
Get-ADObject -Filter 'Name -like "Ivanov"' -IncludeDeletedObjects | Restore-ADObject
Взгляд архитектора: Включение корзины — это нулевой шаг при настройке любого домена. Это превращает катастрофу (потерю данных) в мелкий инцидент. Если у вас она выключена — сделайте это прямо сейчас.
#windows #activedirectory #recovery #powershell #bestpractice #гайд
🔥2
🛡 Проект на выходные: Свой VPN за 2 минуты. wg-easy
Иметь свой VPN — это гигиена. Подключаться к домашнему серверу, безопасно сидеть через Wi-Fi в кафе или обходить ограничения.
WireGuard — это стандарт. Быстрый, легкий, современный. Но настраивать конфиги и ключи вручную — это долго.
wg-easy — это Docker-контейнер, который дает вам:
1. WireGuard сервер.
2. Веб-интерфейс для управления клиентами.
3. QR-коды для мгновенного подключения с телефона.
Готовый docker-compose.yml:
Запуск: docker-compose up -d. Использование: Зайдите на http://<ip>:51821, создайте клиента, отсканируйте QR-код телефоном. Вы в безопасности.
Взгляд архитектора: Это пример Self-Service подхода. Сложная технология (VPN) упакована в удобный продукт. Идеально для Home Lab или предоставления доступа небольшой команде разработчиков.
#linux #docker #vpn #wireguard #wgeasy #selfhosted #weekendproject #гайд
Иметь свой VPN — это гигиена. Подключаться к домашнему серверу, безопасно сидеть через Wi-Fi в кафе или обходить ограничения.
WireGuard — это стандарт. Быстрый, легкий, современный. Но настраивать конфиги и ключи вручную — это долго.
wg-easy — это Docker-контейнер, который дает вам:
1. WireGuard сервер.
2. Веб-интерфейс для управления клиентами.
3. QR-коды для мгновенного подключения с телефона.
Готовый docker-compose.yml:
version: "3.8"
services:
wg-easy:
environment:
# Замените на ваш внешний IP или домен!
- WG_HOST=my.domain.com
- PASSWORD=super_secret_password
- WG_PORT=51820
- WG_DEFAULT_Address=10.8.0.x
- WG_DEFAULT_DNS=1.1.1.1
image: ghcr.io/wg-easy/wg-easy
container_name: wg-easy
volumes:
- ./wg-easy-data:/etc/wireguard
ports:
- "51820:51820/udp" # Трафик VPN
- "51821:51821/tcp" # Веб-интерфейс
restart: unless-stopped
cap_add:
- NET_ADMIN
- SYS_MODULE
sysctls:
- net.ipv4.ip_forward=1
- net.ipv4.conf.all.src_valid_mark=1
Запуск: docker-compose up -d. Использование: Зайдите на http://<ip>:51821, создайте клиента, отсканируйте QR-код телефоном. Вы в безопасности.
Взгляд архитектора: Это пример Self-Service подхода. Сложная технология (VPN) упакована в удобный продукт. Идеально для Home Lab или предоставления доступа небольшой команде разработчиков.
#linux #docker #vpn #wireguard #wgeasy #selfhosted #weekendproject #гайд
❤5👎2
Linux (Сеть): Wireshark в терминале. Встречаем termshark
Боль: На удаленном сервере творится сетевая дичь. ping проходит, но сервис не отвечает. Нужно смотреть пакеты.
Проблема: Запускать tcpdump и читать сырой hex-дамп глазами — больно. Копировать .pcap на свою машину для Wireshark — долго и не всегда безопасно.
Решение: termshark
Это TUI (Terminal User Interface) для Wireshark. Вы получаете всю мощь визуального анализатора пакетов прямо в SSH-сессии.
Почему это топ:
Визуализация в консоли: Он рисует привычное трехпанельное окно (список пакетов, детализация, байт-код) прямо в терминале.
Фильтры Wireshark: Вы можете использовать привычные http.request.method == "POST" или ip.addr == 1.2.3.4 прямо там.
Не требует X11/GUI: Работает на любом headless-сервере.
Установка (статический бинарник, не требует зависимостей!):
Взгляд архитектора: Когда tcpdump слишком сложен, а GUI недоступен, termshark — спасение. Это инструмент, который превращает "я не понимаю, что с сетью" в "ага, вижу TCP Retransmission на порту 443".
#linux #networking #wireshark #termshark #cli #troubleshooting #гайд
Боль: На удаленном сервере творится сетевая дичь. ping проходит, но сервис не отвечает. Нужно смотреть пакеты.
Проблема: Запускать tcpdump и читать сырой hex-дамп глазами — больно. Копировать .pcap на свою машину для Wireshark — долго и не всегда безопасно.
Решение: termshark
Это TUI (Terminal User Interface) для Wireshark. Вы получаете всю мощь визуального анализатора пакетов прямо в SSH-сессии.
Почему это топ:
Визуализация в консоли: Он рисует привычное трехпанельное окно (список пакетов, детализация, байт-код) прямо в терминале.
Фильтры Wireshark: Вы можете использовать привычные http.request.method == "POST" или ip.addr == 1.2.3.4 прямо там.
Не требует X11/GUI: Работает на любом headless-сервере.
Установка (статический бинарник, не требует зависимостей!):
# Скачиваем и запускаем (пример для amd64)
wget https://github.com/gcla/termshark/releases/latest/download/termshark_linux_x64.tar.gz
tar -zxvf termshark_linux_x64.tar.gz
sudo mv termshark_linux_x64/termshark /usr/local/bin/
# Запуск (слушаем интерфейс eth0)
sudo termshark -i eth0
Взгляд архитектора: Когда tcpdump слишком сложен, а GUI недоступен, termshark — спасение. Это инструмент, который превращает "я не понимаю, что с сетью" в "ага, вижу TCP Retransmission на порту 443".
#linux #networking #wireshark #termshark #cli #troubleshooting #гайд
🥴2
Windows (Диагностика): "Что вчера сломалось?" Скрытый Монитор стабильности
Боль: Сервер начал глючить сегодня утром. Вы открываете Event Viewer — там 10 000 событий "Information" и пара непонятных ошибок. Вы пытаетесь понять: "Что изменилось вчера?".
Реакция админа: Час копаться в логах Windows Update и MSI Installer.
Реакция профи: Открыть Монитор стабильности системы (Reliability Monitor).
Это встроенная, но глубоко спрятанная оснастка, которая ведет визуальный таймлайн "здоровья" системы.
Что вы увидите: График стабильности от 1 до 10 по дням. И, самое главное, четкий список событий по датам:
🔴 Критические события: "Вчера в 15:30 упал процесс sqlservr.exe".
🟡 Предупреждения: "Неудачная попытка установки обновления".
ℹ️ Информационные (Самое важное!): "Вчера в 14:00 был установлен новый драйвер сетевой карты" или "Установлено приложение Х".
Взгляд архитектора: Это лучший ответ на вопрос "Кто что трогал?". Вместо копания в логах вы видите причину и следствие на одном экране. "Ага, вчера обновился драйвер (Info), а через час начал падать SQL (Error)".
#windows #troubleshooting #diagnostics #sysadmin #perfmon #logs #гайд
Боль: Сервер начал глючить сегодня утром. Вы открываете Event Viewer — там 10 000 событий "Information" и пара непонятных ошибок. Вы пытаетесь понять: "Что изменилось вчера?".
Реакция админа: Час копаться в логах Windows Update и MSI Installer.
Реакция профи: Открыть Монитор стабильности системы (Reliability Monitor).
Это встроенная, но глубоко спрятанная оснастка, которая ведет визуальный таймлайн "здоровья" системы.
Как открыть: Win + R -> perfmon /rel
Что вы увидите: График стабильности от 1 до 10 по дням. И, самое главное, четкий список событий по датам:
🔴 Критические события: "Вчера в 15:30 упал процесс sqlservr.exe".
🟡 Предупреждения: "Неудачная попытка установки обновления".
ℹ️ Информационные (Самое важное!): "Вчера в 14:00 был установлен новый драйвер сетевой карты" или "Установлено приложение Х".
Взгляд архитектора: Это лучший ответ на вопрос "Кто что трогал?". Вместо копания в логах вы видите причину и следствие на одном экране. "Ага, вчера обновился драйвер (Info), а через час начал падать SQL (Error)".
#windows #troubleshooting #diagnostics #sysadmin #perfmon #logs #гайд
🔥5
Ops (Повседневное): Мгновенная проверка SSL без браузера
Боль: Мониторинг "закричал", что сертификат на my-app.com протух. Вам нужно быстро проверить реальную дату окончания с консоли сервера, чтобы понять, обновился он или нет.
Реакция админа: Идти в браузер, нажимать на замочек, смотреть детали. (Долго и не всегда возможно из закрытого контура).
Решение: Однострочник на openssl
Эта команда стучится на сервер, забирает сертификат и выводит только дату его окончания.
Команда (запомните или запишите в алиас):
Замените google.com на свой домен.
Результат: notAfter=Nov 17 08:22:09 2025 GMT
Взгляд админа: Это база. Никаких сторонних сайтов-чекеров. Чистый, быстрый способ проверить SSL/TLS прямо из терминала, который легко встраивается в скрипты или используется для быстрой диагностики при авариях.
#linux #ssl #security #openssl #cli #sysadmin #troubleshooting #oneliner
Боль: Мониторинг "закричал", что сертификат на my-app.com протух. Вам нужно быстро проверить реальную дату окончания с консоли сервера, чтобы понять, обновился он или нет.
Реакция админа: Идти в браузер, нажимать на замочек, смотреть детали. (Долго и не всегда возможно из закрытого контура).
Решение: Однострочник на openssl
Эта команда стучится на сервер, забирает сертификат и выводит только дату его окончания.
Команда (запомните или запишите в алиас):
echo | openssl s_client -servername google.com -connect google.com:443 2>/dev/null | openssl x509 -noout -enddate
Замените google.com на свой домен.
Результат: notAfter=Nov 17 08:22:09 2025 GMT
Взгляд админа: Это база. Никаких сторонних сайтов-чекеров. Чистый, быстрый способ проверить SSL/TLS прямо из терминала, который легко встраивается в скрипты или используется для быстрой диагностики при авариях.
#linux #ssl #security #openssl #cli #sysadmin #troubleshooting #oneliner
🛡 Linux Security: Базовый аудит SSH за 5 минут
SSH — главная дверь в ваш сервер. Если она открыта слишком широко, ждите гостей (ботов). Вот 5 настроек в /etc/ssh/sshd_config, которые нужно проверить прямо сейчас.
1. Запрещаем вход от root Администратор должен заходить под своим пользователем и повышать привилегии через sudo.
2. Отключаем вход по паролям Только SSH-ключи. Пароли брутфорсятся, ключи — нет (в разумные сроки).
3. Меняем стандартный порт (Опционально, но полезно) Это не защита от целенаправленной атаки, но снизит шум в логах от 99% скрипт-кидди и ботов.
4. Ограничиваем пользователей Если на сервере 10 юзеров, а по SSH ходить нужно только двоим — укажите их явно.
5. Отключаем X11 Forwarding Если вы не запускаете графические приложения удаленно (а на сервере вы этого делать не должны), закрываем вектор атаки.
📌 Финал: Проверяем конфиг и перезапускаем службу:
#linux #security #ssh #чеклисты #adminfuture
SSH — главная дверь в ваш сервер. Если она открыта слишком широко, ждите гостей (ботов). Вот 5 настроек в /etc/ssh/sshd_config, которые нужно проверить прямо сейчас.
1. Запрещаем вход от root Администратор должен заходить под своим пользователем и повышать привилегии через sudo.
PermitRootLogin no
2. Отключаем вход по паролям Только SSH-ключи. Пароли брутфорсятся, ключи — нет (в разумные сроки).
PasswordAuthentication no
PubkeyAuthentication yes
3. Меняем стандартный порт (Опционально, но полезно) Это не защита от целенаправленной атаки, но снизит шум в логах от 99% скрипт-кидди и ботов.
Port 2222 # Не забудьте открыть порт в firewall перед рестартом!
4. Ограничиваем пользователей Если на сервере 10 юзеров, а по SSH ходить нужно только двоим — укажите их явно.
AllowUsers admin_user deploy_bot
5. Отключаем X11 Forwarding Если вы не запускаете графические приложения удаленно (а на сервере вы этого делать не должны), закрываем вектор атаки.
X11Forwarding no
📌 Финал: Проверяем конфиг и перезапускаем службу:
sshd -t
systemctl restart sshd
#linux #security #ssh #чеклисты #adminfuture
🗿3
👻 PowerShell: Охота на «мертвые» души в AD
Одна из задач архитектора — гигиена инфраструктуры. Учетные записи уволенных сотрудников или забытые сервисные аккаунты — это дыра в безопасности.
Вот команда, которая найдет всех пользователей, не входивших в домен более 90 дней, и сразу отключит их (с подтверждением).
Команда:
Разбор:
* Search-ADAccount -AccountInactive: встроенный командлет для поиска неактивных объектов.
* -TimeSpan 90.00:00:00: задаем порог (90 дней).
* -UsersOnly: игнорируем компьютеры.
* Where-Object { $_.Enabled -eq $true }: фильтруем тех, кто еще активен (зачем отключать уже отключенных?).
* Disable-ADAccount: собственно, действие.
* -WhatIf: Важно! Уберите этот флаг только когда убедитесь, что скрипт не положит половину офиса.
💡 Совет: Поставьте это на Task Scheduler раз в месяц с выводом в лог, вместо автоматического отключения, чтобы сначала анализировать список.
#windows #powershell #activedirectory #security #команды
Одна из задач архитектора — гигиена инфраструктуры. Учетные записи уволенных сотрудников или забытые сервисные аккаунты — это дыра в безопасности.
Вот команда, которая найдет всех пользователей, не входивших в домен более 90 дней, и сразу отключит их (с подтверждением).
Команда:
Search-ADAccount -AccountInactive -TimeSpan 90.00:00:00 -UsersOnly |
Where-Object { $_.Enabled -eq $true } |
Disable-ADAccount -PassThru -WhatIf
Разбор:
* Search-ADAccount -AccountInactive: встроенный командлет для поиска неактивных объектов.
* -TimeSpan 90.00:00:00: задаем порог (90 дней).
* -UsersOnly: игнорируем компьютеры.
* Where-Object { $_.Enabled -eq $true }: фильтруем тех, кто еще активен (зачем отключать уже отключенных?).
* Disable-ADAccount: собственно, действие.
* -WhatIf: Важно! Уберите этот флаг только когда убедитесь, что скрипт не положит половину офиса.
💡 Совет: Поставьте это на Task Scheduler раз в месяц с выводом в лог, вместо автоматического отключения, чтобы сначала анализировать список.
#windows #powershell #activedirectory #security #команды
🆚 Битва мониторинга: Zabbix vs Prometheus
Выбор системы мониторинга — это архитектурное решение. Нет «плохого» инструмента, есть неподходящий под задачу. Разберем, когда и что выбирать.
1. Zabbix: Классический «Комбайн»
Модель: Push & Pull. Централизованный сервер, агенты на хостах.
Сила: «Все в одном». Графики, алерты, карты сети, инвентаризация — всё из коробки. Отлично мониторит "железо", OS, стандартные сервисы.
Слабость: Тяжеловесный. Сложнее масштабировать на тысячи микросервисов. Хранит данные в SQL (MySQL/PostgreSQL), что может стать узким местом.
Вердикт: Идеален для Enterprise, статической инфраструктуры (Pet-servers), мониторинга сетевого оборудования.
2. Prometheus: Герой Cloud-Native
Модель: Pull (в основном). Сервер сам ходит к сервисам и забирает метрики (scraping).
Сила: Работает с Time Series Database (TSDB) — невероятно быстр для метрик. Создан для динамических сред (Kubernetes, Docker), где контейнеры живут минуты. Язык запросов PromQL очень гибок.
Слабость: Сам по себе «голый». Для визуализации нужен Grafana, для алертов — Alertmanager. Не хранит долгие исторические данные без доп. настройки (Thanos/VictoriaMetrics).
Вердикт: Стандарт де-факто для DevOps, микросервисов и K8s.
🏆 Итог: Строите завод или офис с принтерами и свичами? Zabbix. Поднимаете HighLoad кластер в Kubernetes? Prometheus + Grafana. Умный админ часто использует связку: Zabbix для железа, Prometheus для приложений.
#monitoring #zabbix #prometheus #devops #architecture #сравнение
Выбор системы мониторинга — это архитектурное решение. Нет «плохого» инструмента, есть неподходящий под задачу. Разберем, когда и что выбирать.
1. Zabbix: Классический «Комбайн»
Модель: Push & Pull. Централизованный сервер, агенты на хостах.
Сила: «Все в одном». Графики, алерты, карты сети, инвентаризация — всё из коробки. Отлично мониторит "железо", OS, стандартные сервисы.
Слабость: Тяжеловесный. Сложнее масштабировать на тысячи микросервисов. Хранит данные в SQL (MySQL/PostgreSQL), что может стать узким местом.
Вердикт: Идеален для Enterprise, статической инфраструктуры (Pet-servers), мониторинга сетевого оборудования.
2. Prometheus: Герой Cloud-Native
Модель: Pull (в основном). Сервер сам ходит к сервисам и забирает метрики (scraping).
Сила: Работает с Time Series Database (TSDB) — невероятно быстр для метрик. Создан для динамических сред (Kubernetes, Docker), где контейнеры живут минуты. Язык запросов PromQL очень гибок.
Слабость: Сам по себе «голый». Для визуализации нужен Grafana, для алертов — Alertmanager. Не хранит долгие исторические данные без доп. настройки (Thanos/VictoriaMetrics).
Вердикт: Стандарт де-факто для DevOps, микросервисов и K8s.
🏆 Итог: Строите завод или офис с принтерами и свичами? Zabbix. Поднимаете HighLoad кластер в Kubernetes? Prometheus + Grafana. Умный админ часто использует связку: Zabbix для железа, Prometheus для приложений.
#monitoring #zabbix #prometheus #devops #architecture #сравнение
🤖 Python-скрипт: Проверяем сроки действия SSL-сертификатов
Забыть продлить SSL — классический факап, после которого "лежит" прод. Давайте автоматизируем проверку.
Этот скрипт проверяет список доменов и пишет в Telegram, если сертификат истекает меньше чем через 7 дней.
Код (ssl_checker.py):
Как запустить:
* Получите токен у @BotFather.
* Вставьте свои домены.
* Добавьте в Systemd Timer (как мы учили в прошлом посте 😉) или в Cron на ежедневный запуск.
Теперь вы узнаете о просроченном сертификате раньше, чем ваши пользователи.
#python #ssl #automation #scripting #ai4admin
Забыть продлить SSL — классический факап, после которого "лежит" прод. Давайте автоматизируем проверку.
Этот скрипт проверяет список доменов и пишет в Telegram, если сертификат истекает меньше чем через 7 дней.
Код (ssl_checker.py):
import ssl
import socket
import datetime
import requests
# Настройки
DOMAINS = ['google.com', 'yoursite.ru']
TG_TOKEN = 'ВАШ_ТОКЕН_БОТА'
CHAT_ID = 'ВАШ_CHAT_ID'
DAYS_ALERT = 7
def send_tg(message):
url = f"https://api.telegram.org/bot{TG_TOKEN}/sendMessage"
requests.post(url, data={"chat_id": CHAT_ID, "text": message})
def check_ssl(domain):
context = ssl.create_default_context()
conn = context.wrap_socket(socket.socket(socket.AF_INET), server_hostname=domain)
conn.connect((domain, 443))
cert = conn.getpeercert()
expire_date = datetime.datetime.strptime(cert['notAfter'], r"%b %d %H:%M:%S %Y %Z")
days_left = (expire_date - datetime.datetime.now()).days
if days_left < DAYS_ALERT:
return f"⚠️ {domain}: осталось {days_left} дн!"
return None
report = []
for d in DOMAINS:
try:
res = check_ssl(d)
if res: report.append(res)
except Exception as e:
report.append(f"❌ Ошибка {d}: {str(e)}")
if report:
send_tg("\n".join(report))
Как запустить:
* Получите токен у @BotFather.
* Вставьте свои домены.
* Добавьте в Systemd Timer (как мы учили в прошлом посте 😉) или в Cron на ежедневный запуск.
Теперь вы узнаете о просроченном сертификате раньше, чем ваши пользователи.
#python #ssl #automation #scripting #ai4admin
🥴2
🔥 Среда, Security Digest: Патчим Windows прямо сейчас
Коллеги, если вы откладывали обновления с Patch Tuesday, время пришло. В ноябре 2025 Microsoft закрыла две критические дыры, одна из которых уже эксплуатируется в дикой природе.
1. CVE-2025-62215 (CVSS 7.8) — Kernel Elevation of Privilege
Суть: Локальный атакующий (или малварь, уже попавшая на ПК) может получить права SYSTEM через состояние гонки (race condition) в ядре.
Статус: ⚠️ Exploited in the wild. Это значит, что эксплойты уже гуляют по рукам.
Действие: Патчить контроллеры домена и критичные узлы в первую очередь.
2. CVE-2025-60724 (CVSS 9.8) — GDI+ RCE
Суть: Удаленное выполнение кода через... картинку. Переполнение кучи (heap overflow) в компоненте GDI+.
Вектор: Пользователь открывает документ или сайт с "заряженным" изображением — атакующий получает доступ. Никакой аутентификации не нужно.
Риск: Офисные ПК, терминальные серверы.
🛡 Что делать: Не ждите планового окна.
#security #windows #cve #vulnerability #patchday
Коллеги, если вы откладывали обновления с Patch Tuesday, время пришло. В ноябре 2025 Microsoft закрыла две критические дыры, одна из которых уже эксплуатируется в дикой природе.
1. CVE-2025-62215 (CVSS 7.8) — Kernel Elevation of Privilege
Суть: Локальный атакующий (или малварь, уже попавшая на ПК) может получить права SYSTEM через состояние гонки (race condition) в ядре.
Статус: ⚠️ Exploited in the wild. Это значит, что эксплойты уже гуляют по рукам.
Действие: Патчить контроллеры домена и критичные узлы в первую очередь.
2. CVE-2025-60724 (CVSS 9.8) — GDI+ RCE
Суть: Удаленное выполнение кода через... картинку. Переполнение кучи (heap overflow) в компоненте GDI+.
Вектор: Пользователь открывает документ или сайт с "заряженным" изображением — атакующий получает доступ. Никакой аутентификации не нужно.
Риск: Офисные ПК, терминальные серверы.
🛡 Что делать: Не ждите планового окна.
# Проверка наличия обновлений через PS (если нет WSUS/SCCM под рукой)
Install-Module PSWindowsUpdate
Get-WindowsUpdate -AcceptAll -Install -AutoReboot
#security #windows #cve #vulnerability #patchday
🔄 Windows Server 2025: Эра Hotpatching. Перезагрузки отменяются?
Мы привыкли: поставил патч → перезагрузил сервер → молишься, чтобы поднялся. В Windows Server 2025 (и через Azure Arc) технология Hotpatching становится мейнстримом. Как это работает под капотом?
Архитектура: Вместо замены файлов на диске, система патчит код в оперативной памяти работающего процесса.
Ядро загружает новую версию функции в память.
Ставит "трамплин" (jump) в начале старой функции, который перенаправляет поток выполнения на новую.
Состояние процесса сохраняется.
✅ Плюсы:
Аптайм 99.9% (ребут нужен только раз в квартал для кумулятивных обновлений).
Патчи весят меньше (только дельта кода).
Мгновенная установка.
❌ Минусы:
Требует Virtualization Based Security (VBS).
Пока лучше всего работает в связке с Azure Arc / Azure Automanage.
Мысль админа: Мы движемся к модели "Immutability" (неизменности), где сервер живет вечно без ребутов, либо пересоздается с нуля. Hotpatching — это мост между этими мирами.
#windows2025 #hotpatching #architecture #servercore #futureadmin
Мы привыкли: поставил патч → перезагрузил сервер → молишься, чтобы поднялся. В Windows Server 2025 (и через Azure Arc) технология Hotpatching становится мейнстримом. Как это работает под капотом?
Архитектура: Вместо замены файлов на диске, система патчит код в оперативной памяти работающего процесса.
Ядро загружает новую версию функции в память.
Ставит "трамплин" (jump) в начале старой функции, который перенаправляет поток выполнения на новую.
Состояние процесса сохраняется.
✅ Плюсы:
Аптайм 99.9% (ребут нужен только раз в квартал для кумулятивных обновлений).
Патчи весят меньше (только дельта кода).
Мгновенная установка.
❌ Минусы:
Требует Virtualization Based Security (VBS).
Пока лучше всего работает в связке с Azure Arc / Azure Automanage.
Мысль админа: Мы движемся к модели "Immutability" (неизменности), где сервер живет вечно без ребутов, либо пересоздается с нуля. Hotpatching — это мост между этими мирами.
#windows2025 #hotpatching #architecture #servercore #futureadmin
🐧 Linux Kernel 6.12: Теперь официально Real-Time
Свершилось. После 20 лет разработки патчи PREEMPT_RT наконец-то вошли в основную ветку ядра (mainline) в версии 6.12. Это тектонический сдвиг.
Что это значит для нас? Раньше, чтобы Linux гарантировал реакцию на событие за микросекунды (нужно для роботов, станков, аудио-процессинга), приходилось патчить ядро вручную. Теперь любой дистрибутив с ядром 6.12+ может стать Real-Time системой "из коробки".
Бонус фича: QR-коды в панике 😱 Теперь при Kernel Panic (экран смерти) ядро может генерировать QR-код.
Больше не нужно переписывать hex-коды руками с монитора в серверной.
Навел камеру → получил лог ошибки на телефон.
Как проверить версию ядра:
Админы, обслуживающие embedded-системы и High-Frequency Trading — открывайте шампанское. 🍾
#linux #kernel #realtime #news #opensource
Свершилось. После 20 лет разработки патчи PREEMPT_RT наконец-то вошли в основную ветку ядра (mainline) в версии 6.12. Это тектонический сдвиг.
Что это значит для нас? Раньше, чтобы Linux гарантировал реакцию на событие за микросекунды (нужно для роботов, станков, аудио-процессинга), приходилось патчить ядро вручную. Теперь любой дистрибутив с ядром 6.12+ может стать Real-Time системой "из коробки".
Бонус фича: QR-коды в панике 😱 Теперь при Kernel Panic (экран смерти) ядро может генерировать QR-код.
Больше не нужно переписывать hex-коды руками с монитора в серверной.
Навел камеру → получил лог ошибки на телефон.
Как проверить версию ядра:
uname -sr
# Ожидаем: Linux 6.12.x-generic (скоро во всех репозиториях)
Админы, обслуживающие embedded-системы и High-Frequency Trading — открывайте шампанское. 🍾
#linux #kernel #realtime #news #opensource
🕵️♂️ PowerShell: Кто ждет перезагрузки?
В контексте разговоров о патчах и Hotpatching, важно знать правду: действительно ли ваши серверы применили обновления? Часто сервер висит в статусе PendingReboot неделями, оставаясь уязвимым.
Скрипт проверяет 4 места в реестре, где Windows прячет флаг "хочу ребут".
Код:
📌 Задача: Добавьте этот чек в свой утренний мониторинг. Сервер, ожидающий перезагрузки — это не защищенный сервер.
#powershell #scripting #windowsupdate #automation #security
В контексте разговоров о патчах и Hotpatching, важно знать правду: действительно ли ваши серверы применили обновления? Часто сервер висит в статусе PendingReboot неделями, оставаясь уязвимым.
Скрипт проверяет 4 места в реестре, где Windows прячет флаг "хочу ребут".
Код:
function Get-PendingReboot {
param([string]$ComputerName = "localhost")
$HKLM = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', $ComputerName)
# 1. Component Based Servicing
$CBS = $HKLM.OpenSubKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending')
# 2. Windows Update
$WU = $HKLM.OpenSubKey('SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired')
# 3. File Rename Operations
$SM = $HKLM.OpenSubKey('SYSTEM\CurrentControlSet\Control\Session Manager')
$Rename = $SM.GetValue('PendingFileRenameOperations')
# Итог
[PSCustomObject]@{
Computer = $ComputerName
CBSPending = [bool]$CBS
WUPending = [bool]$WU
FileRenamePending = [bool]$Rename
IS_REBOOT_REQUIRED = ([bool]$CBS -or [bool]$WU -or [bool]$Rename)
}
}
# Использование:
# Get-PendingReboot -ComputerName "SRV-AD01"
📌 Задача: Добавьте этот чек в свой утренний мониторинг. Сервер, ожидающий перезагрузки — это не защищенный сервер.
#powershell #scripting #windowsupdate #automation #security
🔍 Linux: Когда логи молчат — говорит strace
Бывает так: сервис висит, CPU 100%, а в логах (/var/log/... или journalctl) — тишина. Эникейщик перезагружает сервер. Архитектор запускает strace.
strace перехватывает системные вызовы (system calls), которые процесс отправляет ядру. Это рентген для любого приложения.
1. Подключаемся к зависшему процессу:
(где 1234 — PID процесса)
2. Смотрим, куда процесс пытается достучаться (файлы): Если приложение падает с "File not found", но не говорит, какой файл ищет:
3. Анализируем сетевую активность (без tcpdump): Видим, к каким IP пытается подключиться процесс.
4. Замеряем время выполнения операций (ищем тормоза): Флаг -T покажет время каждого сисколла.
⚠️ Важно: strace замедляет работу процесса. На тяжелом проде используйте с осторожностью или смотрите в сторону perf.
#linux #debug #strace #cli #troubleshooting
Бывает так: сервис висит, CPU 100%, а в логах (/var/log/... или journalctl) — тишина. Эникейщик перезагружает сервер. Архитектор запускает strace.
strace перехватывает системные вызовы (system calls), которые процесс отправляет ядру. Это рентген для любого приложения.
1. Подключаемся к зависшему процессу:
strace -p 1234
(где 1234 — PID процесса)
2. Смотрим, куда процесс пытается достучаться (файлы): Если приложение падает с "File not found", но не говорит, какой файл ищет:
strace -e trace=open,openat -p 1234
3. Анализируем сетевую активность (без tcpdump): Видим, к каким IP пытается подключиться процесс.
strace -e trace=connect -p 1234
4. Замеряем время выполнения операций (ищем тормоза): Флаг -T покажет время каждого сисколла.
strace -T -p 1234
⚠️ Важно: strace замедляет работу процесса. На тяжелом проде используйте с осторожностью или смотрите в сторону perf.
#linux #debug #strace #cli #troubleshooting
🆚 Reverse Proxy: Nginx vs Traefik
В 2025 году выбор прокси — это выбор парадигмы. Старая школа против Cloud-Native.
1. Nginx
Философия: «Конфиг — это закон». Всё прописывается в файлах .conf.
Плюсы: Невероятная производительность (C++), кэширование, работа со статикой, стандарт индустрии.
Минусы: Для обновления конфига нужен reload. В динамической среде (где контейнеры создаются и умирают ежеминутно) требует «костылей» (шаблонизаторы типа consul-template).
Вердикт: Идеален как фронт-балансировщик, ingress-контроллер для монолитов и отдачи статики.
2. Traefik
Философия: «Конфиг — это Discovery». Он сам слушает Docker/Kubernetes API и на лету создает маршруты.
Плюсы: Магия автоматизации. Повесил лейбл на контейнер — Traefik уже знает, куда слать трафик и сам выписал Let's Encrypt сертификат. Встроенный Dashboard.
Минусы: Медленнее Nginx на высоком трафике (написан на Go). Сложнее в тонкой настройке заголовков/буферов.
Вердикт: Король микросервисов и Docker Swarm/K8s.
📌 Итог: Если у вас статические IP и виртуальные машины — ставьте Nginx. Если у вас Docker/K8s и сервисы скачут по нодам — Traefik сэкономит вам сотни часов написания конфигов.
#devops #nginx #traefik #proxy #architecture #сравнение
В 2025 году выбор прокси — это выбор парадигмы. Старая школа против Cloud-Native.
1. Nginx
Философия: «Конфиг — это закон». Всё прописывается в файлах .conf.
Плюсы: Невероятная производительность (C++), кэширование, работа со статикой, стандарт индустрии.
Минусы: Для обновления конфига нужен reload. В динамической среде (где контейнеры создаются и умирают ежеминутно) требует «костылей» (шаблонизаторы типа consul-template).
Вердикт: Идеален как фронт-балансировщик, ingress-контроллер для монолитов и отдачи статики.
2. Traefik
Философия: «Конфиг — это Discovery». Он сам слушает Docker/Kubernetes API и на лету создает маршруты.
Плюсы: Магия автоматизации. Повесил лейбл на контейнер — Traefik уже знает, куда слать трафик и сам выписал Let's Encrypt сертификат. Встроенный Dashboard.
Минусы: Медленнее Nginx на высоком трафике (написан на Go). Сложнее в тонкой настройке заголовков/буферов.
Вердикт: Король микросервисов и Docker Swarm/K8s.
📌 Итог: Если у вас статические IP и виртуальные машины — ставьте Nginx. Если у вас Docker/K8s и сервисы скачут по нодам — Traefik сэкономит вам сотни часов написания конфигов.
#devops #nginx #traefik #proxy #architecture #сравнение
🕸 PowerShell: Забудь про nslookup
Мы по привычке пишем nslookup, когда падает DNS. Но эта утилита — наследие старых времен, она возвращает текст, который трудно парсить.
В PowerShell есть родной инструмент архитектора: Resolve-DnsName.
В чем сила? Он возвращает объекты.
Примеры:
Базовый запрос (лучше чем ping):
Получить только IP (для скриптов):
Проверка конкретного DNS-сервера (например, 8.8.8.8):
Проверка TXT записей (SPF/DMARC): Это боль в nslookup, но кайф здесь:
💡 Совет: Добавьте алиас в профиль, если привыкли к короткому имени: Set-Alias -Name dns -Value Resolve-DnsName
#windows #powershell #dns #network #команды
Мы по привычке пишем nslookup, когда падает DNS. Но эта утилита — наследие старых времен, она возвращает текст, который трудно парсить.
В PowerShell есть родной инструмент архитектора: Resolve-DnsName.
В чем сила? Он возвращает объекты.
Примеры:
Базовый запрос (лучше чем ping):
Resolve-DnsName google.com
Получить только IP (для скриптов):
(Resolve-DnsName google.com).IPAddress
Проверка конкретного DNS-сервера (например, 8.8.8.8):
Resolve-DnsName -Name adminfuture.com -Server 8.8.8.8
Проверка TXT записей (SPF/DMARC): Это боль в nslookup, но кайф здесь:
Resolve-DnsName -Name google.com -Type TXT
💡 Совет: Добавьте алиас в профиль, если привыкли к короткому имени: Set-Alias -Name dns -Value Resolve-DnsName
#windows #powershell #dns #network #команды