Search
Write a publication
Pull to refresh
0
0
Огурчёнок Иван @MrNobody

Linux Administrator, DevOps Engineer

Send message

Катушка Тесла из хозмага

Reading time5 min
Views380K
Имея патологическую тягу к сантехнической фурнитуре никак не могу приучить себя использовать ее по прямому назначению. Всегда в голову лезут идеи, что сделать из труб, фитингов и переходников так, чтобы уже никогда не использовать их в сантехнике. Так получилось и в этот раз. Делаем высоковольтный генератор Тесла на сантехнической фурнитуре.
Что дальше?

Как собрать электробайк за семь дней

Reading time1 min
Views131K
Уже очень давно и часто на канале меня просили показать, как же собрать «такую штуку» самому. Особенно после публикации "На электричестве до Крыма". Поэтому, при постройке нового проекта, было принято волевое решение заснять всё на камеру и потом предоставить страждущим в цивильном виде. Волевое, потому что руки всего две, глаз тоже всего пара, и уследить за тем, куда смотрит камера, а куда уже убежала дрель в рабочем процессе очень сложно. Так же это увеличило временные затраты, особенно после. Ролики я фактически собирал даже дольше, чем сам ебайк. Ну да ладно, все тяготы уже позади, встречайте:

День первый: крафтим раму из полуконструктора

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

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

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

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

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

Применение двухфакторной аутентификации при подключении к 1С

Reading time3 min
Views25K
Двухфакторная аутентификация

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

Чтобы максимально исключить влияние человеческого фактора мне поставили задачу организовать двухфакторную аутентификацию для веб-доступа к 1С. Ниже подробно о том, как это работает.
Читать дальше →

Сочинение и обработка музыки с помощью Haskell

Reading time1 min
Views9.2K
Music Suite — программное обеспечение для сочинения, обработки и анализа музыкальных композиций. Подмножество встроено в библиотеку Haskell. Освоить нотную запись с помощью довольно простого кода сможет почти каждый композитор, ведь что такое музыкальная нотация? Это передача музыкальной логики для исполнения «кода» на музыкальном инструменте. Haskell просто позволяет программировать более эффективно.

Итак, генерация мелодии в Music Suite/Haskell осуществляется через выражения.


let
    m = staccato (scat [c,d,e,c]^/2) |> ab |> b_ |> legato (d |> c)^*2
in stretch (1/8) m
Читать дальше →

Как 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.
Читать дальше →

Wi-Fi сети: проникновение и защита. 1) Матчасть

Reading time9 min
Views633K


Синоптики предсказывают, что к 2016 году наступит второй ледниковый период трафик в беспроводных сетях на 10% превзойдёт трафик в проводном Ethernet. При этом от года в год частных точек доступа становится примерно на 20% больше.

При таком тренде не может не радовать то, что 80% владельцев сетей не меняют пароли доступа по умолчанию. В их число входят и сети компаний.

Этим циклом статей я хочу собрать воедино описания существующих технологии защит, их проблемы и способы обхода, таким образом, что в конце читатель сам сможет сказать, как сделать свою сеть непробиваемой, и даже наглядно продемонстрировать проблемы на примере незадачливого соседа (do not try this at home, kids). Практическая сторона взлома будет освещена с помощью Kali Linux (бывший Backtrack 5) в следующих частях.

Статья по мере написания выросла с 5 страниц до 40, поэтому я решил разбить её на части. Этот цикл — не просто инструкция, как нужно и не нужно делать, а подробное объяснение причин для этого. Ну, а кто хочет инструкций — они такие:
Используйте WPA2-PSK-CCMP с паролем от 12 символов a-z (2000+ лет перебора на ATI-кластере). Измените имя сети по умолчанию на нечто уникальное (защита от rainbow-таблиц). Отключите WPS (достаточно перебрать 10000 комбинаций PIN). Не полагайтесь на MAC-фильтрацию и скрытие SSID.

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

Реализация быстрого импорта из Excel на PHP

Reading time3 min
Views69K
Мы продолжаем рассказывать о технологиях, используемых на нашем сервисе email-маркетинга Pechkin-mail.ru. Одной из ключевых задач любого сервиса, связанного с данными клиентов, является загрузка этих данных на сервис. Для Печкина очень важно быстро и без проблем для пользователя загружать адресные базы, содержащие email-адреса, имена, фамилии и другие дополнительные данные.

Что использовать в качестве инструмента?


В качестве базового стандарта, используемого при импорте адресных баз, мы взяли Microsoft Excel. Объясняется это просто:
  • это стандартный инструмент, которым на базовом уровне владеют 100% пользователей компьютеров. Более того, в бизнесе — это де-факто корпоративный стандарт и используется даже, если на рабочих компьютерах Mac или Linux.
  • Практически все CRM-, CMS-, облачные или десктопные системы имеют экспорт в Excel или CSV, который простым пересохранением приводится к формату XLS или XLSX.
  • Известно также, что “90% ошибок ПО сидит в полуметре от монитора”. Не в обиду будет сказано рядовым пользователям, но мы должны учитывать самый базовый уровень подготовки и тех. поддержке для объяснения достаточно сказать “Загрузите Excel-файл”, а не объяснять процедуру подготовки файла в нужном формате.


Проблему пользователей при импорте адресных баз сняли. Но тут возникает уже проблема непосредственно разработки.
Прочитать о быстрой реализации импорта из Excel на PHP и LibXL

Десктопные CRM: практическая травматология внедрений

Reading time9 min
Views29K
Когда фирмы обращаются за консультацией по поводу автоматизации бизнеса в целом и внедрения CRM в частности, нередко наблюдается один и тот же симптом: нужна не инфраструктура с нуля, нужна замена другому софту. Это зачастую сложная ситуация, особенно, когда видишь, что софт стоит адекватный, хоть и старой версии, а пользоваться им не умеют или не хотят. Приходится собирать представителей клиента и с сожалением объяснять, что кнопка «Сделать всё» так и не создана, а любое ПО требует ответственной работы со стороны человека.

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

Zabbix. Отправка триггера с комментарием

Reading time3 min
Views23K
Приветствую!
Решил поделиться небольшим скрипом (немного модифицированный оригинальный) по отправке уведомлений в Zabbix'е с пользовательскими комментариями.
Суть задачи: на работе используется Zabbix в основном для мониторинга удаленных сетей (доступность, немного качества). При отсутствии связи с удаленной сетью по должностной инструкции мы должны извещать об этом определенные отделы. Настроить обычную отправку почты не составило труда, но при такой отправке неясности у отделов хватало — по какой причине отключилась «сеть», как долго её не будет. Поэтому задался целью вставить в отсылаемое письмо комментарий водимый в дашборде при подтверждении триггера.
Читать дальше →

Noisli: онлайн-генератор фоновых шумов, помогающих сконцентрироваться

Reading time1 min
Views182K


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

Сайт Noisli содержит коллекцию фоновых шумов на любой вкус и возможность смешивать их в произвольной пропорции. Здесь есть и звуки природы — шум дождя, плеск воды, пение птиц, шуршание листьев, и звуки техногенного характера — стук колёс поезда, звук работающего вентилятора, и звуки многолюдного кафе. Есть и искусственные белый, розовый и коричневый шум. Коллекция звуков постоянно пополняется.
Читать дальше →

