Search
Write a publication
Pull to refresh
1
0
Виталий Ф. @FuN_ViT

программист, синьор-помидор :)

Send message

Сравнение Security Enhanced NGINX и Hiawatha Web Server при отражении атак 7 уровня (BOTS/SQL/XSS etc.)

Reading time5 min
Views17K
Добрый день.

В завершение «недели NGINX», мы решили рассказать об очень интересной сборке «безопасной» версии NGINX китайской компании Neusoft, о которой не было замечено ни одной статьи на Хабре, а именно — SeNginx. В дополнение к этому, мы также расскажем вам о втором веб сервере, которому не уделяется так много внимания, как Nginx — Hiawatha Web Server, и постараемся сравнить Hiawatha с SeNginx в плане использования их для обеспечения безопасности вашего сайта или web приложения.

image image

Отметим, что за 5 лет существования нашей хостинговой компании нам довелось повидать целый спектр атак различных уровней и типов на сайты и web приложения наших клиентов, а также поработать с London Metropolitan Police в поиске и поимке одного управляющего ботнетом. Сегодня DDoS атаки стали настолько частыми, что только за вчерашний день Arbor в одном из наших датацентров зафиксировал 49 DDoS атак 3/4 уровней мощностью до 20-25 Gbit/s (график 1 и график 2). И, хотя Arbor девайсы и могут при определенной настройке неплохо справляться с атаками 3 и 4 уровня, они практически бесполезны при атаках 7 уровня, целью которых является перегрузка ресурсов сервера, а также поиск уязвимостей в вашем приложении.

Самым бюджетным вариантом отражения атак 7 уровня являются различные варианты с использованием DNS RoundRobin + HaProxy, Nginx, Varnish Cache и т.д., которые либо позволяют рассредоточить атаку между несколькими серверами клиента, либо дают возможность обработать запросы ботов «в лоб» с помощью отдачи кешированной версии страницы. Данный подход, к сожалению, часто требует ручной настройки, постоянного мониторинга и редко эффективен при меняющихся типах атак.

Наглядное представление DNS RoundRobin + Nginx (источник):

image

После длительных поисков нами был найден отличный модуль к NGINX, написанный русскими программистами на Perl в 2012 году и позволяющий фильтровать ботов, которые заходят на ваш сайт в автоматическом режиме — Roboo (статья на Хабре). Модуль показал себя с наилучшей стороны, позволяя фильтровать сотни тысяч запросов от ботов с помощью NGINX с минимальной нагрузкой на сервер.
Читать дальше →

Проблемы монтирования CIFS у клиентов при обновлении samba на сервере

Reading time2 min
Views16K
Домашний файловый сервер (GNU/Linux) работал на третьей Самбе. Доступ к файлам был сделан полностью публичный анонимный, поскольку посторонних пользователей нет принципиально и защищаться не от кого.
Пришла пора менять сервер на более мощный (появились новые задачи). При настройке возникла проблема с подключением разных клиентов к новой версии Самбы.
Читать дальше →

Vim по полной: Уровень проекта и файловая система

Reading time4 min
Views24K

Оглавление


  1. Введение (vim_lib)
  2. Менеджер плагинов без фатальных недостатков (vim_lib, vim_plugmanager)
  3. Уровень проекта и файловая система (vim_prj, nerdtree)
  4. Snippets и шаблоны файлов (UltiSnips, vim_template)
  5. Компиляция и выполнение чего угодно (vim-quickrun)
  6. Работа с Git (vim_git)
  7. Деплой (vim_deploy)
  8. Тестирование с помощью xUnit (vim_unittest)
  9. Библиотека, на которой все держится (vim_lib)
  10. Другие полезные плагины


Проекты, это то, чего очень не хватает редактору Vim. Реализация проекта позволяет не только выделить его как отдельную сущность среди других папок и файлов в ФС, но и реализовать такие свистелки, как:

  • Автоматическое сохранение и восстановление последней сессии проекта так, что после повторного открытия, мы получим редактируемый в прошлый раз файл(ы), с теми же настройками и положением
  • Хранение информации о проекте, такой как автор проекта, лицензия, версия и так далее. Все эти данные можно будет добавлять в шаблоны и сниппеты
  • Корневой каталог проекта строго определен. Это упростит использования других инструментов, на пример xUnit, дебагеры, генераторы документации и т.д.
  • Отдельный, принадлежащий только проекту каталог .vim и файл .vimrc, аналогичный пользовательским версиям. Теперь настройки и плагины проекта будут хранится в нем

