Команда (macOS: процессы по CPU)
⚡ Быстро покажет, кто грузит систему.
#macos #команды #monitoring
top -o cpu
⚡ Быстро покажет, кто грузит систему.
#macos #команды #monitoring
Команды (Linux: полезные команды)
👀 Показывают, сколько времени сервер работает, кто вошёл, права текущего пользователя, расписание задач, лог-файлы.
#linux #команды #monitoring
uptime
w
whoami
crontab -l
ls -lah /var/log
👀 Показывают, сколько времени сервер работает, кто вошёл, права текущего пользователя, расписание задач, лог-файлы.
#linux #команды #monitoring
Чеклист (Windows: Hardening Checklist базовый)
#windows #чеклисты #security
1️⃣ Обновить Windows Server до последних патчей
2️⃣ Отключить гостевой аккаунт и переименовать локального администратора
3️⃣ Настроить политики паролей (длина ≥12, сложность)
4️⃣ Включить брандмауэр и закрыть ненужные порты
5️⃣ Отключить службы и роли, не используемые сервером
#windows #чеклисты #security
🎉 С праздником, товарищи программисты!
Сегодня — День программиста, профессиональный праздник, который отмечают в 256-й день года.
Пусть ваш код всегда компилится с первой попытки, баги сами закрываются, а кофе никогда не кончается ☕💻
#деньпрограммиста #it #системныеадмины #праздник
Сегодня — День программиста, профессиональный праздник, который отмечают в 256-й день года.
Почему именно 256?
ℹ️ Это 2⁸ — количество различных значений, которые можно выразить с помощью одного байта.
Это также максимальная целая степень числа 2, которая не превышает количество дней в году (365 или 366).
Пусть ваш код всегда компилится с первой попытки, баги сами закрываются, а кофе никогда не кончается ☕💻
#деньпрограммиста #it #системныеадмины #праздник
🔥3
Anonymous Poll
26%
PowerShell
30%
Bash
26%
Python
0%
C++
19%
Другое
Чеклист: подготовка к уязвимостям (Zero-Day Ready)
Админ всегда должен быть готов к внезапным zero-day уязвимостям. Вот быстрый чеклист, который снижает риски:
Zero-day не предупредит. Но подготовленный админ = спокойная ночь.
#security #чеклисты #zeroday #adminlife
Админ всегда должен быть готов к внезапным zero-day уязвимостям. Вот быстрый чеклист, который снижает риски:
1️⃣ Включён централизованный аудит логов (SIEM или хотя бы syslog/Event Viewer forwarding).
2️⃣ Резервные копии отделены от продакшн-сети.
3️⃣ Сервера обновляются пакетами безопасности в автоматическом режиме.
4️⃣ Локальные учётки → минимум, пароли уникальные.
5️⃣ Сервисы мониторинга → оповещают в реальном времени (почта/Telegram/Slack).
6️⃣ Уязвимые сервисы (RDP, SSH) закрыты на прямой интернет.
7️⃣ План отката и тест восстановления проверены на практике.
Zero-day не предупредит. Но подготовленный админ = спокойная ночь.
#security #чеклисты #zeroday #adminlife
PowerShell: мониторинг дисков + уведомление в Telegram
1. Создай бота
2. Узнай свой chat_id
3. Скрипт PowerShell
Теперь при нехватке места (<15%) скрипт будет слать сообщение в Telegram.
Добавь его в Task Scheduler → получишь автоматические уведомления.
#powershell #windows #скрипты #telegram #monitoring
1. Создай бота
В Telegram напиши @BotFather → /newbot.
Сохрани TOKEN.
2. Узнай свой chat_id
Напиши что-то боту,
Перейди по ссылке в браузере:
https://api.telegram.org/bot<TOKEN>/getUpdates
Найди "chat":{"id":123456789} → это твой chat_id.
3. Скрипт PowerShell
$token = "<BOT_TOKEN>" # токен бота
$chatId = "<CHAT_ID>" # твой chat_id
$threshold = 15
$disks = Get-WmiObject Win32_LogicalDisk -Filter "DriveType=3"
foreach ($disk in $disks) {
$free = [math]::Round(($disk.FreeSpace / $disk.Size) * 100, 2)
if ($free -lt $threshold) {
$msg = "⚠️ Внимание! Диск $($disk.DeviceID) заполнен, осталось только $free%."
$url = "https://api.telegram.org/bot$token/sendMessage?chat_id=$chatId&text=$([uri]::EscapeDataString($msg))"
Invoke-RestMethod -Uri $url -Method Get
}
}
Теперь при нехватке места (<15%) скрипт будет слать сообщение в Telegram.
Добавь его в Task Scheduler → получишь автоматические уведомления.
#powershell #windows #скрипты #telegram #monitoring
Полезная находка
Хочу поделиться курсом [Профессия — Белый Хакер] на Stepik.
https://stepik.org/course/169003/
Курс бесплатный и подойдёт всем, кто интересуется информационной безопасностью и хочет системно изучить тему этичного хакинга.
Это не реклама, просто делюсь с теми, кому может быть интересно
Хочу поделиться курсом [Профессия — Белый Хакер] на Stepik.
https://stepik.org/course/169003/
Курс бесплатный и подойдёт всем, кто интересуется информационной безопасностью и хочет системно изучить тему этичного хакинга.
Это не реклама, просто делюсь с теми, кому может быть интересно
Linux (bash): алерт по свободному месту + Telegram
#linux #bash #monitoring #telegram
Проверяет все смонтированные разделы, шлёт алерт если <15% свободно.#!/usr/bin/env bash
TOKEN="<BOT_TOKEN>"
CHAT_ID="<CHAT_ID>"
THRESHOLD=15
df -P -h | awk 'NR>1 {print $1,$5,$6}' | while read FS USE MNT; do
PCT=${USE%\%}
if [ "$PCT" -ge $((100-THRESHOLD)) ]; then
MSG="⚠️ Диск почти заполнен: $FS на $MNT — занято $USE"
curl -s "https://api.telegram.org/bot${TOKEN}/sendMessage" \
-d chat_id="${CHAT_ID}" -d text="$(echo "$MSG")" >/dev/null
fi
done
Поставь в cron раз в час.
#linux #bash #monitoring #telegram
❤3
Windows (PowerShell): контроль критичных сервисов + авто-рестарт + Telegram
Проверяет список сервисов; если «Stopped» — перезапускает и шлёт алерт.
#windows #powershell #services #telegram
Проверяет список сервисов; если «Stopped» — перезапускает и шлёт алерт.
$token = "<BOT_TOKEN>"
$chatId = "<CHAT_ID>"
$services = @("Spooler","LanmanServer","Dhcp","Dnscache") # поменяй на свои
foreach ($s in $services) {
$svc = Get-Service -Name $s -ErrorAction SilentlyContinue
if ($null -ne $svc -and $svc.Status -ne 'Running') {
try {
Start-Service -Name $s -ErrorAction Stop
$msg = "✅ Сервис $s был остановлен и перезапущен."
} catch {
$msg = "❌ Не удалось запустить сервис $s: $($_.Exception.Message)"
}
$url = "https://api.telegram.org/bot$token/sendMessage"
Invoke-RestMethod -Uri $url -Method Post -Body @{chat_id=$chatId;text=$msg}
}
}
Планировщик задач: каждые 10–15 минут.
#windows #powershell #services #telegram
Windows: поднятие WSUS с нуля + автоматическая чистка
Чтобы экономить интернет-канал и ускорять обновления, админы поднимают локальный сервер WSUS. Настроить его можно за вечер, если идти по шагам.
1️⃣ Установка роли
Через PowerShell:
Мастер установки спросит:
Папку для хранения обновлений (лучше на отдельном диске).
Тип базы данных — встроенная WID (SQL не обязателен).
После установки запускаем мастер конфигурации.
2️⃣ Настройка сервера WSUS
▪️ Указываем апстрим-сервер (по умолчанию Microsoft Update).
▪️ Выбираем продукты: Windows 10/11, Windows Server 2019/2022.
▪️ Выбираем классификации:
Definition Updates (для Defender).
▪️ Настраиваем синхронизацию (ручная или по расписанию).
3️⃣ Настройка клиентов через GPO
В домене открываем GPMC → создаём политику.
Путь:
Computer Configuration → Policies → Administrative Templates → Windows Components → Windows Update
Основные параметры:
Specify intranet Microsoft update service location → http://wsus-server:8530
Configure Automatic Updates → 4 (автоматическая загрузка и установка).
Automatic Maintenance Activation Boundary → время установки.
Применяем GPO к OU с нужными ПК.
4️⃣ Первичная проверка
На клиенте:
Через 10–15 минут клиент должен появиться в консоли WSUS.
5️⃣ Автоматическая чистка WSUS
WSUS очень быстро разрастается, поэтому включаем регулярное обслуживание.
PowerShell-скрипт для чистки (сохраняем как wsus_cleanup.ps1):
📌 Добавь этот скрипт в Task Scheduler (например, раз в неделю ночью).
6️⃣ Поддержка и обслуживание
Следим за размером базы и хранилища.
Проверяем отчёты о применении обновлений.
Раз в месяц вручную запускаем Server Cleanup Wizard для проверки.
📊 Теперь клиенты получают обновления локально:
— быстрее,
— без нагрузки на внешний канал,
— с автоматическим обслуживанием WSUS.
#windows #update #wsus #powershell #automation
Чтобы экономить интернет-канал и ускорять обновления, админы поднимают локальный сервер WSUS. Настроить его можно за вечер, если идти по шагам.
1️⃣ Установка роли
Через PowerShell:
Install-WindowsFeature -Name UpdateServices -IncludeManagementTools
Мастер установки спросит:
Папку для хранения обновлений (лучше на отдельном диске).
Тип базы данных — встроенная WID (SQL не обязателен).
После установки запускаем мастер конфигурации.
2️⃣ Настройка сервера WSUS
▪️ Указываем апстрим-сервер (по умолчанию Microsoft Update).
▪️ Выбираем продукты: Windows 10/11, Windows Server 2019/2022.
▪️ Выбираем классификации:
Critical Updates
Security Updates
Definition Updates (для Defender).
▪️ Настраиваем синхронизацию (ручная или по расписанию).
3️⃣ Настройка клиентов через GPO
В домене открываем GPMC → создаём политику.
Путь:
Computer Configuration → Policies → Administrative Templates → Windows Components → Windows Update
Основные параметры:
Specify intranet Microsoft update service location → http://wsus-server:8530
Configure Automatic Updates → 4 (автоматическая загрузка и установка).
Automatic Maintenance Activation Boundary → время установки.
Применяем GPO к OU с нужными ПК.
4️⃣ Первичная проверка
На клиенте:
gpupdate /force
wuauclt /detectnow
Через 10–15 минут клиент должен появиться в консоли WSUS.
5️⃣ Автоматическая чистка WSUS
WSUS очень быстро разрастается, поэтому включаем регулярное обслуживание.
PowerShell-скрипт для чистки (сохраняем как wsus_cleanup.ps1):
[reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration") | Out-Null
$wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::GetUpdateServer("localhost",$false)
$cleanupScope = new-object Microsoft.UpdateServices.Administration.CleanupScope `
-Property @{
DeclineSupersededUpdates = $true
DeclineExpiredUpdates = $true
CleanupObsoleteUpdates = $true
CompressUpdates = $true
CleanupObsoleteComputers = $true
CleanupUnneededContentFiles = $true
}
$cleanupManager = $wsus.GetCleanupManager()
$cleanupManager.PerformCleanup($cleanupScope)
Write-Output "WSUS cleanup complete"
📌 Добавь этот скрипт в Task Scheduler (например, раз в неделю ночью).
6️⃣ Поддержка и обслуживание
Следим за размером базы и хранилища.
Проверяем отчёты о применении обновлений.
Раз в месяц вручную запускаем Server Cleanup Wizard для проверки.
📊 Теперь клиенты получают обновления локально:
— быстрее,
— без нагрузки на внешний канал,
— с автоматическим обслуживанием WSUS.
#windows #update #wsus #powershell #automation
👍2
WSUS vs SCCM (ConfigMgr): когда пора апгрейдиться?
WSUS — простой сервер обновлений. Он кэширует патчи и раздаёт их клиентам. Но у него есть предел возможностей. Когда инфраструктура растёт, часто переходят на SCCM (Microsoft Endpoint Configuration Manager).
🔹 Что умеет WSUS
✅ Кэшировать обновления Microsoft (Windows, Office, Defender).
✅ Работает на встроенной базе WID или SQL.
✅ Управление через GPO.
✅ Бесплатен (часть Windows Server).
❌ Ограничения:
Только продукты Microsoft.
Нет детальной отчётности (какие апдейты встали, а какие нет).
Нет управления сторонними софтом/драйверами.
Консоль тормозит на больших базах (1000+ клиентов).
Требует ручной чистки и обслуживания.
🔹 Что добавляет SCCM (ConfigMgr)
✅ Полное управление обновлениями Microsoft + стороннего софта (Adobe, Java, драйверы).
✅ Поддержка Windows, Linux, macOS.
✅ Развёртывание ПО и конфигураций (application deployment).
✅ Инвентаризация железа и софта.
✅ Расширенная отчётность (какой апдейт где применился).
✅ Гибкие коллекции устройств, таргетинг, правила автоустановки.
✅ Интеграция с Intune (гибрид MDM).
❌ Минусы:
Сложнее в развертывании.
Требует полноценного SQL Server.
Нужны лицензии (Software Assurance или отдельные CAL).
🔹 Когда WSUS уже «не тянет»
Клиентов >1000.
Нужно управлять обновлениями сторонних приложений.
Требуется инвентаризация ПО/железа.
Руководство требует детальной отчётности.
Инфраструктура гибридная (on-prem + облако).
📌 Вывод
Для малого бизнеса или филиала на 100–500 ПК → WSUS = нормальное решение.
Для средней и крупной инфраструктуры → SCCM даёт полный контроль, особенно если нужно управлять не только апдейтами, но и всем софтом.
⚡ Совет: если WSUS уже «трещит по швам», попробуй Windows Update for Business (политики обновлений через Intune) — это упрощённый вариант для гибридных сетей.
#windows #update #wsus #sccm #configmgr
WSUS — простой сервер обновлений. Он кэширует патчи и раздаёт их клиентам. Но у него есть предел возможностей. Когда инфраструктура растёт, часто переходят на SCCM (Microsoft Endpoint Configuration Manager).
🔹 Что умеет WSUS
✅ Кэшировать обновления Microsoft (Windows, Office, Defender).
✅ Работает на встроенной базе WID или SQL.
✅ Управление через GPO.
✅ Бесплатен (часть Windows Server).
❌ Ограничения:
Только продукты Microsoft.
Нет детальной отчётности (какие апдейты встали, а какие нет).
Нет управления сторонними софтом/драйверами.
Консоль тормозит на больших базах (1000+ клиентов).
Требует ручной чистки и обслуживания.
🔹 Что добавляет SCCM (ConfigMgr)
✅ Полное управление обновлениями Microsoft + стороннего софта (Adobe, Java, драйверы).
✅ Поддержка Windows, Linux, macOS.
✅ Развёртывание ПО и конфигураций (application deployment).
✅ Инвентаризация железа и софта.
✅ Расширенная отчётность (какой апдейт где применился).
✅ Гибкие коллекции устройств, таргетинг, правила автоустановки.
✅ Интеграция с Intune (гибрид MDM).
❌ Минусы:
Сложнее в развертывании.
Требует полноценного SQL Server.
Нужны лицензии (Software Assurance или отдельные CAL).
🔹 Когда WSUS уже «не тянет»
Клиентов >1000.
Нужно управлять обновлениями сторонних приложений.
Требуется инвентаризация ПО/железа.
Руководство требует детальной отчётности.
Инфраструктура гибридная (on-prem + облако).
📌 Вывод
Для малого бизнеса или филиала на 100–500 ПК → WSUS = нормальное решение.
Для средней и крупной инфраструктуры → SCCM даёт полный контроль, особенно если нужно управлять не только апдейтами, но и всем софтом.
⚡ Совет: если WSUS уже «трещит по швам», попробуй Windows Update for Business (политики обновлений через Intune) — это упрощённый вариант для гибридных сетей.
#windows #update #wsus #sccm #configmgr
👍2
Linux: systemd timers вместо cron
Cron — это классика, но у него есть минусы: он не знает о состоянии системы и «пропускает» задачи, если сервер был выключен. Systemd timers решают эти проблемы и дают больше гибкости.
1️⃣ Создаём unit для скрипта
/etc/systemd/system/backup.service
💡 Type=oneshot подходит для одноразовых задач (бэкап, очистка логов, sync).
2️⃣ Создаём таймер
/etc/systemd/system/backup.timer
🔹 OnCalendar — расписание (аналог cron).
🔹 Persistent=true — если сервер был выключен в 02:00, задача выполнится при следующем старте.
🔹 RandomizedDelaySec=300 — случайная задержка до 5 минут → полезно при десятках серверов (чтобы они не падали на диск одновременно).
3️⃣ Запуск и проверка
Вывод покажет: какие таймеры активны, когда запускались и когда запустятся снова.
4️⃣ Дополнительные сценарии
OnBootSec=10min — запуск через 10 минут после старта системы.
OnUnitInactiveSec=1h — повтор каждые 60 минут.
AccuracySec=1m — точность до минуты (экономит ресурсы при сотнях таймеров).
📌 Преимущества systemd timers
✅ Помнят пропущенные задачи (в отличие от cron).
✅ Интеграция с journald → логи доступны через journalctl -u backup.service.
✅ Гибкие триггеры (OnBootSec, OnActiveSec, OnUnitInactiveSec).
✅ Поддержка случайных задержек (RandomizedDelaySec) для распределения нагрузки.
⚡ Итого: timers = cron 2.0. Если ты уже используешь systemd, смысла держать cron мало.
#linux #systemd #automation #scheduling
Cron — это классика, но у него есть минусы: он не знает о состоянии системы и «пропускает» задачи, если сервер был выключен. Systemd timers решают эти проблемы и дают больше гибкости.
1️⃣ Создаём unit для скрипта
/etc/systemd/system/backup.service
[Unit]
Description=Nightly backup job
[Service]
Type=oneshot
ExecStart=/usr/local/bin/backup.sh
💡 Type=oneshot подходит для одноразовых задач (бэкап, очистка логов, sync).
2️⃣ Создаём таймер
/etc/systemd/system/backup.timer
[Unit]
Description=Run backup daily at 02:00
[Timer]
OnCalendar=*-*-* 02:00:00
Persistent=true
RandomizedDelaySec=300
[Install]
WantedBy=timers.target
🔹 OnCalendar — расписание (аналог cron).
🔹 Persistent=true — если сервер был выключен в 02:00, задача выполнится при следующем старте.
🔹 RandomizedDelaySec=300 — случайная задержка до 5 минут → полезно при десятках серверов (чтобы они не падали на диск одновременно).
3️⃣ Запуск и проверка
systemctl enable --now backup.timer
systemctl list-timers --all
Вывод покажет: какие таймеры активны, когда запускались и когда запустятся снова.
4️⃣ Дополнительные сценарии
OnBootSec=10min — запуск через 10 минут после старта системы.
OnUnitInactiveSec=1h — повтор каждые 60 минут.
AccuracySec=1m — точность до минуты (экономит ресурсы при сотнях таймеров).
📌 Преимущества systemd timers
✅ Помнят пропущенные задачи (в отличие от cron).
✅ Интеграция с journald → логи доступны через journalctl -u backup.service.
✅ Гибкие триггеры (OnBootSec, OnActiveSec, OnUnitInactiveSec).
✅ Поддержка случайных задержек (RandomizedDelaySec) для распределения нагрузки.
⚡ Итого: timers = cron 2.0. Если ты уже используешь systemd, смысла держать cron мало.
#linux #systemd #automation #scheduling
👍2
Linux: Nginx как Reverse Proxy — швейцарский нож для админа
Просто хостить сайт на сервере — это прошлое. Современный подход — спрятать ваше приложение (Apache, Gunicorn, Node.js) за Nginx, который будет работать как обратный прокси. Это повышает безопасность, гибкость и производительность.
1️⃣ Зачем это нужно?
SSL/TLS Termination: Nginx берёт на себя всю работу с шифрованием, разгружая ваше приложение. Управлять сертификатами в одном месте — бесценно.
Load Balancing: Легко распределять трафик на несколько серверов-бэкендов.
Security: Прячет архитектуру вашего бэкенда. Можно настроить файрвол на Nginx и заблокировать вредоносный трафик до того, как он дойдёт до приложения.
Кэширование: Nginx может кэшировать статический контент (CSS, JS, картинки) и отдавать его мгновенно.
2️⃣ Установка и базовая настройка
Устанавливаем Nginx и удаляем дефолтный конфиг.
3️⃣ Конфигурация Reverse Proxy
Создаём файл /etc/nginx/sites-available/myapp.conf. Предположим, ваше приложение работает на порту 8080.
Nginx
4️⃣ Включаем HTTPS (SSL Termination)
Добавим SSL с помощью Certbot (Let's Encrypt).
Certbot автоматически изменит конфиг, добавив listen 443 ssl; и пути к сертификатам.
5️⃣ Активация и проверка
📈 Итог: Вы построили базовый, но надёжный шлюз для вашего приложения.
Теперь вы можете легко добавлять новые сервисы, управлять SSL и готовиться к масштабированию.
Это уже не просто администрирование, а основы сетевой архитектуры.
#linux #nginx #proxy #security #network #архитектура
Просто хостить сайт на сервере — это прошлое. Современный подход — спрятать ваше приложение (Apache, Gunicorn, Node.js) за Nginx, который будет работать как обратный прокси. Это повышает безопасность, гибкость и производительность.
1️⃣ Зачем это нужно?
SSL/TLS Termination: Nginx берёт на себя всю работу с шифрованием, разгружая ваше приложение. Управлять сертификатами в одном месте — бесценно.
Load Balancing: Легко распределять трафик на несколько серверов-бэкендов.
Security: Прячет архитектуру вашего бэкенда. Можно настроить файрвол на Nginx и заблокировать вредоносный трафик до того, как он дойдёт до приложения.
Кэширование: Nginx может кэшировать статический контент (CSS, JS, картинки) и отдавать его мгновенно.
2️⃣ Установка и базовая настройка
Устанавливаем Nginx и удаляем дефолтный конфиг.
sudo apt update && sudo apt install nginx
sudo rm /etc/nginx/sites-enabled/default
3️⃣ Конфигурация Reverse Proxy
Создаём файл /etc/nginx/sites-available/myapp.conf. Предположим, ваше приложение работает на порту 8080.
Nginx
server {
listen 80;
server_name your_domain.com;
# Перенаправляем весь трафик на бэкенд
location / {
proxy_pass http://127.0.0.1:8080;
# Передаём реальный IP клиента и другие заголовки
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
4️⃣ Включаем HTTPS (SSL Termination)
Добавим SSL с помощью Certbot (Let's Encrypt).
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d your_domain.com
Certbot автоматически изменит конфиг, добавив listen 443 ssl; и пути к сертификатам.
5️⃣ Активация и проверка
# Проверяем синтаксис конфига
sudo nginx -t
# Создаём символическую ссылку для активации
sudo ln -s /etc/nginx/sites-available/myapp.conf /etc/nginx/sites-enabled/
# Перезапускаем Nginx
sudo systemctl restart nginx
📈 Итог: Вы построили базовый, но надёжный шлюз для вашего приложения.
Теперь вы можете легко добавлять новые сервисы, управлять SSL и готовиться к масштабированию.
Это уже не просто администрирование, а основы сетевой архитектуры.
#linux #nginx #proxy #security #network #архитектура
❤2🔥2
