Как стать автором
Обновить
2
0
Алексей Балехов @Balek

Автоматизация и интеграция

Отправить сообщение

Уязвимость нулевого дня в роутерах Cisco Linksys

Время на прочтение1 мин
Количество просмотров23K
Время 0day уязвимостей продолжается. В этот раз затронута продукция Cisco Linksys.
Как стало известно, уязвимость позволяет из внешней сети получить доступ к устройству под пользователем root без проведения аутентификации. Уязвимые версии прошивки Linksys firmware до:
4.30.14 включительно. Рекомендаций по защите в настоящий момент нет. Таким образом, в настоящее время все доступные версии прошивки Linksys уязвимы, что ставит под удар около 70 млн находящихся в сети устройств.
Компания Cisco была уведомлена о проблеме несколько месяцев назад, но исправление так и не было выпущено. Исследователи, обнаружившие уязвимость, планируют раскрыть детали вместе с демонстрационным PoC-кодом в течение 2-х недель.

Пока доступна видео демонстрация уязвимости. Судя по ней, с третьего раза удалось-таки получить несанкционированный доступ к устройству. В качестве жертвы был выбран Cisco Linksys WRT54GL.
Читать дальше →
Всего голосов 35: ↑34 и ↓1+33
Комментарии32

ViBe — алгоритм вычитания фона

Время на прочтение5 мин
Количество просмотров16K
Предыстория

Пару лет назад, в процессе выполнения одного проекта, связанного с выделением и сопровождением движущихся объектов, было просмотрено немало алгоритмов вычитания фона, и в итоге одним из самых интересных оказался тот, о котором дальше и пойдет речь. Основной его недостаток — куча патентов, которыми он защищен. Но одно из несомненных достоинств — наличие библиотеки под Linux, которую разрешено использовать в некоммерческих проектах. На странице с его описанием можно найти эту самую библиотеку, а также demo-программы под Windows и Android, ссылки на патенты (где и можно найти основные описания алгоритма) и прочую интересную информацию.
Читать дальше →
Всего голосов 38: ↑30 и ↓8+22
Комментарии10

Простейшая кластеризация изображени методом к-средних (k-means)

Время на прочтение5 мин
Количество просмотров86K
Зачастую при поиске движущихся объектов на видео будь то методом вычитания фона, временной разности, оптического потока, в итоге мы получаем множество точек, которые после действия вышеупомянутых алгоритмов помечены как изменившие свое положение относительно предыдущего кадра и относящиеся к переднему плану.

image

После такой обработки встает вопрос о сегментации объектов методом кластерного анализа, о котором пойдет речь ниже и собственно его реализация на C++.
Читать дальше →
Всего голосов 37: ↑35 и ↓2+33
Комментарии23

Бездисковая загрузка по сети и жизнь после нее

Время на прочтение6 мин
Количество просмотров114K

История


Однажды к нам пришли (ну, не сами...) серверы с 14 хардами по 2Тб. Избавившись от аппаратного рейда (зачем — вопрос отдельный), мы задумались о том, что неплохо бы сделать для них загрузку по сети, дабы избавиться от возни с разделами. Диски предполагалось экспортировать по iSCSI, и не хотелось выделять какие-то диски на Особенные Системные Диски, а какие-то на всё остальное. Таким образом возникла задача сделать загрузку по сети с размещением корневого каталога в оперативной памяти.
Читать дальше →
Всего голосов 72: ↑69 и ↓3+66
Комментарии41

Как стать кукловодом или Puppet для начинающих

Время на прочтение7 мин
Количество просмотров109K
Здравствуйте.
image
Этот топик открывает цикл статей по использованию системы управления конфигурацией Puppet.

Что такое система управления конфигурацией?


Предположим, что у вас есть парк серверов, выполняющих различные задачи. Пока серверов мало и вы не растёте, вы легко настраиваете каждый сервер вручную. Устанавливаете ОС (может быть, автоматизированно), добавляете пользователей, устанавливаете софт, вводя команды в консоль, настраиваете сервисы, правите конфиги ваших любимых текстовых редакторов (nanorc, vimrc), выставляете на них одинаковые настройки DNS-сервера, устанавливаете агент системы мониторинга, настраиваете syslog для централизованного сбора логов… Словом, работы довольно много и она не особенно интересна.
Как спастись от рутины?
Всего голосов 62: ↑55 и ↓7+48
Комментарии66

WebRTC #1 — Знакомимся

Время на прочтение3 мин
Количество просмотров153K


Многие уже слышали о проекте WebRTC, некоторые даже используют его (или пытаются применять в существующих проектах), а кто-то злобно потирает руки, предвкушая постепенную расправу со Skype и Flash.

Погуглив в Хабре (хе-хе) я почему-то не нашел статей, которые углублялись в техническую сторону WebRTC, показывали бы примеры его использования.

