networkadminru | Unsorted

Telegram-канал networkadminru - NetworkAdmin.ru

4722

Авторский блог про сетевое и системное администрирование. Сайт: networkadmin.ru Реклама: @dad_admin Биржа: https://telega.in/c/networkadminru

Subscribe to a channel

NetworkAdmin.ru

❓ Как узнать, что за команда выполняется в 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

Читать полностью…

NetworkAdmin.ru

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

Читать полностью…

NetworkAdmin.ru

Автоматическое монтирование сетевых папок через GPO

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

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

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

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

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

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

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

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

#windows #network

🧑‍💻 NetworkAdmin

Читать полностью…

NetworkAdmin.ru

🗑 Восстановление случайно удаленных файлов в 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

Читать полностью…

NetworkAdmin.ru

🫂 Ограничение на количество сетевых подключений в Windows

В десктопных версиях Windows 10 и 11 существует лимит на максимальное количество одновременных сетевых подключений – 20 активных сессий. Если этот предел превышен (например, при расшаривании папки или сетевого принтера), появляется ошибка:

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


▪️ Почему так происходит?

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

▪️ Управление сетевыми сессиями

Просмотр активных подключений:


net session


Отключение всех сессий с конкретного IP:


net session \\192.168.21.11 /d /y


Сокращение таймаута автоматического отключения неактивных клиентов (по умолчанию 15 минут, можно снизить до 5):


net config server /autodisconnect:5


▪️ Автоматическое отключение сессий через PowerShell. Можно настроить мониторинг активных подключений и отключение при превышении лимита, как пример:


$maxSessions = 18 # Устанавливаем порог (лучше немного ниже лимита)
$activeSessions = (query session 2>$null | Measure-Object -Line).Lines

if ($activeSessions -ge $maxSessions) {
Write-Host "Превышено допустимое количество подключений! Отключаем неактивные сессии..."
Get-CimInstance Win32_ServerConnection | ForEach-Object {
Net Session \\$_.ComputerName /DELETE /Y
Write-Host "Отключена сессия с $_.ComputerName"
}
} else {
Write-Host "Текущих подключений: $activeSessions. Все в пределах нормы."
}


Этот скрипт:

Проверяет количество активных подключений.
Если превышен заданный порог (например, 18 сессий), он отключает неактивные.
Выводит информацию в консоль.

Добавить исполнение в планировщик:


schtasks /create /tn "AutoCloseSessions" /tr "powershell.exe -File C:\Scripts\AutoCloseSessions.ps1" /sc minute /mo 5 /ru SYSTEM


#windows #sessions

🧑‍💻 NetworkAdmin

Читать полностью…

NetworkAdmin.ru

🤢 Удобный инструмент для резервного копирования и восстановления Linux

Если вы ищете простой и надежный способ бэкапа и восстановления Linux-систем, попробуйте ReaR (Relax and Recover). Этот инструмент позволяет создавать резервные копии как физических серверов, так и виртуальных машин, формируя загрузочный ISO-образ и архив данных.

▪️ Установка ReaR в Debian. ReaR есть в стандартных репозиториях, так что установка проходит просто:


apt install rear genisoimage syslinux nfs-common


▪️ Как работает ReaR:

1️⃣ Создаёт загрузочный ISO-образ
2️⃣ Архивирует данные в tar
3️⃣ Позволяет восстановить систему через ISO + архив

Этот метод удобен, так как не требует остановки системы и работает без установки дополнительных агентов.

▪️ Пример настройки. Конфиг /etc/rear/local.conf для сохранения бэкапа на NFS:


OUTPUT=ISO
OUTPUT_URL=nfs://192.168.13.50/backup
BACKUP=NETFS
BACKUP_URL=nfs://192.168.13.50/backup
BACKUP_PROG_EXCLUDE=("${BACKUP_PROG_EXCLUDE[@]}" '/media' '/var/crash')


Запуск бэкапа:


rear -v -d mkbackup


На выходе получаем файлы:


backup.tar.gz, rear-debian.iso, README


▪️ Восстановление системы. Загружаемся с созданного ISO

Запускаем восстановление:


rear -v -d recover


ReaR автоматически восстанавливает разметку дисков, LVM, файловые системы и сетевые настройки.

#linux #backup

🧑‍💻 NetworkAdmin

Читать полностью…

NetworkAdmin.ru

Отправлен ПАКЕТ с молоком по IP и поиск по МАСлу 🧐

#юмор

🧑‍💻 NetworkAdmin

Читать полностью…

NetworkAdmin.ru

🕹️ Запуск 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

🧑‍💻 NetworkAdmin

Читать полностью…

NetworkAdmin.ru

🔍 Диагностика дисковой подсистемы с 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

Читать полностью…

NetworkAdmin.ru

🚫 Техники блокировки сайтов и приложений через 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

Читать полностью…

NetworkAdmin.ru

Похоже на массовый сбой 🧐

#юмор

🧑‍💻 NetworkAdmin

Читать полностью…
Subscribe to a channel