GORAKH.NET+

Справочник

Архив за апрель. Факт дня и разбор документа на каждую дату.
1 апреля
Факт дня

BIOS живёт до сих пор

Даже на современных машинах с UEFI сохраняется режим совместимости с интерфейсом сорокалетней давности. Полностью избавиться от наследия удалось лишь в последние годы.

Разбор дня

Заявление IAB и IESG о криптографии

IAB and IESG Statement on Cryptographic Technology and the Internet

Позиция 1996 года: интернету нужна сильная криптография без обязательных лазеек для государства. Спор с тех пор не изменился.

RFC 1984 на rfc-editor.org
2 апреля
Факт дня

Синий экран назвали в народе

Официально это критическая ошибка остановки, но название «синий экран смерти» придумали пользователи. Microsoft со временем начала использовать его сама.

Разбор дня

RARP: обратное разрешение адресов

A Reverse Address Resolution Protocol

Бездисковая станция знала свой MAC и спрашивала у сервера собственный IP. Метод требовал сервера в каждом сегменте, поэтому его быстро вытеснили BOOTP и DHCP.

RFC 903 на rfc-editor.org
3 апреля
Факт дня

Клавиша Escape - идея одного человека

Боб Бемер предложил добавить символ, который меняет смысл следующих байтов. Так появились управляющие последовательности, на которых до сих пор держатся цвета в терминале.

Разбор дня

Влияние политик выдачи адресов на маршрутизацию

Implications of Various Address Allocation Policies for Internet Routing

Почему адреса выдают провайдерам блоками: без агрегации таблица маршрутов растёт неуправляемо.

RFC 2008 на rfc-editor.org
4 апреля
Факт дня

ASCII занимает семь бит

Восьмой бит оставляли под контроль чётности при передаче по линии. Именно из-за этого национальные алфавиты не влезали и породили десяток несовместимых кодировок.

Разбор дня

BOOTP: протокол начальной загрузки

Bootstrap Protocol

Предшественник DHCP: выдаёт адрес и имя файла загрузки. Формат его пакета DHCP унаследовал целиком, поэтому в современных дампах видно поля с именами времён бездисковых рабочих станций.

RFC 951 на rfc-editor.org
5 апреля
Факт дня

Кириллица в KOI8-R не случайна

Буквы расположены так, что при отбрасывании восьмого бита получается читаемая транслитерация латиницей. Это спасало письма, проходившие через шлюзы, которые бит теряли.

Разбор дня

Правила исследовательских групп IRTF

IRTF Research Group Guidelines and Procedures

Как устроена исследовательская часть работы, где обсуждают то, что стандартом станет нескоро.

RFC 2014 на rfc-editor.org
6 апреля
Факт дня

UTF-8 набросали на салфетке

Кен Томпсон и Роб Пайк придумали кодировку за ужином в закусочной. Совместимость с ASCII и самосинхронизация обеспечили ей победу над конкурентами.

Разбор дня

TFTP: тривиальная передача файлов

The TFTP Protocol (Revision 2)

Пятьсот двенадцать байт в блоке, подтверждение каждого блока, никакой аутентификации. Прошивки коммутаторов и загрузка по сети до сих пор ездят именно этим протоколом.

RFC 1350 на rfc-editor.org
7 апреля
Факт дня

Эмодзи пришли из японских пейджеров

Набор из 176 картинок создали в конце девяностых для мобильного оператора. В Unicode они попали значительно позже и вызвали споры о том, место ли им в стандарте текста.

Разбор дня

Процесс интернет-стандартизации

The Internet Standards Process -- Revision 3

Путь документа от черновика до стандарта. Отсюда правило о двух независимых реализациях как условии зрелости.

RFC 2026 на rfc-editor.org
8 апреля
Факт дня

Домены на кириллице внутри латинские

Punycode превращает нелатинское имя в строку с префиксом xn--. Из-за похожих букв разных алфавитов появился класс атак с визуально неотличимыми доменами.

