Search
Write a publication
Pull to refresh
0
Сергей @sav6622read⁠-⁠only

Пользователь

Send message

Создание LXC-контейнеров с общей файловой базой

Reading time7 min
Views29K
Применение легковесных контейнеров LXC в настоящий момент довольно ограничено главным образом по причине их «сырости». Применять их в production – удел настоящих джедаев. Под production в данном случае подразумевается непосредственное предоставление услуг клиентам.

Однако для простого разделения сервисов и контроля ресурсов такие контейнеры вполне подходят с некоторыми допущениями. Например, мы полагаем, что root в контейнере равен root в целевой системе.

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

Читать дальше →

Новый REST API Яндекс.Диска и Полигон. А также зачем Диску ещё один API и как мы его делали

Reading time4 min
Views54K
Многие знают, что у Диска уже достаточно давно есть API на WebDAV. Он достаточно узко заточен под работу с файловой структурой, а у его реализации на разных платформах часто бывают некритичные, но не очень приятные недостатки. Поэтому в дополнение к WebDAV мы запускаем REST API, который позволит разработчикам делать всё то же и немного больше.

Например, при использовании нового API все приложения, которым просто нужно хранить свои файлы в Диске, смогут получать доступ только к своей папке, лежащей в Диске пользователя в папке «Приложения». В WebDAV API сервису для этого придётся получать у пользователя разрешение на запись/чтение всего Диска, а не только конкретной папки.



В этом посте я хочу рассказывать не о структуре или об операциях, которые умеет выполнять наш API — там всё довольно очевидно — а сразу перейду к интересным вещам: что такое Hypermedia и Machine-readable and Self-describing API, и как мы все это реализовали.
Читать дальше →

Прослушка украинских мобильников: как это сделано и как защититься

Reading time6 min
Views92K
В лентах новостных сайтов вы уже не раз читали о том, как спецслужбы разных стран отслеживают переговоры и передачу данных обычных граждан. Сейчас набирает обороты новый скандал с прослушкой украинских абонентов, осуществляемой якобы с территории России.

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

Если коротко, схема такая. Атакующий внедряется в сеть сигнализации SS7, в каналах которой отправляет служебное сообщение Send Routing Info For SM (SRI4SM), указывая в качестве параметра телефонный номер атакуемого абонента А. В ответ домашняя сеть абонента А посылает атакующему некоторую техническую информацию: IMSI (международный идентификатор абонента) и адрес коммутатора MSC, который в настоящий момент обслуживает абонента.

image

Далее атакующий с помощью сообщения Insert Subscriber Data (ISD) внедряет в базу данных VLR обновленный профиль абонента, изменяя в нем адрес биллинговой системы на адрес своей, псевдобиллинговой системы.
Читать дальше →

Maximum Transmission Unit (MTU). Мифы и рифы

Reading time7 min
Views333K
Maximum transmission unit (MTU) это максимальный объём данных, который может быть передан протоколом за одну итерацию. К примеру, Ethernet MTU равняется 1500, что означает, что максимальный объём данных, переносимый Ethernet фреймом не может превышать 1500 байт (без учёта Ethernet заголовка и FCS — Рис. 1).

image
Рис. 1

Давайте пробежимся с MTU по уровням OSI:
Читать дальше →

Asterisk: обработка регистрационных событий на сервере на примере взаимодействия с VoIP-сервисом «Мультифон»

Reading time5 min
Views22K
Здравствуй, Хабрахабр! В этой статье я хочу поведать о том, как можно решить вопрос автоматического переключения режима приёма звонков в «Мультифоне» (gsm-to-gsm/gsm-to-sip) при регистрации смартфона на сервере Asterisk. Ниже будет рассказано, для чего мне это понадобилось, какие варианты решения рассматривались, и как в итоге было реализовано. Приведённый ниже пример был использован на базе домашнего сервера под управлением Debian Lenny вместе с Asterisk 1.6, но с большой вероятностью будет работать и на других распространённых Linux-платформах.

Вкратце о предыстории вопроса


