Установка 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
По умолчанию Nginx ведёт логи в текстовом формате, но уже давно умеет писать их в JSON. Однако, в большинстве конфигураций всё ещё используются старые текстовые логи. Если вы до сих пор не перешли на JSON, самое время это сделать – его проще анализировать вручную и обрабатывать в автоматизированных системах.
log_format в конфигурационный файл:
log_format json_combined escape=json '{'
'"time_local":"$time_local",'
'"remote_addr":"$remote_addr",'
'"remote_user":"$remote_user",'
'"request":"$request",'
'"status":"$status",'
'"body_bytes_sent":"$body_bytes_sent",'
'"request_time":"$request_time",'
'"http_referrer":"$http_referer",'
'"http_user_agent":"$http_user_agent"'
'}';
Добавляем в http { } или в настройки виртуального хоста:
access_log /var/log/nginx/access.log json_combined;
После перезапуска Nginx сервер начнёт записывать логи в JSON.
Если вы используете Zabbix, ELK (Elasticsearch + Logstash + Kibana), Grafana или другие системы мониторинга – обработка JSON-логов упростится, так как для него уже есть готовые парсеры.
Но даже в консоли JSON-логи обрабатывать намного удобнее с помощью jq:
jq '.' access.log
jq '.request' access.log
jq '. | select(.status=="404")' access.log
jq '. | select(.status=="404") | .request' access.log
jq '. | select(.status=="404") | .time_local, .request' access.log
jq -r '.request' access.log
Метрики запроса и прокси-серверов:
$request_length – длина запроса
$upstream_addr – адрес upstream-сервера
$upstream_status – HTTP-ответ от upstream
$upstream_response_time – время ответа backend'а
$upstream_connect_time – время установки соединения с upstream
$upstream_header_time – время получения HTTP-заголовков от upstream
Безопасность и TLS:
$server_name – имя виртуального хоста
$ssl_protocol – используемый TLS-протокол
$ssl_cipher – алгоритм шифрования
#Nginx #JSON
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍2
OneDrive предустановлен во всех версиях Windows 10 и 11, интегрирован в систему и запускается автоматически при входе в систему. По умолчанию OneDrive устанавливается отдельно для каждого пользователя в его профиле:
%localappdata%\Microsoft\OneDrive. Если OneDrive вам не нужен, его можно удалить, но важно сделать это для всех пользователей, включая будущие учетные записи.
taskkill /f /im OneDrive.exe
%SystemRoot%\System32\OneDriveSetup.exe /uninstall
rd "%UserProfile%\OneDrive" /Q /S
rd "%LocalAppData%\Microsoft\OneDrive" /Q /S
rd "%ProgramData%\Microsoft OneDrive" /Q /S
reg delete "HKEY_CURRENT_USER\Software\Microsoft\OneDrive" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OneDrive" /f
reg load "HKU\Default" "C:\Users\Default\NTUSER.DAT"
reg delete "HKEY_USERS\Default\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "OneDriveSetup" /f
reg unload "HKU\Default"
Теперь новые пользователи на этом компьютере не получат OneDrive в своих профилях.
#windows #OneDrive
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29❤3🔥3
Современные нагрузки требуют высокой производительности сетевых решений, а классические инструменты вроде
iptables и nftables уже не всегда справляются. Здесь на сцену выходят eBPF (Extended Berkeley Packet Filter) и XDP (eXpress Data Path) - технологии для глубокой фильтрации и анализа трафика прямо в ядре Linux.eBPF - механизм в ядре Linux, позволяющий безопасно выполнять программы в режиме ядра без изменения исходного кода. Используется для фильтрации пакетов, мониторинга, трассировки и профилирования системы.
XDP - подсистема ядра Linux, основанная на eBPF, позволяющая обрабатывать пакеты на самом раннем этапе их поступления в систему (на уровне драйвера сетевой карты).
sudo apt install -y bpfcc-tools linux-headers-$(uname -r) #на Debian/Ubuntu
sudo dnf install -y bpftool bcc #на RHEL/Fedora
sudo /usr/sbin/tc qdisc add dev eth0 clsact
sudo /usr/sbin/tc filter add dev eth0 egress bpf direct-action obj xdp_prog_kern.o
Это позволит анализировать выходящий трафик с интерфейса eth0.
#include <linux/bpf.h>
int xdp_drop(struct __sk_buff *skb) {
return XDP_DROP; // Отбрасываем пакет
}
Компилируем и загружаем программу в XDP:
clang -O2 -target bpf -c xdp_drop.c -o xdp_drop.o
sudo ip link set dev eth0 xdp obj xdp_drop.o
Теперь весь трафик на интерфейсе eth0 будет блокироваться на уровне драйвера.
DDoS-защита - можно отбрасывать вредоносный трафик без нагрузки на процессор.
Балансировка нагрузки - построение L4-L7 балансировщиков без iptables.
Мониторинг сети - сбор детальной статистики по пакетам в реальном времени.
Примеры таких решений: Cilium, Suricata, Falco, Katran (Facebook), XDP Firewall.
#linux #eBPF #XDP
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
Если вам нужен гибкий и высокопроизводительный DHCP-сервер для управления IP-адресами в сети, стоит обратить внимание на Kea DHCP от ISC. В отличие от классического ISC DHCP, Kea предлагает:
Динамическое обновление конфигурации без перезапуска сервера
Поддержку API RESTful для управления в реальном времени
Работу с базами данных (MySQL, PostgreSQL, Cassandra)
Поддержку DHCPv4 и DHCPv6
Для примера, развернем DHCP-сервер Kea на Ubuntu/Debian и настроим его на раздачу IP-адресов.
sudo apt update && sudo apt install -y isc-kea-dhcp4-server
На CentOS/RHEL Kea можно установить через EPEL:
sudo dnf install -y epel-release
sudo dnf install -y kea
/etc/kea/kea-dhcp4.confПример минимальной конфигурации:
{
"Dhcp4": {
"interfaces-config": {
"interfaces": [ "eth0" ]
},
"subnet4": [
{
"subnet": "192.168.1.0/24",
"pools": [
{ "pool": "192.168.1.100 - 192.168.1.200" }
],
"option-data": [
{ "name": "routers", "data": "192.168.1.1" },
{ "name": "domain-name-servers", "data": "8.8.8.8, 8.8.4.4" }
]
}
]
}
}
eth0 - сетевой интерфейс, с которого раздаются адреса
192.168.1.100 - 192.168.1.200 - пул IP-адресов
192.168.1.1 - шлюз по умолчанию
8.8.8.8, 8.8.4.4 - DNS-серверы
sudo systemctl enable --now kea-dhcp4
sudo systemctl status kea-dhcp4
Проверяем логи для диагностики:
journalctl -u kea-dhcp4 --no-pager -n 50
Если нужно перезапустить DHCP-сервер после изменения конфигурации:
sudo systemctl restart kea-dhcp4
cat /var/lib/kea/dhcp4.leases
Запросим новый IP с клиента:
dhclient -v eth0
Если адрес не выдается, смотрим активные порты Kea:
sudo ss -tulpn | grep kea
Подключение к MySQL или PostgreSQL для хранения аренды IP
Настройка статических IP-адресов для MAC-адресов
Работа с DHCPv6 для IPv6-сетей
Динамическое управление через API RESTful
#linux #DHCP #Kea
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍3
Настройка сетевого стека в Linux - тема специфичная и непростая. В сети полно материалов, но большинство из них просто копируют друг друга, а рекомендации часто устаревшие. Ниже актуальная на сегодня подборка параметров, которые стоит учитывать при настройке сервера. Основной акцент - на управление памятью и таймаутами. Оперативки сейчас много, так что имеет смысл использовать это преимущество.
net.ipv4.tcp_max_orphans = 65536
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_keepalive_intvl = 15
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.ip_local_port_range = 10240 65535
net.core.somaxconn = 16384
net.core.rmem_default = 851968
net.core.wmem_default = 851968
net.core.rmem_max = 12582912
net.core.wmem_max = 12582912
net.ipv4.tcp_congestion_control = cubic
net.ipv4.tcp_syncookies = 0
net.ipv4.tcp_rfc1337 = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.all.send_redirects = 0
Дополнительно - игнорировать ICMP echo-запросы (ping):
net.ipv4.icmp_echo_ignore_all = 1
Параметры вроде tcp_mem, tcp_rmem, tcp_wmem зависят от объема оперативной памяти и автоматически настраиваются при загрузке. Их можно регулировать вручную при необходимости, но в большинстве случаев дефолтных значений достаточно.
#linux #sysctl #TCP
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥6❤4