NetworkAdmin.ru
Відкрити в Telegram
Авторский блог про сетевое и системное администрирование. Сайт: networkadmin.ru Реклама: @dad_admin Биржа: https://telega.in/c/networkadminru
Показати більше4 723
Підписники
Немає даних24 години
-57 днів
Немає даних30 день
Архів дописів
4 723
🫂 Совместная работа в терминале
screen - отличная утилита для работы в Linux, особенно если хочется сохранить SSH-сессию при разрыве соединения. Но кроме этого, её можно использовать для совместной работы в одной консоли, как аналог TeamViewer/AnyDesk, но для терминала.
▪️ Совместная сессия для одного пользователя. Если два пользователя подключены под одной учетной записью, можно создать общую сессию:
screen -d -m -S shared
Подключаемся к ней с двух терминалов:
screen -x shared
Теперь оба пользователя видят и могут вводить команды в одном терминале.
▪️ Совместная работа для разных пользователей. По умолчанию screen не позволяет шарить сессии между разными пользователями. Нужно немного подготовить систему:
1️⃣ Разрешаем screen запускаться с правами root
chmod u+s $(which screen)
chmod 755 /var/run/screen
rm -fr /var/run/screen/*
2️⃣ Запускаем сессию под root и включаем мультипользовательский режим
screen -d -m -S shared
screen -r shared
Внутри screen включаем доступ для другого пользователя (например, zerox):
Ctrl-a :multiuser on
Ctrl-a :acladd zerox
Теперь пользователь zerox может подключиться к сессии:
screen -x root/shared
3️⃣ Ограничиваем права. По умолчанию пользователь получает полный доступ. Чтобы оставить только режим просмотра:
Ctrl-a :writelock on
#linux #terminal
🧑💻 NetworkAdmin4 723
📅 Как обнаружить бэкдор на Windows-сервере?
1️⃣ Проверяем сетевые подключения. Запущенные соединения покажут активные подключения:
netstat -ano | findstr :3389
Можно искать процессы, слушающие нестандартные порты:
Get-NetTCPConnection | Where-Object { $_.State -eq "Listen" }
Неизвестные процессы, особенно на портах RDP, SSH, HTTP/S - тревожный знак.
2️⃣ Сканируем автозапуск. Бэкдоры часто закрепляются в автозагрузке:
Get-CimInstance Win32_StartupCommand | Select-Object Name, Command, Location
Autoruns от Microsoft покажет больше деталей.
3️⃣ Анализируем активные процессы. Проверяем запущенные процессы и их происхождение:
Get-Process | Sort-Object CPU -Descending
Подозрительные процессы ищем в Task Manager, Process Explorer, проверяем путь C:\Windows\System32\, C:\Users\Public\.
4️⃣ Ищем нестандартные учетные записи
Get-LocalUser | Where-Object { $_.Enabled -eq $true }
Неизвестные администраторы или странные группы – считаем поводом для доп. аудита.
5️⃣ Проверяем планировщик задач. Атакующие могут создать скрытые задания:
Get-ScheduledTask | Where-Object {$_.State -eq "Ready"}
Задачи с cmd.exe, powershell.exe, wscript.exe без явного назначения - подозрительны.
6️⃣ Ищем DLL-инъекции и хуки. Используем Sysinternals Process Explorer, вкладка DLLs.
DLL из Temp, AppData или сторонних каталогов могут быть вредоносными.
7️⃣ Проверяем системные логи. В Event Viewer (Просмотр событий) смотрим разделы:
Security - неудачные попытки входа System - странные ошибки служб Application - нестандартные ошибки
Get-EventLog -LogName Security -Newest 50
Логон с незнакомых IP, массовые ошибки 4625 (неудачные входы) могут указывать на атаку.
8️⃣ Проверяем файловую систему. Сканируем системные каталоги на свежие файлы:
powershell
Get-ChildItem C:\Windows\System32 -Recurse | Sort-Object LastWriteTime -Descending | Select-Object -First 10
Внезапные изменения в System32, Temp, AppData - подозрительны.
#windows #security
🧑💻 NetworkAdmin4 723
⌛️ Автозапуск сервисов в systemd при сбоях
В systemd есть встроенный механизм автоматического перезапуска сервисов при их падении. Управляется это параметром Restart в разделе [Service] unit-файла.
📌 Основные значения Restart
always - перезапуск всегда (даже при корректном завершении) on-success – только если сервис завершился без ошибок on-failure – при ошибках или принудительном завершении (SIGKILL, timeout) on-abnormal – при завершении сигналом или зависании on-abort – если сервис был принудительно завершён on-watchdog – при срабатывании watchdog timeout no – автозапуск отключен (значение по умолчанию)⚙️ Настройка автозапуска сервиса Редактировать основной unit-файл не нужно. Достаточно создать override.conf:
mkdir -p /etc/systemd/system/nginx.service.d
nano /etc/systemd/system/nginx.service.d/override.conf
Добавьте настройки:
[Service]
Restart=always
RestartSec=5s
Примените изменения:
systemctl daemon-reload
Теперь при падении Nginx перезапустится через 5 секунд. Проверка:
systemctl status nginx
kill -9 <PID>
systemctl status nginx
🌟 Когда не стоит включать автозапуск:
1. Базы данных (MySQL, PostgreSQL) – после аварии могут запустить ресурсоёмкое восстановление, которое OOM-killer прервёт, создавая бесконечный цикл.
2. Кластеры (Elasticsearch, Ceph) – возможна рассинхронизация или некорректная работа.
Для веб-серверов (Nginx, Apache), почтовых сервисов (Postfix, Dovecot) и агентов мониторинга (Zabbix Agent) – автозапуск обычно безопасен.
✉️ Оповещения о сбоях
Добавьте в override.conf, чтобы получать уведомления:
[Unit]
OnFailure=your-notify-script.service
Это может быть скрипт с отправкой алерта в Telegram или email.
#linux #systemd
🧑💻 NetworkAdmin4 723
☺️ Смена имени сервера Windows без простоев
Если нужно поменять имя сервера Windows, но при этом обеспечить плавную миграцию клиентов, можно добавить альтернативное имя. Это позволит временно сохранить старое имя, пока все устройства не перейдут на новое.
▪️ В Windows Server сделать это можно с помощью netdom:
netdom computername fs01 /ADD new-fs01.corpdev.loc
Эта команда автоматически создаст CNAME (алиас) в DNS и обновит SPN в Active Directory.
▪️ В Windows 10/11 утилиты netdom нет. Придётся добавить новое имя вручную:
1️⃣ Создать CNAME-запись в DNS;
2️⃣ Добавить имя в реестр (AlternateComputerNames);
3️⃣ Обновить SPN для учётной записи компьютера.
Такой подход поможет избежать сбоев при переходе на новое имя сервера.
#windows
🧑💻 NetworkAdmin4 723
🔓 Как защитить SSH: правильная конфигурация
SSH - важная точка входа в систему, и её безопасность критична. Поговорим про ключевые шаги по защите о которых нужно знать и не забывать.
1️⃣ Отключаем root-доступ. Подключение под root - плохая идея. Запретим его в /etc/ssh/sshd_config:
PermitRootLogin no
2️⃣ Меняем порт. Стандартный порт 22 часто подвергается брутфорсу. Сменим его, например, на 2222:
Port 2222
(Не забудьте открыть новый порт в iptables/firewalld!)
3️⃣ Разрешаем только ключевую аутентификацию. Пароли - уязвимы. Включаем аутентификацию по ключам:
PasswordAuthentication no
PubkeyAuthentication yes
4️⃣ Ограничиваем доступ по IP. Можно ограничить вход только с доверенных IP через AllowUsers или AllowGroups:
AllowUsers user1@192.168.1.100
5️⃣ Включаем Fail2Ban. Автоматическая блокировка брутфорса:
apt install fail2ban # Debian/Ubuntu
yum install fail2ban # CentOS/RHEL
Настроить /etc/fail2ban/jail.local:
[sshd]
enabled = true
maxretry = 3
findtime = 10m
bantime = 1h
6️⃣ Отключаем X11 Forwarding и пустые пароли
X11Forwarding no
PermitEmptyPasswords no
7️⃣ Перезапускаем SSH и проверяем
systemctl restart sshd
sshd -t # Проверка конфигурации на ошибки
#ssh #security
🧑💻 NetworkAdmin4 723
Хотите свести к минимуму риск потери информации?
Тогда ждём вас на вебинаре «Как обеспечить отказоустойчивость хранилищ данных»
В результате вы сможете:
- Разобраться в стратегии репликации, резервного копирования и автоматического фейловера
- Изучить архитектурные решения и инструменты для проектирования систем с высокой доступностью
- Эффективно сохранять данные при сбоях
- Улучшить пользовательский опыт
Будет интересно сисадминам, разработчикам, архитекторам ПО, IT-менеджерам, администраторам БД.
Спикер: Дмитрий Золотов, Kotlin-разработчик в «Яндексе».
Бонус! Всем участникам – скидка 5% на любой курс и гайд «Разбор ошибок: 5 распространённых проблем при проектировании отказоустойчивых хранилищ»
3 апреля, в 19:00 МСК, Бесплатно
Записаться на событие - https://otus.pw/yIYq/?erid=2W5zFGrspU8
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
4 723
📁 Инструмент для бэкапов и миграции Linux-систем
Relax and Recover (ReaR) – бесплатная утилита для создания резервных копий серверов и виртуальных машин с возможностью восстановления через загрузочный ISO. Работает с NFS, SMB, RSYNC или локальными носителями.
⬇️ Установка в Debian
apt install rear genisoimage syslinux nfs-common
⚙️ Пример конфигурации (/etc/rear/local.conf)
OUTPUT=ISO
OUTPUT_URL=nfs://192.168.22.23/backup
BACKUP=NETFS
BACKUP_URL=nfs://192.168.22.23/backup
BACKUP_PROG_EXCLUDE=("${BACKUP_PROG_EXCLUDE[@]}" '/media' '/var/crash')
▪️ Создание резервной копии
rear -v -d mkbackup
На выходе получаем ISO-образ и архив с данными.
▪️ Восстановление
1. Загружаемся с ISO
2. Запускаем восстановление:
rear -v -d recover
3. Ждём автоматического развёртывания системы
📌 Почему стоит взглянуть в сторону ReaR:
Работает без остановки сервера Учитывает разницу гипервизоров (автоматически обновляет настройки сети) Не требует дополнительных агентов и перезагрузок Используется OpenStack и Red Hat OpenStack Platform#backup #linux 🧑💻 NetworkAdmin
4 723
🖥 Как блокировать скрытые туннели в корпоративных сетях
📍 Как работают скрытые туннели? Туннелирование позволяет упаковывать запрещенный трафик в разрешенные протоколы, например:
DNS-туннели (iodine, dnscat2) – передача данных через DNS-запросы ICMP-туннели (ptunnel, Hans) – трафик скрывается в ICMP Echo Request/Reply HTTP/HTTPS-туннели (HTTPTunnel, tunna) – обфускация трафика через веб-запросы TCP/UDP-туннели (sshuttle, UDP2Raw) – маскировка через стандартные порты VPN over TLS (SoftEther, OpenVPN over TCP 443) – имитация обычного HTTPS-трафика▪️ Выявление скрытых туннелей 1️⃣ Анализ аномального трафика Резкое увеличение запросов к внешним DNS-серверам Подозрительная активность ICMP (слишком много echo-request/response) Долгие и нестандартные HTTP-запросы Сессии с высоким временем жизни и постоянным низким трафиком 2️⃣ Используем DPI и сигнатурный анализ Инструменты: Suricata, Zeek, Snort Ищем признаки туннелирования в пакетах и заголовках 3️⃣ Мониторинг нестандартных доменов DNS-туннели часто используют случайные поддомены (например, abcd1234.tunnel.com) Решение: Pi-hole, SecurityTrails, Cisco Umbrella ▪️ Методы блокировки туннелей 1️⃣ Ограничиваем неиспользуемые протоколы Отключаем ICMP для ненужных хостов Запрещаем внешний DNS кроме корпоративного 2️⃣ Включаем строгую политику Firewall Разрешаем выход только через прокси Запрещаем нестандартные порты (например, 53/UDP наружу) 3️⃣ Внедряем DPI (Deep Packet Inspection) Suricata/Snort – анализируем трафик на предмет туннелирования pfSense + Snort – фильтрация и блокировка известных схем туннелирования 4️⃣ Логируем и анализируем поведение пользователей Zeek (Bro) – пассивный мониторинг сетевой активности SIEM-системы (ELK, Splunk, Wazuh) – корреляция подозрительных событий 5️⃣ Запрещаем VPN и прокси через GPO и PAC-скрипты Блокируем OpenVPN, WireGuard, Shadowsocks, SoftEther Настраиваем PAC-файл с жесткими правилами обхода #network #security 🧑💻 NetworkAdmin
4 723
🖥 Docker на Windows Subsystem Linux (WSL2)
Установка Docker Engine в WSL2 позволяет использовать контейнеризацию на Windows 10 и 11 без необходимости установки Docker Desktop. Это полезно для пользователей редакций Windows Home, где Docker Desktop недоступен.
📍 Преимущества использования Docker в WSL2:
Совместимость с Windows Home: Docker Engine работает в WSL2 даже на домашних редакциях Windows. Экономия ресурсов: Отсутствие необходимости в виртуальных машинах Hyper-V снижает потребление оперативной памяти и дискового пространства. Отсутствие лицензионных ограничений: Docker Engine в WSL2 не требует дополнительной лицензии для коммерческого использования.📍 Шаги по установке Docker в WSL2: 1️⃣ Проверьте наличие установленного дистрибутива WSL2 и убедитесь, что используется версия WSL2:
wsl --list
wsl --set-default-version 2```
2️⃣ Запустите дистрибутив Linux (например, Ubuntu):
wsl.exe
3️⃣ Обновите пакеты и установите Docker Engine:
sudo apt-get update && sudo apt-get upgrade -y
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
Предупреждения об установке Docker в среде WSL можно игнорировать.
4️⃣ Добавьте текущего пользователя в группу docker для использования Docker без sudo:
sudo usermod -aG docker $USER
5️⃣ Проверьте успешность установки:
docker --version
docker compose version
6️⃣ Настройте автоматический запуск Docker: Проверьте, включен ли systemd:
cat /etc/wsl.conf
Если нет, добавьте следующие строки:
[boot]
systemd=true
Затем активируйте сервис Docker:
sudo systemctl enable --now docker.service
systemctl status docker.service
7️⃣ Проверьте работу Docker:
docker run hello-world
При успешном выполнении вы увидите приветственное сообщение от Docker.
#docker #windows #WSL2
🧑💻 NetworkAdmin4 723
+4
⚡️ Дождались! Ребята сделали крутейший канал про Linux
Здесь на простых картинках и понятном языке обучают работе с этой ОС, делятся полезными фишками и инструментами
Подписывайтесь: @linuxos_tg
4 723
❓ Как узнать, что за команда выполняется в Linux
При работе в терминале можно столкнуться с командами, о которых мало информации в man-страницах или которые не являются бинарниками. Один из таких примеров -
fc.
▪️ fc vs history. Для просмотра истории команд в Linux обычно используют history, но есть ещё команда fc, которая делает примерно то же самое:
# fc -l -5 # Покажет последние 5 команд
# history 5 # Тоже покажет последние 5 команд
На первый взгляд, непонятно, чем fc лучше или отличается от history. Попробуем разобраться, что это вообще за команда.
▪️ Поиск информации о fc
1️⃣ Проверяем документацию и ищем бинарник:
man fc
No manual entry for fc
which fc
Man-страницы нет и бинарника тоже.
2️⃣ Проверяем, алиас ли это:
alias | grep fc
Нет, алиаса тоже нет.
3️⃣Используем type, чтобы определить природу команды:
type fc
fc is a shell builtin
fc оказывается встроенной командой в оболочку Bash, как и pwd, cd, history, type.
▪️ Как Bash обрабатывает команды? Важно понимать, в каком порядке оболочка ищет и исполняет команды. Bash проверяет их в следующем порядке:
1. Сначала проверяются алиасы.
2. Затем встроенные в оболочку команды.
3. Только потом ищутся бинарники в $PATH (слева направо по списку директорий).
Это объясняет, почему при наличии нескольких версий Python или PHP выполняется конкретная версия – она первая в $PATH.
▪️ Как временно "сломать" команду? Можно использовать алиас, чтобы подменить стандартное поведение команды. Например, так можно отключить history:
alias history='echo "Здесь истории нет"'
history
Здесь истории нет. Теперь history не работает, пока не удалить алиас:
unalias history
Чтобы проверить, какие версии одной и той же команды существуют в системе, используем:
type -a history
history is aliased to `echo "Здесь истории нет"'
history is a shell builtin
#linux #history
🧑💻 NetworkAdmin4 723
✔️ Создание кастомных сигнатур в Suricata и Snort для обнаружения атак
Suricata и Snort - это системы обнаружения и предотвращения вторжений (IDS/IPS), которые используют сигнатуры для детектирования атак. Однако стандартные правила могут не покрывать все возможные угрозы, поэтому часто требуется писать собственные сигнатуры.
▪️ Основы сигнатур в Snort и Suricata. Сигнатура состоит из:
Заголовка (определяет тип трафика)
Опций (описывают условия срабатывания)
Пример базовой сигнатуры:
alert tcp any any -> any 80 (msg:"Possible Web Exploit"; content:"cmd="; nocase; sid:1000001; rev:1;)
alert - срабатывает как оповещение
tcp any any -> any 80 - трафик по TCP с любого IP и порта на любой IP, но только на порт 80
content:"cmd="; nocase; - ищет в пакете строку "cmd=", регистр не учитывается
sid:1000001; - уникальный ID сигнатуры
▪️ Создание кастомных правил. Пример обнаружения возможной атаки SQL Injection:
alert tcp any any -> any 80 (msg:"SQL Injection Attempt"; content:"UNION SELECT"; nocase; sid:1000002; rev:1;)
Если в HTTP-трафике будет найдено UNION SELECT, правило сработает.
Пример сигнатуры для обнаружения SSH-брутфорса (5 неудачных попыток за 60 секунд):
alert tcp any any -> any 22 (msg:"SSH Brute Force Attempt"; flags:S; threshold:type threshold, track by_src, count 5, seconds 60; sid:1000003; rev:1;)
▪️ Добавление сигнатур в Suricata. Открываем файл правил:
nano /etc/suricata/rules/custom.rules
Добавляем сигнатуры и обновляем конфигурацию:
suricata-update
Перезапускаем сервис:
systemctl restart suricata
▪️ Добавление правил в Snort. Открываем файл правил Snort:
nano /etc/snort/rules/local.rules
Добавляем сигнатуру и проверяем конфигурацию:
snort -T -c /etc/snort/snort.conf
Перезапускаем Snort:
systemctl restart snort
#network #security
🧑💻 NetworkAdmin4 723
Observability как культура: как внедрить её в команду?
Приглашаем обсудить это на бесплатном вебинаре от учебного центра Слёрм.
О чем поговорим:
🔸 как убедить команду и руководство в важности observability;
🔸 зачем вообще это внедрять;
🔸 с какими культурными барьерами может столкнуться команда;
🔸 какие практические шаги предпринять, чтобы донести ценность;
🔸 как подготовиться к будущим вызовам.
И, конечно, всеми любимые факапы из реальной жизни — про это мы точно не забудем!
Когда: 1 апреля в 19:30
📌 Занять место на вебинаре — через бота.
4 723
🕹️ Запуск Linux-приложений в Windows через WSL и PowerShell
Windows Subsystem for Linux (WSL) позволяет запускать Linux-приложения прямо в Windows, включая консольные утилиты, серверные сервисы и даже графические программы. Разберём, как настроить WSL и запускать Linux-приложения через PowerShell.
⚙️ Установка WSL. В Windows 10/11 установка WSL довольно простая. Достаточно выполнить:
wsl --install
После этого система скачает и установит последнюю версию Ubuntu. Если WSL уже установлен, можно обновить ядро:
wsl --update
▪️ Запуск Linux-команд в PowerShell. Теперь можно выполнять команды Linux прямо из PowerShell, например:
wsl ls -la
wsl uname -a
wsl cat /etc/os-release
▪️ Запуск приложений из WSL. Чтобы запустить программу из WSL в Windows:
wsl htop # Мониторинг процессов
wsl python3 # Запуск Python
Графические приложения (если установлен WSLg) можно запускать так:
wsl firefox
▪️ Запуск Linux-скриптов в PowerShell. Если у вас есть Bash-скрипт, его можно выполнить прямо из PowerShell:
wsl /bin/bash -c "./myscript.sh"
▪️ Автозапуск WSL при входе в систему. Если нужно автоматически запускать сервисы (например, SSH), можно добавить команду в Task Scheduler или выполнить:
wsl -d Ubuntu -- /etc/init.d/ssh start
#WSL #linux #windows
🧑💻 NetworkAdmin4 723
🚀 Приглашаем на онлайн-курс "CISO / Директор по информационной безопасности" от онлайн-школы OTUS. Станьте лучше самого себя в infosec за 4 месяца! https://otus.pw/r31w/
📅 Старт курса: 27 марта
⏳ Длительность: 4 месяца
👨💻А 24 марта в 20:00 пройдет бесплатный урок "Роль CISO в построении системы информационной безопасности", где вы можете увидеть одного из педагогов курса и задать свои вопросы! Запись: https://otus.pw/r31w/?erid=2W5zFHDNXWp
На открытом уроке мы рассмотрим:
- Элементы системы информационной безопасности;
- Архитектурные принципы и фреймворки;
- Основные стратегии управления рисками;
- Этапы построения системы информационной безопасности;
- Ключевые навыки современного CISO;
- Основы критического мышления и проектной деятельности.
🔎 А что еще можно получить от курса?
✅ Глубокое понимание киберугроз и защиты данных.
✅ Развитие лидерских навыков и управление командами.
✅ Освоение стратегического планирования и бюджетирования ИБ.
✅ Работа с международными стандартами (ISO 27001/27002).
✅ Практическую разработку стратегии кибербезопасности.
🔔 Мы уже ждем тебя в рядах наших учеников!
#реклама
О рекламодателе
4 723
Автоматическое монтирование сетевых папок через GPO
Чтобы автоматически монтировать сетевые папки с файлового сервера в качестве сетевых дисков, можно использовать предпочтения групповых политик (GPP).
📎 Основные возможности:
📍 Подключение сетевых дисков в зависимости от групп безопасности AD.
📍 Автоматическое назначение дисков для отделов и отдельных пользователей.
📍 Возможность подключения личного диска для каждого сотрудника.
👥 Гибкая настройка по группам
Например, можно настроить так, чтобы у всех сотрудников одного отдела автоматически подключалась папка с общими документами. Для этого достаточно добавить пользователя в соответствующую группу AD, и при следующем входе в систему у него появится нужный сетевой диск.
🔒 Персональные диски
Через GPO можно подключать не только общие, но и персональные диски для каждого сотрудника, например, для хранения личных документов.
Такой подход автоматизирует управление сетевыми ресурсами и избавляет от необходимости вручную подключать диски каждому пользователю.
#windows #network
🧑💻 NetworkAdmin
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
