Развеивание мифов об интернет-протоколе IPv6

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

IPv6: что это такое?

Несмотря на то что сегодня существует достаточно много протоколов для использования подключения к интернету в виде наиболее часто используемого IPv4 или доступа к почтовым серверам вроде POP3 или SMTP, остановимся именно на шестой версии IP.

Собственно сама процедура доступа ко Всемирной паутине состоит в том, чтобы идентифицировать каждый подключаемый компьютер. При этом любое компьютерное или мобильное устройство должно иметь свой совершенно уникальный идентификатор, называемый адресом. Иными словами, суть использования любого протокола состоит в том, чтобы в мире не встречалось ни одного повторяющегося значения.

Зачем это нужно? Да только затем, чтобы ответ запрашиваемого сервера или загрузка данных производилась именно на указанное устройство, а не в другую систему. Сам же протокол IPv6 отвечает за генерирование и присвоение таких идентификаторов. Грубо говоря, при его задействовании создается уникальная комбинация, которая соответствует каждому устройству. При этом именно он генерирует практически неограниченное количество таких идентификаторов, что при условии развития мобильной техники в наши дни становится особо актуальным.

IP-адреса в IPv6

Существует несколько типов адресов v.6:

  1. одноадресные (Unicast);
  2. групповые (Anycast);
  3. многоадресные (Multicast).

Каждый имеет свои особенности. Пакет, посланный на unicast, всегда достигает в точности того интерфейса, на который был послан. Anycast по своему синтаксису не отличимы от Unicast. Но в отличие от первого они отправляются не конкретному интерфейсу, а целой их группе. Обычно пакет, отправленный определенному устройству, отсылается по первому интерфейсу согласно метрике. Anycast распознаются маршрутизаторами.

Multicast адресуется целой группе интерфейсов. Причем пакет данных всегда достигает каждого интерфейса, присутствующего в перечне. При записи символьного кода отображаются в виде восьми 4-хзначных шестнадцатеричных чисел, все они разделены между собой двоеточием. Каждая группа содержит в себе по четыре символа.

В памяти ПК и иного оборудования адрес выглядит следующим образом:

2001:0db8:11a3:09d8:1f36:8a2e:07a8:765d.

При наличии группы, состоящей из одних нулей, можно заменить её просто двоеточием.

В IP v.6 имеются зарезервированные группы:

  1. fc00:: — заменяет собой Site-Local;
  2. fec0::feff – диапазон помечен как устаревший;
  3. fe80:febf – аналог 169.254.0.0/16 в старом стандарте;
  4. 2001:db8:: — используется в качестве примеров для документирования.

История создания и внедрения протоколов IP

Информационные источники утверждают, что разработка таких методик началась еще в 70-е годы прошлого века. Тогда одна из технологий получила название интернет-протокола, или, в английской версии, Internet Protocol, откуда, собственно, и происходит аббревиатура.

Четвертая версия, некогда бывшая наиболее актуальной, считалась верхом совершенства, поскольку могла генерировать 32-битные адреса, распределяемые посредством DHCP-серверов, в количестве порядка четырех миллиардов идентификаторов. При населении нашей планеты в пять миллиардов и достаточно ограниченном круге пользователей Глобальной паутины это считалось верхом совершенства. Но в конце XX и в начале XXI века с увеличением количества компьютеров и мобильных девайсов четвертая версия протокола перестала справляться с возложенными на нее задачами. Именно поэтому и возникла идея создания нового протокола IPv6. Что это такое?

Технология была основана на увеличении битности присваиваемого адреса, но ей предшествовало появление промежуточной пятой модификации, получившей аббревиатуру ST/ST2. В тогдашних условиях она выглядела исключительно как попытка создания чего-то нового, но на практике в компьютерных системах практически не применялась (разве что так и осталась некой тестировочной версией).

Преимущества и особенности протокола IPv6

POP3 vs IMAP: какой протокол позволяет получать электронную почту на любом устройстве

Основным достоинством протокола IPv6 является не только решение проблемы дефицита IPv4-адресов, но и всех последующих протоколов. Благодаря протоколу IPv6 была сокращена потребность в изменении сетевых адресов – NAT, которая ранее решала проблему недостатков IPv4-адресов.