Разбор дня

Протокол WebSocket

The WebSocket Protocol

Обычный HTTP-запрос с заголовком Upgrade превращается в двустороннее соединение. Данные от браузера обязаны маскироваться случайным ключом, чтобы вредоносная страница не могла подсунуть прокси поддельный HTTP-запрос.

RFC 6455 на rfc-editor.org
9 апреля
Факт дня

Кто хранит ключи от корня DNS

Церемонию подписания корневой зоны проводят публично, с участием доверенных представителей сообщества и физическими ключами от сейфов. Процедура записывается и открыта для наблюдения.

Разбор дня

Ключевые слова MUST, SHOULD, MAY

Key words for use in RFCs to Indicate Requirement Levels

Одна страница, задавшая язык всех спецификаций: разница между обязательным, рекомендуемым и допустимым. Самый цитируемый документ IETF.

RFC 2119 на rfc-editor.org
10 апреля
Факт дня

Атака Камински

В 2008 году исследователь показал, как отравить кэш DNS перебором идентификаторов запроса. Индустрия скоординированно выпустила патчи до публикации деталей - редкий случай в истории безопасности.

Разбор дня

Куки: управление состоянием в HTTP

HTTP State Management Mechanism

Заголовки Set-Cookie и Cookie, придуманные, чтобы у stateless-протокола появилась память. Документ честно перечисляет слабые места механизма, включая то, что браузер шлёт куки и на межсайтовые запросы.

RFC 6265 на rfc-editor.org
11 апреля
Факт дня

Пакистан отключил YouTube всему миру

В 2008 году провайдер анонсировал более точный маршрут к сервису, чтобы заблокировать его внутри страны. Анонс утёк наружу, и трафик всего мира ушёл в никуда на два часа.

Разбор дня

Служба белых страниц интернета

Deployment of the Internet White Pages Service

Попытка построить общий каталог людей и организаций на базе X.500. Идея не взлетела, но привела к LDAP.

RFC 2148 на rfc-editor.org
12 апреля
Факт дня

AS7007 сломал маршрутизацию

В 1997 году оператор из-за ошибки конфигурации объявил себя лучшим путём к половине интернета. Инцидент стал каноническим примером того, зачем нужны фильтры префиксов.

Разбор дня

JWT: веб-токен в формате JSON

JSON Web Token (JWT)

Подписанный JSON, упакованный в три части через точку. Главная ловушка - алгоритм none и доверие к полю alg из самого токена: проверять подпись нужно тем алгоритмом, который ждёт сервер.

RFC 7519 на rfc-editor.org
13 апреля
Факт дня

RPKI подписывает право на анонс

Оператор криптографически подтверждает, что имеет право объявлять префикс. Механизм не мешает ошибке в конфигурации, но делает её видимой и отбрасываемой.

Разбор дня

Выбор вторичных серверов DNS

Selection and Operation of Secondary DNS Servers

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

RFC 2182 на rfc-editor.org
14 апреля
Факт дня

Номера автономных систем расширили

Изначально номер AS занимал шестнадцать бит, и их стало не хватать. Переход на тридцать два бита дал более четырёх миллиардов номеров - отсюда записи вида 4200000000.

Разбор дня

OAuth 2.0: фреймворк авторизации

The OAuth 2.0 Authorization Framework

Приложение получает доступ к чужому API без пароля пользователя. Это не протокол аутентификации, а именно выдача прав, и попытки строить на нём вход в систему породили отдельный стандарт OpenID Connect.

RFC 6749 на rfc-editor.org
15 апреля
Факт дня

Точка обмена трафиком экономит деньги

На IX операторы связываются напрямую, не платя за транзит. Поэтому локальный трафик обычно и дешевле, и быстрее.

Разбор дня

Псевдонимы DNS для служб

Use of DNS Aliases for Network Services

Традиция имён вроде www и ftp, чтобы служба могла переезжать между машинами без смены адреса.

RFC 2219 на rfc-editor.org
16 апреля
Факт дня

Tier-1 узнаётся по отсутствию счетов

Оператор считается первым уровнем, если достигает всего интернета исключительно через безденежные соединения с равными. Список таких компаний невелик и меняется медленно.

Разбор дня

Bearer-токены в OAuth 2.0

The OAuth 2.0 Authorization Framework: Bearer Token Usage

Токен в заголовке Authorization без всякой привязки к клиенту. Кто предъявил, тот и владелец, поэтому весь смысл защиты сводится к TLS и коротким срокам жизни.

RFC 6750 на rfc-editor.org
17 апреля
Факт дня

Anycast делает один адрес всюду

Один и тот же адрес анонсируется из десятков городов, и клиент попадает в ближайшую точку. Так работают публичные резолверы и корневые серверы DNS.

Разбор дня

Политика IETF по языкам и кодировкам

IETF Policy on Character Sets and Languages

Требование поддерживать UTF-8 во всех новых протоколах. Причина того, что современные стандарты изначально многоязычны.

RFC 2277 на rfc-editor.org
18 апреля
Факт дня

Nmap снимался в кино

Сканер портов появляется на экране в «Матрице: Перезагрузка», причём с реальной уязвимостью SSH того времени. Для фильмов это редкий случай технической честности.

Разбор дня

Базовая HTTP-аутентификация

The 'Basic' HTTP Authentication Scheme

Логин и пароль склеиваются двоеточием и кодируются base64. Это кодирование, а не шифрование: без TLS пароль читается из дампа трафика напрямую.

RFC 7617 на rfc-editor.org
19 апреля
Факт дня

Wireshark раньше звался Ethereal

Проект переименовали в 2006 году из-за прав на прежнее название. Формат файлов и большая часть кода остались теми же.

Разбор дня

Бесклассовое делегирование in-addr.arpa

Classless IN-ADDR.ARPA delegation

Как отдать обратную зону клиенту, у которого не целый /24, а его часть. Решается цепочкой из CNAME.

RFC 2317 на rfc-editor.org
20 апреля
Факт дня

tcpdump старше многих админов

Утилита появилась в конце восьмидесятых и до сих пор остаётся первым инструментом при разборе сетевой проблемы. Библиотека libpcap из неё используется почти всеми анализаторами.

Разбор дня

DNSSEC: введение и требования

DNS Security Introduction and Requirements

Подписи в DNS дают подтверждение происхождения данных, но не скрывают их. DNSSEC защищает от подмены ответа, а от подглядывания запросов - уже DoT и DoH.

RFC 4033 на rfc-editor.org
21 апреля
Факт дня

Сокеты придумали в Беркли

Интерфейс сокетов появился в BSD и оказался настолько удачным, что его скопировали все системы, включая Windows. Название функции socket не менялось сорок лет.

Разбор дня

Ожидания от группы реагирования на инциденты

Expectations for Computer Security Incident Response

Что команда безопасности должна публично объявить о себе: зону ответственности, контакты, политику раскрытия.

RFC 2350 на rfc-editor.org
22 апреля
Факт дня

Алгоритм Нейгла и задержанные подтверждения

Два полезных механизма вместе дают паузы в сотни миллисекунд: один ждёт данных, другой ждёт подтверждения. Это классическая причина непонятных тормозов в интерактивных протоколах.

Разбор дня

Записи DNSSEC

Resource Records for the DNS Security Extensions

Новые типы записей: DNSKEY, RRSIG, DS и NSEC. Запись NSEC доказывает отсутствие имени, но заодно позволяет обойти всю зону по цепочке, из-за чего позже появилась NSEC3 с хэшами.

RFC 4034 на rfc-editor.org
23 апреля
Факт дня

Коллапс перегрузки 1986 года

Пропускная способность канала между двумя площадками упала с 32 килобит до 40 бит в секунду. После этого Ван Джекобсон придумал медленный старт и избежание перегрузки.

Разбор дня

Руководство для авторов стандартов

Guide for Internet Standards Writers

Как писать спецификацию, которую реализуют одинаково: явные требования, поведение при ошибках, вопросы безопасности.

RFC 2360 на rfc-editor.org
24 апреля
Факт дня

Окно TCP пришлось расширять

Поле окна занимает шестнадцать бит, то есть максимум 64 килобайта в полёте. Для быстрых каналов с большой задержкой добавили масштабирующий множитель отдельной опцией.

Разбор дня

Изменения протокола для DNSSEC

Protocol Modifications for the DNS Security Extensions

Как резолвер проверяет цепочку доверия от корня до нужной зоны. Флаг AD в ответе говорит, что подписи проверены, но верить ему можно лишь при доверенном канале до резолвера.

RFC 4035 на rfc-editor.org
25 апреля
Факт дня

SYN-флуд и печенье

Атака заполняет очередь полуоткрытых соединений. Ответ - SYN cookies, где сервер не хранит состояние, а кодирует его прямо в номере последовательности.

Разбор дня

Административно ограниченный мультикаст

Administratively Scoped IP Multicast

Диапазон 239.0.0.0/8 для групп, которые не должны выходить за пределы организации. Аналог частных адресов для рассылки.

RFC 2365 на rfc-editor.org
26 апреля
Факт дня

Три рукопожатия, четыре прощания

Соединение TCP открывается тремя пакетами, а закрывается четырьмя: каждая сторона объявляет об окончании передачи отдельно. Отсюда и состояние TIME-WAIT.

Разбор дня

EDNS(0): расширения DNS

Extension Mechanisms for DNS (EDNS(0))

Псевдозапись OPT, которая снимает лимит ответа в 512 байт и добавляет флаги. Без неё не работают ни DNSSEC, ни большие ответы, а неправильно настроенные фаерволы, режущие такие пакеты, до сих пор ломают резолвинг.

RFC 6891 на rfc-editor.org
27 апреля
Факт дня

Ephemeral-порты кончаются

Исходящих портов у одного адреса чуть больше шестидесяти тысяч. На нагруженном прокси они действительно исчерпываются, и соединения перестают устанавливаться.

Разбор дня

RSVP поверх ATM

RSVP over ATM Implementation Guidelines

Как резервирование полосы сочеталось с виртуальными каналами ATM. Эпоха, когда качество обслуживания строили на уровне канала.

RFC 2379 на rfc-editor.org
28 апреля
Факт дня

Порт 0 существует, но не используется

В заголовке он допустим, но зарезервирован и не назначается службам. Запрос с нулевым портом обычно означает ошибку или сканирование.

Разбор дня

DNS поверх TLS

Specification for DNS over Transport Layer Security (TLS)

Те же запросы DNS, но в TLS-соединении на порту 853. Отдельный порт делает трафик заметным для оператора, в отличие от DoH, который прячется среди обычного HTTPS.

RFC 7858 на rfc-editor.org
29 апреля
Факт дня

Один сервер, много сайтов

До заголовка Host каждому сайту нужен был свой IP-адрес. Виртуальный хостинг по имени появился только в HTTP/1.1 и мгновенно удешевил веб.

Разбор дня

Правила рабочих групп IETF

IETF Working Group Guidelines and Procedures

Как создаётся и работает рабочая группа. Отсюда принцип грубого консенсуса, где решение принимают не голосованием.

RFC 2418 на rfc-editor.org
30 апреля
Факт дня

SNI выдаёт имя сайта

При установке TLS имя сервера долгое время шло открытым текстом, чтобы одна машина могла выбрать нужный сертификат. Шифрование этого поля появилось значительно позже.

Разбор дня

DNS поверх HTTPS

DNS Queries over HTTPS (DoH)

Запрос DNS едет внутри HTTPS на 443-й порт и не отличим от обычного веба. Это спор между приватностью пользователя и контролем администратора сети, который так и не закончился.

RFC 8484 на rfc-editor.org
GORAKH.NET+
Вход / Регистрация