Патчкорд
2.37K subscribers
191 photos
16 videos
58 files
2.94K links
Блог сетевого инженера. Новости телеком, IT и около IT. Связь - @UrgentPirate
Download Telegram
Просто аппаратная реализация различных методов шифрования и необходимой обвязки:

• A state-of-the-art random number generator,
• Symmetric and asymmetric cryptographic implementations for AES, ChaCha20, SHA,
RSA, GOST, and Elliptic Curve Cryptography,
• Standards-based secure key wrapping and key management, and
• Active tamper detection with master key obliteration

Последнее, как отсюда взяли.

Всё open-source, в том числе и аппаратная часть - это цель проекта. Уже есть альфа версия в железе в виде коробочки с USB выходами. Не знаю планируется ли плата внутреннего исполнения ,чтобы прямо в сервер поместить, но так-как open-source можно свою сделать. Сейчас дорабатывается API, чтобы этим всем можно было управлять, чтобы вещь сама в себе не получилась.

Насколько это всё будет востребовано широкой общественностью вопрос, но кто-то обязательно внедрит. Скоро без шифрования ни один протокол не обойдётся. На labs.ripe.net краткий отчёт за год.
Сегодня день программиста - 256 день с начала года. И это праздник почти всех кто относит себя IT. Программирование - новый всеобщий язык современности и я с этим согласен.

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

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

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

Программа должна быть легкой и грациозной, ее подпрограммы соединены, как нити жемчуга. Дух и назначение программы должны быть кристально ясны. Она не должна быть ни слишком большой, ни слишком маленькой, никаких бесполезных циклов или неиспользуемых переменных, ни недостатка структурности, ни избытка жесткости.
Программа должна следовать "Закону Hаименьшего Удивления". Что это за закон? Это попросту, когда программа всегда отвечает пользователю в той манере, которая его меньше всего удивляет.
Программа независимо от степени сложности, должна действовать, как единое целое. Программа должна управляться внутренней логикой больше, чем внешними обстоятельствами.
Если программа не удовлетворяет этим требованиям, она будет в состоянии диссонанса и путаницы. Единственный способ исправить это переписать программу.

Дао Программирования из архива WASM перевод http://www.mit.edu/~xela/tao.html
Но пока сетевики пишут не очень. Использование Netmiko, Nornir, Yaml при этом совсем не спасает, хотя и является модным. Описание решения которое проверяет топологию по CDP и сам скрипт.
Решение, конечно, рабочее, но плохо читаемое. Не будем брать в расчёт все фишечки Python, просто строчки длиной больше 300 символов ни в какой голове не уложатся.
Но и в этом варианте оно обгонит любого инженера который будет проверять состояние интерфейсов глазами. Учитесь программировать, а стиль дело наживное.
У Иви.ру был хороший looking glass https://noc.ivi.ru/lg с обширной географией, но теперь под паролем. lg.megafon.ru - вообще с радаров исчез. И главное произошло это в интервале 3-6 месяцев, моргнуть не успеешь. Печальная тенденция :(
Осциллограмма Ethernet фрейма, первый уровень модели OSI. То чувство когда очень дотошно подошёл к решению проблемы по методологии снизу-вверх.
Минимальная настройка eBGP для нескольких моделей Cisco + Mikrotik и VyOS. Представлены выводы состояния BGP и таблицы маршрутизации после настройки. Топология звезда. Язык Японский, если кто захочет перевести комментарии, но конфигурация сама за себя говорит.

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

Конкретно в этом примере если "центральное" устройство IOSv вовсе не центральное, а всего лишь тупик с multihoming подключением к 6 различным провайдерам - итог мы теперь транзит для 6 этих провайдеров, потому что явных фильтров нет, что совершенно не входило вы наши планы. Если бы по умолчанию был запрет, то мы бы не получили никакие анонсы и не отправили бы ничего лишнего - представленная бы схема не заработала, но и не принесла бы ущерб (часто катастрофический). Что должно нас побудить придумать и применить фильтры, подойти более основательно.

Так вот, многие производители прониклись и по умолчанию запрет на анонсы реализовали или заявили о таком намерении. Даже здесь такое устройство можно увидеть это XRv, но ещё мы видим вот такую конструкцию в конфигурации:

route-policy PASS
pass
end-policy

То что раньше разрешалось не явно, теперь разрешается явно. Фильтр который есть, но которого по факту нет. Не знаю, думали ли о таком варианте идеологи, но сегодняшняя реальность такова что все, буквально ВСЕ примеры настроек BGP содержат вот такую конструкцию. Популярные, не популярные, учебники, воркбуки, лабораторные. Первое что выдаст Google по ссылке для настроек BGP в IOS XR будет содержать конструкцию с разрешением всего. Конечно там будет аккуратно написано, что IOS XR по умолчанию запрещает анонсы, поэтому мы их просто явно разрешим. На сайте Cisco, то же.