Как я bind`ом вирусы искал…

Reading time4 min
Views35K
Ну сразу скажу, что не сами вирусы, а их активность, но тем ни менее открыл для себя много нового о том, куда “ходят” мои компьютеры, телефоны и планшет.
image
А дело было вечером, делать было нечего… Шел дождь, интеренет подозрительно тормозил, хотя вроде 8 мегабит и все должно “летать”. Парк домашней техники, которая связанна с всемирной паутиной у меня небольшой – стационарный компьютер, ноутбук, планшет, спутниковый тюнер с линуксом, 3 смартфона и дохленький сервачок-хеончик с debian и xen (на нем ещё с пятёрку постоянно работающих виртуальных OC). Не много не мало, но постоянно поддерживать, обновлять и проверять на вирусы все это хозяйство отнимает деньги (лицензионное ПО) и время, которого как всегда нет. И в какой-то момент было принято решение полностью отказаться от антивирусов, а то их покупай, обновляй… Да и субъективно тормозит с ними все…
Читать дальше →

Изолирование приложения с IP-адресом из VPN другой страны на примере Steam

Reading time7 min
Views71K
Abstract: Изоляция приложения на уровне сети использованием network namespaces Линукса. Организация SSH-туннелей.

Традиционно, большая часть статьи будет посвящена теории, а скучные скрипты — в конце статьи. В качестве субъекта для экспериментов будет использоваться Steam, хотя написанное применимо к любому приложению, включая веб-браузеры.

Вместо вступления. Я просто покажу эту картинку:

147%… Что-то мне это напоминает. Впрочем, хабр не для политики.

Цена на игры в Стиме зависит от региона. Регион — от IP'шника. Есть желание иметь цены в рублях, а не в евро.

Для этого мы используем VPN через SSH с использованием tun-устройств, плюс network namespaces для изоляции приложения от всех остальных сетевых устройств.

Network namespaces


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

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

Если у нас есть несколько интерфейсов (один из которых относится к VPN), то нет штатных методов сказать стиму, что надо использовать его, а не eth0/wlan0. Точнее, мы можем «завернуть» весь трафик в VPN, но это не всегда желательно. Как минимум — рост latency и снижение скорости (даже если VPN ведёт на супербыстрый сервер, увеличение latency, оверхед от туннеля и фиксированная ширина локального канала ставят TCP в положение, когда приходится резать скорость). Как максимум — одно дело «покупать через русский VPN», другое дело — пускать туда весь трафик. Меня совсем не прельщает использование VPN для получения защиты роскомнадзором от оппозиции и вольнодумства.

В этих условиях возникает большое желание оставить один на один конкретное приложение и заданный сетевой интерфейс. Один. Сконфигурированный для нужд только этого приложения.

Для решения этой задачи в Linux, уже довольно давно (аж с 2007 года) существует технология, называемая network namespaces, то есть пространства имён для сетей. Суть технологии: над сетевыми интерфейсами создаётся подобие «каталогов», в каждом каталоге может быть несколько сетевых интерфейсов и приложений. Приложение, оказавшееся в заданном сетевом пространстве имён, может использовать (и видит) только те сетевые интерфейсы, которые отнесены к этому пространству.

Картинка ниже поясняет происходящее:

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

Магистральное решение Cambium 650

Reading time7 min
Views14K
Внешний вид Cambium 650

Слова «Cambium», «Motorola», «Orthogon» среди операторов радиосвязи широко известны и связаны преимущественно с позитивными ощущениями. Почти в каждом городе страны можно увидеть на офисах, заправках, домах характерные вытянутые устройства, иногда в приплюснутом отражателе — абонентские устройства pmp100, более известные как Сanopy, известные своей стабильной работой даже в сложных помеховых условиях. Реже можно увидеть серию PTP производителя, так как эти производительные решения обычно встречаются на мачтах, и на них строят каналы дальностью до 100 километров.
Ключевым преимуществом систем этих модельных рядов считается высокая производительность, возможность работать с препятствиями в зоне Френеля, надежность решения, а упомянутым в начале недостатком является высокая стоимость.
Однако в наступившем году cambium преодолевает стереотип и предлагает более доступное магистральное решение — со всеми положительными качествами 600 серии, большей производительностью и меньшим тепловыделением.
Итак, сегодня мы изучим Cambium 650 серии, предлагающую нам 450 Мбит пропускной способности, задержки менее 2 мс и высокую дальность.

Далее под катом — множество графиков, таблиц и скриншотов.
Подробности

alias hint

Reading time1 min
Views2.8K
Хочу поделиться простым, но очень полезным хинтом для ваших aliases, который я заметил у gark87

Задача:
Сделать, чтобы во всех ваших оболочках были одни и те же aliases, и чтобы при добавлении нового не пришлось править пачку файлов.

Решение:
1. Выносим все alias в файл ~/.alias
2. В ~/.bashrc, ~/.zshrc и т.п. пишем: . $HOME/.alias # перед $HOME стоит точка и пробел

Пишем файловую систему в ядре Linux

Reading time10 min
Views59K

Для кого эта статья


image

Данная статья составлена по материалам практики по курсу операционных систем в Академическом университете . Материал готовился для студентов, и ничего сложного здесь не будет, достаточно базового знания командной строки, языка C, Makefile и общих теоретических знаний о файловых системах.

Весь материал разбит на несколько частей, в данной статье будет описана вводная часть. Я коротко расскажу о том, что понадобится для разработки в ядре Linux, затем мы напишем простейший загружаемый модуль ядра, и наконец напишем каркас будущей файловой системы — модуль, который зарегистрирует довольно бесполезную (пока) файловую систему в ядре. Люди уже знакомые (пусть и поверхностно) с разработкой в ядре Linux не найдут здесь ничего интересного.
Читать дальше →

Управление задачами: некоторые варианты реализации повторяющихся задач

Reading time9 min
Views8.9K
Одним из мотивов для создания нашего «велосипеда», т.е. системы управления задачами betasked.ru была необходимость максимально удобного учета повторяющихся задач, так как подходящих решений гуглинг нам не дал. Специфика именно наших задач в том, что их много и в большинстве своем они повторяются с разной степенью периодичности.

Web-сервисов управления задачами в интернете великое множество. Наверное, каждый второй программист, который хочет что-то особенное под свои нужды, ищет в интернете что-то подходящее и, не найдя идеала, пишет свой вариант. «Смертность» систем управления задачами, претендующих на массовый рынок тоже очень велика. Фактора, мне кажется, два – большая конкуренция и большая сегментированность – кому-то нужен акцент на групповой работе, кому-то — на хранении заметок. В итоге те, кто хочет угодить всем, реализуют все что только можно и оказывается, что получившийся на выходе монстр трудноюзабелен.

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



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

[видео] 8 способов противостояния формуле нужды

Reading time1 min
Views62K
Статья про формулу нужды с моей печальной историей про хитрого прораба и неопытного ИТ-менеджера получила неожиданно позитивный отклик. По этому поводу мы решили пойти дальше и записали небольшое видео, что делать, чтобы не попасть в эту формулу. Как противостоять давлению, которое на вас может оказывать оппонент.

Нам удалось заманить в студию Дмитрия Коткина, руководителя Санкт-Петербургской школы переговорщиков ШиП, который имеет широкий опыт переговоров — от работы в политике до консультирования IT-компаний. Несмотря на температуру, Дима продержался в кадре 20 минут и рассказал, как профессиональные переговорщики рекомендуют противостоять формуле нужды:



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

История создания торрент-рендера для 3ds max

Reading time5 min
Views62K


Всем привет, хочу поведать хабру об одном необычном сетевом сервисе и процессе его разработки. Но сперва пару слов непосредственно обо мне — я прикладной программист MAXScript (это встроенный в 3ds max скриптовый язык), а 3ds max это один из популярнейших пакетов для создания разнообразной 3d-графики и в нем, естественно, есть такая штука как рендеринг, из-за которой собственно все ниженаписанное и делалось.

Идея


Начался процесс с одной идеи, которая пришла мне в голову совершенно внезапно поздней ночью 30 ноября 2010 года и вылилась на следующий день вот в такой пост на форуме 3dcenter.ru:
01/12/2010, 12:49
Пришла эта мысль в голову и не вылазит. Хочу обсудить с сообществом полезность и целесообразность. Основную часть технических подробностей пока опускаю, но сделать сие вполне реально либо в качестве плагина (SDK), либо даже скрипта (MAXScript).
Итак, смысл в том, чтобы бесплатно (или не очень) использовать чужие компы для рендера своих сцен. Есть система рейтинга, т.е. нельзя долго рендерить свое («качать»), но не рендерить чужое («раздавать»). Для тех, кто боится, что его сцены или текстуры будут использовать чужие нехорошие люди, предусмотрена защита — координаты всех объектов сцены изначально обнуляются, правильные координаты шифруются и передаются на рендер отдельным файлом, текстуры бьются на маленькие квадратики и собираются в одну тоже только перед рендером. Показ самой визуализации (VFB) можно отключить, т.е. человек даже не видит, что он рендерит. Аналогичные действия происходят и после рендера — изображение автоматически разбивается на кусочки (либо просто перемешиваются пиксели по какому-то закону) и собрать его правильно можно только на стороне автора сцены. Для альтруистов есть возможность отключения защиты, т.е. сцена с барахлом передается в свободном доступе. Защита может быть и другая, и вообще все что я пишу еще до конца не обдумано — только варианты.

Ну вот в общем как-то так, прошу не кидаться помидорами, и, если велосипед я не изобрел, то обсудим, насколько вообще жизнеспособна эта идея.
Читать дальше →

Information

Rating
Does not participate
Location
Владивосток, Приморский край, Россия
Date of birth
Registered
Activity