NetworkAdmin.ru – Telegram
NetworkAdmin.ru
4.75K subscribers
226 photos
25 videos
2 files
499 links
Авторский блог про сетевое и системное администрирование.

Сайт: networkadmin.ru
Реклама: @dad_admin
Биржа: https://telega.in/c/networkadminru
Download Telegram
🚫 Техники блокировки сайтов и приложений через GPO и PowerShell

В корпоративной среде возникают задачи ограничения доступа к определенным сайтам и приложениям. В Windows это можно реализовать несколькими способами: через GPO (Group Policy Object), PowerShell, брандмауэр (Windows Firewall) и DNS-фильтрацию. Сегодня разберем эти методы блокировки.

▪️ Блокировка сайтов через GPO (Group Policy Object). Этот метод подойдет для централизованного управления в домене Active Directory.

📍 Запрещаем доступ к сайтам через Internet Explorer/Edge:

1️⃣ Открываем gpedit.msc (или gpmc.msc для домена).
2️⃣ Переходим в:

Конфигурация пользователя → Политики → Административные шаблоны → Компоненты Windows → Internet Explorer → Панель управления Интернет-параметрами


3️⃣ Включаем политику "Ограничить доступ к определенным веб-сайтам" и добавляем запрещенные URL.

📍 Запрещаем сайты через "Файл хостов": Чтобы вручную перенаправить сайты на локальный IP, можно использовать GPO + скрипт PowerShell:


Set-Content -Path "C:\Windows\System32\drivers\etc\hosts" -Value "127.0.0.1 vk.com`n127.0.0.1 youtube.com" -Force


Этот скрипт можно развернуть через GPO при входе пользователя в систему.

▪️ Блокировка сайтов через PowerShell и Windows Firewall. Этот метод позволяет запретить доступ ко всем браузерам к указанным сайтам.

Добавляем правило в брандмауэр Windows для блокировки сайтов:


New-NetFirewallRule -DisplayName "Block Facebook" -Direction Outbound -Action Block -RemoteAddress "157.240.0.0/16"


Этот метод хорош тем, что работает даже в Chrome, Yandex и других браузерах.

📍 Автоматическое определение IP-адресов сайтов:


$ips = [System.Net.Dns]::GetHostAddresses("youtube.com") | Select-Object IPAddressToString
New-NetFirewallRule -DisplayName "Block YouTube" -Direction Outbound -Action Block -RemoteAddress $ips.IPAddressToString


▪️ Блокировка приложений через GPO. Запрещаем запуск программ по имени:

1️⃣ Открываем gpedit.msc
2️⃣ Переходим в:

Конфигурация пользователя → Административные шаблоны → Система


3️⃣ Включаем политику "Не запускать указанные приложения Windows"
4️⃣ Добавляем chrome.exe, telegram.exe и другие запрещенные программы.

📍 Запрещаем запуск по пути: Если нужно заблокировать запуск из определенного каталога, можно использовать GPO:

Конфигурация компьютера → Политики → Настройки Windows → Параметры безопасности → Политики ограничения программ
Добавляем правило для C:\Users*\AppData\Local\Telegram Desktop.


▪️ Блокировка приложений через PowerShell. Автоматическое завершение процессов запрещенных программ:


$blockedApps = @("telegram.exe", "chrome.exe", "utorrent.exe")
while ($true) {
Get-Process | Where-Object { $_.ProcessName -in $blockedApps } | Stop-Process -Force
Start-Sleep -Seconds 5
}


Этот скрипт можно добавить в автозагрузку через GPO или Task Scheduler.

📍 Запрещение установки определенных программ:


New-AppLockerPolicy -Xml "C:\Policies\AppLocker.xml" -RuleCollectionType Executable


Можно указать список разрешенных программ, и все остальные просто не запустятся.

#windows #security

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
🗑 Восстановление случайно удаленных файлов в ext4 и XFS

Удаление файлов - дело секундное, но восстановление их может быть нетривиальной задачей. В файловых системах ext4 и XFS удаленные файлы могут оставаться на диске до тех пор, пока их блоки не будут перезаписаны. Поговорим про основные способы восстановления.

1️⃣ Восстановление в ext4 с помощью extundelete. extundelete позволяет восстановить файлы, если файловая система не была перезаписана.

Установка:


sudo apt install extundelete


Размонтируем диск (например, /dev/sdb1):


