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
✔️ Создание кастомных сигнатур в 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
💎 Как правильно настроить SNMP для мониторинга сети

SNMP (Simple Network Management Protocol) - один из самых популярных протоколов для мониторинга сетевого оборудования, серверов и рабочих станций. Он позволяет получать данные о загрузке процессора, памяти, сетевых интерфейсах и многом другом. Однако, неправильная настройка SNMP может стать уязвимостью в системе. Разберем, как его правильно настроить.

1️⃣ Выбор версии SNMP. Существует три версии протокола:

SNMPv1 – устаревшая, передает данные в открытом виде (НЕ рекомендуется).
SNMPv2c – улучшенная версия, но всё еще без шифрования.
SNMPv3 – наиболее безопасная, поддерживает аутентификацию и шифрование (РЕКОМЕНДУЕТСЯ).


Для безопасного мониторинга лучше взять SNMPv3 с аутентификацией и шифрованием.

2️⃣ Настройка SNMP на Linux. Установка SNMP-сервера (snmpd)


sudo apt install snmp snmpd -y # Для Debian/Ubuntu
sudo yum install net-snmp net-snmp-utils -y # Для CentOS/RHEL


Редактирование конфигурации (/etc/snmp/snmpd.conf)

📍 Оставляем только нужные OID и включаем SNMPv3:


agentAddress udp:161,udp6:[::1]:161
rocommunity public default -V systemonly
sysLocation "Server Room"
sysContact "admin@networkadmin.ru"


📍 Перезапускаем службу:


sudo systemctl restart snmpd
sudo systemctl enable snmpd


📍 Проверяем работу SNMP:


snmpwalk -v2c -c public 127.0.0.1


3️⃣ Настройка SNMP на Windows. Установка SNMP

Для Windows 10/11 и Windows Server:


Enable-WindowsOptionalFeature -Online -FeatureName SNMP


Затем включите службу в services.msc и настройте параметры в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP через реестр.

4️⃣ Ограничение доступа по IP и Firewall. Чтобы SNMP не стал уязвимостью, ограничиваем доступ к нему.

На Linux (iptables/firewalld):


iptables -A INPUT -p udp --dport 161 -s 192.168.1.0/24 -j ACCEPT
iptables -A INPUT -p udp --dport 161 -j DROP


На Windows:


New-NetFirewallRule -DisplayName "Allow SNMP" -Direction Inbound -Protocol UDP -LocalPort 161 -Action Allow -RemoteAddress 192.168.1.0/24


5️⃣ Мониторинг с помощью SNMP. Для сбора данных через SNMP можно использовать:

Zabbix
LibreNMS
Telegraf + InfluxDB + Grafana
snmpwalk/snmpget


Пример запроса данных с устройства:


snmpget -v2c -c public 192.168.1.1 .1.3.6.1.2.1.1.5.0


#SNMP #linux #windows #monitoring

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
Попался

#юмор

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
😁14💊4👍1
✏️ Логи Nginx в JSON: удобство и гибкость

По умолчанию Nginx ведёт логи в текстовом формате, но уже давно умеет писать их в JSON. Однако, в большинстве конфигураций всё ещё используются старые текстовые логи. Если вы до сих пор не перешли на JSON, самое время это сделать – его проще анализировать вручную и обрабатывать в автоматизированных системах.

⚙️ Настройка JSON-логов в Nginx. Включить JSON-формат просто – достаточно добавить новую директиву log_format в конфигурационный файл:


log_format json_combined escape=json '{'
'"time_local":"$time_local",'
'"remote_addr":"$remote_addr",'
'"remote_user":"$remote_user",'
'"request":"$request",'
'"status":"$status",'
'"body_bytes_sent":"$body_bytes_sent",'
'"request_time":"$request_time",'
'"http_referrer":"$http_referer",'
'"http_user_agent":"$http_user_agent"'
'}';


Добавляем в http { } или в настройки виртуального хоста:


access_log /var/log/nginx/access.log json_combined;


После перезапуска Nginx сервер начнёт записывать логи в JSON.

🌟 Почему это удобно?

Если вы используете Zabbix, ELK (Elasticsearch + Logstash + Kibana), Grafana или другие системы мониторинга – обработка JSON-логов упростится, так как для него уже есть готовые парсеры.


Но даже в консоли JSON-логи обрабатывать намного удобнее с помощью jq:

▪️ Вывод всех логов в формате JSON:


jq '.' access.log


▪️ Список всех запрашиваемых URL:


jq '.request' access.log


▪️ Фильтр по коду ответа 404 (показывает всю запись):


jq '. | select(.status=="404")' access.log


▪️ Вывод только URL с кодом 404:


jq '. | select(.status=="404") | .request' access.log


▪️ Добавляем к URL ещё и время запроса:


jq '. | select(.status=="404") | .time_local, .request' access.log