Являясь абонентом Мегафона, с недавнего времени стал пользоваться их VoIP-сервисом. Одной из особенностей сервиса является то, что кроме совершения исходящих, можно принимать входящие на мобильный номер звонки через SIP-клиент. Этой возможностью мне и захотелось воспользоваться, настроив подключение своего смартфона к домашнему серверу Asterisk через SIP. На самой процедуре регистрации, подключении к услуге и настройке SIP-аккаунта, я останавливаться не буду — про это уже достаточно написано. Хотелось сделать следующее: при подключении смартфона к серверу, все входящие сотовые звонки начинают поступать через SIP; при отключении от сервера должен восстанавливаться обычный режим приёма звонков телефоном (gsm-to-gsm). Решение должно быть максимально автоматизированным и требовать от меня не более одного движения — нажатия на кнопку подключения к серверу на рабочем столе смартфона.
Читать дальше →

Мультиклеточный процессор — это что?

Reading time18 min
Views52K
Многие слышали о мультиклеточной архитектуре, процессорах и даже первых устройствах на них. Особенно продвинутые пользователи опробовали свои алгоритмы. Были проведены первые простые тесты производительности, а также пользователь Barsmonster, вытравил кристалл процессора Р1. Сейчас уже проходит первые проверки процессор R1 и скоро будет доступен всем. Но ответ на вопрос о том, как работает мультиклеточная архитектура и в чём её отличие, знают не все. Попытаемся сейчас ввести в курс дела.
Читать дальше →

Основные параметры и сертификация оптических SFP модулей

Reading time21 min
Views243K
Знание некоторых принципов легко возмещает незнание некоторых фактов.
Гельвеций

Оптические трансиверы


В настоящее время применение оптических технологий при построении телекоммуникационных сетей стало практически повсеместным. Каждый, кто имел дело с оптическим коммутационным или передающим оборудованием, сталкивался с работой оптических приемо-передающих устройств – трансиверов (англ. transceiver = transmitter + receiver).
Читать дальше →

Еще один способ перехвата трафика через ARP Spoofing

Reading time6 min
Views87K
На Хабре было уже много статей на тему классического ARP спуфинга, однако все они были похожи тем, что для полноценного перехвата трафика надо было подменять ARP записи у двух машин. Как правило, это жертва и ее шлюз по умолчанию. Однако, идея спуфить шлюз не всегда хороша. Он вполне может иметь на борту детектор атак, который в два счета доложит админу что сеть ломают и халява кончится, не начавшись. В данной статье будет рассмотрен метод перехвата трафика, при котором атака производится только на хост-жертву. Как обычно в таких случаях, статья чисто для ознакомления, использование во вред карается по закону и т.д.
Под катом много букв.

Читать дальше →

Wi-Fi сети: проникновение и защита. 3) WPA. OpenCL/CUDA. Статистика подбора

Reading time24 min
Views365K


Баста карапузики, кончилися танцы.

В предыдущей части мы детально рассмотрели «читерские» приёмы обхода «защит» (скрытие SSID, MAC-фильтрация) и защит (WPS) беспроводных сетей. И хотя работает это в половине случаев, а иногда и чаще — когда-то игры заканчиваются и приходится браться за тяжёлую артиллерию. Вот тут-то между вашей личной жизнью и взломщиком и оказывается самое слабое звено: пароль от WPA-сети.

В статье будет показан перехват рукопожатия клиент-точка доступа, перебор паролей как с помощью ЦП, так и ГП, а кроме этого — сводная статистика по скоростям на обычных одиночных системах, кластерах EC2 и данные по разным типам современных GPU. Почти все они подкреплены моими собственным опытом.

К концу статьи вы поймёте, почему ленивый 20-значный пароль из букв a-z на пару солнц более стоек, чем зубодробительный 8-значный, даже использующий все 256 значений диапазона.

Оглавление:
1) Матчасть
2) Kali. Скрытие SSID. MAC-фильтрация. WPS
3) WPA. OpenCL/CUDA. Статистика подбора
По традиции, под катом ещё 15 страниц