shut up and take my money

Практическое сравнение SkyDNS, YandexDNS и DansGuardian как средств защиты от прокуратуры

Reading time6 min
Views40K

Алгоритм тестирования


Факты, потом предыстория. Тестирование проходило на пяти идентичных виртуальных машинах:
  • Первая — YandexDNS с семейной, т.е. максимальной фильтрацией;
  • Вторая — SkyDNS в тестовом режиме с настройками по умолчанию;
  • Третья — SkyDNS в тестовом режиме с настройками, рекомендованными для школ;
  • Четвертая — DansGuardian + SquidGuard с опцией SafeSearch, которые были настроены 2 года назад и в которые периодически докидывался федеральный список запрещенных материалов;
  • Пятая — референсная машина, на которой проверялся, существует ли доступ к информации напрямую через провайдера.


Сразу замечу, что SquidGuard во время тестирования не сработал ни разу, так что его наличие ни на что не повлияло.

Поскольку далеко не для каждого пункта федерального списка можно придумать способ проверки, да и вообще иногда трудно понять, что там написано, алгоритм тестирования по нему был следующий:
1. Ткнув в случайный пункт списка, идем по нему вниз, пока не найдем что-то, что можно попробовать найти в Интернете. Например, это может быть некий текст, электронная книга, URL, IP-адрес, видеоролик, музыкальная запись, которые можно так или иначе идентифицировать.
2. Пытаемся найти эту информацию через Google или безопасный поиск SkyDNS, если Google заблокирован.
3. Все, что находится на первых двух страницах выдачи, пытаемся открыть и смотрим результаты.
Что выявило тестирование

24 часа PASS — обзор докладов SQL-конференции

Reading time11 min
Views15K
«24 Hours of PASS» — это ежегодная онлайн-конференция о MS SQL Server, проводимая по эгидой профессиональной ассоциации PASS, и длящаяся 24 часа. Вот прям буквально 24 часа: докладчики из разных частей света сменяют друг-друга в марафоне вебинаров (конечно же, это отсылка к 24 часам Ле-Мана).

Усилиями Андрея Коршиков, уже несколько лет проводится русскоязычная версия «24 часа PASS». Последняя состоялась в середине марта, и если вы ещё не успели посмотреть все 24 часа видео (кстати, вот плей-лист на YouTube), то именно для вас я и сделал этот обзор.


  • SQL Server 2014 In-Memory OLTP — Сергей Олонцев
  • Размер имеет значение: 10 способов уменьшить размер БД — Дмитрий Короткевич
  • Внутри оптимизатора запросов: Соединения — Дмитрий Пилюгин
  • Оптимизация SSAS-кубов — Евгений Полоничко
  • Тяп-ляп и в продакшн! — Алексей Ковалёв
  • Оффлайн-разработка баз данных и тестирование с SSDT — Андрей Завадский
  • Deadlocks 3.0. Final Edition — Денис Резник
  • BIML — лучший друг для SSIS-разработчика — Андрей Коршиков
  • Power BI Q&A — Константин Хомяков
  • Azure Data Factory — облачный ETL — Сергей Лунякин
  • Все что вы хотели узнать о Workspace memory — Мария Закурдаева
  • Быстрый анализ производительности SQL Server за 1,5 часа — Кирилл Панов
  • Внутреннее устройство страниц и экстентов SQL Server — Алексей Князев

Так о чём же они всё это время рассказывали?

Проект «Око» ч.3

Reading time15 min
Views28K
image

Уже выходные и самое время для третьей части. Рабочий плейлист, под который почти все это писалось, лежит вот тут.

Для тех, кто не понимает, что тут происходит и что это за публикация:

Часть 1
Часть 2


Сам текст под катом.
Читать дальше →

Читаем переписку клиентов Ubank с саппортом

Reading time2 min
Views27K


