Size: a a a

Патчкорд

2018 September 11
Патчкорд
У программистов есть методика - разработка через тестирование TDD, когда сначала у тебя всё сломано и ты это в процессе программирования чинишь. Это неплохо ложится и на другие аспекты в IT, как минимум. И даже больше, многие так только и делают не задумываясь об этом.
Например, сначала у нас нет защиты от проникновения. Мы сами себя для этого ломаем, а потом то что сломали закрываем. Итог сильно зависит от того какой из нас хакер, но опыт наверное подрастёт в процессе. Инструментов чтобы ломать вокруг достаточно, можно например Sn1per пострелять и посмотреть что получится.
источник
2018 September 12
Патчкорд
Вчера был день аварий - Yandex почта и Viber не работали. Наверняка если вы даже и не лично испытали это на себе то информационных шум был достаточный. Но это не всё, вчера порядка 6 часов Мегафон, та его часть которая предоставляет доступ для операторов связи, тоже не работал. Затронуло очень многих операторов в России тех кто пользуется данной услугой.

Если вы об этом не слышали и не почувствовали - это нормально, но это не заслуга Мегафона это заслуга вашего провайдера у которого имеются необходимые резервы. Downdetector, кстати заметил.

Развитие событий отражённое в RTT до Youtube:
1. Сначала всё сломалось около часа дня. С задержками 240мс и потерями в 80% работать невозможно.
2. Через два часа собрали резерв. Частично восстановили то что сломалось или поняли что не успевают, стало более менее.
3. Около 7 вечера состояние аварии закончилась.

Можно сравнить с тем что было 16 апреля и сейчас тоже был двойной обрыв, других не бывает. Аварии это не страшно это практика эксплуатации. Единственное на что можно попенять это публичность, насколько могу судить, никто не удосужился рассказать об авариях на своих ресурсах.
источник
Патчкорд
Поисковик по эксплойтам - https://sploitus.com. А про https://shodan.io, итак давно известно.
источник
Патчкорд
Просто аппаратная реализация различных методов шифрования и необходимой обвязки:

• 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 краткий отчёт за год.
источник
2018 September 13
Патчкорд
Сегодня день программиста - 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. То чувство когда очень дотошно подошёл к решению проблемы по методологии снизу-вверх.
источник
2018 September 14
Патчкорд
Минимальная настройка 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, так должно быть лучше, но это уже следующий этап борьбы, наверное.
источник
2018 September 16
Патчкорд
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
источник
2018 September 17
Патчкорд
источник
Патчкорд
Много лет уже рассказываю людям про IPFS, ZeroNet и прочие децентрализованные системы нового интернета. Но все это оставалось игрушкой, требующей установки не очень понятного софта на свой компьютер. Но сегодня новость-бомба, CloudFlare подняли публично доступный IPFS гейтвей.

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

Второй вариант даже без приманки будет работать. Проблема известна как минимум с 2009 года и состоит в предсказуемости идентификатора IPID в фрагментированных DNS ответах. В результате фрагменты которые идут за первым могут быть подменены. Конечно можно запретить фрагментировать, но лучше включить DNSSEC. Про борьбу со спуфингом говорить не стоит, сейчас мы её проигрываем.
источник
Патчкорд
Жонглируем виланами на Juniper MX. На маршрутизаторе получается даже лучше чем на многих коммутаторах.
Немного странновато, конечно. Выглядит как уступки созданной архитектуре и дизайну сети, но если очень хочется...
источник
2018 September 19
Патчкорд
Ростелеком вот такие тематические встречи делает, сегодня про космос (спасибо большое нашему читателю за ссылку).
3 доклада - про историю и перспективы, система Гонец и проект Эфир внутри программы Сфера. Это всё про низкоорбитальную связь, Интернет конечно же. Маск далеко не единственный, кто об этом думает, очень далеко. В общем, мои границы восприятия точно расширены.
Ролик записался за 25 минут до начала, там просто заставка, надо будет вперёд промотать, в конце минут на 15 обсуждение, целиком 3 часа. Смотреть интересно,  даже очень, в том числе и с точки зрения организации и формата проведения.
источник
Патчкорд
Хорошая технология или плохая, совершенно никак не отразится на том будут её использовать повсеместно, или только вспоминать по вечерам в узком круге ценителей.
Судьба SCTP как один из примеров, в статье также про IPv6 говорят - но тут надежда ещё теплится. Будет ли найдена замена TCP в ближайшее время и будут ли её искать, но SCTP, видимо, останется только для ценителей.
источник
Патчкорд
Мир (программирования и не только) катится к чёрту или уже там. Никита Прокопов в своём блоге про то как трава была зеленее и деревья выше, а сегодня никуда не годится. Всё по делу, правда по английски, но простым языком и с юмором, читается легко не смотря на большой объём. Не обошлось без манифеста лучшего мира.
Статья как раз для наступающей осени, порефлексировать о своём предназначении.
источник
2018 September 20
Патчкорд
В 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: хабы, коммутаторы, скорость, дуплекс - что полезно в не зависимости от необходимости зеркалирования и анализа трафика.
источник