Что же, я попытаюсь порадовать вас схемками, кодом. В общем, именно тем, что всем по вкусу. Так пройдем же под кат, мой любимый читатель.
Читать дальше →
Всего голосов 58: ↑56 и ↓2+54
Комментарии12

Развиваем ритм, слух и просто отличный инструмент для репетиций

Время на прочтение2 мин
Количество просмотров17K
Пару лет назад я начал пользоваться различными сервисами для развития своих способностей — LinguaLeo, Codecademy, Coursera. Это просто отличные инструменты. Удивительно, но тогда я не нашел подобного сервиса, который помог бы моему хобби — музыка (гитара). Идея создать отличный сервис для гитаристов, включающий в себя образовательную платформу, созрела в декабре 2011 года. История проекта Totallicks банальна.

Читать дальше →
Всего голосов 73: ↑68 и ↓5+63
Комментарии79

Реализация Exim + OpenDKIM для массовых рассылок

Время на прочтение3 мин
Количество просмотров26K
Все было готово к запуску нового проекта, осталась одна проблема – письма подтверждения регистрации Gmail отправлял в спам. Ознакомившись со справкой сервиса Gmail, я понял, что основной проблемой является отсутствие реализации DKIM на сервере. В моем случае, отправкой писем занимался Exim. Необходимо было реализовать связку Exim+DKIM. Увы, из-за смены утилиты реализации DKIM на FreeBSD все инструкции устарели. Мне пришлось вслепую настраивать Exim+DKIM несколько дней. В этой статье я опишу все этапы реализации Exim+DKIM.
Читать дальше →
Всего голосов 11: ↑8 и ↓3+5
Комментарии6

Немного о технологии Z-Wave

Время на прочтение17 мин
Количество просмотров103K
В данной статье хотелось бы осветить немного внутренностей протокола Z-Wave. Учитывая, что владелец протокола компания Sigma Designs (поглотившая Zensys) просит подписывать NDA перед раскрытием особенностей реализации, а часть вообще никому не показывает, подробных данных а сети не найти. Я не собираюсь рассказывать здесь слишком много, чтобы не нарушить подписанный NDA. Надеюсь, и данная информация окажется полезной и сподвигнет кого-нибудь занятся разработкой собственных железок на этом протоколе. Итак, начнём!
Читать дальше →
Всего голосов 26: ↑23 и ↓3+20
Комментарии34

Смартпот: самый простой способ выращивать растения

Время на прочтение2 мин
Количество просмотров77K

Картинки для привлечения внимания — смартпот выращивает помидоры черри на столе.

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

Внутри: что это такое, как устроено.
Читать дальше →
Всего голосов 157: ↑106 и ↓51+55
Комментарии146

DivShot — онлайн-сервис прототипирования Bootstrap

Время на прочтение1 мин
Количество просмотров75K
DivShot — отличный новый инструмент для работы с Twitter Bootstrap. С помощью него создавать прототипы интерфейсов с использованием популярного CSS-фреймворка стало до безобразия просто.

Читать дальше →
Всего голосов 155: ↑145 и ↓10+135
Комментарии21

Разрешайте прямые SIP звонки

Время на прочтение2 мин
Количество просмотров30K
Не так давно мы запустили сервис «Онлайн АТС», рассчитанный на небольшие компании от двух человек. Основная задача сервиса это организация внутриофисной телефонной связи по протоколу SIP.

В процессе разработки сервиса мы пришли к интересному заключению — сотрудники разных компаний могут совершать звонки на прямую друг другу, минуя ТФОП, точно также как отправляют электронные письма друг другу с разных серверов, достаточно лишь набрать SIP адрес собеседника. Но, как это бывает в сказках, есть некий злодей, который все портит. Такими злодеями можно назвать установщиков SIP-серверов в локальной сети (за NAT), исключающих возможность позвонить на них извне. Это все равно что размещать сервер электронной почты в локальной сети, который загружает письма с ящика на Gmail и транслирует их по определенным правилам на локальные ящики, а исходящие за пределы компании письма отправляются также через Gmail, при этом вы оплачиваете каждый килобайт исходящего письма.

Именно поэтому наша компания не стала оператором телефонной связи, а сделала ставку на открытый сервис.
Читать дальше →
Всего голосов 24: ↑17 и ↓7+10
Комментарии82

Сервер онлайн-вещаний на базе nginx

Время на прочтение10 мин
Количество просмотров238K

Введение


Привет всем! Несколько месяцев назад на Хабре была опубликована статья «Вещание онлайн-видео с помощью nginx» , в которой Aecktann рассказал о своем опыте внедрения разрабатываемого мной модуля к nginx для вещания видео — nginx-rtmp-module. С тех пор продукт активно развивался и в этой статье я более подробно расскажу о нем.

