Search
Write a publication
Pull to refresh
175
1.1
Пацев Антон @chemtech

DevOps-инженер

Send message

Перманентный бан злоумышленников при помощи Fail2Ban + MikroTik

Reading time10 min
Views39K
Несколько дней назад я установил Asterisk, загрузил свою старую конфигурацию с маршрутизацией вызовов и намеревался подключиться к местному SIP провайдеру. Буквально через несколько минут после запуска Asterisk'а обнаружил в логах попытки авторизации на сервере, что меня ничуть не удивило, т.к. такая картина наблюдается на любом астериске, смотрящем в Интернет. Было принято волевое решение поиграться с любимым микротиком и не менее любимым питоном, и придумать, что делать с этими злоумышленниками.

Итак, у нас имеется:
  • Ubuntu Server 14.04 (думаю не принципиально, должно работать на других дистрибутивах)
  • Fail2Ban
  • MySQL
  • Asterisk (или любой другой сервис, который нужно защитить от брут форс атак)
  • Роутер MikroTik
  • Руки
  • Желание изобрести велосипед


После прочтения пары статей (один, два) родился следующий концепт:
  1. баним злоумышленника на определённое время при помощи Fail2Ban и добавляем запись с его IP адресом в БД MySQL
  2. после определённого количества выданных банов добавляем IP адрес в список запрещённых на роутере

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

10 сайтов для поиска работы в Европе

Reading time2 min
Views329K
Поиск работы – задача не из простых, особенно в текущих неблагоприятных экономических условиях. Европейский ресурс Tech.eu в честь запуска своего сервиса по поиску работы подготовил список из десяти сайтов, которые помогут вам подыскать себе место под европейским солнцем, если вы, по какой-либо причине, желаете уехать на заработки в ЕС.
Завожу трактор

Docker: интересные особенности базовых образов

Reading time2 min
Views25K
Когда вы указываете в Dockerfile:
FROM ubuntu
то к вам на машину стягивается официально-поддерживаемый базовый образ Ubuntu (на сегодняшний день это 14.04 LTS). Мне стало интересно, чем образ этот отличается от «настоящей» чистой системы.

В процессе pull можно заметить, что он состоит из 5 слоёв:
docker pull ubuntu

ubuntu:latest: The image you are pulling has been verified
511136ea3c5a: Pull complete
3b363fd9d7da: Downloading 8.641 MB/197.2 MB 3m18s
607c5d1cca71: Download complete
f62feddc05dc: Download complete
8eaa4ff06b53: Download complete
Чтобы понять содержание каждого слоя, можно выполнить команду:

docker history --no-trunc ubuntu > history.txt

либо посмотреть исходный Dockerfile на GitHub. Каждый слой соответствует отдельной строке в Dockerfile:

511136ea3c5a — это отправная точка, пустой образ под названием scratch (строка FROM scratch).

3b363fd9d7da«вливание» официального образа Ubuntu из файла ubuntu-trusty-core-cloudimg-amd64-root.tar.gz
Далее начинается интересное

Эксперимент: 10 вещей, которые я узнал, употребляя только воду в течение месяца

Reading time10 min
Views257K
image

Мы продолжаем знакомить вас с переводами статей Chris Bailey, где он делится советами, которые извлек во время проекта «a Year of Productivity». Ранее мы публиковали статьи этого автора, они доступны в нашем блоге в разделе «личная продуктивность». Хотим напомнить, что общая цель всех статей, поделиться опытом автора как стать более успешным и эффективным везде: в личной жизни, отношениях с друзьями, самим собой и конечно же на работе (чем бы вы не занимались)!

Итак, даем слово Крису!
Читать дальше →

Почему реляционные СУБД отлично подходят для стартапов: Пример из истории разработки мессенджера Kato

Reading time6 min
Views26K
image

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

Соответственно, технологический прогресс шел не только по направлениям увеличения мощности процессоров, объемов памяти или уменьшения размеров устройств, но и в области улучшения эффективности работы с данными. В результате появилось большое количество различных систем управления базами данных (СУБД).

В нашем продукте, мессенджере для корпоративных коммуникаций Kato, используется СУБД PostgreSQL. Сегодня мы хотели бы напомнить историю возникновения этого прекрасного инструмента и показать преимущества его использования для стартапов в области информационных технологий.
Читать дальше →

Docker в продакшене — чему мы научились, запустив более 300 миллионов контейнеров

Reading time7 min
Views71K
Docker в продакшене на Iron.io


Ранее в этом году (прим. 2014 г.), мы приняли решение запускать каждую задачу на IronWorker внутри своего собственного Docker контейнера. С тех пор мы запустили более 300 000 000 программ внутри собственных Docker контейнеров в облаке.

После нескольких месяцев использования, мы хотели бы поделиться с сообществом некоторыми из проблем, с которыми мы столкнулись в построении инфраструктуры, основанной на Docker'e, как мы преодолели их, и почему это стоило того.
Читать дальше →

Автоматизация зачисления безналичных платежей

Reading time3 min
Views21K
image

Несколько месяцев назад, в целях улучшения качества и увеличения скорости обслуживания клиентов юридических лиц (и ИП), появилась нетривиальная задача — максимально исключить человеческий фактор и автоматизировать зачисление средств, полученных безналичным расчетом, на баланс пользователя.
Читать дальше →

Программисты-волонтеры спасают мир: 100 первых дней

Reading time1 min
Views10K
По следам поста про спасение спасателей котиков и запуске проекта IT-волонтер.

спасибо, EFF

Результаты опроса показали, что примерно каждый третий из нас так или иначе участвовал в бесплатном оказании it-услуг своим знакомым, общественным организациям или в какой-то форме помогал open-source проектам. Месяц назад на Гиктаймс в опросе про IT-волонтер (вот он на Github) отметились 174 человека с опытом волонтерской деятельности.
Хочу узнать, что из этого получилось

Asterisk + FreeSwitch + Skype. Подробное руководство

Reading time14 min
Views51K


Доброго времени суток, жителям Хабра!

Имея опыт в области установки voip-серверов на базе Asterisk, решил предложить своё подробное руководство по установке call-центра на базе Asterisk в связке со Skype. В виду популяризации Skype эта сеть стала использоваться для call-центров многих компаний. Использование ее официального клиента очень ограничивает нас в возможностях. Данная сборка позволяет увеличить число одновременных вызовов со Skype-сети.
Читать дальше →

Самые популярные торрент-сайты: рейтинг на начало 2015 года

Reading time2 min
Views52K
В начале 2015 года KickassTorrents вырвался на первое место по трафику, а следом за ним идёт Torrentz. «Икона» файл-шаринга The Pirate Bay пока ещё не работает, но его суммарные клоны, копии и последователи участвуют в рейтинге совместно.

Остальные пункты списка заняты уже известными сайтами. С прошлого года произошла лишь одна замена – место выбывшего Bitsnoop.com занял Limetorrents.cc. Один из старейших сайтов, Demonoid, вернувшийся в онлайн после долгого отсутствия, хоть и не попал в рейтинг, но неуклонно карабкается вверх. Мы ещё можем увидеть его в чарте.

Итак, сам чарт (основан на данных от Alexa и U.S. Compete, и некоторых других показателях):
Смотреть чарт

Вот что будет, если установить топ-10 программ с Download.com

Reading time8 min
Views324K


Мы установили десять самых популярных программ с Download.com, и вы не поверите, что произошло! Впрочем, наверное, вы и сами можете догадаться: что-то ужасное. Что-то ужасное — вот что произошло. Присоединяйтесь к нашему веселью!

Уже не первый год мы сетуем на то, что нельзя спокойно порекомендовать скачать бесплатную программу, а недавно мы рассказали, как можно безопасно испытывать любое ПО при помощи виртуальной машины. И мы подумали: а почему бы не повеселиться и не посмотреть, что же, в самом деле, произойдёт, если скачивать программы как обычный ничего не подозревающий пользователь?

Ради эксперимента мы будем просто прощёлкивать все экраны установки с настройками по умолчанию на чистой виртуальной машине. Мы установим десять приложений из списка самых популярных загрузок. И предположим, что наш персонаж — рядовой пользователь.
Читать дальше →

Список YouTube-каналов для обучения веб-разработке

Reading time2 min
Views218K
image


Привет, хабражители!

Представляю вам список YouTube-каналов для обучения веб-разработке. Список доступен на гитхабе, там он будет пополняться и редактироваться. В планах — создание отдельной странички для фильтрации каналов по тегам и рубрикам.

Также хочу попросить вас о небольшой услуге: если вы знаете канал, не вошедший в список — опубликуйте ссылку на него в комментариях или отправьте pull request. Сообщество будет благодарно вам.

Под катом — текущая версия списка.
Читать дальше →

Когда никто не читает Хабр

Reading time3 min
Views31K
Давным давно у меня родилась гипотеза: «Все айтишники, так же как и я, читают новости и статьи на работе за чашкой чая-кофе в самом начале дня и где-то после обеда».

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



Сегодня решил поделиться основными наблюдениями.

Структура статьи:

  1. Недельные пики активности и неактивности
  2. Сезонные эффекты — новогодние праздники
  3. Фундаментальные факторы, влияющие на поведение
  4. Падение количества читателей от разделения Хабра
  5. Опрос: когда вы читаете Хабр?
  6. Выводы
Читать дальше →

Типы и функции

Reading time13 min
Views59K
Это третья статья в цикле «Теория категорий для программистов».

Категория типов и функций играет важную роль в программировании, так что давайте поговорим о том, что такое типы, и зачем они нам нужны.

Кому нужны типы?


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

image


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

14 вопросов об индексах в SQL Server, которые вы стеснялись задать

Reading time26 min
Views1.2M
Индексы — это первое, что необходимо хорошо понимать в работе SQL Server, но странным образом базовые вопросы не слишком часто задаются на форумах и получают не так уж много ответов.
Роб Шелдон отвечает на эти, вызывающие смущение в профессиональных кругах, вопросы об индексах в SQL Server: одни из них мы просто стесняемся задать, а прежде чем задать другие сначала подумаем дважды.


От переводчика
Данный пост является компиляцией двух статей Роба Шелдона:

Если вы пишите запросы на языке T-SQL, но плохо понимаете откуда берутся данные, то стоит прочитать данный перевод.
Если же вы захотите знать больше, то в конце перевода я даю тройку книг с которых следует двигаться дальше.

Перейти к чтению

Как конкретно можно сделать детское образование в России лучше (и первый практический шаг)

Reading time10 min
Views60K


У нас 41-43 место из 65 по образованию по исследованию ОСЭР и 49 место по Education Index ООН.

После получения трёх высших, 13 лет я занималась тем, что учила айтишников, учёных и других странных людей, последний проект – Курсера в России. Год назад начала изучать детское образование. Ниже – моё ИМХО, но, думаю, многое вам хорошо знакомо. На мой взгляд, в детском образовании в России есть несколько важных областей для развития.

Вот с позиции детей:
  1. Дети не видят практического применения получаемым знаниям.
  2. Нет механизмов выбора профессии. Дети могут, например, выбирать своё будущее по наиболее доброму учителю (любимый предмет — желаемая профессия — специальность в универе — приплыли).
  3. Дети в целом жаждут знаний, но им очень хочется разнообразить процесс их получения и в школе.
  4. Ну, и они почти никуда не выходят, а их надо водить на разные интересные экскурсии и встречать с интересными людьми.

С позиции родителей и преподавателей:
  1. Дети недогружены: знаний даётся куда меньше, чем при СССР, например. С другой стороны они в конце обучения перегружены подготовкой к ГИА, ЕГЭ.
  2. Дети изначально живут в новой информационной среде, которая комфортна для них, но не очень комфорта для учителей.
  3. Дополнительное образование в крупных городах — это, порой, дичайшая логистика, например, нужно посреди дня везти ребёнка на другой конец города.
  4. Проблемы с кадрами: нужно быть реально круто замотивированным, чтобы полноценно и качественно работать с детьми.
Читать дальше →

DDoS, в поисках силы

Reading time4 min
Views22K
Думаю, многие слышали о DNS amplification и NTP amplification атаках. Много было написано про эти два частных случая UDP-based Amplification атак. Какие ещё протоколы могут быть использованя для усиления? В этом контексте в статье предлагаю рассмотреть протокол tftp.

Давайте вернемся немного назад и вспомним, что представляет собой UDP-based Amplification атаки. Вся реализация сводится к двум пунктам:

  • 1) Отправка на уязвимый сервис специального UDP пакета с поддельным адресом отправителя (адресом жертвы
  • 2) Ответ сервиса на адрес жертвы пакетом в разы превышающим размер первоначального.

Таким образом, получается, что каждый отправленный нами бит к жертве приходит «усиленным» на коэффициент. Вот список протоколов и их коэффициентов усиления по версии us-cert.gov:



Это далеко не полный список, существуют и другие «интересные» протоколы, например, tftp. Ему и будет далее посвящена моя статья.
Читать дальше →

Практическая безопасность: тренды и прогнозы-2015

Reading time7 min
Views17K
image

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

Создание окружения для веб-разработки на основе Docker

Reading time5 min
Views61K
Под катом расскажу как я усовершенствовал автоматическое создание и разворачивание окружения для веб-разработки на основе Docker, Fig, DNSMasq и nsenter. По сути, это разворачивание LAMP сервера и запись о нем в DNSMasq, но приоритетами являются незасоренность хост-машины ненужным софтом типа web-, db-серверов на хост машине и минимальное количество команд для запуска
Читать дальше →

Padding Oracle Attack или почему криптография пугает

Reading time7 min
Views70K
Все мы знаем, что не следует самостоятельно реализовывать криптографические примитивы. Мы также в курсе, что даже если мы хитрым образом развернем порядок букв во всех словах сообщения, сдвинем каждую букву по алфавиту на 5 позиций и разбавим текст случайными фразами, чтобы сбить атакующих с пути, наш замечательный шифр скорее всего вскроет любой мало-мальски знакомый с криптографией человек (а в данном случае с задачей справится и в меру умный 12-летний подросток).

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

Мой посыл не в том, что убедить вас отказаться от самостоятельного использования криптографических средств или пойти и нанять консультанта с зарплатой от $1000 в час всякий раз когда вы задумываетесь о шифровании.
Частично я веду к тому, что вам никогда не следует расслабляться, всегда нужно быть начеку, изыскивая пути, которые злоумышленник может использовать для получения дополнительной информации о вашей системе, а частично к тому, что Padding Oracle Attack является крутой демонстрацией всего этого. Итак, начнем.
Читать дальше →

Information

Rating
485-th
Location
Омск, Омская обл., Россия
Works in
Date of birth
Registered
Activity

Specialization

DevOps
Senior