Наверное, сейчас запрет по умолчанию спасёт от каких-то опечаток, когда фильтр один, а применяешь несуществующий или вообще забыл. Но неопытные (нерадивые) админы будут находить в интернете вот такие примеры, плеваться, что надо писать дополнительные 3 строчки, не вдаваясь в детали, и получать всё ту же бомбу, как если бы всё было разрешено по умолчанию.

Выход - учиться правильно, конструкция pass all этому не способствует. Пусть в примере будет чуть больше строчек, но с конкретными префиксами и не только со словом pass, так должно быть лучше, но это уже следующий этап борьбы, наверное.
Cloudflare пофиксил MTU для IPv6 у себя, было 1280 стало 1400, пишут про причины и следствия. Время доступа к IPv6 через туннели в прошлом, ну или почти в прошлом.
Открытие этого Воскресения tac:

Usage: tac [OPTION]... [FILE]...
Write each FILE to standard output, last line first.

А сначала хотел вот что сделать:

cat -n dump.log | sort -n -r -s -k1,1 | cut -f2
Forwarded from addmeto
Много лет уже рассказываю людям про IPFS, ZeroNet и прочие децентрализованные системы нового интернета. Но все это оставалось игрушкой, требующей установки не очень понятного софта на свой компьютер. Но сегодня новость-бомба, CloudFlare подняли публично доступный IPFS гейтвей.

IPFS это такая виртуальная файловая система, где все данные хранятся “в сети”, условно говоря как торренты - по хешу файла можно получить этот файл с любого узла сети. Гейтвей нужен для того, чтобы доступ к этим файлам можно было получить из браузера. Почему важен этот шаг Cloudflare: потому что мало кому придет в голову его забанить. Забанить CloudFlare это сегодня забанить почти половину интернета, причем лучшую половину. Теперь-то я развернусь и тоже по-полной начну использовать IPFS! https://blog.cloudflare.com/distributed-web-gateway/
Атакуем DNS грамотно. Даже если находиться внутри своей сети за тремя файрволами, всё равно остаётся возможность обращаться к вашим устройствам не только вам. Достаточно открыть не совсем порядочную страницу в Интернете и тогда система DNS всё сделает за вас, TTL 1 в помощь. Сложность состоит только в догадке какая серая сеть используется внутри периметра и какие устройства в нём есть. Тут на помощь атакующему приходит массовость и лень - 192.168.0 или 1.0/24 угадать/перебрать не сложно. Если вы подключены к Интернету то это уже небезопасно, как минимум пароли надо поставить вообще на всё что может управляться. Если победить лень то можно и DMZ организовать, что конечно для домашнего подключения уже на грани допустимой сложности.

Второй вариант даже без приманки будет работать. Проблема известна как минимум с 2009 года и состоит в предсказуемости идентификатора IPID в фрагментированных DNS ответах. В результате фрагменты которые идут за первым могут быть подменены. Конечно можно запретить фрагментировать, но лучше включить DNSSEC. Про борьбу со спуфингом говорить не стоит, сейчас мы её проигрываем.
Жонглируем виланами на Juniper MX. На маршрутизаторе получается даже лучше чем на многих коммутаторах.
Немного странновато, конечно. Выглядит как уступки созданной архитектуре и дизайну сети, но если очень хочется...
Ростелеком вот такие тематические встречи делает, сегодня про космос (спасибо большое нашему читателю за ссылку).
3 доклада - про историю и перспективы, система Гонец и проект Эфир внутри программы Сфера. Это всё про низкоорбитальную связь, Интернет конечно же. Маск далеко не единственный, кто об этом думает, очень далеко. В общем, мои границы восприятия точно расширены.
Ролик записался за 25 минут до начала, там просто заставка, надо будет вперёд промотать, в конце минут на 15 обсуждение, целиком 3 часа. Смотреть интересно, даже очень, в том числе и с точки зрения организации и формата проведения.
Хорошая технология или плохая, совершенно никак не отразится на том будут её использовать повсеместно, или только вспоминать по вечерам в узком круге ценителей.
Судьба SCTP как один из примеров, в статье также про IPv6 говорят - но тут надежда ещё теплится. Будет ли найдена замена TCP в ближайшее время и будут ли её искать, но SCTP, видимо, останется только для ценителей.
Мир (программирования и не только) катится к чёрту или уже там. Никита Прокопов в своём блоге про то как трава была зеленее и деревья выше, а сегодня никуда не годится. Всё по делу, правда по английски, но простым языком и с юмором, читается легко не смотря на большой объём. Не обошлось без манифеста лучшего мира.
Статья как раз для наступающей осени, порефлексировать о своём предназначении.
В Cisco IOS вилан и порт слабо связаны. Точнее связаны только в одном случае - в режиме access, а в режиме trunk любой вилан, не важно какой, просто пропускается и учёт его не важен. По этой причине ветка CISCO-VLAN-MEMBERSHIP-MIB .1.3.6.1.4.1.9.9.68.1.2 в принципе не покажет транковые порты. Что в режиме обобщённого вывода .1.3.6.1.4.1.9.9.68.1.2.1.1.2, где каждый вилан описывается HEX строкой принадлежности к порту побитно, начиная с первого порта. Что в группировке по портам .1.3.6.1.4.1.9.9.68.1.2.2.1.2 - здесь воспринимается попроще для человека.

