Расскажу о человеке, без которого современные L2-сети выглядели бы вообще иначе.SW1
/ \
SW2---SW3
Физическая петля есть, но STP блокирует один из путей. Если связь между SW1 и SW2 пропадёт, дерево пересчитается и трафик пойдёт через SW3.
Серверная Админа | Бункер Хакера | #network
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15🔥5👍3🗿1
Привет, сетевой друг! Сегодня разберём CFM (Connectivity Fault Management, IEEE 802.1ag) - протокол который провайдеры используют для мониторинга Ethernet-линков на уровне L2.ethernet cfm domain PROVIDER level 5
service CUSTOMER_A evc CUSTOMER_A
continuity-check
continuity-check interval 1s
interface GigabitEthernet0/1
ethernet cfm mep domain PROVIDER mpid 1 service CUSTOMER_A
ethernet cfm mip level 5
show ethernet cfm maintenance-points local
show ethernet cfm errors
ping ethernet mpid 2 domain PROVIDER service CUSTOMER_A
traceroute ethernet mpid 2 domain PROVIDER service CUSTOMER_A
show ethernet cfm statistics
show ethernet cfm ccm-learning-table
ethernet cfm domain PROVIDER level 5
service CUSTOMER_A evc CUSTOMER_A
sender-id chassis
ip sla 1
ethernet y1731 delay dmm domain PROVIDER service CUSTOMER_A mpid 2
cos 5
frequency 10
ip sla schedule 1 life forever start-time now
show ip sla statistics 1
Y.1731 даёт точные измерения one-way delay, delay variation и frame loss - именно эти цифры идут в SLA-отчёты клиентам.
Серверная Админа | Бункер Хакера | #Network
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤3👍1😁1
Что произойдёт с iBGP без Route Reflector?
Anonymous Quiz
36%
Все маршруты станут eBGP
39%
Потребуется full mesh
16%
OSPF создаст соседства
9%
MED станет обязательным
Какой протокол используется для управления подписками на IPv6 multicast-группы?
Anonymous Quiz
38%
IGMP
23%
MLD
22%
PIM-SM
17%
RSVP
👍4😈1
Как устроен современный антивирус: поведенческий анализ, драйверы, архитектура
Современный антивирус уже не ищет только знакомые сигнатуры. Он смотрит, что делает процесс: прописался в автозагрузку, создал файл, полез в другой процесс и открыл соединение наружу. Отдельно это может быть нормой, но вместе уже подозрительная цепочка. За этим следят драйверы ядра, файловые и сетевые фильтры, ETW, AMSI и другие механизмы.
Серверная Админа | Zeroday | #Статья
Современный антивирус уже не ищет только знакомые сигнатуры. Он смотрит, что делает процесс: прописался в автозагрузку, создал файл, полез в другой процесс и открыл соединение наружу. Отдельно это может быть нормой, но вместе уже подозрительная цепочка. За этим следят драйверы ядра, файловые и сетевые фильтры, ETW, AMSI и другие механизмы.
Серверная Админа | Zeroday | #Статья
🔥11❤3
This media is not supported in your browser
VIEW IN TELEGRAM
Привет, сетевой друг! Сегодня про nmap-vulners - NSE-скрипт, который превращает обычный сервисный скан Nmap в список CVE, известных эксплойтов и реально эксплуатируемых уязвимостей.nmap -sV может показать, что на сервере работает, например, Apache 2.4.7. Но дальше начинается ручная работа: искать CVE, проверять CVSS, смотреть наличие эксплойтов и разбираться, что действительно опасно.nmap-vulners автоматизирует этот этап:
nmap -sV --script vulners <target>
Скрипт берёт найденное Nmap ПО, формирует CPE и сверяет его с базой Vulners.
На выходе может получиться примерно так:
80/tcp open http Apache httpd 2.4.7
| vulners:
| SEVERITY CVSS FLAGS
| CRITICAL 9.8 EXP
| HIGH 8.1
| HIGH 7.5 KEV
Скрипт учитывает несколько сигналов:
•
KEV - уязвимость подтверждённо эксплуатируется в реальном мире•
EXP - существует опубликованный эксплойт•
EPSS - вероятность эксплуатации в ближайшие 30 днейПоэтому активно эксплуатируемая уязвимость с CVSS 7.5 может оказаться выше теоретически более критичной CVSS 9.8.
Например, Nmap увидел только
Coyote, а nmap-vulners дополнительно может определить Tomcat, PHP или JavaScript-библиотеки, которые работают за веб-сервером.Но базовый поиск работает и без ключа.
nmap -sV --script vulners \
--script-args mincvss=7 \
<target>
Так в выводе останутся уязвимости с CVSS от 7 и выше, хотя известные эксплойты могут показываться отдельно.
--script-args vulners.paths=none
Получается удобная связка: Nmap сначала отвечает на вопрос «что здесь работает?», а nmap-vulners - «что из этого уже известно как уязвимое и что может быть реально атаковано».
Серверная Админа | Zeroday | #Инструмент
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Привет, сетевой друг! Сегодня разберём DNS-over-HTTPS на Mikrotik - как роутер сам шифрует DNS-запросы без сторонних прокси и почему это так важно./ip dns set use-doh-server=https://1.1.1.1/dns-query \
verify-doh-cert=yes \
servers="" \
allow-remote-requests=yes
servers=”” важно - убираем обычные DNS-серверы чтобы роутер не fallback’ал на незашифрованный UDP когда DoH недоступен.
/ip dns set use-doh-server=https://1.1.1.1/dns-query
/ip dns set verify-doh-cert=yes
Используем IP Cloudflare напрямую в URL, тогда роутеру не нужно резолвить имя для установки соединения.
/certificate import file-name=cacert.pem passphrase=""
Скачиваем cacert.pem с curl.se/ca/cacert.pem, загружаем на роутер через Files и импортируем. Без этого шага verify-doh-cert=yes вернёт ошибку сертификата и DoH не заработает.
/ip dns print
# DoH server должен показывать адрес
# Обычные servers должны быть пустыми
# На клиентской машине захватываем трафик
tcpdump -i eth0 port 53
# Не должно быть UDP 53 запросов с роутера наружу
Если в tcpdump видим UDP 53 уходящий наружу - DoH не работает и роутер fallback’ает на обычный DNS.
/ip firewall nat
add chain=dstnat protocol=udp dst-port=53 \
!dst-address=192.168.1.1 \
action=redirect to-ports=53 \
comment="Redirect DNS to router"
add chain=dstnat protocol=tcp dst-port=53 \
!dst-address=192.168.1.1 \
action=redirect to-ports=53 \
comment="Redirect DNS to router"
Теперь все DNS-запросы клиентов идут через роутер который использует DoH - никакой обход через хардкод 8.8.8.8 в приложениях не поможет.
/tool netwatch
add host=1.1.1.1 interval=30s timeout=2s \
down-script="/ip dns set use-doh-server=https://8.8.8.8/dns-query" \
up-script="/ip dns set use-doh-server=https://1.1.1.1/dns-query"
Серверная Админа | Бункер Хакера | #Mikrotik
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥4😁2🎉1
Привет, сетевой друг! Давайте расскажу про IPMI. Это такой интерфейс управления сервером который работает независимо от основной операционки.# Установка
apt install ipmitool
# Состояние питания
ipmitool -H 192.168.1.100 -U admin -P password power status
# Включить/выключить/перезагрузить
ipmitool -H 192.168.1.100 -U admin -P password power on
ipmitool -H 192.168.1.100 -U admin -P password power reset
# Жёсткий сброс когда сервер завис
ipmitool -H 192.168.1.100 -U admin -P password power cycle
# Все сенсоры разом
ipmitool -H 192.168.1.100 -U admin -P password sdr list
# Только температуры
ipmitool -H 192.168.1.100 -U admin -P password sdr type Temperature
# Системный лог событий
ipmitool -H 192.168.1.100 -U admin -P password sel list
ipmitool -H 192.168.1.100 -U admin -P password sel elist
ipmitool -H 192.168.1.100 -U admin -P password sol activate
Видно всё включая POST, загрузчик и panic kernel. Незаменимо, когда сервер не загружается.
Серверная Админа | Бункер Хакера | #Mikrotik
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Привет, сетевой друг! Сегодня разберём DNS zone transfer - когда AXFR открыт всем и как это закрыть.# Проверяем открыт ли AXFR
dig axfr example.com @ns1.example.com
# Если в ответе идут все записи зоны - проблема есть
# Нормальный ответ: Transfer failed или REFUSED
# Проверяем конфиг
named-checkconf /etc/bind/named.conf
# Смотрим логи запросов на transfer
grep "transfer" /var/log/named/named.log
grep "AXFR" /var/log/named/queries.log
# /etc/bind/named.conf.options
options {
allow-transfer { none; }; # глобально запрещаем
};
# /etc/bind/named.conf.local
zone "example.com" {
type primary;
file "/etc/bind/zones/example.com.db";
allow-transfer {
192.168.1.2; # только наш secondary
key "transfer-key"; # или через TSIG-ключ
};
notify yes;
};
# Генерируем ключ
tsig-keygen -a hmac-sha256 transfer-key > /etc/bind/transfer.key
# Подключаем в конфиг
include "/etc/bind/transfer.key";
zone "example.com" {
allow-transfer { key "transfer-key"; };
};
На secondary прописываем тот же ключ и используем его при запросе зоны.
# С посторонней машины
dig axfr example.com @ns1.example.com
# Должно вернуть: Transfer failed
# С авторизованного secondary
dig axfr example.com @ns1.example.com -k transfer.key
# Должно вернуть полную зону
zone "example.com" {
also-notify { 192.168.1.2; };
allow-notify { 192.168.1.1; }; # кто может уведомлять нас
};Без этого атакующий может отправить поддельный NOTIFY и спровоцировать unnecessary transfer-запросы.
Серверная Админа | Бункер Хакера | #DNS #networking
Please open Telegram to view this post
VIEW IN TELEGRAM
✍9❤1
ЭВМ в народном хозяйстве: Госбанк, медицина и образование
В статье рассказывают, как советские ЭВМ пришли в Госбанк, медицину и образование: система «Банк» обрабатывала сотни тысяч платежных документов, Китов создавал АСУ для здравоохранения, а университетские ВЦ решали учебные и промышленные задачи. Отдельно разбирают «Сетунь» - редкую троичную ЭВМ, которая была дешёвой и надёжной, но в итоге проиграла советскому курсу на унификацию и копирование IBM.
Серверная Админа | Zeroday | #Статья
В статье рассказывают, как советские ЭВМ пришли в Госбанк, медицину и образование: система «Банк» обрабатывала сотни тысяч платежных документов, Китов создавал АСУ для здравоохранения, а университетские ВЦ решали учебные и промышленные задачи. Отдельно разбирают «Сетунь» - редкую троичную ЭВМ, которая была дешёвой и надёжной, но в итоге проиграла советскому курсу на унификацию и копирование IBM.
Серверная Админа | Zeroday | #Статья
👌4👍1
Привет, сетевой друг! Сегодня про Network Insight - TypeScript-библиотеку, которая собирает сетевую информацию прямо из приложения.const networkService = NetworkService.getInstance();
const info = await networkService.getFullNetworkInfo();
console.log(info);
В ответ можно получить клиентский и публичный IP, город и страну, координаты, timezone и данные интерфейсов вроде
eth0 с адресом, маской, MAC и CIDR.app.use('/api/network', createNetworkRouter());После этого появляются
/ip, /public-ip, /location, /interfaces, /full и /health.То есть не нужно каждый раз писать собственные обработчики для сетевой диагностики.
Для геолокации используется похожая схема с провайдерами, а TTL кэша можно менять прямо во время работы:
networkService.updateConfig({
cache: { ttl: 120000 }
});req и использовать её дальше в приложении:req.network = {
clientIp: networkService.getClientIp(req),
service: networkService
};Заодно библиотека умеет делать health check отдельно для IP-сервисов, геолокации и локальной сетевой информации.
По сути, Network Insight закрывает типичный набор задач, для которых обычно приходится отдельно подключать
os.networkInterfaces(), сервис определения IP, API геолокации и писать вокруг всего этого свою обвязку.Серверная Админа | Zeroday | #Инструмент
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👾1