Я уже писал об уязвимости в мобильном приложении Альфа-Банка, которая позволяла получать выписки по любому клиенту банка.
В этот раз я решил проверить мобильное приложение сервиса по приёму платежей Ubank.
Для анализа запросов, посылаемых на сервер, я опять использовал программу Fiddler. Как её настраивать, я повторно описывать не буду, кому интересно, могут прочитать об этом в вышеуказанной статье. Единственное, что я сделал по другому, это воспроизводил запросы не через плагин Postman в Google Chrome, а используя встроенный в Fiddler инструмент Composer.

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

Итак, используя Fiddler, я записал запрос получения содержимого сообщения из переписки с саппортом:
Читать дальше →

Проблеме чтения старых данных Samsung 840 Evo подвержены 840 и другие твердотельники

Reading time6 min
Views26K

Производительность диска зависит от температуры


Осенью прошлого года стало известно, что твердотельный накопитель Samsung 840 Evo теряет скорость при чтении старых данных. Записанную более месяца назад информацию можно было прочесть лишь с падением производительности, и компания Samsung вскоре выпустила патч с обновлением прошивки, который был призван решить эту проблему. Тогда было указано, что напряжения для ячеек со старыми данными были откалиброваны неправильно. Как выяснилось позднее, проблема всё равно оставалась, и решить её должно второе обновление, которое периодически перезаписывает старые данные в фоне. Пер Ханссон выяснил, что проблеме деградации подвержены и другие диски Samsung с памятью TLC NAND.
Читать дальше →

ExpvarMon — консольный мониторинг сервисов на Go

Reading time6 min
Views17K
Для Go-программ существует удобнейший стандартный пакадж expvar, позволяющий одной строчкой подключить вывод дебаг информации в JSON-формате. И чтобы максимально быстро и наглядно мониторить текущее состояние, была написана консольная программа Expvarmon, требующая минимум конфигурации для вывода метрик и дебаг-информации для ваших Go-сервисов.

Функции:
  • single- и multi-services режимы
  • мониторинг локальных и удаленных программ
  • произвольное количество сервисов и переменных
  • поддержка значений для памяти, временных интервалов, bool и произвольных чисел/строк
  • sparkline-графики
  • отображение максимальных значений
  • отображение упавших/рестартовавших сервисов
  • авто-ресайз при изменении размеров шрифта или окна



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

Мультиклет R1 — первые тесты

Reading time10 min
Views76K
     Время идёт, и мультиклеточный процессор продолжает расти, развиваться. Пока, правда, не размножается, и состоит всего из 4-х клеток, но это все у него впереди. В данной статье попытаюсь описать основные особенности нового процессора Мультиклет R1, его характеристики и функционал, а также сравнить процессор нового поколения с родоначальником династии — процессором Мультиклет P1.
     Кратко пробежимся по историческим моментам выпуска процессоров, заглянем ненадолго в теоретические основы работы наших процессоров, обратим внимание на особенности нового процессора и его основные возможности, сравним процессоры P1 и R1, покажем прототип первого продукта на R1, и в завершении сделаем небольшой анонс.


Рис 1. Кремниевая пластина процессоров R1
Читать дальше →

Главное меню Redmine

Reading time2 min
Views21K
Сегодня возникло желание продолжить цикл статей о Redmine, о том, как мы используем эту систему и что сделали в ней нового. Какие в ней есть проблемы, и как мы их решили.

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

Какие с ней есть проблемы!? Да по началу никаких. Выглядит она примерно вот так и вполне решает свои задачи. Но это не совсем так.


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

UDOO: система, где встречаются Raspberry Pi и Arduino, Wi-Fi, Bluetooth и сенсоры

Reading time2 min
Views32K


Два года назад группа разработчиков создала гибридное устройство UDOO, в которое интегрированы Raspberry Pi и Arduino. Сейчас компания, которая создала этот девайс, планирует построить еще более функциональную систему, получившую название UDOO Neo. Здесь, кроме Arduino и «малинки», есть модули беспроводной связи и ряд встроенных сенсоров.

Сейчас разработчики собирают средства на свой проект при помощи Kickstarter. Собственно, нужная сумма уже собрана (всего за пару дней), причем собрано почти в 10 раз больше, чем планировалось изначально (130+ тысяч долларов США против 15 тысяч запланированных). При этом до завершения кампании еще 32 дня. Возможно, этот проект будет одним из наиболее удачных из всех, что собирали средства на Kickstarter.
Читать дальше →