Протокол IPv6 использует многоадресную маршрутизацию и упрощённые заголовки, что значительно увеличивает эффективность маршрутизации.

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

Чем шестая версия IP отличается от четвертой?

Если посмотреть на разницу между четвертой и шестой версией, совершенно очевидно, что в случае использования IPv4 полная длина адреса составляет 32 бита. IPv6-адрес имеет размерность 128 бит, что позволяет генерировать количество вероятных идентификаторов, в миллионы раз превышающее возможности четвертой версии. Для сравнения стоит хотя бы посмотреть на числа, представленные ниже.

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

Проверка работы

Итак, включение и настройка IPv6 произведены. Теперь остается убедиться в том, что протокол действительно задействован и работает без проблем.

Для проверки подключения используем все ту же команду ipconfig. После всех правильно выполненных процедур и настроек протокол должен отобразиться на экране. Если задаться целью просмотра адреса, можно просто кликнуть на значок сетевого подключения в системном трее и выбрать меню состояния. То же самое можно осуществить из «Панели управления», где выбирается соответствующий раздел сетевых подключений с последующим переходом к активному соединению.

IPv6 без доступа к сети: как определить, поддерживается ли протокол?

Теперь перейдем к практическим действиям. Настройка IPv6 должна начинаться с проверки факта поддержки протокола в самой компьютерной системе. Сразу же нужно обратить внимание и на то, что если у провайдера, предоставляющего услуги интернет-подключения, нет поддержки сервера DHCP шестой версии, сколько ни пытайся настроить задействование шестой версии протокола, ничего не получится, – он все равно останется неактивным.

В самом простом случае для получения информации следует использовать командную строку, вызываемую из меню «Выполнить» (Run) посредством ввода сокращения cmd. К самой консоли нужно прописать стандартную команду ipconfig для единичного терминала или ipconfig /all для всех компьютеров, объединенных в локальную сеть. Если на экране не будет показан активный доступ к IPv6, его придется настроить. И это абсолютно не значит, что протокол не поддерживается – он просто не задействован (или у провайдера нет DHCPv6).

Вызвав настройки протокола командой ncpa.cpl через меню «Выполнить», можно увидеть, что в параметрах системы он есть, но галочка на нем не установлена (или установлена, но протокол не настроен). Кстати сказать, все операционные системы Windows последних поколений шестую версию протокола поддерживают.

Инструментарий пентестера IPv6

Перед тем как перейти к уязвимостям и атакам, неплохо бы рассмотреть, какие есть инструменты в арсенале пентестера. До недавнего времени существовал только один набор утилит для проведения атак на протоколы IPv6 и ICMPv6. Это был THC-IPV6 от небезызвестного Марка ван Хаузера, того самого автора брутфорсера THC-hydra и массы других незаменимых инструментов. Именно он в 2005 году серьезно заинтересовался этой темой и вплотную занялся ресерчем протокола IPv6. И до недавнего времени оставался первопроходцем, но в последний год ситуация начала меняться. Все больше исследователей обращают свое внимание на IPv6, и, соответственно, стали появляться новые утилиты и новые сканеры. Но на сегодня THC-IPV6 по-прежнему остается лучшим набором утилит для пентестера. В его комплект входит уже более 60 инструментов, разделенных на различные категории — от сканирования и митмов до флудинга и фаззинга. Но не будем забывать и тру инструмент scapy — утилиту, которая позволяет вручную создавать любые пакеты, с любыми заголовками, даже если такие вариации не предусмотрены ни в одном RFC.

Как определить собственный адрес IP?

Определить, задействован ли IPv6-адрес, можно совершенно элементарно, используя для этого раздел центра управления сетями и общим доступом в «Панели управления», где выбираются свойства текущего подключения, а в появившемся окне нажимается кнопка сведений.

Напротив локального адреса IPv6 должно быть указано какое-то значение. Если оно отсутствует, протокол просто не задействован. Обратите внимание, что одновременно задейстованы обе версии протокола, — так и должно быть.

