Рубрика «mariadb» - 3

Security Week 44: zero-day в Windows, уязвимость в ботнете Mirai, серьезные дыры в MySQL - 1У нас очередная неделя патчей с нюансами. Начнем с очередной новости про ботнет Mirai, использовавшийся для минимум двух масштабных DDoS-атак. Благодаря утечке исходников эта казалось бы одноразовая история превращается в масштабный сериал с сиквелами и приквелами. На этой неделе появился еще и спин-офф: исследователи из Invincea Labs откопали в атакующем коде Mirai три уязвимости (подробно в этой новости или в оригинальном исследовании).

Самая серьезная уязвимость приводит к переполнению буфера в коде Mirai. Проблема заключается в некорректной обработке заголовка HTTP Location, который может присутствовать в ответе атакуемого сервера. Код отвечает за удаление префикса http:// из полученной строки. Сделано это очень просто: берем длину строки и вычитаем из нее количество знаков префикса (семь штук). Если подсунуть в ответе очень короткий заголовок Location (из пяти символов), то у нас получится отрицательное число (5-7 = -2), что и приводит к переполнению буфера и сбою.

Важный момент: сбой происходит в процессе, выполняющем атаку. То есть можно таким образом прекратить атаку с зараженного устройства, но не выключить его из ботнета. В общем, получается какая-то очень знакомая, но перевернутая ситуация. Если бы речь шла о легитимной программе, мы бы говорили о «критической уязвимости, которая может быть легко эксплуатирована злоумышленником с помощью специально подготовленного ответа на http-запрос» или как-то так. Срочно патчить! А тут? По идее, наоборот, появляется возможность эффективно гасить атаки. Но возникает вопрос морально-этического плана: а не является ли эта процедура «взломом в ответ на взлом»?
Читать полностью »

Поднимаем Owncloud с нуля с динамическим IP и Let's Encrypt. Тысяча слонов!* - 1

Давно хотел написать целостный туториал по поднятию Owncloud в условиях домашнего сервера или небольшой компании до 500 пользователей. Owncloud — это прекрасный open-source проект, который позволяет на собственной инфраструктуре поднять свой вариант сервера синхронизации. По возможностям очень похож на Dropbox, а в чем-то его и превосходит. Огромный плюс — отсутствие ограничений по объемам хранения, полный контроль над сервером. Минусы тоже очевидны: вам самим придется следить за всем этим безобразием и беспокоиться о надежности сервера, валяющегося на антресолях или в шкафу.

Совсем недавно мне подвернулась задача по развертыванию Owncloud в домашне-боевых условиях. Я честно отработал свои два литра кошерного русского имперского стаута и решил поделиться своим опытом, собрав все воедино. Итак, сегодня мы рассмотрим:

  1. Развертывание актуального LEMP-stack
  2. HTTPS. Let's Encrypt для Nginx с автоматическим обновлением сертификата
  3. Конфигурирование Nginx для Owncloud
  4. Кэширование php-apcu
  5. Подключение внешнего основного хранилища по NFS

Читать полностью »

Несколько запоздалый отчет про MariaDB, наши проекты на последнем GSoC, наших студентов, королей и капусту.
MariaDB на Google Summer of Code: Итоги GSoC16 - 1
Прошлый — 2015-й — GSoC у нас получился очень неудачный. Всего было восемь студентов, но многие провалились еще в середине лета (на midterm evaluation), причем трое были из одного университета в Камеруне (и явно с одного курса), с прекрасными заявками, но они дружно не сделали ничего, от слова «совсем», ну, может одну строчку комментария подправили за полтора месяца. А после провала на midterm они пытались опротестовать наше решение в Google, и даже прислали нам письмо с туманными угрозами. Мол, нехорошо столько студентов проваливать, имидж себе портить, в следующем году Google мест не даст.

Но Google их не послушался и дал. И этот год, наверное по контрасту, получился на редкость удачный.
Читать полностью »

Security Week 37: патчи Windows станут кумулятивнее, Google против HTTP, уязвимость в MySQL - 1С октября Microsoft меняет политику доставки обновлений для ряда операционных систем (новость, пост на Technet). С целью упрощения процесса обновления (и, вероятно, по многочисленным заявкам трудящихся) Windows 7 и 8.1, а также Windows Server 2008 и 2012 будут обновляться одним большим патчем раз в месяц. Преимущества такого подхода очевидны: достаточно посмотреть на дату последнего обновления, чтобы понять актуальность установленных патчей.

Очевидны и недостатки: возможности установки патчей по выбору больше не будет, все будет загружаться и ставиться одним куском. Если какой-то патч оказывается несовместим с установленным ПО или определенными настройками системы — можно будет отказаться только от всего ежемесячного апдейта сразу. Именно с установкой по выбору Microsoft и планирует бороться: ведь по сути такой подход приводит к фрагментации, вместо одной версии Windows приходится иметь дело чуть ли не с десятком, что усложняет и поддержку, и тестирование.

Впрочем, остается одна лазейка: кумулятивный патч включает в себя и обновления безопасности, и обновления, направленные на повышение надежности работы. Можно выбрать и устанавливать только security-фиксы и больше ничего, но эта опция рассчитана на клиентов из числа крупных компаний. Новая политика может выйти боком при использовании специализированного софта с жесткими требованиями по совместимости. Примеров, когда выход патча ломал совместимость немало: можно вспомнить проблемы с софтом от Citrix после апдейта Windows 10, или скажем поломку системы конфигурации через Powershell (вот тут интересный момент — по ссылке левая рука Microsoft жалуется на баги у правой).
Читать полностью »

В своей предыдущей статье по оптимизации сайта на WordPress я рассказал об очень эффективном подходе к оптимизации за счёт кэширования страниц. В результате чего для незалогиненных пользователей время ожидания страницы клиентом (исключая время на установление TLS-сессии) сократилось с 820 мс до 30 мс (этот и все последующие замеры проводились с сервера, расположенного в том же городе, что и мой VDS), что, согласитесь, является отличным показателем. Однако, для залогиненных пользователей генерация страницы происходила по-прежнему долго — в среднем 770 мс на сервере. В этой части я расскажу о том, как я сократил это время до 65 мс, при этом полностью сохранив работоспособность пользовательского функционала.

Целью этой и предыдущей статей является моё желание показать возможность оптимизации сайтов не только на WordPress, а вообще любого веб-приложения. Поэтому я использую такое количество инструментов, и так детально разбираю их конфигурацию. Если же Вам просто нужно ускорить WordPress — установите плагин WP Super Cache. Если Вас, как и меня, интересуют технологии, позволяющие оптимизировать любой сайт, а также Вам интересно, что стоит учитывать при разработке веб-приложений, рассчитанных на высокие нагрузки — прошу под кат, но только после прочтения первой части — дорабатывать я буду ту же систему.
Читать полностью »

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

CPU: 1 x 2GHz
HDD: 10Gb
RAM: 512Mb
OS: Debian 8 x64

Схема работы системы выглядит следующим образом:

image
Читать полностью »

image
ownCloud, как утверждает Википедия — это Свободное и открытое веб-приложение для синхронизации данных, расшаривания файлов и удалённого хранения документов в «облаке». И, как мне кажется, довольно интересное решение для организации собственного домашнего облака.

Однако, ownCloud, устанавливающийся в виде плагина в системе FreeNAS, да и просто из коробки, имеет ряд недостатков, от которых хотелось бы избавится даже при использовании дома:

  • Во-первых, устанавливается в связке с SQLite, что подходит только если у вас небольшое кол-во файлов и пользователей, и абсолютно не подходит, если вы планируете синхронизацию с помощью клиента. У меня же хранилище уже расползлось почти на 5Tb и установленный таким образом ownCloud просто отказывался видеть часть файлов. Да и без синхронизации отдача от облака не велика. Заменим базу данных на MariaDB.
  • Во-вторых, отсутствует работа по https, а мне совсем не нравится мысль о том, что кто-то может перехватить мои файлы. Включим https.
  • В-третьих, начисто отсутствует защита от банального подбора пароля методом брутфорса. Защитимся от брутфорса с помощью fail2ban.
  • В-четвёртых, мне лень часто просматривать логи на предмет взлома, но очень хочется оперативно узнавать о таких попытках. Настроим push-оповещения о попытках подбора пароля с помощью сервиса pushover.net.

Читать полностью »

Инвестиционный фонд Runa Capital вкладывается в СУБД MariaDB - 1

Runa Capital вкладывает 3 миллиона евро в финскую компанию MariaDB. По данным CNEWS, в настоящее время эта компания занимается разработкой одноименной системы управления базами данных. Специалисты считают, что эта СУБД является одной из наиболее перспективных «наследниц» СУБД MySQL.

Отметим, что об этой инвестиции стало известно только сейчас, однако, руководство MariaDB оставила место для Runa Capital в качестве инвестора еще пару лет назад. Это было сделано для того, чтобы дождаться формирования и наполнения фонда Runa Capital II, процесса, начавшегося летом этого года. Другими словами, текущая инвестиция может считаться относящейся к раунду финансирования MariaDB от 2013 года. Тогда соинвесторами стали такие компании, как Intel Capital, Spintop Ventures, Open Ocean, Finnish Industry Investment и California Technology Ventures. Общий взнос консорциума в MariaDB составил около 20 миллионов долларов США.
Читать полностью »

Коллеги, хочу предложить вам описание решений которые помогли в проекте по миграции большого приложения с SQL Server на MariaDB / MySQL.

Возможно, это кому то поможет в аналогичном проекте.
Читать полностью »

Введение

Назрел апгрейд системы web сервера, на котором с 2007 года крутился сайт интернет-магазина на самописном движке mysql 5.1 + perl + apache + nginx.

Как обычно, при росте посещаемости все стало упираться в базу данных. Стал выбирать новую базу данных, совместимую с текущей. Выбирал из Mysql 5.5, Mysql 5.6, MariaDB 10, Percona Sever 5.6.

После длительного изучения бенчмарков стало понятно, что нужно тестировать производительность на реальных данных. Во-первых, в большинстве случаев сравнивали InnoDB и XtraDB, во-вторых — тестировали в основном бешеные нагрузки на монстр-серверах, интересные мне показатели находились на узеньком участке графика, где обычно ничего не было понятно.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js