Netatmo — стильное ядро для умного дома

Reading time6 min
Views53K
На первый взгляд Netatmo — просто стильная погодная станция, которая замеряет температуру, влажность, уровень углекислого газа и шум. Но на самом деле в гаджете заложен огромный потенциал, и вокруг него можно выстроить свой умный дом без проводов, паяльника и программирования.

Netatmo - ядро для умного дома



Читать дальше →

Как мы первый прототип строили

Reading time5 min
Views23K
Привет Хабр! Это наш второй пост, он открывает серию технических публикаций. Мы решили рассказать подробнее про архитектуру CamIRa, используемые компоненты и технологии, а так же про то, как мы к этому пришли. Настала пора чем-то поделиться с сообществом, тем более уже много всего накопилось, с чем пришлось столкнуться в ходе реализации нашего первого прототипа. В этой статье мы расскажем, как прошли путь от простой программы с одним ИК-изображением, до полноценной облачной системы с личным кабинетом.
Заинтересованных просим под кат!
Читать дальше →

На PHDays IV взломали «умный город»

Reading time3 min
Views18K
Во время международного форума Positive Hack Days IV состоялся конкурс по анализу безопасности критической инфраструктуры под названием Critical Infrastructure Attack. Участники соревнования должны были обнаружить и эксплуатировать уязвимости для получения контроля над системами промышленной автоматизации.

image

Впервые соревнование под именем Choo Choo Pwn состоялось на PHDays III — тогда для конкурса была создана модель транспортной системы, управляемая реальной системой АСУ ТП.
Читать дальше →

Маленький сетевой одноплатный компьютер за 20 USD

Reading time2 min
Views42K
Ну вот, наконец-то, у меня в руках первый полноценно работающий экземпляр нашего одноплатного компьютера.

Полгода разработки, два месяца ожидания (пока изготовят первых 20 экземпляров и доставят в Москву), неделя непрерывного секса (чтобы запустить)… И вот оно — наше маленькое чудо!

image

Это не «самый маленький в мире компьютер». И не самый дешевый. И уж конечно не самый мощный. Но он достаточно маленький, довольно дешевый и не такой уж медленный. Чип Qualcom Atheros AR9331, 64 Мб DDR2, 16 Мб NOR flash. WiFi, один гигабитный Ethernet и до пяти 100мбитных, USB, UART, SPI, I2S, 20+ GPIO, OpenWrt на борту — что еще нужно для счастья? Зажечь в первый раз светодиод по команде со смартфона — ни к этому ли мы все стремимся?

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

Первые подробности — под катом.
Читать дальше →

Защита подъезда методом организации разумного видеонаблюдения без консьержа

Reading time13 min
Views261K
Так получилось, что какой бы ни был аккуратный микрорайон, он всегда с чем-нибудь соседствует, плюс всегда есть праздношатающиеся, непраздношатающиеся и «этождети». Это если забыть про наркоманов, целенаправленных воров и разбойников. Твой дом — твоя крепость. Подъезд твоего дома — тоже твой дом. (Да, этот пункт многие не понимают, но учиться никогда не поздно). Классические методы защиты подъезда — установка укреплённых дверей; установка домофона; инсталляция консьержки; организация видеонаблюдения над входами.

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

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

Алгоритм Чейза

Reading time6 min
Views19K

Пролог


Друзья, всем привет! Недавно начал изучать помехоустойчивые коды и моделировать процесс их работы, и понял что по-человечески написанных топиков по этой теме совсем немного, а точнее мало. Мудрёные книги есть, но на то они и мудрёные, что на их изучение нужно время, а порой нужно получить какие-то базовые знания и представления по теме, за совсем сжатый промежуток времени. Как пример, могу привести статью по кодам Хэмминга, она мне здорово помогла, когда я только начинал возиться с кодами. Так же доступно подобные коды описаны здесь.

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

Читать дальше →

Уведомление при перехвате вызова в Asterisk

Reading time4 min
Views12K

Не большая предыстория