Виланы на транковых портах надо вытаскивать отсюда CISCO-VTP-MIB .1.3.6.1.4.1.9.9.46.1.6. Это ветка VTP поэтому там много можно чего ещё вытащить, но разрешённые виланы switchport trunk allowed vlan сосредоточены в:
.1.3.6.1.4.1.9.9.46.1.6.1.1.4
.1.3.6.1.4.1.9.9.46.1.6.1.1.17
.1.3.6.1.4.1.9.9.46.1.6.1.1.18
.1.3.6.1.4.1.9.9.46.1.6.1.1.19

Каждая ветка содержит информацию о 1024 виланах, группировка по портам, каждый порт представлен строкой где каждый бит это вилан. Для первой ветки счёт с 0, для остальных надо сделать соответствующую поправку.

snmpwalk -v2c -c readonly -Ox 192.0.2.1
.1.3.6.1.4.1.9.9.46.1.6.1.1.4.49

iso.3.6.1.4.1.9.9.46.1.6.1.1.4.49 = Hex-STRING: 08 00 00 00 00 00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

49 порт, разрешены виланы 4, 105, 191, 303, 316. Опция -Ox сделает приемлемый вывод в консоль. Native vlan прячутся в ветке .1.3.6.1.4.1.9.9.46.1.6.1.1.5.

Сложно? Но есть способ получше. Используем базовую ветку .1.3.6.1.2.1.17.1.4.1.2 - индекс порта, и комьюнити вида community@VLANID.

snmpwalk -v2c -c readonly@316 192.0.2.1
.1.3.6.1.2.1.17.1.4.1.2

iso.3.6.1.2.1.17.1.4.1.2.26 = INTEGER: 26
iso.3.6.1.2.1.17.1.4.1.2.49 = INTEGER: 49

Результат - список портов как транковых так и нет где этот вилан бриджуется (присутствует) . Возможно работает и на других ветках за пределами BRIDGE-MIB.1.3.6.1.2.1.17, но тут всё зависит от реализации. Автоматике всё равно, а человеку приятно.

З.Ы. MIB любезно предоставлены Cisco, без регистрации и СМС в отличие от их сайта ;)
Цикл из 6 статей о том как правильно зеркалировать и в целом захватывать трафик из сети. Рассматриваются в том числе организация процесса зеркалирования.
Много внимания посвящено основам Ethernet: хабы, коммутаторы, скорость, дуплекс - что полезно в не зависимости от необходимости зеркалирования и анализа трафика.
Для VSCode есть расширение для синтаксиса Cisco IOS. Исходники на Github. Ни разу не думал над тем чтобы использовать полноценный редактор, чуть ли не IDE, для подготовки конфигураций, но почему бы и нет. Вряд ли, конечно, такое на экзамене позволят ;)
Несколько сценариев работы с BGP в картинках - поставлена задача и написаны подходы к её решению. Написано не очень подробно (без конфигураций) и с BGP надо уже хорошо разбираться чтобы понимать что к чему, это именно сценарии использования. Хорошая основа чтобы собрать такую конфигурация в лабе и попробовать её решить. Есть вторая часть, посложнее. Картинки немного мелковаты, поэтому придётся масштаб подкрутить.
А ещё это такой современный тренд, Julia Evans, например, рисует комиксы и не только, а Microsoft мультики снимает.
24 сентября 1993 года вступил в силу RFC1519 "Classless Inter-Domain Routing (CIDR): an Address Assignment and Aggregation Strategy" (был опубликован 1 сентября) он дополнил и заменил собой RFC1338 "Supernetting: an Address Assignment and Aggregation Strategy". RFC1597, в будущем RFC1918 где определили частное адресное пространство появился только спустя полгода 1 марта 1994.

Решали очевидную, даже в то время проблему Eventual exhaustion of the 32-bit IP address space. При этом в тексте приводятся сведения о размере таблицы маршрутизации, которая на декабрь 1992 года составляет 8561 запись. Сейчас больше 730000 и мы ещё держимся.

Очень заметный RFC предопределивший облик всех современных сетей.
Больше 200 вопросов разного уровня, которые могут встретиться на собеседовании для *nix администраторов. Помимо уровней сложности начальный и продвинутый, есть также разделение по специфике - сети, безопасность, devops. Ответы присутствуют, но не для всех вопросов.
Пригодится не только для собеседований, но и как шпаргалка по некоторым часто встречающимся задачам.