ioping - это удобный инструмент для проверки производительности дисков в Linux. Работает по принципу ping, но для дисковой подсистемы: позволяет измерить задержки ввода-вывода (I/O latency), IOPS и скорость последовательного чтения. Утилита есть в стандартных репозиториях большинства дистрибутивов.
sudo apt install ioping#для Debian/Ubuntu
sudo yum install epel-release && sudo yum install ioping#для CentOS
sudo pacman -S ioping#для Arch Linux
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, но показывает время выполнения дисковых операций.
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 запросов (по умолчанию тест идет бесконечно).
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).
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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
Автоматическое монтирование сетевых папок через GPO
Чтобы автоматически монтировать сетевые папки с файлового сервера в качестве сетевых дисков, можно использовать предпочтения групповых политик (GPP).
📎 Основные возможности:
📍 Подключение сетевых дисков в зависимости от групп безопасности AD.
📍 Автоматическое назначение дисков для отделов и отдельных пользователей.
📍 Возможность подключения личного диска для каждого сотрудника.
👥 Гибкая настройка по группам
Например, можно настроить так, чтобы у всех сотрудников одного отдела автоматически подключалась папка с общими документами. Для этого достаточно добавить пользователя в соответствующую группу AD, и при следующем входе в систему у него появится нужный сетевой диск.
🔒 Персональные диски
Через GPO можно подключать не только общие, но и персональные диски для каждого сотрудника, например, для хранения личных документов.
Такой подход автоматизирует управление сетевыми ресурсами и избавляет от необходимости вручную подключать диски каждому пользователю.
#windows #network
🧑💻 NetworkAdmin
Чтобы автоматически монтировать сетевые папки с файлового сервера в качестве сетевых дисков, можно использовать предпочтения групповых политик (GPP).
Например, можно настроить так, чтобы у всех сотрудников одного отдела автоматически подключалась папка с общими документами. Для этого достаточно добавить пользователя в соответствующую группу AD, и при следующем входе в систему у него появится нужный сетевой диск.
Через GPO можно подключать не только общие, но и персональные диски для каждого сотрудника, например, для хранения личных документов.
Такой подход автоматизирует управление сетевыми ресурсами и избавляет от необходимости вручную подключать диски каждому пользователю.
#windows #network
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11😁1
Windows Subsystem for Linux (WSL) позволяет запускать Linux-приложения прямо в Windows, включая консольные утилиты, серверные сервисы и даже графические программы. Разберём, как настроить WSL и запускать Linux-приложения через PowerShell.
wsl --install
После этого система скачает и установит последнюю версию Ubuntu. Если WSL уже установлен, можно обновить ядро:
wsl --update
wsl ls -la
wsl uname -a
wsl cat /etc/os-release
wsl htop # Мониторинг процессов
wsl python3 # Запуск Python
Графические приложения (если установлен WSLg) можно запускать так:
wsl firefox
wsl /bin/bash -c "./mynoscript.sh"
wsl -d Ubuntu -- /etc/init.d/ssh start
#WSL #linux #windows
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤2
Suricata и Snort - это системы обнаружения и предотвращения вторжений (IDS/IPS), которые используют сигнатуры для детектирования атак. Однако стандартные правила могут не покрывать все возможные угрозы, поэтому часто требуется писать собственные сигнатуры.
Заголовка (определяет тип трафика)
Опций (описывают условия срабатывания)
Пример базовой сигнатуры:
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 сигнатуры
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;)
nano /etc/suricata/rules/custom.rules
Добавляем сигнатуры и обновляем конфигурацию:
suricata-update
Перезапускаем сервис:
systemctl restart suricata
nano /etc/snort/rules/local.rules
Добавляем сигнатуру и проверяем конфигурацию:
snort -T -c /etc/snort/snort.conf
Перезапускаем Snort:
systemctl restart snort
#network #security
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
При работе в терминале можно столкнуться с командами, о которых мало информации в man-страницах или которые не являются бинарниками. Один из таких примеров -
fc.history, но есть ещё команда fc, которая делает примерно то же самое:
# fc -l -5 # Покажет последние 5 команд
# history 5 # Тоже покажет последние 5 команд
На первый взгляд, непонятно, чем fc лучше или отличается от history. Попробуем разобраться, что это вообще за команда.
man fc
No manual entry for fc
which fc
Man-страницы нет и бинарника тоже.
alias | grep fc
Нет, алиаса тоже нет.
type fc
fc is a shell builtin
fc оказывается встроенной командой в оболочку Bash, как и pwd, cd, history, type.
1. Сначала проверяются алиасы.
2. Затем встроенные в оболочку команды.
3. Только потом ищутся бинарники в $PATH (слева направо по списку директорий).
Это объясняет, почему при наличии нескольких версий Python или PHP выполняется конкретная версия – она первая в $PATH.
alias history='echo "Здесь истории нет"'
history
Здесь истории нет. Теперь history не работает, пока не удалить алиас:
unalias history
Чтобы проверить, какие версии одной и той же команды существуют в системе, используем:
type -a history
history is aliased to `echo "Здесь истории нет"'
history is a shell builtin
#linux #history
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥2❤1🤔1
Установка Docker Engine в WSL2 позволяет использовать контейнеризацию на Windows 10 и 11 без необходимости установки Docker Desktop. Это полезно для пользователей редакций Windows Home, где Docker Desktop недоступен.
Совместимость с Windows Home: Docker Engine работает в WSL2 даже на домашних редакциях Windows.
Экономия ресурсов: Отсутствие необходимости в виртуальных машинах Hyper-V снижает потребление оперативной памяти и дискового пространства.
Отсутствие лицензионных ограничений: Docker Engine в WSL2 не требует дополнительной лицензии для коммерческого использования.
wsl --list
wsl --set-default-version 2```
wsl.exe
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 можно игнорировать.
sudo usermod -aG docker $USER
docker --version
docker compose version
cat /etc/wsl.conf
Если нет, добавьте следующие строки:
[boot]
systemd=true
Затем активируйте сервис Docker:
sudo systemctl enable --now docker.service
systemctl status docker.service
docker run hello-world
При успешном выполнении вы увидите приветственное сообщение от Docker.
#docker #windows #WSL2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
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-трафика
Резкое увеличение запросов к внешним DNS-серверам
Подозрительная активность ICMP (слишком много echo-request/response)
Долгие и нестандартные HTTP-запросы
Сессии с высоким временем жизни и постоянным низким трафиком
Инструменты: Suricata, Zeek, Snort
Ищем признаки туннелирования в пакетах и заголовках
DNS-туннели часто используют случайные поддомены (например, abcd1234.tunnel.com)
Решение: Pi-hole, SecurityTrails, Cisco Umbrella
Отключаем ICMP для ненужных хостов
Запрещаем внешний DNS кроме корпоративного
Разрешаем выход только через прокси
Запрещаем нестандартные порты (например, 53/UDP наружу)
Suricata/Snort – анализируем трафик на предмет туннелирования
pfSense + Snort – фильтрация и блокировка известных схем туннелирования
Zeek (Bro) – пассивный мониторинг сетевой активности
SIEM-системы (ELK, Splunk, Wazuh) – корреляция подозрительных событий
Блокируем OpenVPN, WireGuard, Shadowsocks, SoftEther
Настраиваем PAC-файл с жесткими правилами обхода
#network #security
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14👎4🤡2🔥1
Relax and Recover (ReaR) – бесплатная утилита для создания резервных копий серверов и виртуальных машин с возможностью восстановления через загрузочный ISO. Работает с NFS, SMB, RSYNC или локальными носителями.
apt install rear genisoimage syslinux nfs-common
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. Ждём автоматического развёртывания системы
Работает без остановки сервера
Учитывает разницу гипервизоров (автоматически обновляет настройки сети)
Не требует дополнительных агентов и перезагрузок
Используется OpenStack и Red Hat OpenStack Platform
#backup #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19
SSH - важная точка входа в систему, и её безопасность критична. Поговорим про ключевые шаги по защите о которых нужно знать и не забывать.
PermitRootLogin no
Port 2222
(Не забудьте открыть новый порт в iptables/firewalld!)
PasswordAuthentication no
PubkeyAuthentication yes
AllowUsers user1@192.168.1.100
apt install fail2ban # Debian/Ubuntu
yum install fail2ban # CentOS/RHEL
Настроить /etc/fail2ban/jail.local:
[sshd]
enabled = true
maxretry = 3
findtime = 10m
bantime = 1h
X11Forwarding no
PermitEmptyPasswords no
systemctl restart sshd
sshd -t # Проверка конфигурации на ошибки
#ssh #security
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27❤1🤡1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20😱10👎5
Если нужно поменять имя сервера Windows, но при этом обеспечить плавную миграцию клиентов, можно добавить альтернативное имя. Это позволит временно сохранить старое имя, пока все устройства не перейдут на новое.
netdom computername fs01 /ADD new-fs01.corpdev.loc
Эта команда автоматически создаст CNAME (алиас) в DNS и обновит SPN в Active Directory.
Такой подход поможет избежать сбоев при переходе на новое имя сервера.
#windows
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17
В systemd есть встроенный механизм автоматического перезапуска сервисов при их падении. Управляется это параметром Restart в разделе [Service] unit-файла.
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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤1
netstat -ano | findstr :3389
Можно искать процессы, слушающие нестандартные порты:
Get-NetTCPConnection | Where-Object { $_.State -eq "Listen" }
Неизвестные процессы, особенно на портах RDP, SSH, HTTP/S - тревожный знак.
Get-CimInstance Win32_StartupCommand | Select-Object Name, Command, Location
Autoruns от Microsoft покажет больше деталей.
Get-Process | Sort-Object CPU -Descending
Подозрительные процессы ищем в Task Manager, Process Explorer, проверяем путь C:\Windows\System32\, C:\Users\Public\.
Get-LocalUser | Where-Object { $_.Enabled -eq $true }
Неизвестные администраторы или странные группы – считаем поводом для доп. аудита.
Get-ScheduledTask | Where-Object {$_.State -eq "Ready"}
Задачи с cmd.exe, powershell.exe, wnoscript.exe без явного назначения - подозрительны.
DLL из Temp, AppData или сторонних каталогов могут быть вредоносными.
Security - неудачные попытки входа
System - странные ошибки служб
Application - нестандартные ошибки
Get-EventLog -LogName Security -Newest 50
Логон с незнакомых IP, массовые ошибки 4625 (неудачные входы) могут указывать на атаку.
powershell
Get-ChildItem C:\Windows\System32 -Recurse | Sort-Object LastWriteTime -Descending | Select-Object -First 10
Внезапные изменения в System32, Temp, AppData - подозрительны.
#windows #security
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22❤1
screen - отличная утилита для работы в Linux, особенно если хочется сохранить SSH-сессию при разрыве соединения. Но кроме этого, её можно использовать для совместной работы в одной консоли, как аналог TeamViewer/AnyDesk, но для терминала.
screen -d -m -S shared
Подключаемся к ней с двух терминалов:
screen -x shared
Теперь оба пользователя видят и могут вводить команды в одном терминале.
chmod u+s $(which screen)
chmod 755 /var/run/screen
rm -fr /var/run/screen/*
screen -d -m -S shared
screen -r shared
Внутри screen включаем доступ для другого пользователя (например, zerox):
Ctrl-a :multiuser on
Ctrl-a :acladd zerox
Теперь пользователь zerox может подключиться к сессии:
screen -x root/shared
Ctrl-a :writelock on
#linux #terminal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤1
Get-WinEvent -LogName Security | Where-Object { $_.Id -eq 4625 } | Select-Object TimeCreated, Id, Message
Get-WinEvent -LogName System -MaxEvents 10 | Where-Object { $_.Level -eq 2 }
$start = (Get-Date).AddDays(-1) # Логи за последние 24 часа
Get-WinEvent -LogName Security | Where-Object { $_.TimeCreated -ge $start -and $_.Message -match "admin" }
PowerShell удобен, но не всегда эффективен при анализе больших логов. Тут поможет LogParser.
LogParser.exe "SELECT TimeGenerated, EventID, Message FROM System WHERE EventType = 1" -i:EVT
LogParser.exe "SELECT TimeGenerated, SID, Message FROM Security WHERE EventID = 4625" -i:EVT
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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
Microsoft выпустила чек-лист по подготовке к окончанию поддержки Windows 10 - это произойдёт 14 октября 2025 года. Если кратко, то пользователей ждёт развилка из двух дорог.
Первый путь - обновление до Windows 11, если «железо» ещё тянет.
Второй - расстаться с компьютером (утилизировать), если он не соответствует требованиям новой ОС.
---
Приму в дар вашу технику, не соответствующую новым требованиям Microsoft 😁
Please open Telegram to view this post
VIEW IN TELEGRAM
😁39🤡10🔥4👍2
SNMP (Simple Network Management Protocol) - один из самых популярных протоколов для мониторинга сетевого оборудования, серверов и рабочих станций. Он позволяет получать данные о загрузке процессора, памяти, сетевых интерфейсах и многом другом. Однако, неправильная настройка SNMP может стать уязвимостью в системе. Разберем, как его правильно настроить.
SNMPv1 – устаревшая, передает данные в открытом виде (НЕ рекомендуется).
SNMPv2c – улучшенная версия, но всё еще без шифрования.
SNMPv3 – наиболее безопасная, поддерживает аутентификацию и шифрование (РЕКОМЕНДУЕТСЯ).
Для безопасного мониторинга лучше взять SNMPv3 с аутентификацией и шифрованием.
sudo apt install snmp snmpd -y # Для Debian/Ubuntu
sudo yum install net-snmp net-snmp-utils -y # Для CentOS/RHEL
Редактирование конфигурации (/etc/snmp/snmpd.conf)
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
snmpwalk -v2c -c public 127.0.0.1
Для Windows 10/11 и Windows Server:
Enable-WindowsOptionalFeature -Online -FeatureName SNMP
Затем включите службу в services.msc и настройте параметры в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\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
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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13