Что еще нового

Только адресами изменения, естественно, не заканчиваются. Еще был значительно упрощен заголовок (см. рис. 2).

Рис. 2. Сравнение заголовков IPv6 и IPv4

Теперь все, что не является обязательным для маршрутизации пакета из точки в А в точку Б, стало опциональным. А раз опциональное — значит, переезжает в extension header, который лежит между IPv6-заголовком и TCP/UDP-данными. В этом самом extension-заголовке уже и проживают фрагментирование, IPsec, source routing и множество другого функционала.

Резко упростили задачу маршрутизаторам, ведь уже не надо пересчитывать контрольные суммы, и в итоге IPv6 обрабатывается быстрее, чем IPv4. Контрольные суммы убрали вовсе. Во-первых, у фрейма на уровне L2 есть CRC, во-вторых, вышележащие протоколы (TCP) тоже будут обеспечивать целостность доставки. В итоге из заголовка выбросили лишние поля, стало проще, быстрее и надежнее.

Автоматическое получение адресов

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

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

Представление адресов

IP состоит из двух основных составных частей:

  • номера сети;
  • номера узла.

Формат записи зависит от того, в какой сети он используется. Если сетевое пространство изолировано от глобальной сети Интернет, то администратор выбирает IP из специально зарезервированного диапазона (10.0.0.0/8 или 192.168.0.0/16). В случае, когда локальная сеть является составной частью Интернета, протокол определяется текущим провайдером и представляется в ином формате.

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

Запись IP может осуществляться в двух формах:

  • десятичной;
  • двоичной.

Десятичный способ представления используется только для упрощения представления на экране компьютера для удобства пользователя. Двоичный способ представления отражает непосредственный вид в оперативной памяти компьютера. В среднем длина IP составляет 4 байта. Поэтому если представить его в двоичной форме, то он будет иметь вид 32-х разрядного числа – последовательно расположенных 0 и 1.

IP-адрес 213.128.193.154 после преобразования в двоичную форму будет иметь следующий вид: 11010101 1000000 11000001 10011010. При помощи такого формата представления можно легко определить класс.

Он характеризуется первыми цифрами в двоичном числе, расположенными в начале записи:

  1. класс «А» — 0;
  2. класс «В» — 10;
  3. класс «С» — 110;
  4. класс «D» — 1110;
  5. класс «Е» — 11110.

Задание параметров вручную

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

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

Автоматическая настройка

Теперь посмотрим на настройку IPv6. Интернет-соединение от этого только выиграет (опять же, настройка актуальна только в том случае, если провайдер поддерживает данный протокол).

В большинстве случаев для корректной настройки IPv6 адрес, получаемый компьютерным терминалом, вручную вводить не нужно. Связано это с тем, что практически все крупные провайдерские компании имеют в собственной сети активный сервер DHCPv6, от которого, собственно, и производится присвоение IP, то есть адрес IPv6 сервер выдает определенной машине сам.

Таким образом, для простейшей настройки следует задействовать поля автоматического получения адреса IP и адреса DNS-сервера. Если же автоматическая настройка невозможна, но есть поддержка IPv6, адрес IP можно получить в автоматическом режиме, а вот значения для предпочитаемого DNS-сервера придется вводить вручную. И тут есть свои загвоздки.

Альтернативные настройки DNS

Параметры серверов DNS (предпочитаемого и альтернативного), устанавливаемые по умолчанию в автоматическом режиме, могут не сработать. Иногда даже ручное задание значений, предоставляемых провайдером, может не возыметь эффекта. Поэтому многие компании, в частности Yandex и Google, предоставляют собственные адреса, которые будут использованы в таких настройках.

Для Google используются комбинации из четырех восьмерок, двух четверок и двух восьмерок, или наоборот, а для сервисов «Яндекса» — две семерки, две восьмерки и еще по одной восьмерке для четырех полей адреса. Правда, если речь идет о настройке телевизионных смарт-панелей, Yandex предлагает прописывать сочетания цифр и литер, что выглядит весьма неудобным.

Но самая главная проблема применения таких настроек по сравнению с автоматическими или предлагаемыми провайдером сводится к тому, что пользователь получит ограничение по скорости подключения, например, на уровне 50 Мбит/с, хотя именно провайдером заявлена поддержка, скажем 100-150 Мбит/с. Сами понимаете, что ни о какой загрузке музыки или видеоконтента и говорить не приходится. Даже при использовании торрент-клиентов скорость будет иметь еще большие ограничения. Так, например, при скорости соединения 100-150 Мбит/с в торренте при наличии максимального количества раздач можно получить скорость загрузки на уровне 3-4 Мбит/с, при значении в 50 Мбит/с – в несколько раз меньше.

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

Что такое ipv6, и почему мы еще не используем его?

Протокол IPv6 разрабатывается с 1998 года для решения проблемы нехватки IP-адресов, доступных в рамках Ipv4, но, несмотря на преимущества в плане эффективности и безопасности, внедрение происходит очень медленно. По большей части ужасные предупреждения о нехватке интернет-адресов прекратились, потому что, медленно, но верно, начался переход с интернет-протокола версии 4 (IPv4) на IPv6. Но прежде чем мы увидим, куда мы идем с IPv6, давайте вернемся к истокам интернет-адресации.

Что такое IPv6 и почему это важно?

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

Предыдущая версия, IPv4, использует 32-разрядную схему адресации для поддержки 4,3 миллиарда устройств, что было сочтено достаточным. Однако, рост интернета, количества персональных компьютеров, смартфонов доказывает, что миру нужно больше адресов.

К счастью, Инженерный совет Интернета (IETF) признал это 20 лет назад. В 1998 году он создал IPv6, который вместо этого использует 128-битную адресацию для поддержки приблизительно 340 ундецеллионов адресов (или от 2 до 128-й степени, если хотите). Вместо типа адреса IPv4, состоящего из четырех наборов одно- или трехзначных чисел в IPv6 используются восемь групп из четырех шестнадцатеричных цифр, разделенных двоеточиями.

Каковы преимущества IPv6?

В свою работу IETF включил усовершенствования в IPv6 по сравнению с IPv4. Протокол IPv6 может обрабатывать пакеты более эффективно, повысить производительность и повысить безопасность. Это позволяет интернет-провайдерам уменьшить размер своих таблиц маршрутизации, сделав их более иерархичными.

Трансляция сетевых адресов (NAT) и IPv6

Принятие IPv6 было отложено частично из-за трансляции сетевых адресов (NAT), которая принимает частные IP-адреса и превращает их в публичные IP-адреса. Таким образом, корпоративная машина с частным IP-адресом может отправлять и получать пакеты от машин, расположенных за пределами частной сети, имеющих публичные IP-адреса.

Без NAT крупные корпорации с тысячами или десятками тысяч компьютеров будут поглощать огромное количество общедоступных IPv4-адресов, если они хотят общаться с внешним миром. Но эти IPv4-адреса ограничены и почти исчерпаны до такой степени, что их придется ограничивать.

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

Сложность, затраты и время, необходимое для завершения – это все причины такой задержки в реализации. Кроме того, некоторые проекты были отложены из-за проблем совместимости программного обеспечения. Например, в отчете за январь 2020 года говорится, что ошибка в Windows 10 «подрывает усилия Microsoft по развертыванию сети только для IPv6 в ее штаб-квартире в Сиэтле».

Когда произойдет переход на IPv6?

Интернет-общество заявило, что цена на адреса IPv4 достигнет максимума в 2020 году, а затем цены упадут после того, как развертывание IPv6 пройдет 50% отметку. В настоящее время, по данным Google, IPv6 в мире внедрили только на 20% — 22%.

Когда цены на IPv4-адреса начинают падать, Интернет сообщество предлагает предприятиям распродать свои существующие IPv4-адреса, чтобы помочь финансировать развертывание IPv6. Массачусетский технологический институт уже сделал это. Университет пришел к выводу, что 8 миллионов его адресов IPv4 являются «избыточными» и могут быть проданы без ущерба для текущих или будущих потребностей, поскольку университет имеет в распоряжении 20 нониллионов адресов IPv6. (Нониллион — это цифра, за которой следуют 30 нулей.)

Кроме того, по мере увеличения числа развертываний все больше компаний начнут взимать плату за использование адресов IPv4, одновременно предоставляя услуги IPv6 бесплатно. Британский интернет-провайдер Mythic Beasts говорит, что «подключение по протоколу IPv6 входит в стандартную комплектацию», а «подключение по протоколу IPv4 — это дополнительная опция».

Когда IPv4 будет «отключен»?

Большая часть мира «исчерпала» новые адреса IPv4 в период между 2011 и 2020 годами, но мы не будем полностью лишены их, поскольку адреса IPv4 продаются и используются повторно (как упоминалось ранее). Официальной даты отключения не существует, поэтому люди не должны беспокоиться о том, что их доступ к Интернету внезапно исчезнет в один прекрасный день. По мере того, как все больше сетей переходят на IPv6, все больше контент-сайтов поддерживают новый протокол, и все больше конечных пользователей модернизируют свое оборудование под возможности IPv6, мир будет постепенно отходить от IPv4.

Проверка функциональности

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

Для получения уточненный данных снова используем команду ipconfig, как было указано выше, и проверяем наличие в информации указания на протокол IP шестой версии с присвоенным локальным адресом. Как альтернативу можно использовать и свойства сети, где нажимается кнопка сведений. Кстати, при наличии беспроводных подключений на основе Wi-Fi нужное меню можно вызвать непосредственно при клике на иконке состояния в системном трее.

Угрозы конечных хостов

И раз уж заговорили про RA, то плавно перейдем к угрозам конечных хостов, и в частности к тем хостам, работа которых с IPv6 не планировалась. То есть рассмотрим атаку на хосты, работающие в дефолтной конфигурации IPv6, в обычной IPv4-сети. Что произойдет, если любая современная ОС получит пакет RA? Так как любая система сейчас поддерживает IPv6 и ожидает такие пакеты, то она сразу превратится в так называемый дуал стек. Это ситуация, когда в пределах одной ОС используется и IPv4, и IPv6 одновременно. При этом сразу же откроется целый ряд ранее недоступных векторов. Например, можно будет сканировать цель, ведь IPv4 обычно фильтруется, а про IPv6, как уже знаем, зачастую вообще не думают.

Кроме того, в большинстве ОС IPv6 имеет приоритет над IPv4. Если, например, придет запрос DNS, то большая вероятность, что IPv6 сработает раньше. Это открывает огромный простор для различных MITM-атак. Для проведения одной из самых эффективных потребуется разместить свой зловредный IPv6-маршрутизатор. Каждый маршрутизатор IPv6 должен присоединиться к специальной мультикаст-группе. Это FF02::2. Как только роутер присоединится к такой мультикаст-группе, он сразу же начинает рассылать сообщения — RA. Сisco-роутеры рассылают их каждые 200 с по дефолту. Еще один нюанс состоит в том, что клиентам не нужно ждать 200 с, они отправляют RS-сообщение — Router Solicitation — на этот мультикаст-адрес и таким образом незамедлительно требуют всю информацию. Весь этот механизм называется SLAAC — Stateless Address Autoconfiguration. И соответственно была разработана атака на него с очевидным названием SLAAC Attack.

Атака заключается в том, что нужно установить свой роутер (не стоит понимать буквально, в роли роутера может выступать любой линукс или даже виртуальная машина), который будет рассылать сообщения RA, но это только полдела. Также атакующему потребуется запустить DHCPv6-сервер, DNSv6 и NAT64-транслятор. В качестве сервиса, способного рассылать сообщения RA, можно использовать Router Advertisement Daemon (radvd), это опенсорсная реализация IPv6-роутера. В итоге после правильной конфигурации всех демонов жертва получит RA и превратится в дуал стек и весь трафик жертвы будет абсолютно незаметно идти через IPv6.

Рейтинг
( 1 оценка, среднее 5 из 5 )
Понравилась статья? Поделиться с друзьями:
Для любых предложений по сайту: [email protected]