▪️ Вывод значений без кавычек (флаг -r):


jq -r '.request' access.log


🌟 Дополнительные переменные для логов. К стандартным переменным можно добавить полезные параметры:

Метрики запроса и прокси-серверов:

$request_length – длина запроса
$upstream_addr – адрес upstream-сервера
$upstream_status – HTTP-ответ от upstream
$upstream_response_time – время ответа backend'а
$upstream_connect_time – время установки соединения с upstream
$upstream_header_time – время получения HTTP-заголовков от upstream


Безопасность и TLS:

$server_name – имя виртуального хоста
$ssl_protocol – используемый TLS-протокол
$ssl_cipher – алгоритм шифрования


#Nginx #JSON

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍2
🚫 Как полностью удалить OneDrive из Windows 10/11

OneDrive предустановлен во всех версиях Windows 10 и 11, интегрирован в систему и запускается автоматически при входе в систему. По умолчанию OneDrive устанавливается отдельно для каждого пользователя в его профиле: %localappdata%\Microsoft\OneDrive. Если OneDrive вам не нужен, его можно удалить, но важно сделать это для всех пользователей, включая будущие учетные записи.

▪️ Удаление OneDrive для всех пользователей

1️⃣ Остановите и удалите клиент OneDrive:


taskkill /f /im OneDrive.exe

%SystemRoot%\System32\OneDriveSetup.exe /uninstall


2️⃣ Удалите остатки файлов и папок:


rd "%UserProfile%\OneDrive" /Q /S
rd "%LocalAppData%\Microsoft\OneDrive" /Q /S
rd "%ProgramData%\Microsoft OneDrive" /Q /S


3️⃣ Очистите записи в реестре:


reg delete "HKEY_CURRENT_USER\Software\Microsoft\OneDrive" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OneDrive" /f


▪️ Запрещение установки OneDrive для новых пользователей. Чтобы OneDrive не устанавливался автоматически при создании новых учетных записей, нужно удалить соответствующую запись из реестра шаблонного профиля Default:


reg load "HKU\Default" "C:\Users\Default\NTUSER.DAT"
reg delete "HKEY_USERS\Default\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "OneDriveSetup" /f
reg unload "HKU\Default"


Теперь новые пользователи на этом компьютере не получат OneDrive в своих профилях.

#windows #OneDrive

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍293🔥3
👀 Контроль сетевого трафика в Linux с помощью eBPF и XDP

Современные нагрузки требуют высокой производительности сетевых решений, а классические инструменты вроде iptables и nftables уже не всегда справляются. Здесь на сцену выходят eBPF (Extended Berkeley Packet Filter) и XDP (eXpress Data Path) - технологии для глубокой фильтрации и анализа трафика прямо в ядре Linux.

🌟 Что это такое?

eBPF - механизм в ядре Linux, позволяющий безопасно выполнять программы в режиме ядра без изменения исходного кода. Используется для фильтрации пакетов, мониторинга, трассировки и профилирования системы.

XDP - подсистема ядра Linux, основанная на eBPF, позволяющая обрабатывать пакеты на самом раннем этапе их поступления в систему (на уровне драйвера сетевой карты).


▪️ Как использовать eBPF и XDP для анализа трафика? Для работы с eBPF можно использовать утилиты bpftool и bcc (BPF Compiler Collection).

1️⃣ Установим необходимые пакеты:


sudo apt install -y bpfcc-tools linux-headers-$(uname -r) #на Debian/Ubuntu
sudo dnf install -y bpftool bcc #на RHEL/Fedora


2️⃣ Запустим мониторинг пакетов с eBPF:


sudo /usr/sbin/tc qdisc add dev eth0 clsact
sudo /usr/sbin/tc filter add dev eth0 egress bpf direct-action obj xdp_prog_kern.o


Это позволит анализировать выходящий трафик с интерфейса eth0.

3️⃣ Фильтрация пакетов с помощью XDP. Простейший eBPF-программы для отбрасывания пакетов (пример на C):


#include <linux/bpf.h>
int xdp_drop(struct __sk_buff *skb) {
return XDP_DROP; // Отбрасываем пакет
}


Компилируем и загружаем программу в XDP:


clang -O2 -target bpf -c xdp_drop.c -o xdp_drop.o
sudo ip link set dev eth0 xdp obj xdp_drop.o


Теперь весь трафик на интерфейсе eth0 будет блокироваться на уровне драйвера.

⭐️ Где применяют eBPF и XDP?

DDoS-защита - можно отбрасывать вредоносный трафик без нагрузки на процессор.
Балансировка нагрузки - построение L4-L7 балансировщиков без iptables.
Мониторинг сети - сбор детальной статистики по пакетам в реальном времени.


Примеры таких решений: Cilium, Suricata, Falco, Katran (Facebook), XDP Firewall.

#linux #eBPF #XDP

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12