На работе периодически приходится перехватывать вызовы, что в принципе не беда. Но бывает, что необходимо потом перезвонить тому, кто звонил.
Номер соответственно у меня не высветился и обычно приходится лезть в cdr'ки в mysql или подойти к телефону напарника и искать номер телефона.
Можно в принципе попросить напарника включать переадресацию на телефонном аппарате, но уходит он на пару минут, да и мы не ищем легких путей.

Итак, что мы имеем: офисная АТС на Asterisk (версия = 1.8.15.1), реализована функция перехвата вызова и уведомлений о звонке через jabber.

Информации по поводу настройки перехвата вызова, отправки уведомлений c помощью jabber достаточно в просторах интернета, так что сразу опишу о реализации получения уведомления при перехвате вызова.
Читать дальше →

Контроллер дистанционного управления для ПК-сервера с текстовой консолью, без паяльника и Arduino

Reading time27 min
Views85K

Аннотация


Хотя один из героев второго плана — ИК-порт на материнской плате, не стану я рассказывать про пульты от телевизоров и переключение ими треков в любимом медиаплеере. В продолжение истории про сервер FreeNAS, построенный из старого железа, я расскажу, как снабдить его столь же нехитрым бортовым контроллером с последовательным портом (консолью) поверх IP (Serial-over-LAN), дистанционным сбросом (RESET) и управляемым питанием. Спрашивается: зачем? Ведь *nix и так неприхотлив в дистанционном управлении: включил тот же SSH и управляй себе на здоровье. Но что будет при аварии? Стартовом сбое операционной системы? Что, если надо нажать RESET? Сделать апгрейд системы? Или запустить fsck в single user? Или восстановить спиленный сук неверно настроенный firewall? Не ехать же на площадку каждый раз, подключать монитор, клавиатуру и торчать ночью в офисе на регламентных работах… или мозолить глаза днём сердитому Бизнесу.

Ещё один NAS своими руками, часть 4: призрак Чернобыля


Я давно понял, что лень — основной двигатель человеческого прогресса. Наверное, самые изящные формы лени встречаются в самой прогрессивной области: сфере информационных технологий, где лень уже часть профессии. Это мы внедряем сложные helpdesk-регламенты, чтобы не устанавливать пользователям нужные программы. Это мы два дня отлаживаем скрипт, чтобы потом сэкономить себе полчаса. Это мы управляем рабочим столом в соседней комнате, используя для этого сервер на соседнем континенте. Это мы придумали мораторий на работы, чтобы отдыхать ещё за неделю до Нового Года. Кто это там ждёт лифт в вечерний час пик, чтобы чинно спуститься на нём со второго этажа на первый? Бизнес снисходительно зовет нас айтишниками, но мы гордо величаем себя Инженерами ИТ…

Напрашивается устройство, часто именуемое off-band (baseboard) management controller, или автономный бортовой контроллер дистанционного управления. Это такая серебряная посеребрённая пуля, уменьшающая чрезмерные нагрузки на священный сисадминский зад. По функциям наше изделие близко к IPMI за некоторым вычетом, и до настоящих серверных продуктов вроде iLO или DRAC тут, конечно, далеко. Да, лучше купить готовый контроллер за половину стоимости старого компьютера (или серверную платформу за пятикратную стоимость), если того требует важность данных и связанные риски. Я же собрал рабочее устройство немногим дороже $70, которое к моменту публикации поста успело выручить меня уже несколько раз, чего и всем желаю.

Используете старый ПК-сервер Linux дома или в офисе? Некому нажать RESET? Не хватает денег на серверную платформу? Возможно, вы узнаете новые способы упростить себе жизнь. Программировать почти не будем, паяльник и Хор Друидов не потребуются, зато вспомним весёлые 90-е. Микроэлектроника — это просто!

Читать дальше →

Драйвера на С++ для STM8L051F3

Reading time9 min
Views16K

Проблемы и требования к драйверу


