GET /api/user/42
X-Timestamp: 1714000000
X-Signature: 8f3a91...
Сервер повторяет расчёт с тем же секретом. Подписи совпали - запрос не изменён и знает секрет.
POST
/api/payment
1714000000
abc123
{"amount":100}
Из этой строки и секретного ключа получается HMAC:
HMAC-SHA256(data, secret)Если атакующий изменит:
{"amount":100}на:
{"amount":100000}подпись уже не совпадёт.
Поэтому рядом используют timestamp и nonce:
timestamp → запрос должен быть свежим
nonce → конкретный запрос можно использовать один раз
signature → данные нельзя незаметно изменить
Такую схему часто используют API, вебхуки и взаимодействие между сервисами, где важно доказать не только «кто отправил запрос», но и что его содержимое не меняли по дороге.
Серверная Админа | Zeroday | #HMAC
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5💘1
V100 вместо RTX 3090: как собрать домашний LLM-сервер из списанного железа
В статье показывают, как собрать домашний сервер для локальных LLM из бывших в употреблении Tesla V100. Эти ускорители 2017 года с 32 ГБ HBM2 и пропускной способностью 900 ГБ/с сегодня можно найти за $100–150. А если объединить несколько карт, получится уже 64–128 ГБ видеопамяти - достаточно, чтобы запускать модели, которым тесно в обычных потребительских видеокартах.
🟣 Правда, лёгкой такую сборку не назовёшь: понадобятся переходники для SXM2, мощное охлаждение, блок питания на несколько киловатт и терпение при настройке CUDA с PyTorch. Четыре V100 могут потреблять до 1200 Вт, зато за относительно небольшие деньги получится настоящий домашний сервер для локальных LLM.
Серверная Админа | Zeroday | #Статья
В статье показывают, как собрать домашний сервер для локальных LLM из бывших в употреблении Tesla V100. Эти ускорители 2017 года с 32 ГБ HBM2 и пропускной способностью 900 ГБ/с сегодня можно найти за $100–150. А если объединить несколько карт, получится уже 64–128 ГБ видеопамяти - достаточно, чтобы запускать модели, которым тесно в обычных потребительских видеокартах.
Серверная Админа | Zeroday | #Статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1🗿1
Привет, сетевой друг! Давай расскажу про mdns-scanner, который быстро пробегается по локальной сети и пытается понять, какие устройства там вообще живут.192.168.1.12 → macbook.local
192.168.1.24 → printer.local
192.168.1.37 → nas.local
Причём он не ограничивается обычным DNS. mdns-scanner умеет собирать mDNS-имена, DNS-SD service instances и другие алиасы, которые устройства сами объявляют в локальной сети.
printer.local, хотя никакой записи для него на вашем DNS-сервере не существует.А через DNS-SD можно увидеть ещё и опубликованные сервисы:
_http._tcp
_ssh._tcp
_airplay._tcp
_printer._tcp
То есть можно понять не только «этот IP существует», но и «что устройство вообще предлагает в сети».
Установка из Git:
cargo install --git https://github.com/CramBL/mdns-scanner mdns-scanner
Или можно скачать готовый бинарник из Releases.
/24.Серверная Админа | Zeroday | #Инструмент
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍5
Привет, сетевой друг! Давай расскажу про протокол ALTO, через который оператор сам подсказывает приложению как лучше передавать трафик в его сети.# Запрос стоимости маршрутов между подсетями
curl https://alto.operator.com/networkmap
curl https://alto.operator.com/costmap/pv/num/routingcost
# Ответ содержит матрицу стоимостей между PID-группами
# PID — это группы подсетей которые оператор считает эквивалентными
POST /endpointcost/lookup
{
"cost-type": {"cost-mode": "numerical", "cost-metric": "routingcost"},
"endpoints": {
"srcs": ["ipv4:192.0.2.1"],
"dsts": ["ipv4:198.51.100.1", "ipv4:203.0.113.1", "ipv4:198.51.100.2"]
}
}
В ответе каждому dst назначена стоимость - приложение выбирает минимальную.
Серверная Админа | Zeroday | #ALTO
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
Когда в ИТ три человека, появляется четвёртая работа — выяснять, кто чем занимается.
И вот вместо работы кто-то в команде постепенно превращается в диспетчера.
Нужно помнить, кому что передали, проверять, взял ли человек задачу, смотреть, кто сейчас свободен, напоминать про зависшие обращения и периодически разруливать классическое «я думал, это делает кто-то другой».
Пока админ один, такой проблемы почти нет. Когда появляется команда и поток обращений растёт — координация сама становится отдельной работой.
В Okdesk эту «диспетчерскую» нагрузку можно снять: заявки распределяются между сотрудниками и командами, назначаются ответственные, задаются приоритеты и сроки, настраивается автоматическая маршрутизация.
❓Вопрос «Саша это делает?» больше не нужен — достаточно открыть платформу и увидеть, кто отвечает за заявку и на каком она этапе.
Хотите увидеть, как это работает на практике?
Приходите на вебинар — разберём на примере «Мобиус Технологии», как разделить потоки между поддержкой, инженерами и экспертами, настроить маршрутизацию под разные типы обращений и масштабировать обслуживание без потери SLA.
👉 Получить бесплатный вебинар можно по ссылке https://lead.okdesk.ru/mnogourovnevyj-servis
— Кто взял заявку бухгалтерии?
— Саша вроде.
— А сервером кто занимается?
— Я думал, ты.
— А в филиал кто-нибудь написал?
— Сейчас спрошу.
И вот вместо работы кто-то в команде постепенно превращается в диспетчера.
Нужно помнить, кому что передали, проверять, взял ли человек задачу, смотреть, кто сейчас свободен, напоминать про зависшие обращения и периодически разруливать классическое «я думал, это делает кто-то другой».
Пока админ один, такой проблемы почти нет. Когда появляется команда и поток обращений растёт — координация сама становится отдельной работой.
В Okdesk эту «диспетчерскую» нагрузку можно снять: заявки распределяются между сотрудниками и командами, назначаются ответственные, задаются приоритеты и сроки, настраивается автоматическая маршрутизация.
❓Вопрос «Саша это делает?» больше не нужен — достаточно открыть платформу и увидеть, кто отвечает за заявку и на каком она этапе.
Хотите увидеть, как это работает на практике?
Приходите на вебинар — разберём на примере «Мобиус Технологии», как разделить потоки между поддержкой, инженерами и экспертами, настроить маршрутизацию под разные типы обращений и масштабировать обслуживание без потери SLA.
👉 Получить бесплатный вебинар можно по ссылке https://lead.okdesk.ru/mnogourovnevyj-servis
Реклама. ООО «Облачные решения». erid: 2VtzqxJ7bjz🤪4🔥1😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Привет, сетевой друг! Собрал три способа прокачать защиту MikroTik - особенно если роутеров уже несколько и хочется меньше ручной работы…import routeros_api
connection = routeros_api.RouterOsApiPool(
'192.168.1.1',
username='admin',
password='pass',
plaintext_login=True
)
api = connection.get_api()
rules = api.get_resource('/ip/firewall/filter')
print(rules.get())
Например, добавить IP в
blocklist:api.get_resource('/ip/firewall/address-list').add(
list='blocklist',
address='10.0.0.5',
comment='auto-blocked'
)Так можно быстро блокировать адреса, полученные из SIEM, threat intelligence или внутренней системы мониторинга, сразу на всех MikroTik.
502, приложение не работает, а пользователи уже не могут подключиться. Для дополнительного контроля Netwatch можно связать с HTTP health-check и проверять конкретный endpoint:/tool netwatch
add host=10.0.0.10 interval=30s timeout=5s \
type=HTTP http-codes=200 \
down-script="/log error \"Web server DOWN\"" \
up-script="/log info \"Web server UP\""
Если сервис перестал отвечать,
down-script может добавить его адрес в отдельный список, отправить событие в мониторинг или запустить переключение на резервный сервер./ip firewall mangle
add chain=forward protocol=tcp tcp-flags=syn \
connection-state=new \
src-address-list=!whitelist \
action=add-src-to-address-list \
address-list=syn-tracking \
address-list-timeout=30s
/ip firewall filter
add chain=forward protocol=tcp tcp-flags=syn \
connection-state=new \
src-address-list=syn-tracking \
connection-limit=30,32 \
action=add-src-to-address-list \
address-list=internal-scanner \
address-list-timeout=1h \
log=yes \
log-prefix="SCAN DETECTED:"
add chain=forward src-address-list=internal-scanner \
action=drop \
log=yes \
log-prefix="SCANNER BLOCKED: "
В итоге источник, который набирает слишком много одновременных TCP-соединений, попадает в
internal-scanner, а следующее правило уже режет ему трафик.Серверная Админа | Zeroday | #Mikrotik
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2💘1
Привет, сетевой друг! Сегодня про Ethernet, который мы привыкли воспринимать как обычный кабельный LAN. Но за ним давно стоит целый набор технологий, которые позволяют гонять трафик на десятки и сотни гигабит.1000BASE-T означает не просто «гигабит по кабелю». Это уже point-to-point соединение между портом коммутатора и конечным устройством.10 → 100 → 1000 → 10G → 25G → 40G → 100G → 200G → 400G → 800G.
Причём скорость росла не только за счёт увеличения частоты сигнала. Используются более сложные схемы кодирования, PAM4, несколько физических линий и всё более продвинутые DSP. Например, 400GbE может передавать данные четырьмя электрическими или оптическими лэйнами по 100 Гбит/с.
Например:
Server
│ 25G
▼
Leaf
│ 100G
▼
Spine
│ 400G
▼
Core
Так Ethernet постепенно превратился из стандарта для офисной сети в основу современных дата-центров.
Серверная Админа | Zeroday | #LAN
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6💘4🔥1
Почему SAML снова и снова ломается на одном и том же месте?
SAML больше 20 лет отвечает за корпоративный SSO, но исследователи до сих пор находят способы обходить его защиту. В статье разбирают, как XML-комментарии, особенности парсеров и канонизация позволяют подменять подписанные данные так, что проверка проходит, а приложение получает уже другое содержимое.
🟣 Разбирают пять проблем протокола: сложность XML, канонизацию, вложенные подписи, перегруженную спецификацию и устаревшую архитектуру. Отдельно проходят по XSW, parser differential и round-trip-атакам, а затем сравнивают подход SAML с OIDC и показывают, почему современные системы постепенно уходят от XML в сторону JSON/JWT.
Серверная Админа | Zeroday | #Статья
SAML больше 20 лет отвечает за корпоративный SSO, но исследователи до сих пор находят способы обходить его защиту. В статье разбирают, как XML-комментарии, особенности парсеров и канонизация позволяют подменять подписанные данные так, что проверка проходит, а приложение получает уже другое содержимое.
Серверная Админа | Zeroday | #Статья
Please open Telegram to view this post
VIEW IN TELEGRAM
Привет, сетевой друг! Сегодня про webcensus - инструмент для довольно специфичной задачи: найти один и тот же URL-путь сразу на огромном количестве сайтов./.well-known/security.txt, robots.txt, ads.txt или sitemap.xml. Перебирать сайты по одному здесь явно не вариант.список доменов
↓
DNS
↓
HTTPS probe
↓
скачивание
↓
проверка файла
Сначала
massdns быстро резолвит миллионы доменов и оставляет только те, у которых есть A-запись.skim. Он подключается к :443, выполняет TLS handshake и отправляет обычный HTTP-запрос к нужному пути. Но самое интересное - тело ответа на этом этапе вообще не скачивается. Инструмент читает только HTTP status line:
{"url":"https://example.com/.well-known/security.txt","status":"success","code":200,"cert_ok":true}Поэтому из миллионов адресов дальше проходят только те, где HTTPS вообще поднялся и нужный путь вернул
200.curl --parallel скачивает найденные URL пачками, причём для каждого запроса есть ограничения по размеру, времени и числу повторных попыток.Например:
--parallel-max 50
--max-filesize 5M
--max-time 10
--connect-timeout 3
--retry 2
Это важно, потому что сервер вполне может ответить
200, а вместо маленького security.txt отдать несколько мегабайт HTML.Получается важная разница:
HTTP 200
≠
нужный файл действительно существует
Например, сайт может отдавать одну и ту же SPA-страницу на любой URL с кодом
200. Для простого сканера это найденный файл, для webcensus - мусор.data/. Можно остановиться после любого шага и продолжить с него, а локальный этап проверки вообще не требует повторно ходить в интернет.Серверная Админа | Zeroday | #Инструмент
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2