👻 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 #команды
🗑 Bash: Правильная ротация бэкапов
Сделать бэкап легко. Сложно сделать так, чтобы через полгода диск не забился старыми архивами. Многие пишут сложные скрипты на Python, но старый добрый find умеет это делать одной строкой.
Задача:
Оставить бэкапы за последние 7 дней.
Всё, что старше — удалить.
Скрипт (cleanup.sh):
🔥 Pro-Tip: Перед тем как ставить флаг -delete в cron, запустите команду без него (просто с -print), чтобы убедиться, что find нашел именно то, что вы хотите удалить. rm в Linux не прощает ошибок.
#linux #bash #backup #scripting #automation #чеклисты
Сделать бэкап легко. Сложно сделать так, чтобы через полгода диск не забился старыми архивами. Многие пишут сложные скрипты на Python, но старый добрый find умеет это делать одной строкой.
Задача:
Оставить бэкапы за последние 7 дней.
Всё, что старше — удалить.
Скрипт (cleanup.sh):
#!/bin/bash
BACKUP_DIR="/var/backups/db"
DAYS_TO_KEEP=7
# Проверяем, что директория существует (защита от дурака)
if [ -d "$BACKUP_DIR" ]; then
echo "🧹 Очистка старых бэкапов в $BACKUP_DIR..."
# Находим файлы старше N дней и удаляем
# -mtime +$DAYS_TO_KEEP -> старше дней
# -name "*.gz" -> только архивы (чтобы не удалить лишнее!)
# -delete -> удаляет без вопросов
find "$BACKUP_DIR" -type f -name "*.tar.gz" -mtime +$DAYS_TO_KEEP -print -delete
echo "✅ Готово."
else
echo "❌ Ошибка: Директория $BACKUP_DIR не найдена."
exit 1
fi
🔥 Pro-Tip: Перед тем как ставить флаг -delete в cron, запустите команду без него (просто с -print), чтобы убедиться, что find нашел именно то, что вы хотите удалить. rm в Linux не прощает ошибок.
#linux #bash #backup #scripting #automation #чеклисты
👍2
🏗 Архитектура: Как НЕ нужно называть домен Active Directory
Вы поднимаете новый контроллер домена. Рука тянется написать company.local? Остановитесь. Имя домена AD выбирается один раз, а последствия вы будете разгребать годами. Миграция/переименование домена — это ад, которого лучше избежать на старте.
Вот 3 главные ошибки и одно правильное решение.
❌ Ошибка 1: Зона .local (company.local) Классика 2000-х, которая в 2025 году стала проблемой.
Почему плохо: Конфликтует с протоколом mDNS (Bonjour), который используют macOS, Linux и IoT-устройства для поиска соседей.
Последствия: Глюки при подключении маков, принтеров и Linux-серверов. Плюс — вы никогда не купите доверенный SSL-сертификат для .local.
❌ Ошибка 2: Совпадение с публичным сайтом (company.ru) Называете AD так же, как ваш внешний сайт.
Почему плохо: Привет, Split-Brain DNS. Контроллеры домена считают, что company.ru — это они.
Последствия: Юзеры внутри офиса вводят company.ru, чтобы попасть на сайт фирмы, а попадают на страницу входа IIS контроллера домена (или получают ошибку). Приходится костылить www и мучаться с записями.
❌ Ошибка 3: Однословные имена (CORP) Single Label Domains (SLD).
Почему плохо: Устарело. Многие современные приложения (включая продукты Microsoft) просто откажутся работать с таким доменом корректно.
✅ Как сделать правильно (Best Practice)
Используйте субдомен от вашего реального публичного домена.
Пример: если ваш сайт future-admin.ru, назовите AD: 👉 corp.future-admin.ru 👉 ad.future-admin.ru 👉 int.future-admin.ru
В чем профит:
SSL: Вы можете купить Wildcard-сертификат *.corp.future-admin.ru и он будет валиден везде.
DNS: Никаких конфликтов с внешним сайтом.
Azure/Entra ID: Идеальная синхронизация с облаком без лишних суффиксов.
Собственность: Вы гарантированно владеете этим пространством имен в интернете.
💡 Совет архитектора: Даже если у вас маленькая фирма «Рога и Копыта», стройте AD так, будто завтра вы будете интегрироваться с Azure или поглощать конкурентов.
#activedirectory #windows #architecture #bestpractice #dns #security
Вы поднимаете новый контроллер домена. Рука тянется написать company.local? Остановитесь. Имя домена AD выбирается один раз, а последствия вы будете разгребать годами. Миграция/переименование домена — это ад, которого лучше избежать на старте.
Вот 3 главные ошибки и одно правильное решение.
❌ Ошибка 1: Зона .local (company.local) Классика 2000-х, которая в 2025 году стала проблемой.
Почему плохо: Конфликтует с протоколом mDNS (Bonjour), который используют macOS, Linux и IoT-устройства для поиска соседей.
Последствия: Глюки при подключении маков, принтеров и Linux-серверов. Плюс — вы никогда не купите доверенный SSL-сертификат для .local.
❌ Ошибка 2: Совпадение с публичным сайтом (company.ru) Называете AD так же, как ваш внешний сайт.
Почему плохо: Привет, Split-Brain DNS. Контроллеры домена считают, что company.ru — это они.
Последствия: Юзеры внутри офиса вводят company.ru, чтобы попасть на сайт фирмы, а попадают на страницу входа IIS контроллера домена (или получают ошибку). Приходится костылить www и мучаться с записями.
❌ Ошибка 3: Однословные имена (CORP) Single Label Domains (SLD).
Почему плохо: Устарело. Многие современные приложения (включая продукты Microsoft) просто откажутся работать с таким доменом корректно.
✅ Как сделать правильно (Best Practice)
Используйте субдомен от вашего реального публичного домена.
Пример: если ваш сайт future-admin.ru, назовите AD: 👉 corp.future-admin.ru 👉 ad.future-admin.ru 👉 int.future-admin.ru
В чем профит:
SSL: Вы можете купить Wildcard-сертификат *.corp.future-admin.ru и он будет валиден везде.
DNS: Никаких конфликтов с внешним сайтом.
Azure/Entra ID: Идеальная синхронизация с облаком без лишних суффиксов.
Собственность: Вы гарантированно владеете этим пространством имен в интернете.
💡 Совет архитектора: Даже если у вас маленькая фирма «Рога и Копыта», стройте AD так, будто завтра вы будете интегрироваться с Azure или поглощать конкурентов.
#activedirectory #windows #architecture #bestpractice #dns #security
👍1
⛔ Read-Only Friday: Манифест спокойных выходных
Коллеги, напоминаем золотое правило: В пятницу мы ничего не трогаем. Сервер работает? Не дыши на него. Клиент просит «быстренько обновить сертификат»? Переносим на понедельник.
Почему? Потому что закон Мерфи работает без выходных: если что-то может упасть после патча, оно упадет в 18:00 пятницы, когда вы уже открываете пиво.
Чем заняться админу в пятницу (Safe List):
1. 🧹 Документация. Опишите ту схему сети, которую держите в голове полгода.
2. 👀 Мониторинг. Посмотрите на красивые графики в Grafana. Не настраивайте, просто смотрите.
3. 🗑 Чистка. Удалите старые логи или снапшоты (аккуратно!).
4. 🎓 Обучение. Почитайте про Docker или новый Windows Server.
Соблюдаешь Read-Only Friday — спишь спокойно в субботу. Согласны? Ставь 🔥.
#readonlyfriday #adminlife #humor #bestpractice #stressmanagement
Коллеги, напоминаем золотое правило: В пятницу мы ничего не трогаем. Сервер работает? Не дыши на него. Клиент просит «быстренько обновить сертификат»? Переносим на понедельник.
Почему? Потому что закон Мерфи работает без выходных: если что-то может упасть после патча, оно упадет в 18:00 пятницы, когда вы уже открываете пиво.
Чем заняться админу в пятницу (Safe List):
1. 🧹 Документация. Опишите ту схему сети, которую держите в голове полгода.
2. 👀 Мониторинг. Посмотрите на красивые графики в Grafana. Не настраивайте, просто смотрите.
3. 🗑 Чистка. Удалите старые логи или снапшоты (аккуратно!).
4. 🎓 Обучение. Почитайте про Docker или новый Windows Server.
Соблюдаешь Read-Only Friday — спишь спокойно в субботу. Согласны? Ставь 🔥.
#readonlyfriday #adminlife #humor #bestpractice #stressmanagement
🔥10
💅 Linux: Хватит использовать df -h. Поставь duf
Мы привыкли к черно-белым таблицам df, в которых всё сливается. В 2025 году терминал может быть красивым и понятным.
Встречайте duf (Disk Usage/Free Utility). Это современная замена стандартной утилите, написанная на Go.
Почему это круто: ✅ Цветные графики: Визуальные бары занятого места. ✅ Группировка: Сам отделяет локальные диски, сетевые шары, флешки и псевдо-ФС (tmpfs). ✅ JSON-вывод: Удобно парсить скриптами.
Установка:
Просто наберите duf и почувствуйте разницу. Глаз архитектора должен радоваться.
#linux #cli #tools #opensource #ui
Мы привыкли к черно-белым таблицам df, в которых всё сливается. В 2025 году терминал может быть красивым и понятным.
Встречайте duf (Disk Usage/Free Utility). Это современная замена стандартной утилите, написанная на Go.
Почему это круто: ✅ Цветные графики: Визуальные бары занятого места. ✅ Группировка: Сам отделяет локальные диски, сетевые шары, флешки и псевдо-ФС (tmpfs). ✅ JSON-вывод: Удобно парсить скриптами.
Установка:
# Ubuntu/Debian
sudo apt install duf
# MacOS (Brew)
brew install duf
# Arch
pacman -S duf
Просто наберите duf и почувствуйте разницу. Глаз архитектора должен радоваться.
#linux #cli #tools #opensource #ui
🦖 Linux: Neofetch умер, да здравствует Fastfetch!
Воскресенье — время навести красоту в терминале. Мы все любили neofetch за тот самый скриншот с логотипом дистрибутива, который не стыдно показать в чате. Но проект давно заброшен.
В 2025 году стандартом стал Fastfetch. Он написан на C, работает мгновенно и поддерживает все современные OS (включая Windows 11 и macOS Sequoia).
Установка:
Зачем? Кроме эстетики, это самый быстрый способ глянуть сводку: ядро, аптайм, кол-во пакетов, разрешение экрана и тему оболочки.
Добавьте fastfetch в свой .bashrc или .zshrc — и каждый вход на сервер будет радовать глаз.
#linux #tools #customization #fun #cli
Воскресенье — время навести красоту в терминале. Мы все любили neofetch за тот самый скриншот с логотипом дистрибутива, который не стыдно показать в чате. Но проект давно заброшен.
В 2025 году стандартом стал Fastfetch. Он написан на C, работает мгновенно и поддерживает все современные OS (включая Windows 11 и macOS Sequoia).
Установка:
# Ubuntu / Debian
sudo apt install fastfetch
# macOS
brew install fastfetch
# Windows (Winget)
winget install fastfetch
Зачем? Кроме эстетики, это самый быстрый способ глянуть сводку: ядро, аптайм, кол-во пакетов, разрешение экрана и тему оболочки.
Добавьте fastfetch в свой .bashrc или .zshrc — и каждый вход на сервер будет радовать глаз.
#linux #tools #customization #fun #cli
🧪 Зачем админу HomeLab?
На собеседованиях на позиции Senior/Lead часто спрашивают: «Что крутится у вас дома?». Почему? Потому что HomeLab — это полигон, где вы учитесь быстрее, чем на работе. На проде страшно ломать, дома — весело.
Starter Pack для админа 2025: Если у вас есть старый ноутбук или Raspberry Pi, вот что нужно поднять (в Docker, конечно):
Pi-hole / AdGuard Home: Режем рекламу на уровне DNS для всей квартиры. Семья скажет спасибо.
WireGuard / Headscale: Свой VPN. Безопасный доступ домой из любой точки мира.
Home Assistant: Умный дом без привязки к облакам вендоров.
Uptime Kuma: Красивый мониторинг внешних ресурсов.
Vaultwarden: Свой менеджер паролей (аналог Bitwarden).
Это не просто игрушки. Это опыт настройки сетей, контейнеризации, безопасности и Nginx Proxy Manager в безопасной среде.
#homelab #selfhosted #docker #learning #petproject
На собеседованиях на позиции Senior/Lead часто спрашивают: «Что крутится у вас дома?». Почему? Потому что HomeLab — это полигон, где вы учитесь быстрее, чем на работе. На проде страшно ломать, дома — весело.
Starter Pack для админа 2025: Если у вас есть старый ноутбук или Raspberry Pi, вот что нужно поднять (в Docker, конечно):
Pi-hole / AdGuard Home: Режем рекламу на уровне DNS для всей квартиры. Семья скажет спасибо.
WireGuard / Headscale: Свой VPN. Безопасный доступ домой из любой точки мира.
Home Assistant: Умный дом без привязки к облакам вендоров.
Uptime Kuma: Красивый мониторинг внешних ресурсов.
Vaultwarden: Свой менеджер паролей (аналог Bitwarden).
Это не просто игрушки. Это опыт настройки сетей, контейнеризации, безопасности и Nginx Proxy Manager в безопасной среде.
#homelab #selfhosted #docker #learning #petproject
❤3
🌐 DNS: Шпаргалка архитектора. Не только A-записи
На картинке — база, которую должен знать любой Junior. Но архитектор отличается тем, что знает не только «что это», но и «как это не сломать».
Разберем основные типы записей с точки зрения граблей и Best Practices.
🔹 A / AAAA (Address) Классика. Связь имени и IP.
Pro Tip: Если внедряете IPv6, всегда следите за паритетом. Если есть A, но нет AAAA, некоторые клиенты могут «тупить» при попытке подключения по v6, ожидая таймаута.
🔹 CNAME (Canonical Name) Алиас. Одно имя ссылается на другое.
⚠️ Главное табу: Никогда не вешайте CNAME на корневой домен (APEX / @). Это ломает почту (MX) и другие записи.
Исключение: CNAME Flattening (или ALIAS records) у продвинутых провайдеров типа Cloudflare, которые «притворяются» A-записью.
🔹 MX (Mail Exchange) Указывает, куда слать почту.
Pro Tip: Цифра приоритета (10, 20) важна. Чем меньше число, тем выше приоритет. Резервный сервер всегда должен иметь число больше.
🔹 SRV (Service) Самая загадочная запись для новичков, но критическая для Windows-админов.
Зачем: Указывает не только хост, но и порт + вес сервиса.
Где живет: Active Directory держится на SRV. Если клиенты «теряют» домен, а пинги ходят — 99% проблема в битых SRV-записях в _msdcs.
🔹 TXT (Text) На слайде нет, но в 2025 году это маст-хэв.
Зачем: Это уже не просто заметки. Это безопасность почты (SPF, DKIM, DMARC) и верификация владения доменом для SSL/Google/Microsoft.
🛠 Инструмент для проверки: Забудьте про nslookup. Используйте мощь:
Windows (PowerShell):
Linux / macOS:
Сохраняй шпаргалку, чтобы не путать CNAME с A-записью в пятницу вечером. 😉
#dns #network #basics #troubleshooting #шпаргалка #adminfuture
На картинке — база, которую должен знать любой Junior. Но архитектор отличается тем, что знает не только «что это», но и «как это не сломать».
Разберем основные типы записей с точки зрения граблей и Best Practices.
🔹 A / AAAA (Address) Классика. Связь имени и IP.
Pro Tip: Если внедряете IPv6, всегда следите за паритетом. Если есть A, но нет AAAA, некоторые клиенты могут «тупить» при попытке подключения по v6, ожидая таймаута.
🔹 CNAME (Canonical Name) Алиас. Одно имя ссылается на другое.
⚠️ Главное табу: Никогда не вешайте CNAME на корневой домен (APEX / @). Это ломает почту (MX) и другие записи.
Исключение: CNAME Flattening (или ALIAS records) у продвинутых провайдеров типа Cloudflare, которые «притворяются» A-записью.
🔹 MX (Mail Exchange) Указывает, куда слать почту.
Pro Tip: Цифра приоритета (10, 20) важна. Чем меньше число, тем выше приоритет. Резервный сервер всегда должен иметь число больше.
🔹 SRV (Service) Самая загадочная запись для новичков, но критическая для Windows-админов.
Зачем: Указывает не только хост, но и порт + вес сервиса.
Где живет: Active Directory держится на SRV. Если клиенты «теряют» домен, а пинги ходят — 99% проблема в битых SRV-записях в _msdcs.
🔹 TXT (Text) На слайде нет, но в 2025 году это маст-хэв.
Зачем: Это уже не просто заметки. Это безопасность почты (SPF, DKIM, DMARC) и верификация владения доменом для SSL/Google/Microsoft.
🛠 Инструмент для проверки: Забудьте про nslookup. Используйте мощь:
Windows (PowerShell):
Resolve-DnsName -Name domain.com -Type ALL
Linux / macOS:
dig domain.com ANY +noall +answer
Сохраняй шпаргалку, чтобы не путать CNAME с A-записью в пятницу вечером. 😉
#dns #network #basics #troubleshooting #шпаргалка #adminfuture
🔥3
❄️ 1 Декабря: Начало конца (года)
Коллеги, на календаре 1 декабря. В мире IT это означает одно: Code Freeze близко.
Если вы планировали: — Мигрировать почтовик; — Обновлять ядро корп-файервола; — Переезжать на новый Kubernetes-кластер;
...то у вас есть максимум 2 недели. После 15-20 декабря наступает негласный (или гласный) режим Read-Only.
Правила выживания в декабре:
1. Завершаем, а не начинаем. Доделываем хвосты, закрываем тикеты. Новые глобальные проекты — в бэклог на январь.
2. Закупка железа/лицензий. Бюджеты закрываются. Если вам нужен новый сервер — счет должен быть оплачен вчера.
3. График дежурств. Утвердите, кто будет "трезвым водителем" инфраструктуры в новогоднюю ночь, уже сейчас.
Не станьте тем админом, который деплоит продакшен 30 декабря. Чудес не бывает, бывают только факапы.
#adminlife #planning #codefreeze #management #bestpractice
Коллеги, на календаре 1 декабря. В мире IT это означает одно: Code Freeze близко.
Если вы планировали: — Мигрировать почтовик; — Обновлять ядро корп-файервола; — Переезжать на новый Kubernetes-кластер;
...то у вас есть максимум 2 недели. После 15-20 декабря наступает негласный (или гласный) режим Read-Only.
Правила выживания в декабре:
1. Завершаем, а не начинаем. Доделываем хвосты, закрываем тикеты. Новые глобальные проекты — в бэклог на январь.
2. Закупка железа/лицензий. Бюджеты закрываются. Если вам нужен новый сервер — счет должен быть оплачен вчера.
3. График дежурств. Утвердите, кто будет "трезвым водителем" инфраструктуры в новогоднюю ночь, уже сейчас.
Не станьте тем админом, который деплоит продакшен 30 декабря. Чудес не бывает, бывают только факапы.
#adminlife #planning #codefreeze #management #bestpractice
🔥3
🕵️♂️ Linux: Что случилось, пока я спал?
Утро понедельника начинается не с кофе, а с вопроса: «Почему этот сервис лежит?». Читать весь лог за выходные — долго. Используем фильтры времени в journalctl.
Задача: Показать все ошибки, случившиеся с момента ухода с работы в пятницу (например, с 18:00).
Команда:
Если нужно посмотреть конкретный сервис:
Одной командой вы отсекаете 99% информационного шума и видите только проблемы выходных.
#linux #systemd #logs #troubleshooting #команды
Утро понедельника начинается не с кофе, а с вопроса: «Почему этот сервис лежит?». Читать весь лог за выходные — долго. Используем фильтры времени в journalctl.
Задача: Показать все ошибки, случившиеся с момента ухода с работы в пятницу (например, с 18:00).
Команда:
# --since принимает дату и время
# -p err (priority error) покажет только ошибки и хуже
# -x добавит пояснения к ошибкам (если есть в каталоге)
journalctl --since "2025-11-28 18:00:00" -p err -xb
Если нужно посмотреть конкретный сервис:
journalctl -u nginx --since "2 days ago"
Одной командой вы отсекаете 99% информационного шума и видите только проблемы выходных.
#linux #systemd #logs #troubleshooting #команды