В сердце катодного пятна

Reading time6 min
Views22K
Этот пост посвящен удивительному физическому явлению, за открытие которого группе советских ученых могла бы быть присуждена Нобелевская премия по физике. Премии по разным причинам не случилось, но случился прорыв в развитии технологий по формированию мощных потоков энергии, электронных и ионных пучков, технологий по модификации различных материалов. Об этих технологиях я расскажу в дальнейших статьях, а сегодня я познакомлю читателей с явлением взрывной электронной эмиссии — открытия советских ученых, зарегистрированного 25 июня 1976 года и внесенного в список фундаментальных открытий в физике наравне с открытием электрона, рентгеновских лучей, лазерного излучения и сверхпроводимости.
Подробнее

Офлайновая работа с данными в мобильном приложении с использованием Couchbase Lite

Reading time10 min
Views11K
Приветствуем, Хаброжители!

Мы — компания «Центр информационных технологий», создаем инфраструктурные решения и высокотехнологичные программные продукты, поддерживающие глобальные государственные инициативы в Российской Федерации и странах Евразийского экономического союза.

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



Couchbase и Couchbase Lite


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

Использование «облаков» для синхронизации данных далеко не всегда позволительно, особенно если дело касается заказчиков высокого уровня, которые не допускают такого решения из соображений безопасности и требуют развёртывания всех компонентов системы in-house. В этой статье я расскажу о нашем опыте решения этой задачи с помощью связки полноценной серверной базы данных Couchbase и «облегчённой» мобильной базы данных Couchbase Lite.
Читать дальше →

Реверс-инжиниринг TL431, крайне распространенной микросхемы, о которой вы и не слышали

Reading time14 min
Views111K
Кен, как и планировал, провёл реверс-инжиниринг микросхемы по фотографиям, сделанным BarsMonster. Барс в статье упомянул своё общение с Кеном, но этой переводимой статьи тогда еще не было.

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


Фото кристалла TL431. Оригинал Zeptobars.
Читать дальше →

Native Script. Один код для всех платформ

Reading time4 min
Views60K
image

Native script (NS) – это библиотека, позволяющая делать кросс-платформенные приложения, используя XML, CSS, JavaScript. Native script решает ту же задачу, что и уже всем известный phonegap (создание кросс-платформенных приложений), но подходы у них разные. Phonegap использует движок браузера, чтобы отобразить ваш UI (фактически вы получаете веб-страницу), Native script использует нативный рендеринг, использует элементы нативного UI. Следующее важное отличие: чтобы получить доступ к камере, gps и так далее в phonegap необходимо устанавливать плагины, в то время как NS дает доступ из коробки.
Читать дальше →

Восстановление потерянного тома LVM в XenServer

Reading time5 min
Views19K
Жила-была у меня машина с XenServer 6.5 на борту и несколькими массивами из SATA-дисков. В последнее время перестало хватать быстродействия SATA и было решено заменить один массив на SAS-диски. Для этих целей был найден RAID-контроллер Adaptec 3805 (знаю, что старье, зато халява).

После успешного создания RAID-массива из SAS-дисков(каюсь, использовал адаптековский raid) и добавления оного как lvm-storage, начал перенос одного из образов виртуальных машин на него. В процессе созерцания прогресса переноса закралось подозрение о неладном, так как изменился тон звучания сервера. А когда сервер ушел в самостоятельную перезагрузку, я начал понемногу седеть… И окончательно меня добило то, что после перезагрузки я не нашел переносимый образ ни в одном из хранилищ, а само новое хранилище отображается со статусом «не доступно».

После непродолжительной прогулки для успокоения нервов и чашки кофе я закатал рукава (ага, на футболке то) и начал думать как восстановить образ…
Читать дальше →

«Умный Дом» и система MySensors: Часть 0

Reading time4 min
Views57K
В первой части я немного рассказал о моем опыте создания устройств на основе системы MySensors. Должен признать, описание получилось не полным — без начала и без конца.

В этот раз займемся «началом», значит это будет Часть 0.
Читать дальше →

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity