🔒 Windows: WinRM over HTTPS. Почему TrustedHosts="*" — это дыра
Боль: Вы управляете серверами через PowerShell Remoting (Enter-PSSession). Серверы не в домене (DMZ) или в другой рабочей группе.
Реакция админа: Set-Item WSMan:\localhost\Client\TrustedHosts -Value *. Перевод: "Я доверяю любому серверу, к которому подключаюсь. Если хакер перехватит DNS и подставит свой сервер, я отдам ему свои пароли".
Реакция архитектора: Настроить WinRM over HTTPS.
Это не про шифрование (WinRM и так шифруется по HTTP). Это про аутентификацию сервера. Вы должны быть уверены, что подключаетесь именно к SRV-01.
Настройка (на целевом сервере):
1. Создаем сертификат (если нет PKI):
2. Создаем HTTPS-листенер:
3. Открываем порт 5986:
Теперь подключаемся:
Если сертификат самоподписанный, на клиенте нужно один раз добавить его в доверенные или использовать -SkipCACheck (для тестов).
Взгляд архитектора: TrustedHosts — это костыль. HTTPS — это стандарт безопасности. В недоверенных сетях (DMZ, Cloud) вы обязаны проверять подлинность хоста.
#windows #powershell #security #winrm #https #sysadmin #гайд
Боль: Вы управляете серверами через PowerShell Remoting (Enter-PSSession). Серверы не в домене (DMZ) или в другой рабочей группе.
Реакция админа: Set-Item WSMan:\localhost\Client\TrustedHosts -Value *. Перевод: "Я доверяю любому серверу, к которому подключаюсь. Если хакер перехватит DNS и подставит свой сервер, я отдам ему свои пароли".
Реакция архитектора: Настроить WinRM over HTTPS.
Это не про шифрование (WinRM и так шифруется по HTTP). Это про аутентификацию сервера. Вы должны быть уверены, что подключаетесь именно к SRV-01.
Настройка (на целевом сервере):
1. Создаем сертификат (если нет PKI):
$Cert = New-SelfSignedCertificate -DnsName "srv-01.dmz.local" -CertStoreLocation Cert:\LocalMachine\My
2. Создаем HTTPS-листенер:
New-Item -Path WSMan:\localhost\Listener -Transport HTTPS -Address * -CertificateThumbprint $Cert.Thumbprint -Force
3. Открываем порт 5986:
New-NetFirewallRule -DisplayName "WinRM HTTPS" -Direction Inbound -LocalPort 5986 -Protocol TCP -Action Allow
Теперь подключаемся:
Enter-PSSession -ComputerName srv-01.dmz.local -UseSSL
Если сертификат самоподписанный, на клиенте нужно один раз добавить его в доверенные или использовать -SkipCACheck (для тестов).
Взгляд архитектора: TrustedHosts — это костыль. HTTPS — это стандарт безопасности. В недоверенных сетях (DMZ, Cloud) вы обязаны проверять подлинность хоста.
#windows #powershell #security #winrm #https #sysadmin #гайд
🗄️ Storage: Почему локальные диски умерли. Встречаем S3 (MinIO)
Боль: Ваше приложение (на PHP, Python, Go) позволяет пользователям загружать аватарки.
* Вариант 1: Сохранять в папку /var/www/uploads. (Проблема: Как масштабировать на 2 сервера? Нужен NFS или rsync — это медленно и сложно).
* Вариант 2: Сохранять в базу данных (BLOB). (Проблема: БД раздувается, бэкапы становятся огромными).
Решение: Object Storage (S3 API). Архитектор отделяет хранение (Storage) от вычислений (Compute).
MinIO — это самый популярный self-hosted S3-совместимый сервер.
Почему это круто:
1. Стандарт: S3 API поддерживают все (Veeam, Terraform, все языки программирования).
2. Масштабируемость: MinIO легко собирается в кластер.
3. Простота: Одно приложение для всех файлов.
Запуск (Docker):
Теперь ваше приложение просто шлет PUT запрос на http://minio:9000. И ему всё равно, на каком сервере оно запущено.
Взгляд архитектора: Использование локальной файловой системы для данных приложения — это антипаттерн в современном IT (12-Factor App). Переход на S3 API делает ваши приложения Cloud Native (готовыми к облаку) сразу.
#devops #storage #s3 #minio #docker #architect #гайд
Боль: Ваше приложение (на PHP, Python, Go) позволяет пользователям загружать аватарки.
* Вариант 1: Сохранять в папку /var/www/uploads. (Проблема: Как масштабировать на 2 сервера? Нужен NFS или rsync — это медленно и сложно).
* Вариант 2: Сохранять в базу данных (BLOB). (Проблема: БД раздувается, бэкапы становятся огромными).
Решение: Object Storage (S3 API). Архитектор отделяет хранение (Storage) от вычислений (Compute).
MinIO — это самый популярный self-hosted S3-совместимый сервер.
Почему это круто:
1. Стандарт: S3 API поддерживают все (Veeam, Terraform, все языки программирования).
2. Масштабируемость: MinIO легко собирается в кластер.
3. Простота: Одно приложение для всех файлов.
Запуск (Docker):
docker run -d \
-p 9000:9000 -p 9001:9001 \
--name minio \
-v /mnt/data:/data \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=SuperSecretPassword" \
minio/minio server /data --console-address ":9001"
Теперь ваше приложение просто шлет PUT запрос на http://minio:9000. И ему всё равно, на каком сервере оно запущено.
Взгляд архитектора: Использование локальной файловой системы для данных приложения — это антипаттерн в современном IT (12-Factor App). Переход на S3 API делает ваши приложения Cloud Native (готовыми к облаку) сразу.
#devops #storage #s3 #minio #docker #architect #гайд
❤2
🎂 40 лет Windows: От плиточного интерфейса до AI-помощников
Ровно 40 лет назад, 20 ноября 1985 года, Microsoft выпустила Windows 1.0.
Сейчас сложно представить, но тогда идея графического интерфейса на IBM PC была революцией. Это была не ОС, а графическая надстройка над MS-DOS за $99.
Интересные факты о "прабабушке":
Никакого перекрытия: Окна не могли накладываться друг на друга. Только "плитка" (Tiled windows).
Железо: Требовалось 256 КБ памяти и два дисковода. На 512 КБ система уже "летала" (по меркам того времени), хотя критики сравнивали её скорость с "патокой в Арктике".
Наследие: Paintbrush (предок Paint), Notepad, Calculator, Clipboard — эти приложения с нами уже 40 лет.
Рынок встретил её прохладно, но Билл Гейтс не сдался. Через пару лет вышли Windows 2.0 и легендарная 3.0, которые сделали GUI стандартом.
Взгляд архитектора: История Windows 1.0 учит нас главному принципу IT: Инновации редко бывают идеальными с первого раза. Важно не то, как продукт стартовал, а то, как он развивался. Windows 1.0 была "сырой", но она заложила фундамент экосистемы, в которой мы работаем сегодня.
#windows #history #microsoft #anniversary #it #tech
Ровно 40 лет назад, 20 ноября 1985 года, Microsoft выпустила Windows 1.0.
Сейчас сложно представить, но тогда идея графического интерфейса на IBM PC была революцией. Это была не ОС, а графическая надстройка над MS-DOS за $99.
Интересные факты о "прабабушке":
Никакого перекрытия: Окна не могли накладываться друг на друга. Только "плитка" (Tiled windows).
Железо: Требовалось 256 КБ памяти и два дисковода. На 512 КБ система уже "летала" (по меркам того времени), хотя критики сравнивали её скорость с "патокой в Арктике".
Наследие: Paintbrush (предок Paint), Notepad, Calculator, Clipboard — эти приложения с нами уже 40 лет.
Рынок встретил её прохладно, но Билл Гейтс не сдался. Через пару лет вышли Windows 2.0 и легендарная 3.0, которые сделали GUI стандартом.
Взгляд архитектора: История Windows 1.0 учит нас главному принципу IT: Инновации редко бывают идеальными с первого раза. Важно не то, как продукт стартовал, а то, как он развивался. Windows 1.0 была "сырой", но она заложила фундамент экосистемы, в которой мы работаем сегодня.
#windows #history #microsoft #anniversary #it #tech
🔥2
🐧 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