Вещатель нужен для передачи видео-потока клиенту. Речь идет либо о живом потоке, либо о вещании записанного видео (VOD, Video-on-demand). Существует большое количество технологий вещания видео. Среди них можно выделить традиционные протоколы, такие как RTMP или MPEG-TS, а также появившиеся в последнее время технологии адаптивного вещания поверх HTTP. К последним относятся HLS (Apple), HDS (Adobe), Smooth Streaming (Microsoft), MPEG-DASH. При выборе технологии основным фактором является ее поддержка на клиентской стороне. Именно поэтому вещание в формате RTMP на текущий момент является одним из самых распространенных. Протокол HLS поддерживается устройствами компании Apple, а также некоторыми версиями Android.
Читать дальше →
Всего голосов 82: ↑82 и ↓0+82
Комментарии99

[Перевод] Современный веб-разработчик, или 6 вещей, которые вы должны знать, чтобы выжить

Время на прочтение4 мин
Количество просмотров97K
Это статья об изменениях, которые произошли в мире веб-разработки. Я наблюдаю огромное количество веб-разработчиков, которые буквально застряли в устаревших технологиях, особенно в мире .NET. Если вы еще не начали совершенствовать свои навыки, и адаптироваться к изменяющимся трендам, вы должны начинать уже сегодня.
Читать дальше →
Всего голосов 169: ↑132 и ↓37+95
Комментарии90

Подборка инструментов для фронт-энд разработки

Время на прочтение2 мин
Количество просмотров134K
Как разработчику, мне очень нравятся инструменты, которые помогают сэкономить время или упростить процесс разработки фронт-энда. В этой статье я собрал мои любимые веб-инструменты для упрощения разработки веб-интерфейсов.

Картинки кликабельны.

Form builder


Формы являются очень важной частью любого веб-сайта, но их верстка может занять продолжительное время. Этот очень удобный инструмент, поможет вам создать красивую веб-форму очень быстро.
image
Читать дальше →
Всего голосов 202: ↑184 и ↓18+166
Комментарии40

Collectd — Следим за системой с минимальными затратами. Настройка и использование нотификаций

Время на прочтение8 мин
Количество просмотров42K

Что это такое?


Collectd — это небольшой демон, который каждые 10 секунд собирает
статистку об использовании ресурсов системы. Есть возможность сбора
статистики для нескольких хостов и отсылка её на сервер, который
занимается отрисовкой красивых графиков.

Основное отличие этого сборщика в том, что он работает по принципу push, а не poll/pull. Т.е. он «висит» и слушает, а сервера ему сами статистику присылают.

Что мы будем делать?


Что я хочу описать в этом посте:
  • Установка.
  • Настройка общая.
  • Настройка отдельных плагинов.
  • Настройка slave серверов, которые будут слать нам на главный сервер свою статистику работы.
  • Настройка нотификаций по email.

Читать дальше →
Всего голосов 28: ↑24 и ↓4+20
Комментарии30

Умный дом на базе Z-Wave

Время на прочтение5 мин
Количество просмотров245K


Долгое время я вынашивал идею, как лучше сделать удобное управление светом и электроприборами в квартире. При этом, мне хотелось иметь некое готовое модульное решение для относительно несложной самостоятельной настройки. Так, совершенно случайно, я наткнулся на оборудование, которое можно внедрить уже в существующую дома сеть совершенно «безболезненно». Им оказались устройства, работающие по протоколу Z-Wave.
Читать дальше →
Всего голосов 68: ↑65 и ↓3+62
Комментарии96

Создание умного дома и разработка своего протокола

Время на прочтение5 мин
Количество просмотров180K
Сразу скажу, что пост ориентирован скорее на обычных людей, чем на тех, кто в теме, и является скорее отчётом того, чем я занимался в последние дни.

Я тут решил забить на всю работу и заняться чем-то для души. Снова взялся за паяльник. Решил автоматизировать дома всё и вся. На старой-то квартире у меня был умный дом или что-то типа того — мог свет в комнате включать через Интернет и всё такое.

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

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

На борту микроконтроллера есть всякие I²C, да UART, но они явно не удовлетворяют условиям. В итоге было решено разработать свой велосипед протокол.



Читать дальше →
Всего голосов 77: ↑69 и ↓8+61
Комментарии99

Асинхронные задания в Django c помощью Celery

Время на прочтение5 мин
Количество просмотров65K
Приветствую!
Думаю, большинство разработчиков Django слышали о Celery — системе асинхронного выполнения заданий, а многие даже активно её используют.

Около года назад на хабре была довольная хорошая статья, рассказывающая о том, как использовать Celery. Однако, как было упомянуто в заключении, уже вышла Сelery 2.0 (на данный момент стабильной версией является 2.2.7), где интеграция с django была вынесена в отдельный пакет, а также произошли другие изменения.

Данная статья будет полезна прежде всего новичкам, которые начинают работать с Django, и им требутся что-то, способное выполнять асинхронные и/или периодические задания в системе (например очистку устаревших сессий). Я покажу как установить и настроить Сelery для работы с Django от начала до конца, а также расскажу про некоторые другие полезные настройки и подводные камни.
Итак, приступим.
Всего голосов 56: ↑51 и ↓5+46
Комментарии64

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность