По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Когда читаете данную статью, браузер подключается к провайдеру (или ISP) а пакеты, отправленные с компьютера, находят путь до сервера, на котором размещен этот веб-сайт. BGP (Border Gateway Protocol, протокол граничного шлюза) решает, по какому пути следует идти пакетам. Если маршрутизатор не работает или слишком нагружен, пакеты проходят по другому маршруту. BGP по умолчанию принимает объявленные маршруты от других соседей BGP. Нет объявления о пути или владельце, что оставляет серьезную проблему безопасности. В этой статье описывается протокол RPKI, как решение для безопасной маршрутизации BGP. Что такое BGP? Протокол BGP – основной протокол, который используется для обмена маршрутами в Интернете. Пакеты передаются по всему миру децентрализованным образом с автоматизированной маршрутизацией. По мере передачи данных с одного маршрутизатора на другой информация перемещается ближе к пункту назначения. Каждый маршрутизатор поддерживает локальную таблицу наилучших путей для каждой группы префиксов IP-адресов. AS (Autonomous System - автономная система) владеет группами префиксов и определяет, как происходит обмен маршрутизацией. Каждая AS имеет уникальный идентификатор (Number), и протокол BGP определяет, как автономные системы обмениваются информацией о маршрутах. Каждый ASN (Autonomous System Number) объявляет префиксы, по которым он может доставлять данные. Например, AS отвечающая за подсеть 1.0.0.0/8, будет передавать этот префикс соседям и другим провайдерам. Недостатки BGP Прием маршрута BGP зависит от проектирования ISP. Сложно принять во внимание все сценарии: ошибки ввода, ошибки автоматизации или злой умысел - это лишь некоторые примеры проблем, которые трудно предотвратить. В конечном счете, суть проблемы заключается в том, что нет никакого видения того, кто должен объявлять маршрут или кто настоящий владелец. Угоны префиксов равной длины Угон префикса равной длины происходит, когда тот, кто не является владельцем, объявляет об этом же префиксе. Например: Исходная AS отправляет данные, предназначенные для 1.0.0.0/8 AS назначения объявляет 1.0.0.0/8 Другая AS также объявляет 1.0.0.0/8 В случае объявления равной длины BGP должен выбрать маршрут. Решение сводится к конфигурации AS. Источник AS замечает небольшое падение трафика. Падение трафика является обычным явлением, которое может произойти по любому числу причин. За счет этого угон BGP остается незамеченным. Угон определенного префикса Захват определенного префикса происходит, когда злонамеренный ASN объявляет более конкретный префикс. Оба префикса добавляются в таблицу маршрутизации BGP, но более конкретный адрес выбирается в качестве наилучшего пути к сети. Например: Источник отправляет данные, предназначенные для 1.0.0.0/8 AS назначения объявляет 1.0.0.0/8 Другая AS объявляет более конкретный 1.2.3.0/24 Поскольку 1.2.3.0/24 лучше соответствует, все данные в диапазоне 1.2.3.0 поступают в нелегитимную сеть. Что такое RPKI? RPKI (Resource Public Key Infrastructure) - уровень безопасности в протоколе BGP, обеспечивающий полное криптографическое доверие владельцу, где последний имеет общедоступный идентификатор. В BGP понятия владельца не существует. Любому разрешается анонсировать лучший маршрут, будь то злонамеренно или случайно. RPKI основан на существующем стандарте PKI - RFC6480. Существует много ссылок на существующие методологии криптографии для безопасной связи. Почему RPKI важен? Инфраструктура открытого ключа ресурсов делает BGP более безопасным и надежным. Из-за особенностей работы BGP, уязвимость интернета является систематической проблемой. С ростом Интернета последствия заметнее. Маршрутизация информации в небольшую сеть создает перегрузку. Вредоносная маршрутизация доставляет конфиденциальную информацию не туда. Ошибки BGP могут привести к мошенничеству и крупномасштабным сбоям. Известны следующие случаи: Amazon - маршрут 53 BGP угнал DNS Amazon для кражи криптовалют. Google - неправильная настройка фильтрации BGP во время обновления маршрутизировал весь трафик в Китай, Россию и Нигерию. Mastercard, Visa и крупные банки - произошла утечка 36 префиксов платежных услуг. YouTube - Попытка заблокировать сайт YouTube в Пакистане в итоге положила его. Какую форму защиты предлагает RPKI? Проблемы BGP возникают по многочисленным причинам: Нет надежного плана обеспечения безопасности Ошибки перераспределения Опечатки Преступное намерение Наиболее распространенным фактором является человеческая ошибка. Криптографическая модель RPKI обеспечивает аутентификацию владельца через открытый ключ и инфраструктуру сертификатов без наличия в них идентифицирующей информации. Сертификаты добавляют уровень сетевой безопасности к префиксам IPv4 и IPv6. Сертификаты RPKI продлеваются каждый год. HTTP использует аналогичное шифрование для защиты веб-страниц. Хотя весь путь не защищен, RPKI проверяет идентичность источника и предоставляет способ подтвердить, что они являются теми, кем они являются. RPKI является шагом в обеспечении безопасности в маршрутизации BGP, где мы знаем происхождение входящей информации и кто владеет каким пространством. Широкое распространение делает его еще более эффективным в предотвращении угонов в целом. Как работает RPKI? RIR (Regional Internet Registry) обеспечивает корневое доверие в модели криптографии RPKI. IANA (Internet Assigned Numbers Authority) является частью ICANN (Internet Corporation for Assigned Names and Numbers), которая владеет адресными пространствами IPv4 и IPv6. IANA распределяет порции IP пространства для RIR. Локальные RIR затем распределяют пространство IP для сетей, которые далее распределяют для сетей меньшего размера. Этот путь создает доверенную цепочку в сертификатах подписи. Регионы RIR делятся на пять географических районов: ROA Заключительной частью цепочки является ROA (Route Origin Authorization - авторизация источника маршрута). ROA представляет собой простой документ с двумя частями информации: Какой маршрут и максимальная длина. AS, объявившая маршрут. Например, если AS65005 объявляет маршрут в диапазоне от 1.0.0.0/8 до 1.0.0.0/12, ROA содержит область и идентификатор AS65005, проверяя, кто является реальным владельцем информации с полным доверием. Каждая ROA специфична для каждого из существующих RIR. Как развертывается RPKI? "P" в RPKI означает, что сертификаты и ROA доступны в публичных (public) хранилищах. Эта информация используется для формирования списков префиксов, которые относятся к конкретному ASN. Подписи сертификатов и срок действия ROA проверяются каждой сетью независимо. Если какой-либо из следующих ошибок завершается неуспешно, ROA игнорируется: Дата начала или дата окончания ROA и привязки сертификатов к корню находятся в прошлом или будущем. Любая из подписей недействительна или отозвана. Все ROA, которые прошли тест сохраняются в списке проверенных. Фильтр генерируется и выгружается на маршрутизаторы на основе проверенного списка кэша. Маршрутизаторы проверяют объявления BGP через фильтр и получает один из трех результатов: Действительное - ROA присутствует. Длина префикса и номер AS совпадают. Недопустимое - присутствует ROA. Длина префикса или номер AS не совпадают. Не найдено или неизвестно - ROA отсутствует. Маршрутизатор действует на основе состояния префикса, сгенерированного фильтром. Подпись префиксов RIR предлагают онлайн-инструменты для подписи префиксов. При этом префикс и длина префикса связываются с AS. После подписания префикса другие пользователи, реализовавшие проверку RPKI, могут проверить префиксы. Подписание сертификата предотвращает захват префиксов (намеренно или непреднамеренно). Подписанные сертификаты являются ядром ROA. RPKI не предлагает проверки пути, и атаки «человек в середине» по-прежнему возможны. Проверка префиксов Реализация проверки зависит от сведений о сети. Общие шаги при настройке сети для проверки префиксов: Установка средств проверки RPKI - программное обеспечение, которое извлекает данные RPKI из всех реестров маршрутизации Интернет (IRR) и проверяет подписи. Настройка проверки на пограничных маршрутизаторах с помощью средства проверки маршрута - маршрутизаторы заполняют кэш проверки комбинациями проверенных префиксов, длин префиксов и исходных ASN. Реализация фильтров BGP для внешних сеансов BGP - добавление политики для всех сеансов BGP (одноранговых, транзитных и клиентов) для отклонения любого префикса, который является недопустимым с точки зрения RPKI. Заключение RPKI предлагает дополнительный уровень в защите BGP маршрутизации. Большинство маршрутизаторов имеют встроенные возможности проверки и развертывания RPKI.
img
В компании есть три независимых отдела, использующих технологию VLAN (Virtual Local Area Network). На рисунке 1 показано, что ПК 1 и ПК 2 принадлежат одному отделу (VLAN 10), ПК 3, ПК 4 и ПК 5 принадлежат другому отделу (VLAN 20), а ПК 6 принадлежит другому отделу (VLAN 30). Порядок настройки Создайте VLAN на коммутаторах. Установите типы каналов для портов, подключенных к ПК, в режим Access и добавьте порты в сети VLAN. Установите типы каналов для портов, подключенных к коммутаторам, в значение Trunk и добавьте порты в сети VLAN. Приступим Далее в качестве примера конфигурации используется VLAN 10. Войдите в системный режим на коммутаторе, а затем выполните команду vlan vlan-id, чтобы создать VLAN. Например: Теперь вы должны добавить порты в VLAN 10, так как вновь созданные порты не содержат VLAN. Тип соединения по умолчанию порта на коммутаторе - Hybrid. Выполните команду port link-type {access / trunk}, чтобы изменить типы соединений портов, добавляемых в VLAN на Access или Trunk. Чтобы задать PVID для Access порта, выполните команду port default vlan vlan-id. Для настройки разрешенных VLAN для Trunk порта, выполните команду port trunk allow-pass vlan vlan-id1 [to vlan-id2] После настройки VLAN запустите команду display port vlan, чтобы просмотреть конфигурации VLAN и типы портов на коммутаторе. В качестве примера посмотрим настройки S2. Из выходных данных команды видно, что GE1/0/1 на S2 был настроен как Access порт и добавлен в VLAN 10, а GE1/0/2 на S2 был настроен как Trunk порт и позволяет кадрам из VLAN 10 проходить через него, указывая, что команды конфигурации VLAN вступили в силу на GE1/0/1 и GE1/0/2 коммутатора S2. Вы можете применить аналогичные команды для настройки VLAN 20 и VLAN 30.
img
Уровни выполнения (runlevel) Linux можно представить, как режим, в котором запускается система. Каждый из этих режимов обладают своими процессами, которые включены или выключены в зависимости от запущенного уровня выполнения. С момента загрузки Linux выполняется в одном из режимов, нельзя запускать систему в нескольких режимах, но есть возможность переключаться между уровнями во время работы на компьютере. Например, при запуске системы с графическим интерфейсом выполняется один уровень, а если запускать систему в режиме командной строки выполнится другой. Это происходит потому, что режиму GUI нужны доступы к тем процессам, в которых командная строка не нуждается. В зависимости от того, какие службы нужно включить, а какие выключить система меняет уровни выполнения. Почему важны уровни доступа Вы можете годами пользоваться системой Linux, даже не понимая разницу между уровнями доступа, так как эта опция не является часто конфигурируемой. Тем не менее уровни выполнения Linux дают администраторам повышенный контроль над системой. Режим, в котором работает система, может быть изменен (как это сделать будет показано далее), как и сервисы, которые выполняются в этом режиме. Это позволяет нам полностью контролировать, к каким службам система будет иметь доступ в данный момент. Сколько уровней выполнения существует? В системе Linux есть семь уровней выполнения, которые нумеруются от 0 до 6. Разные дистрибутивы по-разному используют уровни выполнения, так что очень сложно составить список задач, которые выполняет конкретный уровень. Зато вы сами можете посмотреть какие задачи выполняют уровни доступа вашего дистрибутива. Ниже приведён список уровней выполнения и основных задач, выполняемых ими. Runlevel 0 завершает работу системы Runlevel 1 однопользовательский режим работы. Чаще всего используется в целях обслуживания и выполнения других административных задач. Это уровень также может называться runlevel S, где S означает single-user. Если вам когда-то приходилось сбрасывать пароль на Linux, то вы вероятно уже пользовались этим режимом. Runlevel 2 многопользовательский режим работы без поддержки сетевых служб (демонов). Runlevel 3 многопользовательский режим с поддержкой сети, но без графического интерфейса. Чаще всего серверные версии Linux работают именно на этом уровне выполнения. Runlevel 4 не используется. Пользователь может настраивать этот уровень исходя из его целей. О том, как это сделать также будет рассказано далее. Runlevel 5 этот режим схож с уровнем 3, но тут еще запускается графический интерфейс. В этом режиме работают десктопные версии Linux. Runlevel 6 этот уровень перезагружает систему. Как узнать текущий режим работы? Чтобы узнать текущий уровень выполнения достаточно ввести команду runlevel в командной строке. На выводе этой команды две цифры. Первая указывает на предыдущий режим работы, а второй на текущий. На скриншоте вместо первой цифры указана буква N, что значит система изначально запускалась и работает в 5 режиме, о чём говорит вторая цифра 5. Как менять уровень выполнения? Текущий уровень выполнения можно менять командой "telinit". Ниже приведён пример смены уровня выполнения на CentOS. $ telinit 3 Следует отметить, что эта операция требует прав привилегированного пользователя. Имейте ввиду, что на системах семейства Debian уровни выполнения работают по-другому. Например, Ubuntu в режиме командой строки запускается с уровнем выполнения 5. После выполнения команды указанной выше, ваш экран может стать пустым. Это потому, что вы остались на пустом терминале, чтобы вернутся на рабочий терминал нажмите комбинацию клавиш Alt+F1. Если запустить команду runlevel еще раз, то мы увидим, что текущий уровень выполнения 3, а предыдущий 5. Linux system против runlevels В последние годы systemd сменила многолетнюю систему уровней доступа (System V init). Фактически он работает по тому же принципу, но использует новые команды, которые в целом используют "runlevel" как "target". Runlevel 0 = poweroff.target (runlevel0.target) Runlevel 1 = rescue.target (runlevel1.target) Runlevel 2 = multi-user.target (runlevel2.target) Runlevel 3 = multi-user.target (runlevel3.target) Runlevel 4 = multi-user.target (runlevel4.target) Runlevel 5 = graphical.target (runlevel5.target) Runlevel 6 = reboot.target (runlevel6.target) По ходу статьи мы изучим systemd и его команды. Как поменять уровень выполнения по умолчанию? Может быть очень много причин для того чтобы загружаться с другим уровнем выполнения. Например, системные администраторы в основном используют систему в режиме командой строки, включая графический интерфейс только в случае необходимости. Именно для таких случаев нужно убедиться, что уровень выполнения по умолчанию 3, а не 5. В прошлом для этого приходилось редактировать файл /etc/inittab. Вы еще можете увидеть эту практику на некоторых системах. Если вы работаете с ОС, которые давно не обновляются до новых версий, этот путь будет приемлемым. $ vi /etc/inittab На скриншоте уровнем выполнения по умолчанию установлен 5. Но большинство систем Linux отказались от файла /etc/inittab в пользу systemd targets и мы рассмотрим разницу между ними по ходу статьи. Вы можете не найти в своей системе файл /etc/inittab или же файл inittab выведет вам сообщение с советом использовать systemd. Чтобы проверить текущий уровень выполнения по умолчанию введите команду $ systemctl get-default Система вернула нам "graphical.target". Как вы наверное и догадались, это не что иное, как уровень выполнения 5. Чтобы просмотреть остальные "target" и уровни выполнения, ассоциированные с ними введите команду: $ ls -l /lib/systemd/system/runlevel* Символьные ссылки указывают на то, что systemd работают так же как и runlevel. Итак, что необходимо сделать, чтобы поменять уровень выполнения по умолчанию? Для этого достаточно создать новую символьную ссылку на интересующую нас цель systemd. $ ln -sf /lib/systemd/system/runlevel3.target /etc/systemd/system/default.target Данной командой мы поменяли режим запуска системы по умолчанию с уровня выполнения 5, на 3 и при следующей загрузке система выполнить именно этот уровень. Ключ f указывает на то, что перед созданием новой символьной ссылки целевой файл должен быть удален. Это же самое могли бы сделать командой rm. Чтобы проверит успешно ли применились изменения достаточно повторно ввести команду "systemctl get-default". Разница между уровнями выполнения 3 и 5 Самыми часто используемыми уровнями выполнения являются уровни 3 и 5. В целом их разница сводится к тому, что 3 это режим командной строки, а 5 режим графического интерфейса. Конечно, не во всех дистрибутивах выполняется это условие или же ваша система может быть сконфигурирована так, что эти два уровня имеют больше отличий. Дальше мы рассмотрим, как узнать, какие процессы задействованы для того или иного уровня. Просмотр список служб конкретного уровня Чтобы просмотреть список служб, доступных для каждого уровня до недавнего времени использовалась команда "chkconfig -list". Если у вас стоит одна из последний версий, системы, то вероятно вы получите ошибку, как на скриншоте ниже: Чтобы проверить, какие службы запускаются во время загрузки системы в режиме графического интерфейса (уровень выполнения 5 для семейства RedHat), нужно запустить следующую команду: $ systemctl list-dependencies graphical.target Чтобы просмотреть список доступных служб другого уровня, просто замените "graphical.target" на нужную. Под каким уровнем работает процесс Если нужно посмотреть по каким уровнем выполнения запущена та или иная служба, можно ввести команду: $ systemctl show -p WantedBy [name of service] Например, чтобы посмотреть какой runlevel использует служба sshd, введите команду: $ systemctl show -p WantedBy sshd.service Судя по скриншоту выше, служба sshd запушена под уровнями 2,3 и 4 (multi-user.target) Меняем уровень запуска приложения Как было показано выше, демон SSH запущена только на уровнях 2-4. Что если нам нужно, чтобы он работал ещё и на уровне 5? Для этого нужно ввести следующее изменение: $ systemctl enable sshd.service Проблемы безопасности с уровнями доступа Linux Как было сказано ранее, уровни доступа дают администраторам возможность управлять службами, которые работают в определённых случаях. Такая возможность детального контроля повышает безопасность системы, так как системный администратор может быть уверен, что не запущена ни одна сторонняя служба. Проблема возникает, когда администратор не знает точно какие службы запущены и, следовательно, не может принять меры по уменьшению площади атаки. Используя методы из данного руководства, вы можете настроить уровень выполнения по умолчанию и контролировать запущенные приложения. Это, конечно, не уменьшит нагрузку на системные ресурсы, но сервер будет более защищен. Помните, что надо запускать тот уровень, который вам необходим. Нет смысла запускать систему в графическом режиме, если планируете работать там режиме командной строки. Каждый уровень выполнения запускает новые службы, большинство из которых работают в фоновом режиме, и вы можете забыть обезопасить их. Какой уровень выполнения выбрать? Выбор режима запуска системы полностью зависит от ситуации. В основном используется один из двух режимов: либо runlevel 3, либо runlevel 5. Если вам удобно работать с командной строкой и вам не нужен графический интерфейс, то уровень выполнения 3 самый подходящий. Это предотвратит запуск ненужных служб. С другой стороны, если вам хочется работать в десктопном режиме или же вам нужна графическая оболочка для работы какой-то программы, то выберите уровень 5. Если же нужно запустить систему в режиме обслуживания, то выбирайте уровень 1. В этом режиме в системе будете только вы, так как сетевые службы даже не запущены. Это позволит выполнить обслуживания без сбоя. В редких случаях появляется необходимость использовать уровень выполнения 4. Это может быть только в том случае, если администратору нужен уровень выполнения для особых задач. Как вы уже, наверное, заметили, мы не может запускать систему с уровнем 0 и 6, но можно переключаться на них если нужно выключить или перезагрузить систему. Но в этом нет особой необходимости, так как есть команды, которые выполняют эти операции. Можно ли создано новый уровень на Linux? Так как система Linux это система бесконечных возможностей, то и создание нового уровня не исключение. Но очень маловероятно, что вам когда-нибудь понадобится это. Но если вы все-таки решили создать новый уровень, то следует начать с копирования существующего уровня и изменения её под свои задачи. Целевые уровни расположены по следующему пути: /usr/lib/systemd/system Если хотите создать свой уровень на основе 5-го уровня выполнения, скопируйте искомую директорию в новую: $ cp /usr/lib/systemd/system/graphical.target /usr/lib/systemd/system/mynew.target Затем в новой директории создайте поддиректорую "wants": $ mkdir /etc/systemd/system/mynew.target.wants Затем просто создайте символьную ссылку на дополнительные службы в директории /usr/lib/systemd/system, которые необходимы вашему уровню.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59