Linux: grep — это не анализ. Считаем ошибки в логах как SRE с помощью awk
Ваш лог-файл access.log весит 5 ГБ. grep "ERROR" выдает 50 000 строк. Как понять, какая ошибка самая частая? Прокручивать less — это не работа.
awk — это не просто "еще один grep". Это полноценный язык обработки текста.
Задача: Найти ТОП-10 самых частых ошибок в error.log.
Решение в одну строку:
Bash
Эта команда — ваш персональный анализатор логов. Она мгновенно покажет, какая именно ошибка "флудит" в логах, позволяя вам сфокусироваться на причине, а не на поиске.
Взгляд архитектора: Админ ищет одну ошибку. Архитектор ищет паттерны. awk в связке с sort и uniq — это базовый инструмент SRE-инженера для агрегации данных. Он позволяет превратить гигабайты хаотичных логов в осмысленную статистику для принятия решений.
#linux #awk #logging #sre #bash #команды #cli
Ваш лог-файл access.log весит 5 ГБ. grep "ERROR" выдает 50 000 строк. Как понять, какая ошибка самая частая? Прокручивать less — это не работа.
awk — это не просто "еще один grep". Это полноценный язык обработки текста.
Задача: Найти ТОП-10 самых частых ошибок в error.log.
Решение в одну строку:
Bash
# Ищем строки со словом "error", вытаскиваем текст ошибки (предполагаем, что он после 5-го поля),
# считаем уникальные строки и сортируем по количеству.
grep -i "error" /var/log/nginx/error.log | \
awk -F' ' '{ $1=""; $2=""; $3=""; $4=""; $5=""; print $0 }' | \
sort | \
uniq -c | \
sort -nr | \
head -n 10
Эта команда — ваш персональный анализатор логов. Она мгновенно покажет, какая именно ошибка "флудит" в логах, позволяя вам сфокусироваться на причине, а не на поиске.
Взгляд архитектора: Админ ищет одну ошибку. Архитектор ищет паттерны. awk в связке с sort и uniq — это базовый инструмент SRE-инженера для агрегации данных. Он позволяет превратить гигабайты хаотичных логов в осмысленную статистику для принятия решений.
#linux #awk #logging #sre #bash #команды #cli
Linux: "Я случайно дал chmod 777". Восстанавливаем права одной командой
Каждый делал это. На эмоциях chmod -R 777 /var/www — и теперь ваш веб-сервер зияет дырами, а файлы исполняются из ниоткуда. Ручное исправление — ад.
Архитектор не исправляет вручную. Он автоматизирует восстановление.
Как быстро восстановить стандартные права для всей системы:
Bash
Что делают эти команды:
debsums -c (для Debian/Ubuntu) или rpm -Va (для RHEL/CentOS) проверяют все установленные пакеты на соответствие контрольным суммам и правам файлов из базы пакетов.
grep '^..5' (для RPM) и awk фильтруют только те файлы, у которых изменены права.
xargs -r sudo apt-get --reinstall install (или sudo yum reinstall) переустанавливает только те пакеты, чьи файлы были изменены. Важно: переустанавливаются только изменённые пакеты, а не вся ОС.
Взгляд архитектора: Эта команда — не просто "фикс". Это часть стратегии восстановления после инцидентов (IR) и управления конфигурацией (CM). Вы не "чините", вы возвращаете систему в известное, безопасное состояние. Это фундаментальный принцип отказоустойчивых систем.
#linux #security #commands #sysadmin #recovery #гайд
Каждый делал это. На эмоциях chmod -R 777 /var/www — и теперь ваш веб-сервер зияет дырами, а файлы исполняются из ниоткуда. Ручное исправление — ад.
Архитектор не исправляет вручную. Он автоматизирует восстановление.
Как быстро восстановить стандартные права для всей системы:
Bash
# Для Debian/Ubuntu-подобных систем
sudo apt-get install debsums
sudo debsums -c | xargs -r sudo apt-get --reinstall install
# Для RHEL/CentOS-подобных систем
sudo rpm -Va | grep '^..5' | awk '{print $NF}' | xargs -r sudo yum reinstall
Что делают эти команды:
debsums -c (для Debian/Ubuntu) или rpm -Va (для RHEL/CentOS) проверяют все установленные пакеты на соответствие контрольным суммам и правам файлов из базы пакетов.
grep '^..5' (для RPM) и awk фильтруют только те файлы, у которых изменены права.
xargs -r sudo apt-get --reinstall install (или sudo yum reinstall) переустанавливает только те пакеты, чьи файлы были изменены. Важно: переустанавливаются только изменённые пакеты, а не вся ОС.
Взгляд архитектора: Эта команда — не просто "фикс". Это часть стратегии восстановления после инцидентов (IR) и управления конфигурацией (CM). Вы не "чините", вы возвращаете систему в известное, безопасное состояние. Это фундаментальный принцип отказоустойчивых систем.
#linux #security #commands #sysadmin #recovery #гайд
Автоматизация: Хватит копипастить! Укрощаем git alias для быстрой работы
Вы пишете git status, git commit -m "...", git push origin develop по 100 раз в день. Это рутина, которая отнимает время и силы.
git alias — это ваша личная "горячая клавиша" для Git-команд. С его помощью можно сократить самые длинные и сложные команды до пары символов.
Как настроить (файл ~/.gitconfig):
Ini, TOML
Как использовать: Просто вводите git st, git lg, git undo вместо длинных команд.
Взгляд архитектора: Эффективность — это краеугольный камень работы архитектора. git alias — это микрооптимизация, которая влияет на производительность команды. Меньше опечаток, быстрее работа, больше времени на проектирование, а не на рутину.
#git #automation #productivity #cli #devops #скрипты
Вы пишете git status, git commit -m "...", git push origin develop по 100 раз в день. Это рутина, которая отнимает время и силы.
git alias — это ваша личная "горячая клавиша" для Git-команд. С его помощью можно сократить самые длинные и сложные команды до пары символов.
Как настроить (файл ~/.gitconfig):
Ini, TOML
[alias]
st = status -sb # git st покажет статус кратко
co = checkout # git co branch_name
br = branch # git br
ci = commit # git ci -m "msg"
ps = push # git ps
pl = pull # git pl
lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit # git lg - красивый лог
undo = reset HEAD~ # git undo - отменить последний коммит (локально)
amend = commit --amend --no-edit # git amend - обновить последний коммит без изменения сообщения
Как использовать: Просто вводите git st, git lg, git undo вместо длинных команд.
Взгляд архитектора: Эффективность — это краеугольный камень работы архитектора. git alias — это микрооптимизация, которая влияет на производительность команды. Меньше опечаток, быстрее работа, больше времени на проектирование, а не на рутину.
#git #automation #productivity #cli #devops #скрипты
Хватит использовать cp! rsync — швейцарский нож админа для бэкапов
Команда cp -r /source /dest — это первое, чему учат. Но для реальных задач админа (бэкапы, синхронизация) она не годится: она медленная, неэффективная и не работает по сети.
rsync — это не просто "remote copy". Это инструмент дельта-синхронизации. Он копирует только изменения, а не все файлы целиком.
Почему rsync — это уровень архитектора:
Флаг -a (Archive): Это магия. Он заменяет кучу флагов (-rlptgoD) и означает "сделать точную копию", сохраняя:
recursive (рекурсию)
links (симлинки)
perms (права доступа)
times (время модификации)
group (группу)
owner (владельца)
Флаг -z (Compress): Сжимает трафик "на лету" при передаче по сети.
Флаг --delete: Удаляет из цели те файлы, которых больше нет в источнике. Так создается точное зеркало.
Работа через SSH: Встроен по умолчанию.
Три команды, которые закроют 90% ваших задач по бэкапу:
Локальный бэкап (зеркалирование папки):
Bash
Внимание! /www/ (слэш) и /www (без слэша) — это разные вещи для rsync!
PUSH-бэкап на удаленный сервер:
Bash
DRY-RUN (Сухой прогон): Самый важный флаг для новичков. Ничего не делает, но показывает, что бы он сделал.
Bash
Взгляд архитектора: rsync — это идемпотентный инструмент. Его можно запускать в cron каждую минуту — и он не создаст нагрузки, если файлы не менялись. Это основа для построения эффективных, быстрых и надежных стратегий бэкапа и репликации данных.
#linux #rsync #backup #automation #команды #sysadmin #гайд
Команда cp -r /source /dest — это первое, чему учат. Но для реальных задач админа (бэкапы, синхронизация) она не годится: она медленная, неэффективная и не работает по сети.
rsync — это не просто "remote copy". Это инструмент дельта-синхронизации. Он копирует только изменения, а не все файлы целиком.
Почему rsync — это уровень архитектора:
Флаг -a (Archive): Это магия. Он заменяет кучу флагов (-rlptgoD) и означает "сделать точную копию", сохраняя:
recursive (рекурсию)
links (симлинки)
perms (права доступа)
times (время модификации)
group (группу)
owner (владельца)
Флаг -z (Compress): Сжимает трафик "на лету" при передаче по сети.
Флаг --delete: Удаляет из цели те файлы, которых больше нет в источнике. Так создается точное зеркало.
Работа через SSH: Встроен по умолчанию.
Три команды, которые закроют 90% ваших задач по бэкапу:
Локальный бэкап (зеркалирование папки):
Bash
# Копируем www, сжимая, сохраняя права, и удаляя лишнее в бэкапе
rsync -avz --delete /var/www/ /mnt/backup/www_mirror/
Внимание! /www/ (слэш) и /www (без слэша) — это разные вещи для rsync!
PUSH-бэкап на удаленный сервер:
Bash
# Отправляем наши данные на бэкап-сервер
rsync -avz -e ssh /path/to/local/data user@backup.server:/path/to/remote/storage
DRY-RUN (Сухой прогон): Самый важный флаг для новичков. Ничего не делает, но показывает, что бы он сделал.
Bash
rsync -avzn --delete /source/ /dest/
Взгляд архитектора: rsync — это идемпотентный инструмент. Его можно запускать в cron каждую минуту — и он не создаст нагрузки, если файлы не менялись. Это основа для построения эффективных, быстрых и надежных стратегий бэкапа и репликации данных.
#linux #rsync #backup #automation #команды #sysadmin #гайд
👍3
Мы рады видеть здесь каждого.
Наша цель — не просто собрать аудиторию, а построить сильное сообщество инженеров, которые готовы расти от админов до архитекторов.
Канал "Admin Future" — это системная библиотека, а не поток случайных советов. Мы ценим ваш вклад и хотим делать контент, который будет максимально полезен именно вам.
Чтобы лучше узнать друг друга, пройдите, пожалуйста, короткий опрос: какова ваша основная специализация?
Это поможет нам держать правильный баланс между #windows, #linux, #security и #devops.
Наша цель — не просто собрать аудиторию, а построить сильное сообщество инженеров, которые готовы расти от админов до архитекторов.
Канал "Admin Future" — это системная библиотека, а не поток случайных советов. Мы ценим ваш вклад и хотим делать контент, который будет максимально полезен именно вам.
Чтобы лучше узнать друг друга, пройдите, пожалуйста, короткий опрос: какова ваша основная специализация?
Это поможет нам держать правильный баланс между #windows, #linux, #security и #devops.
👍5🤝2
Linux: "Какой процесс держит этот файл?" Магия lsof
Классическая ситуация: вы пытаетесь отмонтировать диск, а система говорит: "Resource busy". Или порт занят, а netstat/ss не показывают, кем. Вместо перезагрузки архитектор использует скальпель.
lsof (List Open Files) — это фундаментальная утилита, которая показывает, какой процесс какой файл (или сокет, или библиотеку) держит открытым. В мире *nix "всё есть файл", поэтому lsof видит всё.
Три команды, которые решают 90% проблем:
Узнать, кто "держит" файл или папку:
Bash
Узнать, какой процесс слушает порт (альтернатива ss -tlpn):
Bash
Посмотреть, что делает конкретный пользователь или процесс:
Bash
Взгляд архитектора: lsof — это инструмент диагностики и отладки. Он позволяет понять внутренние связи в системе. Умение им пользоваться — это не просто "починить", а понять коренную причину (root cause) проблемы, будь то утечка файловых дескрипторов или конфликт портов.
#linux #lsof #diagnostics #sre #команды
Классическая ситуация: вы пытаетесь отмонтировать диск, а система говорит: "Resource busy". Или порт занят, а netstat/ss не показывают, кем. Вместо перезагрузки архитектор использует скальпель.
lsof (List Open Files) — это фундаментальная утилита, которая показывает, какой процесс какой файл (или сокет, или библиотеку) держит открытым. В мире *nix "всё есть файл", поэтому lsof видит всё.
Три команды, которые решают 90% проблем:
Узнать, кто "держит" файл или папку:
Bash
# Кто мешает отмонтировать /mnt/data?
lsof /mnt/data
Узнать, какой процесс слушает порт (альтернатива ss -tlpn):
Bash
# Кто занял 80-й порт?
sudo lsof -i :80
Посмотреть, что делает конкретный пользователь или процесс:
Bash
# Что открыл пользователь 'www-data'?
sudo lsof -u www-data
# Какие файлы и сокеты открыты у процесса с PID 1234?
sudo lsof -p 1234
Взгляд архитектора: lsof — это инструмент диагностики и отладки. Он позволяет понять внутренние связи в системе. Умение им пользоваться — это не просто "починить", а понять коренную причину (root cause) проблемы, будь то утечка файловых дескрипторов или конфликт портов.
#linux #lsof #diagnostics #sre #команды
Windows: perfmon — это не просто график. Находим узкие места
Когда сервер тормозит, админ открывает Диспетчер задач и видит 100% CPU.
Архитектор открывает Performance Monitor (perfmon), чтобы понять, почему.
Диспетчер задач показывает, что происходит сейчас.
perfmon позволяет собирать данные часами и находить паттерны и узкие места.
Как найти реальную причину (План):
Не смотрите на графики. Создайте "Группу сборщиков данных" (Data Collector Set).
perfmon -> "Группы сборщиков данных" -> "Создать... вручную".
Добавьте нужные счетчики.
Какие счетчики добавить? (Стартовый набор SRE):
Processor\% Processor Time (Общая загрузка)
System\Processor Queue Length (Очередь к процессору. Если стабильно > 2 на ядро — беда).
Memory\Available MBytes (Свободная память)
Paging File\% Usage (Если используется активно — нехватка RAM).
LogicalDisk\Avg. Disk sec/Read (и /Write) (Время отклика диска. Если > 20ms — диски не справляются).
LogicalDisk\Current Disk Queue Length (Очередь к диску. Если стабильно > 2 — дисковый bottleneck).
Запустите сбор на 1-2 часа во время пиковой нагрузки.
Проанализируйте лог: Откройте .blg-файл. Теперь вы можете в ретроспективе увидеть, что сначала выросла очередь к диску, а потом процессор ушел в 100%, ожидая I/O.
Взгляд архитектора: perfmon — это рентгеновский аппарат. Вы перестаете гадать и начинаете видеть факты. Это позволяет вам принять правильное решение: нужно не "добавить CPU", а "оптимизировать запросы к БД" или "вынести логи на отдельный, более быстрый диск".
#windows #perfmon #performance #sre #гайд
Когда сервер тормозит, админ открывает Диспетчер задач и видит 100% CPU.
Архитектор открывает Performance Monitor (perfmon), чтобы понять, почему.
Диспетчер задач показывает, что происходит сейчас.
perfmon позволяет собирать данные часами и находить паттерны и узкие места.
Как найти реальную причину (План):
Не смотрите на графики. Создайте "Группу сборщиков данных" (Data Collector Set).
perfmon -> "Группы сборщиков данных" -> "Создать... вручную".
Добавьте нужные счетчики.
Какие счетчики добавить? (Стартовый набор SRE):
Processor\% Processor Time (Общая загрузка)
System\Processor Queue Length (Очередь к процессору. Если стабильно > 2 на ядро — беда).
Memory\Available MBytes (Свободная память)
Paging File\% Usage (Если используется активно — нехватка RAM).
LogicalDisk\Avg. Disk sec/Read (и /Write) (Время отклика диска. Если > 20ms — диски не справляются).
LogicalDisk\Current Disk Queue Length (Очередь к диску. Если стабильно > 2 — дисковый bottleneck).
Запустите сбор на 1-2 часа во время пиковой нагрузки.
Проанализируйте лог: Откройте .blg-файл. Теперь вы можете в ретроспективе увидеть, что сначала выросла очередь к диску, а потом процессор ушел в 100%, ожидая I/O.
Взгляд архитектора: perfmon — это рентгеновский аппарат. Вы перестаете гадать и начинаете видеть факты. Это позволяет вам принять правильное решение: нужно не "добавить CPU", а "оптимизировать запросы к БД" или "вынести логи на отдельный, более быстрый диск".
#windows #perfmon #performance #sre #гайд
👏1
Ansible для Windows: Хватит "кликать". Управляем Windows-серверами из Linux
Для многих "Ansible" — это что-то про Linux. Но что, если я скажу, что вы можете управлять всем вашим парком Windows-серверов так же, как и Linux-машинами? Без RDP, без ручных кликов.
Это — Ansible for Windows. Он работает не через SSH, а через WinRM (Windows Remote Management), который уже встроен в вашу систему. Это мост между мирами.
План для "Full-stack админа":
На Windows-машинах (целях): Нужно один раз настроить WinRM. Проще всего — запустить официальный скрипт от Ansible.
https://github.com/ansible/ansible-documentation/blob/devel/examples/scripts/ConfigureRemotingForAnsible.ps1
PowerShell
На Linux-машине (контроллере):
Устанавливаем pywinrm: pip install pywinrm
Настраиваем inventory (список хостов), указывая, что это Windows:
Ini, TOML
Ваш первый плейбук (установить IIS):
YAML
Запуск: ansible-playbook -i inventory setup_iis.yml
Взгляд архитектора: Это Infrastructure as Code (IaC) в чистом виде. Вы получаете идемпотентность (можно запускать 100 раз) и масштабируемость (на 1 или 1000 серверов). Вы начинаете управлять Windows-парком как DevOps-инженер, а не как "эникейщик".
#windows #linux #ansible #automation #devops #powershell #гайд
Для многих "Ansible" — это что-то про Linux. Но что, если я скажу, что вы можете управлять всем вашим парком Windows-серверов так же, как и Linux-машинами? Без RDP, без ручных кликов.
Это — Ansible for Windows. Он работает не через SSH, а через WinRM (Windows Remote Management), который уже встроен в вашу систему. Это мост между мирами.
План для "Full-stack админа":
На Windows-машинах (целях): Нужно один раз настроить WinRM. Проще всего — запустить официальный скрипт от Ansible.
https://github.com/ansible/ansible-documentation/blob/devel/examples/scripts/ConfigureRemotingForAnsible.ps1
PowerShell
# Запускаем PowerShell от имени администратора
.\ConfigureRemotingForAnsible.ps1
На Linux-машине (контроллере):
Устанавливаем pywinrm: pip install pywinrm
Настраиваем inventory (список хостов), указывая, что это Windows:
Ini, TOML
[windows]
web-srv01.corp.local
[windows:vars]
ansible_user = "CORP\Administrator"
ansible_password = "YourSecretPassword" # Временно! (Лучше использовать Vault)
ansible_connection = winrm
ansible_winrm_server_cert_validation = ignore # Для тестовой среды
Ваш первый плейбук (установить IIS):
YAML
---
- name: Configure Windows Web Server
hosts: windows
tasks:
- name: Install IIS (Web-Server)
ansible.windows.win_feature:
name: Web-Server
state: present
- name: Start IIS Service
ansible.windows.win_service:
name: W3Svc
state: startedhttps://chatgpt.com/backend-api/estuary/content?id=file_000000005a986246808fbe7208d0cb2f&ts=489227&p=fs&cid=1&sig=e9b5ebaf47d24352dc6bba33f22b0781df239f5f55614f6cd89fd856db308bb6&v=0
start_mode: auto
Запуск: ansible-playbook -i inventory setup_iis.yml
Взгляд архитектора: Это Infrastructure as Code (IaC) в чистом виде. Вы получаете идемпотентность (можно запускать 100 раз) и масштабируемость (на 1 или 1000 серверов). Вы начинаете управлять Windows-парком как DevOps-инженер, а не как "эникейщик".
#windows #linux #ansible #automation #devops #powershell #гайд
🔥2
Wireshark: "Это не сеть, это приложение!" Как доказать это за 60 секунд
Классическая война админа и разработчика. "Ваш сервер тормозит!" — "Нет, это ваша сеть лагает!". Вместо споров, архитектор открывает Wireshark.
Wireshark — это не "страшный" инструмент для сетевиков. Это микроскоп, который видит всё. Он нужен каждому "фулл-стек" админу и ИБ-специалисту.
Три фильтра, которые решат 90% ваших споров:
"Я не вижу сервер" (Проблемы DNS):
Фильтр: dns
Что ищем: Видите ли вы AAAA (IPv6) или A (IPv4) запросы? Приходит ли ответ? Если видите NXDOMAIN — проблема в DNS, а не в сервере.
"Connection Refused / Timeout" (Проблемы с портом):
Фильтр: tcp.port == 80 (или 443, 3389...)
Что ищем:
[SYN] -> [SYN, ACK] -> [ACK] = OK, соединение установлено.
[SYN] -> [RST, ACK] = Connection Refused. Порт закрыт (приложение не запущено, или файрвол его режет).
[SYN] -> ... (тишина) ... -> [SYN] (повтор) = Timeout. Пакет теряется (проблема с маршрутизацией или файрвол его тихо дропает).
"Приложение тормозит" (Медленный ответ):
Фильтр: ip.addr == 192.168.1.50 (IP вашего сервера)
Что ищем: Кликните правой кнопкой по пакету -> Follow -> TCP Stream. Вы увидите весь диалог. Если ваш запрос ушел, а сервер "думал" 5 секунд, прежде чем ответить, — проблема 100% в приложении. Вы только что сэкономили день споров.
Взгляд архитектора: Вы перестаете гадать и начинаете видеть. Wireshark — это инструмент "земной правды" (ground truth). Он дает неоспоримые, основанные на данных доказательства, позволяя находить коренную причину (root cause) проблемы, а не её симптомы.
#networking #security #wireshark #windows #linux #diagnostics #гайд
Классическая война админа и разработчика. "Ваш сервер тормозит!" — "Нет, это ваша сеть лагает!". Вместо споров, архитектор открывает Wireshark.
Wireshark — это не "страшный" инструмент для сетевиков. Это микроскоп, который видит всё. Он нужен каждому "фулл-стек" админу и ИБ-специалисту.
Три фильтра, которые решат 90% ваших споров:
"Я не вижу сервер" (Проблемы DNS):
Фильтр: dns
Что ищем: Видите ли вы AAAA (IPv6) или A (IPv4) запросы? Приходит ли ответ? Если видите NXDOMAIN — проблема в DNS, а не в сервере.
"Connection Refused / Timeout" (Проблемы с портом):
Фильтр: tcp.port == 80 (или 443, 3389...)
Что ищем:
[SYN] -> [SYN, ACK] -> [ACK] = OK, соединение установлено.
[SYN] -> [RST, ACK] = Connection Refused. Порт закрыт (приложение не запущено, или файрвол его режет).
[SYN] -> ... (тишина) ... -> [SYN] (повтор) = Timeout. Пакет теряется (проблема с маршрутизацией или файрвол его тихо дропает).
"Приложение тормозит" (Медленный ответ):
Фильтр: ip.addr == 192.168.1.50 (IP вашего сервера)
Что ищем: Кликните правой кнопкой по пакету -> Follow -> TCP Stream. Вы увидите весь диалог. Если ваш запрос ушел, а сервер "думал" 5 секунд, прежде чем ответить, — проблема 100% в приложении. Вы только что сэкономили день споров.
Взгляд архитектора: Вы перестаете гадать и начинаете видеть. Wireshark — это инструмент "земной правды" (ground truth). Он дает неоспоримые, основанные на данных доказательства, позволяя находить коренную причину (root cause) проблемы, а не её симптомы.
#networking #security #wireshark #windows #linux #diagnostics #гайд
Windows: Ваш "швейцарский нож". Вышло обновление PowerToys
Microsoft обновила PowerToys — бесплатный набор утилит, который прокачивает Windows до уровня PRO. Это must-have для каждого админа.
Что внутри (самое важное для нас):
FancyZones: Создайте сложные сетки окон. Идеально, чтобы разместить RDP, PowerShell и perfmon на одном экране.
PowerRename: Массовое переименование файлов (логов, скриптов) с поддержкой RegEx прямо в "Проводнике".
Always on Top: Win+Ctrl+T, чтобы окно с мониторингом или логами всегда было поверх всех.
Crop and Lock: Новинка! "Вырежьте" график из Диспетчера задач и закрепите его на рабочем столе как виджет.
Взгляд архитектора: Ваша рабочая станция — это инструмент. Эти утилиты "затачивают" его, экономя вам часы на рутинных операциях и переключении окон.
Забираем бесплатно с официального GitHub: https://github.com/microsoft/PowerToys
#windows #powertoys #productivity #гайд #musthave
Microsoft обновила PowerToys — бесплатный набор утилит, который прокачивает Windows до уровня PRO. Это must-have для каждого админа.
Что внутри (самое важное для нас):
FancyZones: Создайте сложные сетки окон. Идеально, чтобы разместить RDP, PowerShell и perfmon на одном экране.
PowerRename: Массовое переименование файлов (логов, скриптов) с поддержкой RegEx прямо в "Проводнике".
Always on Top: Win+Ctrl+T, чтобы окно с мониторингом или логами всегда было поверх всех.
Crop and Lock: Новинка! "Вырежьте" график из Диспетчера задач и закрепите его на рабочем столе как виджет.
Взгляд архитектора: Ваша рабочая станция — это инструмент. Эти утилиты "затачивают" его, экономя вам часы на рутинных операциях и переключении окон.
Забираем бесплатно с официального GitHub: https://github.com/microsoft/PowerToys
#windows #powertoys #productivity #гайд #musthave
🔥5
Проект на выходные: Запускаем свой GitHub! Ставим Gitea в Docker
Хватит хранить скрипты и Ansible-плейбуки в папке C:\Scripts_Final_v2. Путь архитектора начинается с контроля версий.
Gitea — это сверхлегкий, быстрый и простой self-hosted Git-сервер. Он написан на Go, потребляет минимум ресурсов и запускается за 30 секунд. Идеально для Home Lab или небольшой команды.
Зачем он вам?
* IaC: Хранить код Terraform, Ansible, PowerShell DSC.
* Документация: Вести свою Wiki по инфраструктуре в Markdown.
* Скрипты: Создать центральный репозиторий для всех ваших PowerShell/Bash скриптов.
Готовый docker-compose.yml для старта:
YAML
1. Сохраните как docker-compose.yml.
2. Запустите docker-compose up -d.
3. Откройте http://<ваш_ip>:3000 и пройдите простую веб-установку (можно использовать SQLite, чтобы не поднимать отдельную БД).
4. Важно: В настройках укажите, что SSH-сервер работает на порту 2222.
Взгляд архитектора: Это не просто "удобно". Это фундамент для GitOps и CI/CD. Когда ваш код инфраструктуры лежит в Git, вы можете автоматизировать его тестирование и развертывание. Вы получаете историю изменений, ревью кода и возможность отката.
#linux #docker #selfhosted #git #devops #weekendproject #гайд
Хватит хранить скрипты и Ansible-плейбуки в папке C:\Scripts_Final_v2. Путь архитектора начинается с контроля версий.
Gitea — это сверхлегкий, быстрый и простой self-hosted Git-сервер. Он написан на Go, потребляет минимум ресурсов и запускается за 30 секунд. Идеально для Home Lab или небольшой команды.
Зачем он вам?
* IaC: Хранить код Terraform, Ansible, PowerShell DSC.
* Документация: Вести свою Wiki по инфраструктуре в Markdown.
* Скрипты: Создать центральный репозиторий для всех ваших PowerShell/Bash скриптов.
Готовый docker-compose.yml для старта:
YAML
version: '3.8'
services:
gitea:
image: gitea/gitea:latest
container_name: gitea
restart: unless-stopped
volumes:
- ./gitea-data:/data
ports:
# Веб-интерфейс (HTTP)
- "3000:3000"
# SSH для Git
- "2222:22"
environment:
- USER_UID=1000
- USER_GID=1000
1. Сохраните как docker-compose.yml.
2. Запустите docker-compose up -d.
3. Откройте http://<ваш_ip>:3000 и пройдите простую веб-установку (можно использовать SQLite, чтобы не поднимать отдельную БД).
4. Важно: В настройках укажите, что SSH-сервер работает на порту 2222.
Взгляд архитектора: Это не просто "удобно". Это фундамент для GitOps и CI/CD. Когда ваш код инфраструктуры лежит в Git, вы можете автоматизировать его тестирование и развертывание. Вы получаете историю изменений, ревью кода и возможность отката.
#linux #docker #selfhosted #git #devops #weekendproject #гайд
Windows: "DNS-кладбище". Чистим Active Directory от "мёртвых" записей
Одна из самых частых и тихих проблем в AD — устаревшие (stale) DNS-записи. Старый сервер вывели из эксплуатации, а его A-запись осталась. В итоге сервисы пытаются подключиться к "призраку", и всё ломается.
Ручной поиск — ад. Этот PowerShell-скрипт — ваш аудитор.
Что делает скрипт:
1. Берёт все A-записи из вашей DNS-зоны.
2. Пытается "пингануть" каждую (быстрая проверка Test-Connection).
3. Выводит список тех IP, которые не ответили — это ваши главные кандидаты на удаление.
Код скрипта:
PowerShell
Взгляд архитектора: Гигиена DNS — это фундамент стабильной сети. Этот скрипт — ваш инструмент для аудита. Правильное архитектурное решение — настроить Scavenging (очистку) на DNS-сервере, чтобы этот процесс был полностью автоматическим.
#windows #powershell #dns #activedirectory #automation #скрипты #security
Одна из самых частых и тихих проблем в AD — устаревшие (stale) DNS-записи. Старый сервер вывели из эксплуатации, а его A-запись осталась. В итоге сервисы пытаются подключиться к "призраку", и всё ломается.
Ручной поиск — ад. Этот PowerShell-скрипт — ваш аудитор.
Что делает скрипт:
1. Берёт все A-записи из вашей DNS-зоны.
2. Пытается "пингануть" каждую (быстрая проверка Test-Connection).
3. Выводит список тех IP, которые не ответили — это ваши главные кандидаты на удаление.
Код скрипта:
PowerShell
# Укажите имя вашего DNS-сервера и зоны
$DnsServer = "DC01.corp.local"
$DnsZone = "corp.local"
Write-Host "--- Начинаю поиск 'мёртвых' A-записей в зоне $DnsZone ---" -ForegroundColor Cyan
# Получаем все A-записи
$AllARecords = Get-DnsServerResourceRecord -ComputerName $DnsServer -ZoneName $DnsZone -RRType "A"
$StaleRecords = foreach ($Record in $AllARecords) {
$IpAddress = $Record.RecordData.IPv4Address.IPAddressToString
Write-Host "Проверяю: $($Record.HostName) -> $IpAddress" -ForegroundColor Gray
# Пытаемся быстро пингануть хост. Count 1, Timeout 1 секунда.
if (-not (Test-Connection -ComputerName $IpAddress -Count 1 -Quiet -ErrorAction SilentlyContinue)) {
# Если пинг не прошел, выводим как потенциально "мёртвую" запись
[PSCustomObject]@{
HostName = $Record.HostName
IPAddress = $IpAddress
Timestamp = $Record.Timestamp
Status = "NO_RESPONSE"
}
}
}
Write-Host "`n--- ОБНАРУЖЕНЫ ПОТЕНЦИАЛЬНО УСТАРЕВШИЕ ЗАПИСИ ---" -ForegroundColor Red
$StaleRecords | Format-Table
Write-Host "`nРекомендация: Проверьте эти хосты и включите Scavenging (очистку) на DNS-сервере."
Взгляд архитектора: Гигиена DNS — это фундамент стабильной сети. Этот скрипт — ваш инструмент для аудита. Правильное архитектурное решение — настроить Scavenging (очистку) на DNS-сервере, чтобы этот процесс был полностью автоматическим.
#windows #powershell #dns #activedirectory #automation #скрипты #security
👍2
Чек-лист: 5 PM Friday. С чем админ уходит на выходные?
Спокойные выходные — это не удача, а результат подготовки.
Прежде чем закрыть ноутбук, каждый админ (а особенно Full-stack) должен потратить 10 минут на этот чек-лист.
1. □ Проверить Бэкапы.
Win: Get-WBJob -Previous 1 -> JobState должен быть Completed.
Lin: Проверить лог вашего скрипта rsync или cron.
2. □ Проверить Место на Диске.
Win: Get-PSDrive C, D -> Free (GB).
Lin: df -hT -> Use%.
Ни один критический раздел не должен быть заполнен > 90%.
3. □ Проверить Журналы на Критические Ошибки.
Win: Get-WinEvent -LogName System -Level 2 -MaxEvents 20 --Since (Get-Date).AddHours(-1)
Lin: journalctl -p err -b --since "1 hour ago"
Нет ли "красных" записей, которых не было утром?
4. □ Проверить Подозрительные Входы.
Win: Get-WinEvent -Filter @{LogName='Security'; ID=4625} -MaxEvents 50
Lin: sudo lastb
Нет ли аномального брутфорса с одного IP?
5. □ Проверить Uptime Kuma (или вашу систему мониторинга).
Все сервисы "зеленые"? Все сертификаты SSL действительны?
Взгляд архитектора: Это называется проактивный аудит. Вы не ждете звонка в субботу. Вы тратите 10 минут в пятницу, чтобы предотвратить проблему. Это основа SRE-подхода к стабильности.
#чеклисты #security #windows #linux #audit #sre #sysadmin
Спокойные выходные — это не удача, а результат подготовки.
Прежде чем закрыть ноутбук, каждый админ (а особенно Full-stack) должен потратить 10 минут на этот чек-лист.
1. □ Проверить Бэкапы.
Win: Get-WBJob -Previous 1 -> JobState должен быть Completed.
Lin: Проверить лог вашего скрипта rsync или cron.
2. □ Проверить Место на Диске.
Win: Get-PSDrive C, D -> Free (GB).
Lin: df -hT -> Use%.
Ни один критический раздел не должен быть заполнен > 90%.
3. □ Проверить Журналы на Критические Ошибки.
Win: Get-WinEvent -LogName System -Level 2 -MaxEvents 20 --Since (Get-Date).AddHours(-1)
Lin: journalctl -p err -b --since "1 hour ago"
Нет ли "красных" записей, которых не было утром?
4. □ Проверить Подозрительные Входы.
Win: Get-WinEvent -Filter @{LogName='Security'; ID=4625} -MaxEvents 50
Lin: sudo lastb
Нет ли аномального брутфорса с одного IP?
5. □ Проверить Uptime Kuma (или вашу систему мониторинга).
Все сервисы "зеленые"? Все сертификаты SSL действительны?
Взгляд архитектора: Это называется проактивный аудит. Вы не ждете звонка в субботу. Вы тратите 10 минут в пятницу, чтобы предотвратить проблему. Это основа SRE-подхода к стабильности.
#чеклисты #security #windows #linux #audit #sre #sysadmin
👍2
5 Pentest-инструментов, о которых вы могли не знать
Metasploit и Nmap — это классика.
Архитектор безопасности должен знать, чем дышит атакующий.
Вот 5 тулзов, которые стоит добавить в свой арсенал:
Snaffler (https://github.com/SnaffCon/Snaffler) "Пылесос" для конфиденциальных файлов (web.config, скрипты с паролями) в Windows-доменах.
Infoga (https://github.com/m4ll0k/Infoga) Мощный OSINT-инструмент для сбора информации о почтовых адресах.
Sn1per (https://github.com/1N3/Sn1per) Автоматизированный "комбайн" для разведки и сканирования на уязвимости.
Sliver (https://github.com/BishopFox/sliver) Open-source C2-фреймворк. Гибкая и опасная альтернатива Cobalt Strike.
linPEAS (https://github.com/peass-ng/PEASS-ng/tree/master/linPEAS) Лучший скрипт для поиска путей повышения привилегий (Privilege Escalation) в Linux.
Взгляд архитектора: Лучшая защита — думать как атакующий.
#security #pentest #cybersecurity #linux #windows #гайд
Metasploit и Nmap — это классика.
Архитектор безопасности должен знать, чем дышит атакующий.
Вот 5 тулзов, которые стоит добавить в свой арсенал:
Snaffler (https://github.com/SnaffCon/Snaffler) "Пылесос" для конфиденциальных файлов (web.config, скрипты с паролями) в Windows-доменах.
Infoga (https://github.com/m4ll0k/Infoga) Мощный OSINT-инструмент для сбора информации о почтовых адресах.
Sn1per (https://github.com/1N3/Sn1per) Автоматизированный "комбайн" для разведки и сканирования на уязвимости.
Sliver (https://github.com/BishopFox/sliver) Open-source C2-фреймворк. Гибкая и опасная альтернатива Cobalt Strike.
linPEAS (https://github.com/peass-ng/PEASS-ng/tree/master/linPEAS) Лучший скрипт для поиска путей повышения привилегий (Privilege Escalation) в Linux.
Взгляд архитектора: Лучшая защита — думать как атакующий.
#security #pentest #cybersecurity #linux #windows #гайд
👍2
Критическая RCE-уязвимость в WSUS. Эксплоит уже в сети.
Напарники, все дела на паузу.
Microsoft выпустила внеплановые (out-of-band) обновления для устранения критической уязвимости в Windows Server Update Services (WSUS).
Уязвимость: CVE-2025-59287
Статус: Критический (RCE).
Угроза: Публично доступный PoC-эксплоит.
Что происходит: Удалённый, неаутентифицированный злоумышленник может выполнить произвольный код с правами SYSTEM на вашем WSUS-сервере. Уязвимость "червеобразная" (wormable), то есть может распространяться по сети самостоятельно.
Кого касается: Только тех серверов, где активирована роль WSUS Server Role. Если роли нет — вы в безопасности.
Что делать НЕМЕДЛЕННО: Установить соответствующие кумулятивные обновления. Они уже доступны. Требуется перезагрузка.
Windows Server 2025: KB5070881
Windows Server 23H2: KB5070879
Windows Server 2022: KB5070884
Windows Server 2019: KB5070883
Windows Server 2016: KB5070882
Windows Server 2012 R2: KB5070886
Windows Server 2012: KB5070887
Временные меры (если не можете обновиться ПРЯМО СЕЙЧАС):
Заблокируйте порты 8530 и 8531 на файрволе для всех, кроме доверенных хостов.
Или отключите роль WSUS (крайняя мера). В обоих случаях клиенты перестанут получать обновления.
Взгляд архитектора: Это кошмарный сценарий. Компрометация WSUS — это атака на цепочку поставок (supply chain attack) внутри вашего периметра.
Злоумышленник, получивший SYSTEM на WSUS, может:
Не обновлять ваши ПК, оставляя их уязвимыми.
Хуже: Подсовывать свои "обновления" (вредоносные) всем клиентам в домене.
Этот инцидент — повод для архитектурного аудита: почему к портам управления (8530/8531) вашего WSUS-сервера есть доступ с рабочих станций, а не только из выделенной подсети управления? Сегментация сети — это не опция, а необходимость.
#windows #security #wsus #cybersecurity #musthave #гайд #architect
Напарники, все дела на паузу.
Microsoft выпустила внеплановые (out-of-band) обновления для устранения критической уязвимости в Windows Server Update Services (WSUS).
Уязвимость: CVE-2025-59287
Статус: Критический (RCE).
Угроза: Публично доступный PoC-эксплоит.
Что происходит: Удалённый, неаутентифицированный злоумышленник может выполнить произвольный код с правами SYSTEM на вашем WSUS-сервере. Уязвимость "червеобразная" (wormable), то есть может распространяться по сети самостоятельно.
Кого касается: Только тех серверов, где активирована роль WSUS Server Role. Если роли нет — вы в безопасности.
Что делать НЕМЕДЛЕННО: Установить соответствующие кумулятивные обновления. Они уже доступны. Требуется перезагрузка.
Windows Server 2025: KB5070881
Windows Server 23H2: KB5070879
Windows Server 2022: KB5070884
Windows Server 2019: KB5070883
Windows Server 2016: KB5070882
Windows Server 2012 R2: KB5070886
Windows Server 2012: KB5070887
Временные меры (если не можете обновиться ПРЯМО СЕЙЧАС):
Заблокируйте порты 8530 и 8531 на файрволе для всех, кроме доверенных хостов.
Или отключите роль WSUS (крайняя мера). В обоих случаях клиенты перестанут получать обновления.
Взгляд архитектора: Это кошмарный сценарий. Компрометация WSUS — это атака на цепочку поставок (supply chain attack) внутри вашего периметра.
Злоумышленник, получивший SYSTEM на WSUS, может:
Не обновлять ваши ПК, оставляя их уязвимыми.
Хуже: Подсовывать свои "обновления" (вредоносные) всем клиентам в домене.
Этот инцидент — повод для архитектурного аудита: почему к портам управления (8530/8531) вашего WSUS-сервера есть доступ с рабочих станций, а не только из выделенной подсети управления? Сегментация сети — это не опция, а необходимость.
#windows #security #wsus #cybersecurity #musthave #гайд #architect
🔥2🤯2
Путь Архитектора: 3 ступени от "Исполнителя" к "Стратегу"
Воскресенье — идеальное время, чтобы посмотреть на свою карьеру "сверху". Что отличает "Админа" от "Архитектора"? Это не знание 1000 команд, а способ мышления.
Уровень 1: Исполнитель (Реактивное мышление)
Что делает: Решает проблемы по мере их поступления. "Упал сервер — я его поднял". "Закончилось место — я почистил".
Инструменты: rm, reboot, RDP.
Цель: Закрыть тикет.
Уровень 2: Инженер (Проактивное мышление)
Что делает: Автоматизирует рутину, чтобы проблемы не повторялись. "Написал PowerShell-скрипт для чистки логов". "Настроил LAPS, чтобы пароли были уникальны".
Инструменты: PowerShell, Bash, Ansible, Zabbix.
Цель: Снизить количество тикетов и повысить стабильность.
Уровень 3: Архитектор (Стратегическое мышление)
Что делает: Проектирует системы так, чтобы класс проблем не мог возникнуть в принципе. Он не просто автоматизирует, он задает вопросы "Зачем?".
Пример: Не "как нам бэкапить эту БД?", а "Почему эта БД — единая точка отказа? Не нужна ли нам Geo-репликация, и как это решение повлияет на бизнес-SLA?".
Инструменты: Принципы (IaC, Zero Trust, 12-Factor App), диаграммы, экономическое обоснование (TCO).
Цель: Обеспечить достижение бизнес-целей (рост, отказоустойчивость, безопасность) с помощью технологий.
Взгляд архитектора: "Admin Future" создан, чтобы помочь вам пройти путь с 1-го уровня на 3-й. Мы верим, что каждый админ может стать архитектором, если начнет задавать правильные вопросы.
#architect #career #devops #sre #стратегия #гайд
Воскресенье — идеальное время, чтобы посмотреть на свою карьеру "сверху". Что отличает "Админа" от "Архитектора"? Это не знание 1000 команд, а способ мышления.
Уровень 1: Исполнитель (Реактивное мышление)
Что делает: Решает проблемы по мере их поступления. "Упал сервер — я его поднял". "Закончилось место — я почистил".
Инструменты: rm, reboot, RDP.
Цель: Закрыть тикет.
Уровень 2: Инженер (Проактивное мышление)
Что делает: Автоматизирует рутину, чтобы проблемы не повторялись. "Написал PowerShell-скрипт для чистки логов". "Настроил LAPS, чтобы пароли были уникальны".
Инструменты: PowerShell, Bash, Ansible, Zabbix.
Цель: Снизить количество тикетов и повысить стабильность.
Уровень 3: Архитектор (Стратегическое мышление)
Что делает: Проектирует системы так, чтобы класс проблем не мог возникнуть в принципе. Он не просто автоматизирует, он задает вопросы "Зачем?".
Пример: Не "как нам бэкапить эту БД?", а "Почему эта БД — единая точка отказа? Не нужна ли нам Geo-репликация, и как это решение повлияет на бизнес-SLA?".
Инструменты: Принципы (IaC, Zero Trust, 12-Factor App), диаграммы, экономическое обоснование (TCO).
Цель: Обеспечить достижение бизнес-целей (рост, отказоустойчивость, безопасность) с помощью технологий.
Взгляд архитектора: "Admin Future" создан, чтобы помочь вам пройти путь с 1-го уровня на 3-й. Мы верим, что каждый админ может стать архитектором, если начнет задавать правильные вопросы.
#architect #career #devops #sre #стратегия #гайд
❤2
nmap: Сканер, который должен быть у каждого. Аудит сети глазами админа
Для многих nmap — это "хакерская" утилита. Для инженера — это скальпель для аудита сети. Он нужен, чтобы ответить на вопрос: "Что на самом деле происходит в моей сети?". Это касается и Windows, и Linux админов.
3 команды nmap, которые должен знать каждый:
1. Инвентаризация: "Кто живёт в моей подсети?" Выдайте новый IP-адрес вручную? А вы уверены, что он свободен? nmap найдет все "живые" хосты быстрее, чем ping.
Bash
Идеально, чтобы найти "левые" устройства, подключившиеся к сети.
2. Аудит портов: "Какие службы у меня открыты?" Вы "уверены", что отключили Telnet на всех серверах? Давайте проверим.
Bash
Вывод 23/tcp open telnet — это ваш critical alert.
3. Проверка файрвола: "Мои правила работают?" Это уровень архитектора. Как понять, файрвол дропает (DROP) пакет или отклоняет (REJECT)?
Bash
filtered: Файрвол "тихо" дропает пакет.
unfiltered: Порт доступен, но закрыт.
closed: Пакет дошел, но порт закрыт (вы получили RST в ответ).
Взгляд архитектора: nmap — это инструмент валидации. Вы не "надеетесь", что ваши GPO и iptables работают. Вы проверяете это, глядя на систему "снаружи", глазами злоумышленника.
#linux #windows #networking #security #nmap #audit #команды #гайд
Для многих nmap — это "хакерская" утилита. Для инженера — это скальпель для аудита сети. Он нужен, чтобы ответить на вопрос: "Что на самом деле происходит в моей сети?". Это касается и Windows, и Linux админов.
3 команды nmap, которые должен знать каждый:
1. Инвентаризация: "Кто живёт в моей подсети?" Выдайте новый IP-адрес вручную? А вы уверены, что он свободен? nmap найдет все "живые" хосты быстрее, чем ping.
Bash
# Быстрый "пинг-скан" всей подсети, без сканирования портов
nmap -sn 192.168.1.0/24
Идеально, чтобы найти "левые" устройства, подключившиеся к сети.
2. Аудит портов: "Какие службы у меня открыты?" Вы "уверены", что отключили Telnet на всех серверах? Давайте проверим.
Bash
# Сканируем ТОП-1000 портов на сервере и пытаемся определить версию службы
nmap -sV 192.168.1.10
Вывод 23/tcp open telnet — это ваш critical alert.
3. Проверка файрвола: "Мои правила работают?" Это уровень архитектора. Как понять, файрвол дропает (DROP) пакет или отклоняет (REJECT)?
Bash
# ACK-скан. Помогает понять логику работы файрвола
sudo nmap -sA -p 22,80,443 192.168.1.10
filtered: Файрвол "тихо" дропает пакет.
unfiltered: Порт доступен, но закрыт.
closed: Пакет дошел, но порт закрыт (вы получили RST в ответ).
Взгляд архитектора: nmap — это инструмент валидации. Вы не "надеетесь", что ваши GPO и iptables работают. Вы проверяете это, глядя на систему "снаружи", глазами злоумышленника.
#linux #windows #networking #security #nmap #audit #команды #гайд
👍3
Windows: "Кладбище" GPO. Наводим порядок в Active Directory
Судя по нашему опросу, Windows и AD — ядро нашей аудитории. И вот одна из самых частых "болей": со временем AD превращается в свалку из пустых, отключенных и не прилинкованных групповых политик (GPO).
Это замедляет вход в систему, усложняет аудит и создает хаос.
Этот PowerShell-скрипт — ваша "метла". Он найдет весь этот мусор за вас.
Что делает скрипт:
Получает все GPO в домене.
Находит пустые GPO (в которых нет настроек).
Находит отключенные GPO (которые не применяются).
Находит "сирот" (GPO, которые не прилинкованы ни к одному OU).
Код скрипта:
PowerShell
Взгляд архитектора: Гигиена Active Directory — это фундамент безопасности и производительности. Архитектор не допускает "цифрового мусора". Этот скрипт — ваш первый шаг к автоматизированному аудиту GPO, который должен выполняться по расписанию, а не когда "всё упало".
#windows #powershell #gpo #activedirectory #audit #скрипты #security
Судя по нашему опросу, Windows и AD — ядро нашей аудитории. И вот одна из самых частых "болей": со временем AD превращается в свалку из пустых, отключенных и не прилинкованных групповых политик (GPO).
Это замедляет вход в систему, усложняет аудит и создает хаос.
Этот PowerShell-скрипт — ваша "метла". Он найдет весь этот мусор за вас.
Что делает скрипт:
Получает все GPO в домене.
Находит пустые GPO (в которых нет настроек).
Находит отключенные GPO (которые не применяются).
Находит "сирот" (GPO, которые не прилинкованы ни к одному OU).
Код скрипта:
PowerShell
Import-Module GroupPolicy
Import-Module ActiveDirectory
Write-Host "--- Начинаю аудит GPO в домене... ---" -ForegroundColor Cyan
# 1. Получаем все GPO
$AllGpos = Get-GPO -All
# 2. Ищем пустые GPO (версии User и Computer = 0)
$EmptyGpos = $AllGpos | Where-Object { $_.User.Version -eq 0 -and $_.Computer.Version -eq 0 }
if ($EmptyGpos) {
Write-Host "`n[!!!] НАЙДЕНЫ ПУСТЫЕ GPO (Empty):" -ForegroundColor Yellow
$EmptyGpos | Select-Object DisplayName, Owner
}
# 3. Ищем отключенные GPO
$DisabledGpos = $AllGpos | Where-Object { $_.GpoStatus -ne 'AllSettingsEnabled' }
if ($DisabledGpos) {
Write-Host "`n[!!!] НАЙДЕНЫ ОТКЛЮЧЕННЫЕ GPO (Disabled):" -ForegroundColor Yellow
$DisabledGpos | Select-Object DisplayName, GpoStatus
}
# 4. Ищем GPO без линков (сироты)
$LinkedGpoGuids = (Get-ADOrganizationalUnit -Filter * | Get-GPLink -ErrorAction SilentlyContinue).GpoId
$LinkedGpoGuids += (Get-ADDomain | Get-GPLink -ErrorAction SilentlyContinue).GpoId
$LinkedGpoGuids += (Get-ADSite | Get-GPLink -ErrorAction SilentlyContinue).GpoId
$UnlinkedGpos = $AllGpos | Where-Object { $_.Id -notin $LinkedGpoGuids }
if ($UnlinkedGpos) {
Write-Host "`n[!!!] НАЙДЕНЫ НЕ ПРИЛИНКОВАННЫЕ GPO (Unlinked):" -ForegroundColor Yellow
$UnlinkedGpos | Select-Object DisplayName
}
Write-Host "`n--- Аудит завершен ---"
Взгляд архитектора: Гигиена Active Directory — это фундамент безопасности и производительности. Архитектор не допускает "цифрового мусора". Этот скрипт — ваш первый шаг к автоматизированному аудиту GPO, который должен выполняться по расписанию, а не когда "всё упало".
#windows #powershell #gpo #activedirectory #audit #скрипты #security
👍3🔥2
AD-Безопасность: "У вас zero-day до Domain Admin". Смотрим на свою сеть глазами хакера
Вы думаете, что ваша Active Directory защищена. Вы уверены, что у "Helpdesk" нет прав на контроллере домена.
Злоумышленник так не думает. Он не гадает. Он строит граф атаки.
BloodHound — это не просто "еще один сканер". Это самый мощный и страшный инструмент для аудита AD. Он использует теорию графов, чтобы найти кратчайший путь к правам Domain Admin от любого пользователя в сети.
Как это работает (и почему это страшно):
1. Сбор данных (SharpHound): На целевой машине запускается сборщик, который собирает метаданные: "Кто в какой группе?", "Кто где залогинен?", "Кто имеет права локального админа на каком сервере?".
2. Визуализация (BloodHound GUI): Вы загружаете эти данные и видите... всё.
Типичный путь атаки, который находит BloodHound:
(например)
Ваш Helpdesk-User (низкие права)...
...имеет права RDP на SRV-PRINT...
...на SRV-PRINT сейчас активна сессия SQL-Admin...
...SQL-Admin является локальным админом на WEB-SRV01...
...на WEB-SRV01 в планировщике висит скрипт, который запускается от Domain-Admin.
БИНГО. Путь: Helpdesk -> SRV-PRINT -> SQL-Admin -> WEB-SRV01 -> Domain Admin.
Злоумышленнику остается только пройти по этому пути, собирая учетные данные (Pass-the-Hash, Kerberoasting).
Взгляд архитектора: Вы не можете защитить то, что вы не видите. Архитектор не "надеется", что его модель прав доступа "чистая". Он верифицирует её.
Скачайте BloodHound (https://github.com/BloodHoundAD/BloodHound).
Запустите сборщик SharpHound.
Загрузите данные и найдите свой "кратчайший путь" к Domain Admin.
Это лучшее, что вы можете сделать для безопасности своего AD на этой неделе.
#security #windows #activedirectory #bloodhound #cybersecurity #pentest #architect
Вы думаете, что ваша Active Directory защищена. Вы уверены, что у "Helpdesk" нет прав на контроллере домена.
Злоумышленник так не думает. Он не гадает. Он строит граф атаки.
BloodHound — это не просто "еще один сканер". Это самый мощный и страшный инструмент для аудита AD. Он использует теорию графов, чтобы найти кратчайший путь к правам Domain Admin от любого пользователя в сети.
Как это работает (и почему это страшно):
1. Сбор данных (SharpHound): На целевой машине запускается сборщик, который собирает метаданные: "Кто в какой группе?", "Кто где залогинен?", "Кто имеет права локального админа на каком сервере?".
2. Визуализация (BloodHound GUI): Вы загружаете эти данные и видите... всё.
Типичный путь атаки, который находит BloodHound:
(например)
Ваш Helpdesk-User (низкие права)...
...имеет права RDP на SRV-PRINT...
...на SRV-PRINT сейчас активна сессия SQL-Admin...
...SQL-Admin является локальным админом на WEB-SRV01...
...на WEB-SRV01 в планировщике висит скрипт, который запускается от Domain-Admin.
БИНГО. Путь: Helpdesk -> SRV-PRINT -> SQL-Admin -> WEB-SRV01 -> Domain Admin.
Злоумышленнику остается только пройти по этому пути, собирая учетные данные (Pass-the-Hash, Kerberoasting).
Взгляд архитектора: Вы не можете защитить то, что вы не видите. Архитектор не "надеется", что его модель прав доступа "чистая". Он верифицирует её.
Скачайте BloodHound (https://github.com/BloodHoundAD/BloodHound).
Запустите сборщик SharpHound.
Загрузите данные и найдите свой "кратчайший путь" к Domain Admin.
Это лучшее, что вы можете сделать для безопасности своего AD на этой неделе.
#security #windows #activedirectory #bloodhound #cybersecurity #pentest #architect