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
Как узнать, кто активно использует swap в Linux?

1️⃣ Проверка через top. В top по умолчанию нет колонки с использованием swap, но её можно включить:

1. Откройте top
2. Нажмите f, затем выберите Swap (s)
3. Подтвердите q - появится колонка с потреблением swap

Однако top не всегда корректно отображает эти данные, поэтому в htop колонку со swap вовсе убрали, чтобы не вводить пользователей в заблуждение.

2️⃣ Точный способ через /proc. Более надёжный способ – заглянуть в файлы /proc/$PID/smaps или /proc/$PID/status:

/proc/$PID/smaps – самый точный, но требует сложных вычислений
/proc/$PID/status – содержит суммарное значение в поле VmSwap, удобнее для быстрого анализа

✏️ Bash-скрипт для проверки. Можно использовать простой скрипт, который покажет, какие процессы активно используют swap:


#!/bin/bash
SUM=0
OVERALL=0
for DIR in $(find /proc/ -maxdepth 1 -type d -regex "^/proc/[0-9]+"); do
PID=$(basename $DIR)
PROGNAME=$(ps -p $PID -o comm --no-headers)
for SWAP in $(grep VmSwap $DIR/status 2>/dev/null | awk '{ print $2 }'); do
let SUM=$SUM+$SWAP
done
if (( $SUM > 0 )); then
echo "PID=$PID swapped $SUM KB ($PROGNAME)"
fi
let OVERALL=$OVERALL+$SUM
SUM=0
done
echo "Overall swap used: $OVERALL KB"


Этот скрипт проверяет VmSwap для каждого процесса и выводит общий объём использованного swap.

🌟 Быстрая проверка в одну команду. Если нет желания писать скрипты, можно просто выполнить:


for file in /proc/*/status; do
awk '/VmSwap|Name/{printf $2 " " $3} END { print ""}' $file
done | sort -k 2 -n -r | less


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

#linux #swap #monitoring

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍104
✉️ Бэкап почты через imap-backup: сохраняем письма локально

imap-backup - удобный инструмент для скачивания писем из любого IMAP ящика и сохранения их локально в формате mbox.

▪️ Когда это может пригодиться?

Перенос почты: например, если нужно забрать письма из облачного сервиса.
Архивирование старых писем: можно скачать только письма за последние 3 года (или другой период) и хранить их локально.
Бэкап на случай утери доступа к облачным ящикам.


▪️ Установка imap-backup. Программа написана на Ruby, так что проще всего установить её через gem:


apt install rubygems -y
gem install imap-backup


▪️ Настройка. После установки можно выполнить первоначальную настройку через команду:


imap-backup setup


Или создать конфиг вручную (~/.imap-backup/config.json). Пример для Яндекса:


{
"version": "2.0",
"accounts": [
{
"username": "zabbix@networkadmin.ru",
"password": "pass",
"local_path": "/root/.imap-backup/zabbix_networkadmin.ru",
"folders": [],
"server": "imap.yandex.ru"
}
]
}


⚠️ Для доступа по IMAP в настройках почтового ящика нужно создать пароль для приложения.

▪️ Как это работает?

imap-backup скачивает письма в отдельный каталог.
Каждая IMAP-папка - это отдельный файл mbox.
Формат mbox можно легко открыть в Thunderbird с помощью ImportExportTools NG.

#backup #email

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18
Это была непростая задача, но он справился 😏

#юмор

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
😁21🔥19👍2🤡2
👤 Добавление фото пользователя в Active Directory

В Active Directory можно хранить фото пользователей, которое затем отображается в Outlook, Word, Excel, Lync, SharePoint и даже используется в качестве аватарки в Windows.

💡 Фото хранится прямо в AD, поэтому не стоит загружать слишком большие изображения, чтобы избежать лишней нагрузки на каталог.

📌 Рекомендуемый размер - 96x96 пикселей, до 10 Кб.

▪️ Как загрузить фото в AD через PowerShell? Используем командлет Set-ADUser:


$photo = [byte[]](Get-Content C:\PS\admin_photo.jpg -Encoding byte)
Set-ADUser vvkuzmin -Replace @{thumbnailPhoto=$photo}


Теперь фото появится в поддерживаемых приложениях и в системе.

#windows #activedirectory

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
🖥 Chisel: проброс TCP/UDP-трафика через HTTP-туннели

Chisel - это удобный инструмент для создания HTTP-туннелей и проброса трафика через ограниченные сети. Он позволяет прокидывать TCP/UDP-соединения через HTTP/HTTPS, обходя firewall'ы и NAT. Полезен для удалённого администрирования, тестирования безопасности и обхода сетевых ограничений.

▪️ Особенности Chisel

🔹 Поддерживает двухсторонние TCP и UDP туннели
🔹 Работает через HTTP и HTTPS (можно замаскировать под веб-трафик)
🔹 Поддерживает авторизацию через ключи
🔹 Кроссплатформенный: Windows, Linux, macOS

▪️ Как использовать Chisel?

1️⃣ Запускаем сервер на машине с внешним IP:


chisel server --port 8080 --reverse


2️⃣ Подключаем клиента для проброса порта (например, RDP 3389) на удалённый сервер:


chisel client http://server-ip:8080 R:3389:127.0.0.1:3389


Теперь можно подключаться к удалённому серверу по localhost:3389.

#network

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍16🔥4👌1
📎 Оптимизация работы с Bash-скриптами: функции, массивы, работа с JSON

1️⃣ Функции - пишем код повторно. Функции позволяют избежать дублирования кода и делают скрипты более читаемыми.

Пример функции с аргументами:


#!/bin/bash

log_message() {
local level="$1"
local message="$2"
echo "[$level] $message"
}

log_message "INFO" "Скрипт запущен"
log_message "ERROR" "Произошла ошибка"


2️⃣ Массивы - храним данные удобнее. Вместо множества отдельных переменных можно использовать массивы.

Пример работы с массивами:


#!/bin/bash

servers=("server1" "server2" "server3")

for srv in "${servers[@]}"; do
echo "Подключаюсь к $srv..."
done


3️⃣ Работа с JSON через jq. Bash не умеет работать с JSON, но jq исправляет этот недостаток.

Разбираем JSON и получаем данные:


#!/bin/bash

json='{"user": "admin", "role": "root"}'

user=$(echo "$json" | jq -r '.user')
role=$(echo "$json" | jq -r '.role')

echo "Имя пользователя: $user"
echo "Роль: $role"


#bash

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍92
🤢 Удобный инструмент для резервного копирования и восстановления 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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍182😡1
Похоже на массовый сбой 🧐

#юмор

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
😁48🗿3🌚1
🫂 Ограничение на количество сетевых подключений в 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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17
🚫 Техники блокировки сайтов и приложений через 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