Каждый опытный программист микропроцессоров сталкивался с написанием драйверов. При реализации небольших проектов или при переносе уже готового отлаженного кода на другой процессор, написание и отладка драйверов может занимать 50% и больше времени разработки. Причем процесс написания драйвера, для нового процессора, и состыковка существующего кода может быть очень не приятной из-за отсутствия структуры и общности в драйвере. Для программиста это становится нервной рутиной. Определим важные проблемы, при написании драйвера:

  1. Отсутствие структуры драйвера. Решение данной проблемы позволить лучше ориентироваться по драйверу, следовательно, отладка становится проще.
  2. Отсутствие общности драйвера. То есть интерфейс драйвера должен быть одинаковый, для, хотя бы, линейки процессоров, и в идеале для аналогичных процессоров разных фирм. Это позволит переносить код, завязанный на драйвер, без изменений или с минимальными изменениями.
  3. Сохранение эффективности по скорости выполнения драйвера.
  4. Оптимальное использование памяти.


В данном посте я покажу, как можно ликвидировать эти проблемы и сделать процесс написания драйвера более приятной задачей на примере двух драйверов UART и DMA реализованных на языке С++. Для этого я сформулировал требования, для драйвера:
Читать дальше →

Wi-Fi сети: проникновение и защита. 2) Kali. Скрытие SSID. MAC-фильтрация. WPS

Reading time20 min
Views654K


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

В этой статье мы поговорим о том, как можно обнаружить «скрытые» сети, обойти MAC-фильтрацию на точке доступа и почему же WPS (QSS в терминологии TP-LINK) — это «бэкдор в каждом доме». А перед этим разберёмся, как работает беспроводной адаптер и антенна и как Kali Linux (ex. Backtrack) поможет нам в тестах на проникновение в беспроводные сети.

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

Перед прочтением настоятельно советую ознакомиться с матчастью — она короткая, но на её основе базируются все наши дальнейшие действия и выводы.

Оглавление:
1) Матчасть
2) Kali. Скрытие SSID. MAC-фильтрация. WPS
3) WPA. OpenCL/CUDA. Статистика подбора
Много текста. Очень.

Как IPv6 помогает роутеры ломать

Reading time5 min
Views129K
image

Предисловие


Проснулся я сегодня с мыслью, что огромное количество инструкций по настройке NAT советуют использовать строку вида:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Многие понимают проблемы этой конструкции, и советуют добавлять:
iptables -A FORWARD -i ppp0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

Но, зачастую, забывают задать таблице FORWARD действие DROP по умолчанию, или добавить правило REJECT в конец таблицы.
На первый взгляд, вроде бы, все кажется нормальным. Однако, это далеко не так. Дело в том, что если не запретить маршрутизировать трафик из WAN-порта в WAN-порт, кто-нибудь из вашей WAN-сети (предположим, что провайдер садит весь подъезд в одну /24) может маршрутизировать трафик через вас, просто прописав ваш IP в качестве шлюза. Все современные SOHO роутеры это учитывают, а вот неопытный администратор, который делает роутер под обычным linux, может не знать или забыть об этом. В подсети моего провайдера таких роутеров не оказалось, и мой план по захвату мира провалился. Однако, статья совсем не об этом.

Магические двоеточия


Как вы, может быть, знаете, многие современные программы и сервисы биндятся на IP :: (два двоеточия), а не на 0.0.0.0, как было раньше. IPv6 адрес :: значит то же самое, что и IPv4 0.0.0.0, т.е. «слушаем все интерфейсы». Многие считают, что если программа слушает ::, то этот сокет может принимать только IPv6-соединения, однако это далеко не так.
В IPv6 есть так называемое отображение IPv4-адресов в IPv6 диапазон. Если программа слушает сокет ::, а к ней обращаются из IPv4-адреса 1.2.3.4, то программа получит соединение с адреса ::ffff:1.2.3.4. Этого можно избежать, сделав:
sysctl -w net.ipv6.bindv6only=1

Но это нужно далеко не всегда, т.к. обычно удобно, что программа слушает один сокет, а получать соединения может по двум протоколам сразу. Практически во всех дистрибутивах, IPv6-сокеты ведут себя именно так, т.е. bindv6only=0.
Читать дальше →

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity