Search
Write a publication
Pull to refresh
209
0

User

Send message

Сохранить данные и веру в человечество: большая миграция кластера ElasticSearch

Reading time10 min
Views13K


В этом материале я продолжаю делиться полевым опытом работы с системой сбора логов на базе Heka и ElasticSearch.


На этот раз рассказ пойдет про миграцию данных между двумя кластерами ElasticSearch 2.2 и 5.2.2, которая стоила немалых нервов лично мне. Как-никак, предстояло перевезти 24 миллиарда записей, не сломав уже работающую систему.


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

Приступим к освоению всех 512 ГБ

Увеличиваем потенциал брошенного производителем сетевого хранилища

Reading time17 min
Views50K

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


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


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


image


Для нетерпеливых: в конце получился полноценный аппарат с актуальной версией загрузчика U-Boot, image Debian Jessie и image OpenMediaVault на борту.

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

Gixy — open source от Яндекса, который сделает конфигурирование Nginx безопасным

Reading time10 min
Views36K
Nginx, однозначно, один из крутейших веб-серверов. Однако, будучи в меру простым, довольно расширяемым и производительным, он требует уважительного отношения к себе. Впрочем, это относится к почти любому ПО, от которого зависит безопасность и работоспособность сервиса. Признаюсь, нам нравится Nginx. В Яндексе он представлен огромным количеством инсталляций с разнообразной конфигурацией: от простых reverse proxy до полноценных приложений. Благодаря такому разнообразию у нас накопился некий опыт его [не]безопасного конфигурирования, которым мы хотим поделиться.



Но обо всем по порядку. Нас давно терзал вопрос безопасного конфигурирования Nginx, ведь он — полноправный кубик веб-приложения, а значит, и его конфигурация требует не меньшего контроля с нашей стороны, чем код самого приложения. В прошлом году нам стало очевидно, что этот процесс требует серьезной автоматизации. Так начался in-house проект Gixy, требования к которому мы обозначили следующим образом:

— быть простым;
— но расширяемым;
— с возможностью удобного встраивания в процессы тестирования;
— неплохо бы уметь резолвить инклюды;
— и работать с переменными;
— и про регулярные выражения не забыть.
Читать дальше →

Методы обхода защитных средств веб-приложений при эксплуатации SQL-инъекций

Reading time8 min
Views47K
image

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

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

Обзор инструментов для вскрытия хэша: John the Ripper password cracker и MDCrack

Reading time6 min
Views38K
На данный момент хэш можно вскрыть пятью способами: грубый перебор (брутфорс), подбор по словарю, по словарю с правилами (гибридная атака), rainbow таблицы (радужные таблицы) и криптоатака. Сами хэши можно разделить на обычные хэши, и хэши с солью (salt, «затравка»). Эта статья посвящена программам john и mdcrack. На их примере, также рассмотрим основные методы для реализации брутфорса.
Читать дальше →

Luna. Высокоскоростная установка операционных систем

Reading time5 min
Views18K

Всем привет. Представляю на суд общественности новую утилиту для высокоскоростного bare-metal provisioning-а северов.


TL;DR


Конкурент xCAT/Warewulf/Rocks. Использует BitTorrent для раздачи образов OC. Поддерживаемые ОС — RHEL-семейство. Debian/Ubuntu — в работе. Самый масштабный тест на данный момент: холодная загрузка HPC кластера из 512 нод производится за 4 минуты. Автоматическое определение имени ноды на базе switch-port пар.


Линк: https://github.com/dchirikov/luna


Чуть больше деталей

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

CEPH на прокачку

Reading time4 min
Views19K

Примерно так выглядит первая инсталляция CEPH на реальном железе.

Вы установили цеф, но он тормозит и падает непонятно почему? Тогда вы пришли по адресу! Я прокачаю ваш CEPH.
Читать дальше →

Красиво «взламываем» ООП с помощью C++14

Reading time6 min
Views21K

Вступление


Недавно при работе над проектом учебной практики возникла потребность из своего кода порождать произвольный процесс и одновременно читать его stdout и stderr. Так как приложение пишется исключительно для linux, я решил заодно разобраться с epoll. Для запуска процесса на просторах интернета была найдена маленькая библиотека, делающая как раз то, что нужно, да еще и оборачивающая ввод-вывод в привычные потоки из стандартной библиотеки (речь о <iostream>).


Вооружившись несколькими статьями про epoll, я уже было собирался писать код, если бы не одно «но» — для epoll нужен доступ к «сырым» файловым дескрипторам, а автор библиотеки не предоставляет public-доступа к ним. Методы класса, возвращающие дескрипторы, скрыты под грифом «protected».

Что делать?


Самым простым было бы исправить код библиотеки и переместить нужные методы в public-секцию, еще лучше было бы форкнуть библиотеку и реализовать необходимый функционал самому. Но первое было бы некрасиво и сулило бы конфликтами при обновлении библиотеки, а второе заняло бы слишком много времени на разбор кода библиотеки и последующее тестирование под несколькими разными *nix-системами.

Поэтому в голову пришла безумная третья мысль: почему бы не попытаться как-то красиво «взломать» ООП и «легально» получить доступ к protected-методу без вмешательства в исходный код библиотеки? О том, какие преграды возникли на этом пути и как помог C++14 в их преодолении, и пойдет рассказ в данной публикации.
Читать дальше →

Как мы анализируем уязвимости с помощью нейронных сетей и нечеткой логики

Reading time5 min
Views17K


Изображение: Daniel Friedman, Flickr

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

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

Exploit Exercises: Введение в эксплуатацию бинарных уязвимостей на примере Protostar

Reading time20 min
Views21K


Всем доброго времени суток. Продолжаем разбор заданий с сайта Exploit Exercises, и сегодня будут рассмотрены основные типы бинарных уязвимостей. Сами задания доступны по ссылке. На этот раз нам доступны 24 уровня, по следующим направлениям:

  • Network programming
  • Byte order
  • Handling sockets
  • Stack overflows
  • Format strings
  • Heap overflows
Читать дальше →

OSSEC заметка по настройке парсеров (decoders)

Reading time4 min
Views4.6K
Приветствую уважаемое сообщество. В данной статье я хочу описать несколько важных (на мой взгляд) моментов, которые нужно иметь ввиду при настройке программного обеспечения OSSEC (HIDS, SIEM система). Официальная документация по системе представлена в достаточно большом объеме на просторах сети, однако некоторые важные моменты абсолютно нигде не описываются. В качестве «путевых заметок» приведу их ниже. Сразу оговорюсь, что описывать установку системы, развертывание агентов, первичную настройку я не буду. Т.е. предполагаю, что читатель уже знает, что такое decoder и rule в контексте OSSEC. Все нижеперечисленное было проверено на версии по 2.8.1, возможно в будущих версиях это пофиксят. Итак, в бой.
Читать дальше →

Самые полезные приёмы работы в командной строке Linux

Reading time5 min
Views158K
Каждый, кто пользуется командной строкой Linux, встречался со списками полезных советов. Каждый знает, что повседневные дела вполне можно выполнять эффективнее, да только вот одно лишь это знание, не подкреплённое практикой, никому не приносит пользы.

Как выглядят типичные трудовые будни системного администратора, который сидит на Linux? Если абстрагироваться от всего, кроме набираемых на клавиатуре команд, то окажется, что команды эти постоянно повторяются. Всё выходит на уровень автоматизма. И, если даже в работе есть что улучшать, привычка противится новому. Как результат, немало времени уходит на то, чтобы делать так, как привычнее, а не так, как быстрее, и, после небольшого периода привыкания – удобнее. Помнить об этом, сознательно вводить в собственную практику новые полезные мелочи – значит профессионально расти и развиваться, значит – экономить время, которое можно много на что потратить.

image

Перед вами – небольшой список полезных приёмов работы с командной строкой Linux. С некоторыми из них вы, возможно, уже знакомы, но успели их позабыть. А кое-что вполне может оказаться приятной находкой даже для знатоков. Хочется надеяться, что некоторые из них будут вам полезны и превратятся из «списка» в живые команды, которыми вы будете пользоваться каждый день.
Читать дальше →

Проблемы тестирования: почему 100% покрытие кода это плохо

Reading time7 min
Views37K


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

Материал подготовлен на основе выступления разработчика Positive Technologies Ивана Цыганова на конференции Moscow Python Conf (слайды, видео).
Читать дальше →

Как взламывают телеком-провайдеров: разбор реальной атаки

Reading time5 min
Views35K


Изображение: Kevin Spencer | Flickr

Очень часто киберпреступники используют для взломов распространенные механики, а также недостатки защиты и уязвимости ИТ-систем. Этот тезис подтверждает и пример одного из расследований атаки на телекоммуникационную компанию из Восточной Европы — о нем мы сегодня расскажем подробнее.
Читать дальше →

Как найти поддомены за считанные минуты?

Reading time4 min
Views193K
Поиск поддоменов — неотъемлемая часть подготовки ко взлому, а благодаря некоторым инструментам противостояние этим действиям стало намного проще.

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

В случае последнего из череды инцидентов весь код сайта Vine можно было загрузить с незащищенного поддомена.

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

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

Объяснение блокчейна для веб-разработчиков

Reading time12 min
Views165K

Предисловие переводчика


Предлагаю читателям Хабрахабра перевод статьи «The Blockchain Explained to Web Developers, Part 1: The Theory» за авторством Francois Zaninotto. Эту статью я нашел в блоге компании Marmelab. Статья представляет собой отличное введение в технологию блокчейн «с нуля», но может оказаться интересной и для тех, кто уже «в теме». Она касается не только того, как работает блокчейн, но и перспектив его развития, а также с чего начать, если вы хотите создать свой проект, использующий блокчейн.

Объяснение блокчейна для веб-разработчиков, Часть первая: Теория


Блокчейн – это новая популярная технология. Даже если вы не слышали о ней, вы, вероятнее всего, знаете о Bitcoin. Блокчейн — это одна из фундаментальных технологий на которых основан Bitcoin. Эксперты говорят, что блокчейн вызовет революцию схожую с той, которую некогда вызвал Интернет. Но что это на самом деле и как его можно использовать для создания приложений? Эта статья является первой в серии из трех, рассказывающей о феномене Блокчейна. Мы обсудим теорию, покажем фактический код и поделимся своим опытом, основанным на реальном проекте.
Читать дальше →

Начальный уровень подготовки в области практической информационной безопасности

Reading time6 min
Views29K

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

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

Эксперимент: ищем int i = 0xDEADBEEF в дампе физической памяти

Reading time5 min
Views17K

КДПВ


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


int main()
{
    unsigned i = 0xDEADBEEF;
    std::cout << "address of i is " << std::hex << &i;
    std::cin.get(); //Чтобы процесс не завершился
    return 0;
}

Затем попробуем найти физический адрес и просмотреть значение по этому адресу.


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

Что делать когда в самолете скучно — запустить Google Chrome на спинке кресла

Reading time4 min
Views39K
Думаю, что многие из вас пользовались медиа центром на спинке кресла дорогих авиакомпаний, или хотя бы видели, как он работает. Там можно смотреть фильмы, музыку и даже играть в примитивные игры на джойстике.

image

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

Что я собственно и сделал, но опубликовал способ обхода интерфейса до исправления недочетов. Если хотите узнать почему я так поступил, что находится под интерфейсом медиа центра и что делает тех поддержка Turkish Airlines в свободное время — читайте под катом.
Читать дальше →

Не доверяйте SUDO, она может вас подвести

Reading time7 min
Views47K

Всем доброго времени суток, в этой статье постараюсь описать некоторые способы обхода ограничений на исполнение команд в ОС Linux, советы по использованию которых можно часто встретить на различных форумах. Демонстрация будет проведена на примере задания Restricted shells с сайта Root-Me. Итак, начнём.
Читать дальше →

Information

Rating
Does not participate
Location
Isabella, Basilicata - Potenza, Танзания
Date of birth
Registered
Activity