sudo umount /dev/sdb1


Восстановим все удаленные файлы:


sudo extundelete /dev/sdb1 --restore-all


Или восстановим конкретный файл:


sudo extundelete /dev/sdb1 --restore-file /home/user/deleted.txt


Файлы будут сохранены в каталоге RECOVERED_FILES.

2️⃣ Поиск удаленных файлов в ext4 с помощью debugfs. Если extundelete не сработал, можно использовать debugfs:

Открываем диск:


sudo debugfs /dev/sdb1


Показываем последние удаленные файлы:


lsdel


Восстанавливаем файл по inode:


dump <номер inode> recovered_file.txt


3️⃣ Восстановление файлов в XFS с помощью xfs_undelete. В XFS механизм хранения данных отличается, но можно воспользоваться xfs_undelete.

Установим утилиту:


git clone https://github.com/ianka/xfs_undelete.git
cd xfs_undelete
make
sudo make install


Запускаем сканирование диска и восстановление файлов:


sudo xfs_undelete -d /dev/sdb1 -o /mnt/recovery


Все найденные файлы окажутся в /mnt/recovery.

#linux #recovery

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
🔍 Диагностика дисковой подсистемы с ioping

ioping - это удобный инструмент для проверки производительности дисков в Linux. Работает по принципу ping, но для дисковой подсистемы: позволяет измерить задержки ввода-вывода (I/O latency), IOPS и скорость последовательного чтения. Утилита есть в стандартных репозиториях большинства дистрибутивов.

🔧 Установка ioping


sudo apt install ioping#для Debian/Ubuntu
sudo yum install epel-release && sudo yum install ioping#для CentOS
sudo pacman -S ioping#для Arch Linux


🛠 Основные команды диагностики

1️⃣ Проверка задержки дисковой операции (I/O latency). Запустим ioping в текущей директории:


ioping .

4 KiB <<< . (ext4 /dev/sda2 19.0 GiB): request=3 time=3.54 ms
4 KiB <<< . (ext4 /dev/sda2 19.0 GiB): request=4 time=3.68 ms


Это аналог ping, но показывает время выполнения дисковых операций.

2️⃣ Измерение среднего количества IOPS (операций ввода-вывода в секунду)


ioping -R /dev/sda

21.6 k requests completed in 2.93 s, 84.5 MiB read, 7.38 k iops, 28.8 MiB/s


Параметры:

-R - стресс-тест диска для оценки его IOPS.
-c 10 - ограничение на 10 запросов (по умолчанию тест идет бесконечно).

3️⃣ Тестирование последовательного чтения


ioping -RL /dev/sda

8.63 k requests completed in 2.79 s, 2.11 GiB read, 3.10 k iops, 774.3 MiB/s


Параметры:

-RL - измерение скорости последовательного чтения.
-s 64k - размер блока (по умолчанию 4 KiB).

4️⃣ Тестирование задержек в оперативной памяти (RAM)


ioping -c 10 -D /tmp


Флаг -D указывает ioping работать в RAM-диске /tmp, что полезно для диагностики производительности оперативной памяти.

🔥 Полезные опции

-c N - ограничение на N запросов.
-s SIZE - размер блока (по умолчанию 4 KiB).
-q - тихий режим, без вывода каждого запроса.
-i TIME - интервал между запросами (например, -i 0.2s).
-B - вывод в формате CSV (удобно для логов).


#linux #ioping #storage

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
Автоматическое монтирование сетевых папок через GPO

Чтобы автоматически монтировать сетевые папки с файлового сервера в качестве сетевых дисков, можно использовать предпочтения групповых политик (GPP).

📎 Основные возможности:

📍 Подключение сетевых дисков в зависимости от групп безопасности AD.
📍 Автоматическое назначение дисков для отделов и отдельных пользователей.
📍 Возможность подключения личного диска для каждого сотрудника.

👥 Гибкая настройка по группам

Например, можно настроить так, чтобы у всех сотрудников одного отдела автоматически подключалась папка с общими документами. Для этого достаточно добавить пользователя в соответствующую группу AD, и при следующем входе в систему у него появится нужный сетевой диск.

🔒 Персональные диски

Через GPO можно подключать не только общие, но и персональные диски для каждого сотрудника, например, для хранения личных документов.

Такой подход автоматизирует управление сетевыми ресурсами и избавляет от необходимости вручную подключать диски каждому пользователю.

