что такое asn ip адреса
Инфраструктура сети: AS, PI, LIR и прочие вкусности. 🙂
Не нашел на Хабре внятного этой RIPEвской кухни, потому пишу сам 🙂
Здесь я попробую (кратко) рассказать, как работает Интернет 🙂
И какие бонусы может извлечь из этого администратор сети предприятия, хостер или ISP.
Для начала — треминология.
IANA — Администрация адресного пространства Интернета. Занимается распределением номеров AS и IP-адресов в глобальном масштабе. Назначает RIR, подчиняется напрямую ICANN. Она такая одна и в этой статье она нас не интересует.
RIR — Региональная регистратура Интернета. Занимается выделением крупных блоков адресов, регистрацией LIR и распределением AS. Россия находится в юрисдикции RIPE NCC, расположенной в Амстердаме.
LIR — Локальная Регистратура Интернета. Занимается поддержкой работы сети, распределением PI (о них — дальше) и номеров AS. Как правило, это — ISP. Минимальный блок адресного пространства для LIR — 4096 IP-адресов.
AS — Автономная система. Содержит в себе адресное пространство (IP-адреса), имеет уникальный ASN — номер, позволяющий однозначно идентифицировать AS в Интернете. Номер AS — ключевая часть маршрутизации.
PI — Provider Independent. Провайдеро-независимые IP адреса. Находятся в определенной AS, маршрут к ним зависит только от политики маршрутизации. Принадлежат конечному пользователю [компании или LIR], а не его вышестоящему провайдеру. Следственно, сохраняются при смене ISP\подключении дополнительного ISP.
Путь распределения пространства:
Остановимся более подробно на каждом из интересных нам пунктов.
RIR — Regional Internet Registry, региональная регистратура интернета. Всего их пять — RIPE для Европы и Ближнего Востока, ARIN для Северной Америки, APNIC для Азии и Тихого Океана, LANIC для Латинской Америки и AfriNIC для Африки.
Статус RIR присваивается IANA и стать RIR для организации не возможно.
RIR занимаются выделением адресного пространства, регистрацией LIR, статистикой и разрешением споров. Это некоммерческие организации, они ничего не продают. Однако, каждый LIR платит членские взносы (рассчитываются исходя из размера сети) в RIR. RIR не работают с конечными пользователями и физическими лицами.
Карта RIR по регионам:
LIR — Local Internet Registry, локальная регистратура Интернета.
LIR делятся на категории, исходя из размера сети. Всего есть 5 категорий — Extra Large, Large, Medium, Small и Extra Small. Категории зависят от размера и нескольких других факторов, и присваиваются самим RIR.
В России существует 3 Extra Large, 20 Large и несколько сотен Medium\Small\ESmall LIR.
LIR платит членские взносы в RIR. Они не велики и рассчитываются исходя из класса LIR. Для RIPE это 1300 € в год для Extra Small и 5500 € в год для Extra Large.
LIR имеет минимум 1 ASN и минимум 4096 IP-адресов.
LIR имеет право выделения (Sub-Allocated) либо продажи ASN и IP/PI своим клиентам (Provider Aggregatable, PA. У всех пользователей сети, имеющих «белый» IP такие адреса). Также, LIR может быть посредником между конечным пользователем и RIPE (например, в ситуации регистрации AS\PI\LIR).
Как правило, статус LIR имеют крупные сетевики (провайдеры, дата-центры, регистраторы и т.д.). Обычной организации, 99.9% случаев это не нужно.
Автономные системы.
AS — Autonomous System, автономная система.
AS имеет свой порядковый номер — ASN, который используется в протоколе динамической маршрутизации BGP. Все IP-адреса закреплены за какой-то AS.
Существует 4 типа AS:
multihomed: имеющая 2 и более аплинка.
stub: имеющая 1 аплинк.
transit: транзитная, пропускающая через себя трафик других AS.
«приватная» AS, номера от 64512 до 65534, использующиеся для внутрисетевых нужд, тестов и обучения (аналогично «приватным» IP-адресам, таким как 192.168.0.0/24).
«Жизнь» AS регламентируется стандартом RFC 1930.
Если кому-то интересно, то есть список всех выданных ASN.
А вот здесь можно узнать номер AS по IP адресу, принадлежность этой AS и ее аплинки.
PI-адреса.
PI — Provider Independed, провайдеро-независимые IP-адреса. В отличие от PA и SUB-ALLOCATED IP-адресов, это адресное пространство принадлежит тому, кто его получил, а не его ISP. Вы можете использовать его как вам угодно, менять ISP без смены адресов, подключатся к 2м и более ISP с созданием собственной multihomed AS и политики маршруизации (например, включится в Internet eXchange и получать локальный трафик дешевле, чем продает его ваш оператор).
Вопросы регистрации.
Для регистрации AS и PI нет необходимости становится LIR. Для этого необходимо:
ХостингКонсалт, например, берет за регистрацию PI 8 000 руб. единоразово.
Либо, стать LIR самому:
Как стать LIR.
Если у кого-то остались вопросы, готов ответить на них в комментариях. 🙂
Что такое AS, кому и зачем она нужна
Автономная система — равноправная часть интернета и её основа, из совокупности автономных систем состоит интернет в целом. Полное определение Autonomous System (AS) даёт RFC 1930. Номер AS может быть 16 или 32-битным (был введён в 2007 году в связи с исчерпанием номеров) и обычно записывается «AS12345» в случае 16-битного.
Нужна автономная система вместе с блоком собственных IP-адресов начинающему провайдеру или любой организации, имеющей крупную ИТ-инфраструктуру, которая желает обеспечить отказоустойчивость доступа к своим ресурсам из сети, а также самостоятельно определять политику маршрутизации. Когда есть собственная автономная система можно без перенастроек конечного оборудования пользователей изменять каналы связи, не зависеть от IP-адресов провайдера, менять приоритет одного канала над другими и многое другое.
Как определить номер AS
Для определения номера автономной системы можно воспользоваться бесплатным онлайн-инструментом https://www.tendence.ru/tools/whois. Для определения номера AS сайта введите имя сайта, для определения номера AS IP-адреса — сам IP. При пустом вводе будет отображена информация по вашему текущему IP вместе с номером автономной системы, к которой он принадлежит.
Введите доменное имя или IP-адрес:
Регистрация
Для получения собственной системы AS и блока IP-адресов необходимо обратиться в организацию, имеющую статус локальной интернет-регистратуры, LIR — Local Internet Registry. Эта организация уполномочена региональными регистратурами к обработке заявок на получение AS и блоков IP. Всего региональных регистратур 5:
Всего на начало 2012 года уполномоченных для регистрации в РФ локальных регистратур насчитывалось 1187, из них:
Размер регистратуры определяется количеством блоков IP, ею управляемыми. Теоретически любая из этих организаций может зарегистрировать для клиента автономную систему и IP-номера. Однако далеко не все делают это для любого желающего на коммерческой основе. Многие регистратуры были созданы компаниями для собственных нужд, когда это было экономически оправдано для владения и управления большим количеством блоков IP-адресов. Коммерческие услуги по регистрации для третьих лиц такие LIR не предлагают.
Для регистрации локальной регистратуре LIR необходимо предоставить следующую информацию:
Длительность регистрации, как правило, занимает 1-2 месяца и включает в себя следующие услуги:
После выделения региональной регистратурой этих ресурсов локальная регистратура сообщает их реквизиты заказчику. Теперь всё готово, выделенными объектами можно начинать пользоваться.
Настройка и поддержка
BGP (Border Gateway Protocol)
Наконец автономная система зарегистрирована, но пока другие участники интернета о ней ничего не знают. Для того, чтобы сообщить о себе другим автономным системам необходимо сконфигурировать роутер, который будет предоставлять (анонсировать) информацию об AS и блоке IP по протоколу BGP (Border Gateway Protocol). BGP представляет собой протокол маршрутизации, при помощи которого BGP-маршрутизатор держит в своей памяти карту маршрутов до всех остальных маршрутизаторов в сети и сообщает другим узлам интернета через какие маршруты достижимы управляемые им самим блоки IP-адресов.
BGP-роутером может быть Linux-сервер в пакетом Zebra или Quagga, однако для большей надёжности и производительности рекомендуется использование аппаратных решений на базе Cisco или Juniper. Рассмотрим настройку BGP-роутера в Cisco IOS (требуется соответствующая версия IOS с поддержкой BGP – не ниже Service Provider Services).
В простейшем случае настройка занимает всего несколько строк:
router bgp
network mask
neighbor
neighbor
Позаботьтесь о достаточном количестве оперативной памяти у BGP-роутера (не менее 1 Гб). При старте BGP-роутера объём используемой оперативной памяти может увеличиваться в несколько раз по сравнению с рабочим режимом. По состоянию на начало 2012 года полная карта сетей, а также маршрутов интернета (full view) занимает в ОЗУ маршрутизатора Cisco в рабочем виде более 100 Мб. Со временем карта имеет тенденцию постоянно увеличиваться вместе с ростом интернета, появлением новых автономных систем и сетей. Так, указанные 100 Мб содержат более 2 миллионов префиксов (подсетей, блоков IP-номеров) плюс 22 миллионов путей между ними.
rDNS (reverse DNS, обратный DNS)
Не забудьте также настроить обратную зону DNS для своего блока IP-адресов. Без настроенной зоны обратного (reverse DNS, rDNS) преобразования (IP-адрес → имя хоста) не будет нормально работать почтовый сервер. Почтовые серверы получатели проверяют rDNS IP-адреса сервера-отправителя письма с заявленным в заголовке сообщения и в случае их несовпадения, а уж тем более отсутствия rDNS записи вообще, отвергают сообщения от такого отправителя как спам. Также возможна длительная блокировка попыток соединений с такого некорректно настроенного почтового сервера.
Таким образом правильная настройка обратной зоны DNS крайне важна особенно для сервера корпоративной почты. Для этого достаточно сконфигурировать на своих DNS-серверах поддержку зоны вида 3.2.1.in-addr.arpa, а в RIPE зарегистрировать объект типа «domain», в полях nserver которого следует указать имена своих DNS-серверов. Обратите внимание, имя реверсной зоне даётся обратном порядке — для сети 1.2.3.0 имя rDNS-зоны будет 3.2.1.in-addr.arpa Проверить правильность настройки обратной зоны можно выполнив следующие запросы в командной строке (одинаково для Windows и Linux):
nslookup (запуск утилиты DNS-запросов)
set type=ptr (установка типа DNS-запроса PoinTeR, «указатель»)
1.2.3.4 (запрос имени для конкретного IP-адреса)
в ответ DNS-сервер выдаст присвоенное IP-адресу 1.2.3.4 имя, например,
4.3.2.1.in-addr.arpa name = corpmail.domain.ru
Такой ответ означает, что всё настроено верно.
Как получить собственную ASN и блок IPv4-адресов
Новые блоки IPv4-адресов в европейском регионе более не выделяются с ноября 2019 года. У регионального регистратора можно получить лишь блоки IPv6-адресов, использование которых пока широко не распространено. Получить свой номер AS и диапазон IP версии 4 организация может взяв в их аренду. Для запроса коммерческого предложения заполните форму ниже.
Суверенный РуНет
«Кто владеет информацией, тот владеет Миром»
(народная мудрость).
«Не вливают также вина молодого в мехи ветхие;
а иначе прорываются мехи,
и вино вытекает, и мехи пропадают,
но вино молодое вливают в новые мехи,
и сберегается то и другое».
Мф. 9:17.
В последнее время владельцы автономных систем (ASN), Технологических сетей и Провайдеры Интернет стали обращаться с вопросами, что за Суверенный Интернет, с чем его едят и какова ответственность. Из РКН (иногда с доменов @mail.ru, @ya.ru) валом идут неперсонифицированные запросы без указания наименования лица.
«В адрес нашей компании систематично поступают запросы от Управления Роскомнадзора по ___________ Федеральному округу. Запросы такого содержания: в соответствии с приказом Роскомнадзора от 31.07.2019 г. № 221 операторы связи и лица, имеющие уникальный идентификатор совокупности средств связи и иных технических средств в сети Интернет, представляют в Управление информацию в соответствии с требованием приказа в формате XML или через сайт ведомства.»
В свою очередь, мы пытаемся им объяснить, что не являемся оператором связи, Лицензия на телематические услуги нами получена лишь для того, чтобы осуществлять свою основную деятельность по разработке оборудования и программного обеспечения, и для участия в закупках и тендерах. Никакой коммерческой выгоды от обладания данной бумажкой мы не имеем, IP-адреса не используются.
Сейчас регулярно также получаем от них инструкции по заполнению каких-то данных, которые должны предоставляться в 5 этапов.
С 27 марта вступает в действие федеральный закон от 24.02.2021 № 19-ФЗ, устанавливающий многотысячные штрафы за несоблюдение правил Суверенного РуНета.
В цикле статей (всего 4) разберём поставленные проблемы и дадим ответы на вопросы.
БИБЛИОГРАФИЯ
ВВЕДЕНИЕ
ОСНОВНАЯ ЧАСТЬ
2.1. Обязанности всех Владельцев ASN
I. Предоставлять в Роскомнадзор в электронном виде посредством заполнения электронных форм или размещения информации в формате XML в личном кабинете на официальном сайте РКН, а также по требованию РКН информацию, установленную:
Б) Приказами РКН №222 и №223 от 31.07.19 (см.П.4 ч.7 статьи 56.2. ЗоС)- при использовании линий связи, пересекающих Гос. границу.
Пр. РКН от 31.07.19 № | Кто подает? | СОСТАВ СВЕДЕНИЙ | СРОКИ | |
221 | Лица, имеющие ASN. 1. Об имеющемся у них ASN, а также о IP-адресах, принадлежащих AS. 2. О взаимодействии с Влалельцам ASN. 3. О местах подключения своих средств связи к линиям связи, пересекающим Гос. границу России. 4. О местах установки своих средств связи, подключенных к линиям связи, расположенным за пределами РФ. 5. О маршрутах сообщений электросвязи. При этом, в соответствии с п.12-13 Приказа 221, в случае установления Роскомнадзором факта представления неполной или недостоверной информации, владельцу ASN направляется уведомление. В ответ, владелец ASN в течение 5 рабочих дней с даты получения уведомления, указанного в пункте 12 настоящего акта, обязано представить информацию одним из способов, указанных в пункте 8 настоящего акта. ОТВЕТСТВЕННОСТЬЧастями 3 и 4 статьи 19.7.10 КОАП РФ введены штрафы: На запросы по 221 приказу РКН дал следующие ответы: ВЫВОДЫ по обязанности I:Защита от DoS/DDoS атак с помощью фильтрации по номеру автономной системы (ASN)ВведениеНо чем же данный технический экскурс поможет защититься от злоумышленников? Дело в том, что есть довольно широкий список провайдеров (как ISP, так и Дата Центров), которые мягко говоря не лучшим образом заботятся о безопасности своих сетей (не блокируют исходящие DDoS атаки, не реагируют на жалобы и проч.) и, как следствие, довольно часто являются источниками DDoS атак. Блокировка таких автономных систем (временная, разумеется) может сильно помочь при защите от атак. С подробной статистикой автономных систем, которые чаще всего являются источниками атак Вы можете ознакомиться на сайте: stopddos.ru/current (статистика почти в реальном времени) Определение номера автономной системы, к которой принадлежит IP адресКак определить автономную систему, к которой принадлежит IP адрес/сеть? Это довольно просто. В случае, если IP адрес находится в Европе (а следовательно — в юрисдикции RIPE), то можно использовать команду: whois ip_адрес/сеть. Попробуем на Яндексе: Обращаем внимание на поле ORIGIN, в нем как раз и указан номер автономной системы. Если же IP адреса принадлежат другому RIR (AFRINIC, LACNIC и проч.), то для них нет понятия route объекта и тут самый универсальный совет, который я могу дать — это воспользоваться специальным сервисом, который позволяет преобразовать IP адрес в номер ASN: www.team-cymru.org/Services/ip-to-asn.html Чем еще замечателен сервис от CymRu, так это возможностями по автоматизации и вызову из консоли данной операции, что будет очень к месту в случае использования (при защите от реальных атак без него не обойтись) автоматизированных анализаторов трафика, log файлов для поиска закономерностей и аномалий в контексте определенных ASN. Хорошо, допустим, на данном этапе мы обнаружили ASN (обычно, конечно же, их от нескольких штук до нескольких десятков), из которой идет атака, следующим шагом требуется проверить, кому она принадлежит и для каких целей служит, чтобы случайно не отсечь своих же клиентов, это можно сделать через сервис от Hurricane Electric, bgp.he.net/ASXXXX, где вместо XXXX нужно поставить обнаруженный номер автономной системы. Блокировка трафика из/в определенной ASNНо как нам блокировать трафик, который идет к нам из определенной ASN? Данная функция есть у любого магистрального провайдера, дата центра либо оператора связи (и реализуется она посредством протокола BGP), но получить эту функцию для конечного пользователя почти невозможно. Поэтому мы будем использовать Debian Wheezy и пакетный фильтр iptables для отсечения трафика с паразитных ASN. Разумеется, стандартного решения, которое позволит сделать что-то в стиле: Пока не существует, поэтому нам придется импровизировать! В голову сразу приходит два различных подхода — ipset и geoip (да, у Вас возникнет вопрос — какое отношение он имеет к вопросу, но об этом чуточку позже). ipset позволяет блокировать трафик принадлежащий набору IP адресов либо набору IP сетей, что в принципе нам подходит. Но это не особенно гибко и я не уверен, что ядро Linux будет довольно, если мы создадим, допустим, 120 хешей под нужные нам автономные системы да и управление таким набором хэшей будет очень и очень проблематично. Совершенно случайно в процессе изучения модуля xtables GeoIP мне пришла в голову мысли, что там используется примерно такой же алгоритм определения принадлежности сети к определенной стране, который нам и нужен для определения принадлежности к определенной автономной системе. Кроме этого, есть ряд веских замечаний от автора xtables GeoIP, судя по которым подход используемый им является более оптимальным: xtables-addons.sourceforge.net/geoip.php Итак, давайте сначала соберем и установим модуль xtables geoip и после этого займемся его унификацией для решения начальной задачи — блокировки по ASN. Установка модуля xtables GeoIPТаких инструкций было множество, они довольно краткие поэтому позволю себе привести здесь полную инструкцию. В Debian Wheezy была проделана очень большая работа с Xtables и теперь не нужно проводить никаких дополнительных телодвижений, чтобы получить рабочие модули из пакета Xtables. Также за счет использования фреймворка DKMS не потребуется пересобирать модули вручную при обновлении/замене ядра — система все это решит автоматически. Теперь пару слов о том, как работает GeoIP. Там используется довольно умный (на мой взгляд) подход, когда списки IP сетей, принадлежащих определенной стране приводятся в бинарный формат, сохраняются в файловой системе сервера и при вызове команды iptables затрагивающей данную страну, загружаются в память. Это позволяет обеспечить высокую скорость работы и сэкономить память, так как полный набор IP адресов всех сетей в мире занимает почти 500 мегабайт в несжатом виде. Для xtables GeoIP используются базы сопоставления сеть-страна взятые с сайта компании MaxMind, но загружать и конвертировать в формат, который примет модуль ядра xtables, geoip требуется вручную. После данной операции в текущей папке будут найдены два файла с расширением CSV, в которых соответственно находятся списки IP сетей для протоколов IPv6 и IPv4 с указанием, к каким странам они принадлежат. В процессе конвертации мы увидим много интересных информационных сообщений, например, число IP v4/v6 диапазонов для каждой из стран: Все, мы готовы к работе, попробуем отсечь трафик, который идет, например, из Зимбабве: В тот момент, когда мы дадим эту команду, из файловой системы будет взят и загружен в ядро файл /usr/share/xt_geoip/LE/ZW.iv4, в котором находится список IP стран. Обращаю внимание, друзья! Ни в коем случае не используйте подобное в продакшене НИ-КОГД-ДА. Это лучшая практика, как нельзя делать в сети интернет. Такое допускается делать лишь временно, например, в случае активного противодействия DDoS/DoS атакам либо просто для подсчета — сколько трафика идет с каждой страны. Всегда держите в памяти, что актуальность баз GeoIP оставляет желать лучшего и в забаненой Вами Зимбабве могут оказаться Ваши ключевые клиенты из Нью-Йорка (разумеется, лишенные доступа к Вашему ресурсу). Создание базы по сетям принадлежащим ASN в формате MaxMind.Чтобы максимально упростит себе жизнь давайте попробуем создать базы сопоставления сеть-ASN в том же формате, что MaxMind хранит данные сопоставления сеть-страна. При таком подходе мы сможем использовать скрипт xt_geoip_build без каких-либо изменений. Как же создать подобную базу? Во-первых, нам понадобится текущий отпечаток роутинг-таблицы Интернета, так как информация о принадлежности сетей определенной ASN меняется ежеминутной и поэтому нет возможности всегда иметь актуальную базу. Где же взять этот отпечаток? Он всегда имеется в актуальном виде в формате MRT TABLE DUMP V2 на сайте Routevievs.org: archive.routeviews.org/bgpdata. Но есть небольшая проблема с данным форматом — он очень сложен для анализа и поэтому нам потребуется конвертер, который разрабатывается RIPE и называется BgpDump: bitbucket.org/ripencc/bgpdump/wiki/Home Но и формат данных, которые генерирует BgpDump не совпадает с форматом MaxMind и нам потребуется еще один конвертер (к счастью, много более простой), который мы реализовали на Perl, взять его можно по адресу: raw.github.com/FastVPSEestiOu/xt_asn/master/bgp_table_to_text.pl, после этого положите его по адресу /opt/bgp_table_to_text.pl и поставьте exec флаг (chmod +x). Теперь у нас имеется полный комплект ПО, для генерации базы ASN-сеть в формате MaxMind. Для реализации всей задачи требуется выполнить ряд bash команд: После этого конвертируем по той же схеме как и данные Max Mind GeoIP: В результате работы команды в папке /usr/share/xt_geoip/LE/ будет создано почти 100 тысяч файлов (по 2 для каждой ASN) и они будут использоваться для загрузки в модуль фильтрации ядра. Модификация xtables geoip для использования его для определения принадлежности IP к определенной ASNЕсли мы попробуем заменить название страны ZW в команде iptables на номер ASN, например, 11222, то мы получим ошибку: Что же делать? Посмотреть во внутренности xt_geoip. Тут пару слов о том, как устроен GeoIP — он состоит из плагина для iptables (userspace), который загружает правила в ядро и модуля ядра (kernel space, соответственно). После беглого поиска по коду, мы обнаруживаем, что Country Code в формате ISO3166 хранится в формате беззнакового 16 битного числа, которое может хранить в себе числа вплоть до 65535. Как мы уже упомянули ранее, формат ASN в данный момент принят 32х битный, поэтому чтобы отфильтровать трафик из/в 32 битную ASN (например, 190111) потребуется немного импровизации — потребуется найти свободный номер ASN в первых 65 тысячах (например, в данный момент свободна ASN 170) и перенести список сетей в бинарном формате в нее (mv /usr/share/xt_geoip/LE/190111.iv4 /usr/share/xt_geoip/LE/170.iv4), но при этом не забыв, что номер ASN используется «замененный». Такой хак отлично сработает даже если Вам нужно оперировать со всеми ASN мира! Их суммарное число на сегодняшний день составляет 46000 и легко помешается с учетом перестановок в 16 битовое беззнаковое число. Если же на момент прочтения статьи ASN станет более 65 тысяч, то придется накладывать патч на ядерную составляющую модуля GeoIP, но он будет достаточно прост — потребуется заменить short int на полноценный int или даже long (а вдруг появятся 64 битные ASN?). Чтобы добиться возможности использования номеров ASN вместо двухбуквенных кодов стран мы немного пропатчим код. А именно, закомментируем блок, в котором идет проверка, чтобы указанный аргумент iptables «страна» был именно двухбуквенным ISO кодом страны: И после этого заменим код упаковки двух 8 битных символов в 16 битное число на код, который просто читает 16 битное число из строки и сохраняет его: Также потребуется изменить код, который отображает код страны используя внутренне числовое представление страны (16 битовое число), теперь мы просто отображаем число без преобразований: В данном случае я позволил себе заменить asn на xas, так как в ряде случаев (32 битные ASN) это не реальный номер ASN (а подстановочный) и это мне хотелось подчеркнуть. Теперь дело за малым, нам нужно скомпилировать пакет xtables-addons-common (как раз в нем размещается модуль-расширение для iptables, работающий в пространстве пользователя) наложив на него данный патч: Теперь устанавливаем пропатченный пакет: И после этого можно использовать 16 битные номера ASN в правилах ipables: Теперь Вы готовы отразить еще один тип атак! Кроме этого, аналогичные методы могут быть использованы для анализа легитимного трафика, который идет на Ваш сервер 🙂 Друзья! Успехов Вам в будущем году и поменьше DDoS атак, Ваш FastVPS!
|