#windows #network

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11😁1
🕹️ Запуск 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 "./mynoscript.sh"


▪️ Автозапуск WSL при входе в систему. Если нужно автоматически запускать сервисы (например, SSH), можно добавить команду в Task Scheduler или выполнить:


wsl -d Ubuntu -- /etc/init.d/ssh start


#WSL #linux #windows

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍172
✔️ Создание кастомных сигнатур в 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

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
Отправлен ПАКЕТ с молоком по IP и поиск по МАСлу 🧐

#юмор

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
😁29👍3🤔1
Как узнать, что за команда выполняется в 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

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥21🤔1
Как-будто вчера..

#юмор

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
😁264👍2😢2💊1
🖥 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

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
Слушаем?

#юмор

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
😁30🔥4💩4👍1🤡1
🖥 Как блокировать скрытые туннели в корпоративных сетях

📍 Как работают скрытые туннели? Туннелирование позволяет упаковывать запрещенный трафик в разрешенные протоколы, например:

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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14👎4🤡2🔥1
📁 Инструмент для бэкапов и миграции 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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19
🔓 Как защитить 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

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍271🤡1
This media is not supported in your browser
VIEW IN TELEGRAM
- Сыграл бы?
- Играл бы каждый день!

#юмор

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20😱10👎5
☺️ Смена имени сервера 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

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17
⌛️ Автозапуск сервисов в 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-noscript.service


Это может быть скрипт с отправкой алерта в Telegram или email.

#linux #systemd

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍181
📅 Как обнаружить бэкдор на 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, wnoscript.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

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍221
🫂 Совместная работа в терминале

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

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍111
👀 Анализ логов Windows с PowerShell и LogParser

1️⃣ Анализ логов через PowerShell. PowerShell позволяет извлекать события из журнала Windows через Get-WinEvent или Get-EventLog.

📍 Пример 1: Найти все неудачные попытки входа (Event ID 4625):


Get-WinEvent -LogName Security | Where-Object { $_.Id -eq 4625 } | Select-Object TimeCreated, Id, Message


📍 Пример 2: Вывести последние 10 ошибок из системного журнала:


Get-WinEvent -LogName System -MaxEvents 10 | Where-Object { $_.Level -eq 2 }


📍 Пример 3: Фильтрация по дате и пользователю:


$start = (Get-Date).AddDays(-1) # Логи за последние 24 часа
Get-WinEvent -LogName Security | Where-Object { $_.TimeCreated -ge $start -and $_.Message -match "admin" }


PowerShell удобен, но не всегда эффективен при анализе больших логов. Тут поможет LogParser.

2️⃣ LogParser: SQL-запросы к логам Windows. LogParser - инструмент от Microsoft, который позволяет выполнять SQL-запросы к журналам событий, файлам и даже реестру.

⚙️ Установка: Скачиваем LogParser с официального сайта Microsoft и устанавливаем.

📍 Пример 1: Вывести все ошибки из системного журнала:


LogParser.exe "SELECT TimeGenerated, EventID, Message FROM System WHERE EventType = 1" -i:EVT


📍 Пример 2: Найти неудачные попытки входа:


LogParser.exe "SELECT TimeGenerated, SID, Message FROM Security WHERE EventID = 4625" -i:EVT


📍 Пример 3: Вывести топ-10 процессов, потребляющих ресурсы:


LogParser.exe "SELECT TOP 10 Image, COUNT(*) AS Hits FROM 'C:\Windows\System32\winevt\Logs\Application.evtx' GROUP BY Image ORDER BY Hits DESC" -i:EVT


LogParser умеет анализировать не только логи, но и файлы CSV, IIS-логи, текстовые файлы и даже WMI-запросы.

#windows #logs

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
🗑 Microsoft: старый ПК с Windows 10 нужно утилизировать, если его невозможно обновить до Windows 11

Microsoft выпустила чек-лист по подготовке к окончанию поддержки Windows 10 - это произойдёт 14 октября 2025 года. Если кратко, то пользователей ждёт развилка из двух дорог.

Первый путь - обновление до Windows 11, если «железо» ещё тянет.
Второй - расстаться с компьютером (утилизировать), если он не соответствует требованиям новой ОС.

---

Приму в дар вашу технику, не соответствующую новым требованиям Microsoft 😁

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
😁39🤡10🔥4👍2