Comments 206
Забавно, что это назвали атакой. Ведь по сути-то атаки как таковой нет, по крайней мере, если верить написанному. Каждый, кто оставляет открытый доступ — ССЗБ, потому что создаёт бомбу с часовым механизмом, установленным на заранее неизвестное время.

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

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

Как же нет? Есть как минимум статья 272 УК РФ: неправомерный доступ к компьютерной информации. Уверен, что и в других государствах есть аналогичные.

А в чём неправомерность, если к данным полный доступ для всех? Для получения такого доступа ведь не пришлось предпринимать каких-то действий, данные вот они лежат посреди дороги, бери-нехочу.
Читать можно. Писать — нет. Даже копировать — не факт, что разрешено.

Почему писать неправомерно, если есть доступ? Вот вы ведь написали комментарий, и он записан в базу данных, т.е. вы осуществили запись в чужую БД, пользуясь своим доступом (аккаунтом).

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

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


P.S. Про взломы тут речи не идёт. Насколько я понял, в этой "атаке" доступ был предоставлен владельцами баз и никакие недокументированные возможности не использовались.

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

Юридических разрешений большинство сайтов не даёт
Почему не дает? Обычно можно перепечатывать со ссылкой на источник.
Я, конечно, согласен, что сейчас в этой области множество юридических дыр, но в случае стирания данных в чужой БД, любой суд будет склоняться, что это является правонарушением. И я с этим согласен.

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

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

А если посреди леса?
Ровно та же ситуация, что и если возле магазина: право собственности у владельца и больше ни у кого.

Учитывая, что для защиты базы нужно произвести некоторые действия, то аналогия будет такая: на деталях велосипеда в незаметных местах приклеены стикеры "Бери, кто хочет", после покупки или смены деталей эти стикеры нужно найти и оторвать.

Без письменного договора, передающего велосипед в вашу собственность, скорее всего не катит.

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

Размещая какую-либо информацию на любом ресурсе доступном по любому протоколу вы априори предоставляете право получения этой информации. Но если вы (даже неосознанно) разрешаете ее изменять, вы делегируете право ей распоряжатся.
Но если вы (даже неосознанно) разрешаете ее изменять, вы делегируете право ей распоряжаться
Но это ведь должно быть прописано в законах (или должна быть такая устоявшаяся практика).
Китайцам/индусам/мексиканцам/… глубоко плевать на наши законы, как и нам на их, потому что любой закон ограничен своей юрисдикцией а интернет глобален.
Поэтому оперировать к закону относительно интернета как минимум глупо, что Павел Дуров, на мой взгляд, вполне доходчиво продемонстрировал.
Да, хакерам из стран третьего мира плевать на законы других стран третьего мира, но на законы США так легко плевать уже не получится.
(слово «третьего» можно заменить на «второго/четвертого/...»)
Еще пару лет назад так и было. Сейчас я не уверен, что США можно однозначно выделить.
А если не велосипед, а яхта посреди моря?
Я в пиратском кодексе морском праве совсем не разбираюсь, если что.
Насколько я знаю — её можно отбуксировать в порт и потребовать выкуп за спасение у владельца. ( гуглится по слову дереликт).
Если владелец не объявится или откажется — забрать себе. ( всё это проходит через суд)
Никуда ничего не надо буксировать. Корабль без экипажа считается ничейным. Все найденное — твое. Выкуп за спасение — это именно если экипаж просил помощи.
Но она же не «диск плавает посреди моря», а на чьём-то сервере, айпи, домене итд. ТЕ, на моей яхте открыта дверь, значит, можно не только смотреть но и какать в мой холодильник?
IP-адреса, кстати, не являются предметом вещного права, строго говоря. Поэтому, когда вы поднимаете IP-соединение с 8.8.8.8 вы в общем случае не можете автоматически утверждать, что общаетесь в Google DNS, а не с лабой у вашего провайдера. И если вы общаетесь по протоколу, не подразумевающему подтверждение подлинности, вы вообще говоря не имеете оснований считать, что таки общаетесь с кем-то настоящим.
Я тоже так думал, но не смог найти пруфов.
Буду благодарен, если Вы их предоставите. ( я не всегда хорошо гуглю)
Не Вы один не можете найти пруфов :) Их и нет. Это больше исходит из морских обычаев. Согласно международному морскому праву все бесхозные корабли (в том числе, затонувшие) принадлежат тому государству, в чьих территориальных водах они находятся (затоплены). И это государство может потребовать от владельца деньги на компенсацию затрат подъем/транспортировку и сам факт находки. Если же бесхозный корабль находится в нейтральных водах и не удается установить его владельца, то...) Вы можете отбуксировать это судно в гавань любого государства и уведомить его о находке. Сам корабль Вы не можете использовать, т.к. судно где-то, да зарегистрировано. А вот все, находящееся на его борту...) Никто же не знает, в каком состоянии Вы его нашли :)
Бесполезный спор, потому что каждый смотрит со своей колокольни: один взглядом владельца данных, другой взглядом разработчика ИС владельца данных, третий взглядом хакера, четвёртый взглядом юриста, защищающего интересы владельца, пятый взглядом юриста, но уже на стороне хакера. У каждого будет своя правда. Лучше исходить из того, что были бы данные должным образом закрыты — не было бы самого предмета спора.
Если у соседей не закрыта дверь — это не значит что к ним можно зайти и взять что угодно
Да, но если это — охранеямая парковка, но без охраны и законных способов заставить владельца её охранять нет — не вижу ничего аморального в незаконных, поскольку это угрожает общественной безопасности. ( особенно если вокруг ходят пьяные гопники, готовые взять машину покататься и сбивать пишиходов)
А вы уверены что ваш незаконный способ нанесёт окружающим ущерба меньше пьяных гопников? «Не видеть аморального» — это одно, а взять и сделать готовы? А ответственность понести?
А ставить для защиты от «пьяных гопников» мины можно? То есть именно на охраняемой парковке, на которую никто не должен заходить, кроме владельцев машин?
Я правильно понимаю что если вы идете мимо чужого дома и его дверь открыто то можно забирать все что понравится оттуда? Ну или разрпушить?
Аналогии из реального мира неприменимы, так как автор атаки пресек незаметное копирование конфиденциальной информации. Как минимум потому что источник информации об открытых базах у автора и у всяких сливальщиков информации — один и тот же. Причем этот источник начал работать уже несколько лет как, после пары громких сливов информации из частных мед учреждений и МФО

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


БД — это такой же сервис, у него так же может быть открытый доступ. Вдруг владелец сервиса хочет, чтобы все могли туда писать/читать? Пароля нет. Баннера "доступ ограничен" нет. Юридически — нет никаких попыток ограничить доступ. Значит все ок.


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

Если вы зашли в магазин через парадный вход (порт 80, условно) — это нормально. А если вы пытаетесь зайти через задний вход или пытаетесь пройти в помещения персонала (неправомерный доступ к БД) — вы однозначно не правы, даже если там не висит надписи «Доступ запрещён».
А если вы пытаетесь зайти через задний вход или пытаетесь пройти в помещения персонала


Искал, где туалет, дергал все открытые двери (nmap, ага).
вы однозначно не правы, даже если там не висит надписи

Прошу обосновать однозначность.
Юридически, здесь можно хорошо поспорить.


Вот как я рассуждаю.
В интернете как определить, где парадный вход, а где нет?
FTP с доступом на запись — это парадный, или нет?
А API без пароля — как тут?


Раньше было ещё веселее. Браузер не был основным интерфейсом к интернету.
Файлообменные сети, стриминг аудио по отдельному протоколу, irc чаты.


Мы привыкли, что интернет — это браузер, а все остальное — это какие-то непонятные дебри. И лазить туда нельзя, а то интернет сломается.
Хотя даже через браузер бывает непонятно. Какие-то вики страницы сообществ, или вики-документация.
У таких страниц есть кнопка "править". Нажимать на неё правомерно или нет?
Может быть, владелец хочет, чтобы пользователи сами наполняли сайт.
А может быть, случайно дал админский доступ анониму.


А как вы рассуждаете?

С чего вы взяли, что доступ к любой информации в интернете правомерен? Хоть через 80-й порт, хоть через 443-й? Я вполне допускаю, что люди читающие, например документы с Wikileaks, могут нарушать закон какой-то страны.

Я даже допускаю, что удаление чужих комментариев владельцем сайта со своего же сайта суд может счесть незаконным, если владелец не прописал соответствующие пункты в пользовательском соглашении. EULA на десяток страниц не просто так же пишут.
А all rights reserved в книгах — вполне зря, но пишут. ( когда-то в Австралии был закон, что без этой надписи — можно копировать, но его давно отменили.)
В EULA — часто прописывают вещи, уже указанные в законе.
Как в трудовом договоре — иногда перепечатывают определённые элементы ТК.
Просто зачастую подобные документы даже не пытаются сократить…
С чего вы взяли, что доступ к любой информации в интернете правомерен?

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


Так что в России достаточно соблюдать законы России.
А в России все неправомерное уже закрыто роскомнадзором.
¯_(ツ)_/¯
P.S. Только лайки ставить опасно

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

А если вам позвонил неизвестный номер, он правомерно это сделал или нет?

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

Т.е., если правил об использовании нет, то пользоваться нельзя?

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

Я думаю, что насчет куска кода все гораздо четче.
GPL включает ограничения только тогда, когда вы а) создаете новый продукт с этим кодом и б) раздаете/продаете его, как свой.
Брать код и запускать его у себя на ноутбуке никто не запрещает.
Даже можно запустить сервис с этим кодом и открыть его интернету.
А вот продавать на дискетках софт с таким кодом — только, если ваш софт будет с той же лицензией, что и у кода.

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

На самом деле, тут все просто. Можно гадать, а можно сослаться на законы. Я не знаю законов, которые запрещают пользоваться. Поэтому я предполагаю, что их нет. Буду рад узнать, какие законы все-же ограничивают использование)

Законы об авторских и смежных правах.

Если проект опубликован без лицензии, то по умолчанию все права на код остаются собственностью автора (All rights reserved). Попытка интеграции подобного кода в сторонние проекты может негативно отразиться на их лицензионной чистоте и в последствии привести к возможным юридическим претензиям.

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

исследование этого вопроса от президента OSI

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

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


Нет правил — нет разрешения.
А вы на основе какого закона сделали такой вывод?
Ну тогда мы имеем ситуацию, когда каждый первый сайт без описанных правил делает нарушителями всех, кто на него попадет)
Есть ещё понятие добросовестного использования или его аналоги в континентальном праве.
А вы на основе какого закона сделали такой вывод?
На основе определения неправомерного доступа, используемого нашими судами:
Неправомерный доступ к компьютерной информации — это незаконное либо не разрешенное собственником или иным ее законным владельцем использование возможности получения информации, содержащейся на машинном носителе, в ЭВМ, системе ЭВМ или их сети. При этом под доступом к компьютерной информации подразумевается любая форма проникновения в источник информации с использованием средств (вещественных и интеллектуальных) ЭВМ, позволяющая манипулировать полученной информацией (копировать, модифицировать, блокировать либо уничтожать ее).
Не думаю, что в суде прокатит представление разрешения в виде «а мне никто не запрещал».
Не думаю, что в суде прокатит представление разрешения в виде «а мне никто не запрещал».

Рассмотрим такой условный сценарий:
Cервер находится во владении потерпевшего. Хакер каким-то образом (через google/yandex/shodan) нашел точку входа в API, незакрытую паролем, сделал:


DELETE /api/data?from=database&authentication=none HTTP/1.1
Host: victim.example.com

Сервер ответил:


HTTP/1.1 200 OK

Значит ли этот ответ сервера то, что хакер получил неправомерный доступ к информации?

Если докажут злой умысел, то значит.
А вообще данная атака терла индексы и дописывала *-meow, так что умысел есть.
Значит ли этот ответ сервера то, что хакер получил неправомерный доступ к информации?


Потерпевший: «неправомерный доступ, мамой клянусь! этого ведь даже нет в документации „
Обвиняемый: “но ведь сервер ответил ОК, значит этот доступ сделан специально для этого!»
Судья: кидает монетку
Вы заходите, а хозяин магазина как закричит «Караул! Я не разрешал вам входить!».

В аналогичной ситуации сервер выдаст код 401 (Unauthorized) и упорствовать было бы преступлением. Точно так же было бы мошенничеством намеренно выдавать себя в магазине с открытой дверью за другого человека (слать серверу украденые куки, подделывать токены и т.д.).

Но вот если на ваш запрос к публичному адресу без какой-либо аутентификации сервер взял под козырёк, ответил 202 (всё в порядке, запрос принят) и бодро побежал стирать данные?
(Оффтоп)
Вот именно по таким причинам, мне кажется, современная юриспруденция неработоспособна. Она пытается описать практически бесконечное множество правовых коллизий с помощью системы условных переходов: при этом, обнаруживая новую область коллизий, она просто наращивает число условных переходов.

Макаронный код, кошмар поддерживающего.
А вы уверены, что к торчащему на невнятном ip-адресе ендпоинту прикручены terms and conditions? И даже если и прикручены, доказать что были прикручены на момент «атаки» — отдельная задача.
А так — API задокументирован, а API не написано, что вызывать метод нельзя, правда? Если API — это все, что есть — значит можно и делать что угодно.
Можно делать всё что угодно, если вы уверены, что сможете доказать в суде, что имели право это делать.
Висит веб-сервис с единственным человекочитаемым текстом — документацией на API. Чем не доказательство права?
Ну и мне интересно, как именно люди, не прикрывающие пятую точку фаерволом будут искать чувака, пришедшего из впн-ки в левой юрисдикции. Особенно если он еще пару слоев перед входом в ту впн-ку подложил и впн-ку какой-нибудь криптой проплатил.
определение API из википедии:
API (программный интерфейс приложения, интерфейс прикладного программирования) (англ. application programming interface, API [эй-пи-ай][1]) — описание способов (набор классов, процедур, функций, структур или констант), которыми одна компьютерная программа может взаимодействовать с другой программой.
API это только описание способов, ответ на вопрос «как», а не выдача разрешений.
Тут более удачная аналогия — выйти на улицу без кожного покрова.
Оставляем на торчащем WAN-портом в инет роутере дефолтный логин-пароль. Ловим экспу.
Ваша аналогия оскорбляет чувства верующих. Ибо уязвимыми для пуль людей создал Бог и не в человеческих силах это исправить. А дыры в безопасности создали люди и…
Для этого оружие не продают в каждом магазине(как хлеб, например). И вопрос его покупки отягощают получением разрешительных документов.
Ну и наличие бекапов…

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

А можно подробности?
Я быстренько погуглил (точнее, пояндексил), но нашёл всё что угодно, кроме того, что искал… :)

Walmart — это такие супермаркеты со всем что только можно, естественно включая продукты первой необходимости (винтовки и хлеб):




Это было контекстно к


Для этого оружие не продают в каждом магазине(как хлеб, например)

Ну, по приведённой ссылке чувак раскатал на лонгрид историю, как ему не продали в универмаге ружьё за $160 по водительскому удостоверению, в котором указанный адрес отличался от фактического адреса проживания.
На самом деле чуть сложнее — не в каждом Walmart продаётся огнестрел, и не всегда есть на рабочем месте продавец, уполномоченный его продавать и при продаже делается запрос в федеральную базу о репутации гражданина… И да, там же указано, что процедуру продажи ужесточили после нескольких нашумевших перестрелок и последовавших общественных петиций. И там же указывается, что в ближайшем к дому магазине, специализирующемся на продаже огнестрела, ружьё купить сейчас значительно проще.

Если вы предоставили «неограниченному кругу лиц» полный доступ к вашей информации, не стоит удивляться тому что кто-то из них именно так ей воспользуется.
Возможно, я несколько двусмысленно выразился. Я хотел сказать, что это не «атака» в обычном понимании этого слова, когда информационная система в целом адекватно защищена и для получения доступа используется какая-то уязвимость, brute-force или методы социальной инженерии. Здесь же налицо ошибочная конфигурация, то есть система заведомо обречена, особенно с учётом количества вредоносного ПО, которое ищет подобные открытые ресурсы с тем, чтобы внедрить туда свой код или украсть данные.

Если вы забыли запереть дверь в свой дом, и туда зашли грабители и вынесли всё, по вашему это снимает с них вину?

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

Возмущаться может быть и глупо, но от этого действия не перестанут быть уголовным преступлением.
Да — это преступление, но как говрится: «не пойман — не вор».
Думаю автор всего этого смог себя обезопасить)

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

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

Не надо дёргать из моего ответа куски текста. Если не понятно, перечитайте от начала и до конца.

о правоприменении к объектам информационного пространства, как к физическим
Ну так дайте ссылку (на законы любой страны), что эти случаи различаются.

Встречное предложение. Дайте ссылку на законы, где эти случаи равнозначны

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

Cole Встречное предложение. Дайте ссылку на законы, где эти случаи равнозначны
То есть вы просто высказали предположение?
Ну так суд же законодательством (чтобы это ни значило) же руководствуется.


Вот именно. А в законе написано вот так:
"Неправомерный доступ к охраняемой законом компьютерной информации.."
На первой же фразе мамкин юрист сломался. Охраняются ли каким-то законом те несчастные базы?
То есть вы просто высказали предположение?

Как и вы.


Следуя элементарной логике, как кому-то понять, что он получил "незаконный" доступ к базе, если в нее свободный доступ без авторизации?
Если вы так любите аналогии с материальным миром, то вот более корректное сравнение. Я иду по дороге и вижу парк (никаких ограждений) в котором некоторое количество чего-то мне не понятного. Я решаю, что это мусор в парке и отношу это на свалку. А потом вы кричите, что это закрытый парк и это был не мусор а ценная вашему сердцу инсталляция.
Так вот, парк это база данных, а мусор это данные в ней.

Так в том то и дело, что законы это одно, а чувство справедливости другое (хоть часто они и близки). И мы сейчас с какой точки зрения рассматриваем? Про законы — я не юрист, а про справедливость — думаю, что аналогии здесь не очень работают. Как по мне, уничтожать любую информацию, без явного разрешения на то ее хозяина — грешно.
А если «хозяин» хранит чужую информацию так, что её можно спокойно утащить любому роботу, может пусть лучше её вообще не будет?
Так это мы уже про ответственность хозяина говорим. Как смягчающее обстоятельство это не зачтется.
Так здесь уже под этой статьей писали, что если на улице стоит непривязанный велосипед, то брать и ехать на нем тоже нарушение.
см. habr.com/ru/company/itsumma/news/t/512576/#comment_21894952
Если проект опубликован без лицензии, то по умолчанию все права на код остаются собственностью автора (All rights reserved).
но там ни в комменте, ни по ссылке в комменте нету чёткого доказательства, ссылок на конкретные законы, хотя комментов по ссылке я не читал, и здесь не дочитал.
Если уж и проводить аналогии, то проводить до конца.
Одним из первых публично известных примеров атаки «Мяу» стала база данных Elasticsearch, принадлежащая гонконгскому VPN-провайдеру, который заявлял, что не хранит никаких логов, но по недосмотру выложил в интернет 1,2 терабайта конфиденциальных данных своих пользователей.
Вот представьте, что это не бедный хозяин квартиры не запер дверь, а к примеру, банк положил деньги и не запер сейф, при этом можно зайти с улицы. Или химическая лаборатория оставила летучие реагенты с открытой крышкой.

Более терабайта логов — это ОЧЕНЬ много.

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

они были уничтожены в результате действия третьих лиц.
Для этого нужно иметь доказательство для каждого такого случая, иначе может получиться, что не кто-то посторонний, а кто-то из тех кто знал об этих данных это и сделал.
Ну кстати да, если все стерто и логов с IP-соединениями нет, то довольно трудно отличить третье лицо от администратора.
Вот если бы там стоял пароль 111111 — тогда можно было бы сказать о незапертой двери и преступности вторжения. Но о каком ограблении идёт речь, если вы, условно, зашли в море на публичном пляже и достали оттуда медузу?

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

А если вы положили книгу на улице, на видном месте? Через час приходите — книги нет. Караул, воры?

Если себе забрали и не сообщили о найденном имуществе в органы — да, воры.
Если себе забрали, но сообщили и приняли меры для ответственного хранения — всё ок, вознаграждение за хранение.
Если УК РБ руководствоваться. Про РФ не в курсе.

Цитата из объявления в автобусе (в побуквенной точности не уверен, но смысл такой).


Присваивая присваивая забытые другими пассажирами вещи вы совершаете тайное хищение, которое карается в соответствии со статьей 158 УК РФ.

И на то вроде даже есть даже решение верховного суда.


Если верить юристам, присваивать можно только найденные вещи, не имеющие идентификационных признаков (номерные знаки разного рода, например), находящиеся не в общественных местах.
Потому "одинокую" и не подписанную книгу на улице забирать себе нельзя, в лесу — можно. Подписанную даже в лесу нельзя.
Возвращаясь к исходной проблеме — данные на сайте идентифицированы адресом сайта, IP адресом и т.п… А потому принадлежность данных владельцу может быть установлена со всеми вытеающими.
Вроде получается как-то так.

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

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


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

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

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

Ваша аналогия некорректна, «атакующий» использует существующие возможности публичной инфраструктуры, а не уничтожает её. Если вы установите лавочку с мангалом со стороны улицы, а не у себя во дворе, сидеть и жарить шашлыки сможет любой. Вы собственноручно создадите условия для всех желающих, не ограничивая круг лиц и нее определяя правила пользования. К вам на лавочку вправе подсесть молодёжь с пивом и жарить вонючую рыбу рядом с вашими омарами, потому что это публичная инфраструктура и ни у кого нет исключительного права на её использование. Да, за вами останется право собственности на мангал и скамейку, но правом пользования вы наделите всех желающих.
Сдается мне, чтобы установить лавочку с мангалом в публичном месте нужно разрешение от какой-нибудь управы района, в котором и будут прописаны условия использования третьими лицами. Но Ваша аналогия тоже некорректна — инфраструктура тут не публичная, а очень даже частная — частный хостинг, частный сервер, частная база. От того, что нет технических ограничений на доступ или была совершена ошибка в конфигурации, не означает, что юридически дозволено делать всё, что угодно.
По Вашей аналогии — мангал был установлен в частном дворе, который забором не окружен, но ко двору ведет публичная дорога. Означает ли это, что каждый может заходить во двор и творить, что угодно?

Для гостя это не проблема. Он пришел, поюзал мангал и ушел.
А если владелец пойдет в суд, его сначала спросят "а как вы обозначили, что это ваш двор?".
Защита своей собственности и ограничение к ней доступа доступа — это забота владельца двора. Нужно хотя бы поставить табличку "не ходить, частная собственность".

Нужно хотя бы поставить табличку «не ходить, частная собственность»
Ничего подобного. Если вы на Западе заходите в район с частными домами, то там никто таких табличек не ставит, хотя заборов обычно тоже нет.
upd
Можно позвонить в дверь и спросить. Но на этом аналогия и ломается, потому что у каждого сервера есть конкретный владелец — публичных серверов просто не бывает. Вы, конечно, можете поднять сервер торчащий наружу без пароля и сказать на весь мир, что разрешаете творить с ним, что угодно, но только сервер как был частным, так им и останется. И это задача пользователей знать свои права, и что они собираются ломать.
Помимо владельцев сервера, есть владельцы данных. И являются ли владельцы сервера ими — вопрос открытый: в очень многих случаях, удалялись персональные данные клиентов. Персональные данные по мнению многих европейских юристов принадлежат пользователям, а не владельцам сервера. Пользователи не соглашались на то, чтобы их данные были выложены в открытый доступ всему интернету.

А может быть и соглашались. А может быть и не соглашались, чтобы их кто-то мог удалить. Теоретически всё что угодно может быть. Возможность просто прочитать чужие данные и возможность их модифицировать или удалить — разные вещи. В случае, если вы случайно забрели на сайт, что-то там прочитали, а потом осознали, что у вас не было на это прав, и вы покинули сайт, никто вас в этом не обвинит, так как у вас не было умысла. Удаление же чужих данных — очень даже осмысленное и осознанное действие.

Удаление же чужих данных — очень даже осмысленное и осознанное действие.


Патч Бармина, как пример осмысленного и осознанного действия.

Или вот, древнее зло:
ОНО: народ, я новый нюк нашел, ща всех поубиваю!!!
ОНО: дайте ай-пи какого-нить лоха!!!
Кто-то: 127.0.0.1
ОНО: пасиба!
ОНО: щас он подохнет
* ОНО вышло из чата
С европейскими пользователями всё проще: в GDPR чёрным по белому написано
In particular, such measures shall ensure that by default personal data are not made accessible without the individual’s intervention to an indefinite number of natural persons.
Да, написать владельцу сайта «у вас там база открытая» от своего имени — более правильно, но после этого нужно быть готовым к долгому суду с уймой владельцев этих сайтов, банкротству и, собственно, реальному сроку.

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

Поэтому лично я не считаю, что meow это что-то плохое.

Да, в идеальном мире с нормально работающими законами о защите персональных данных *и* о защите white hat-хакеров всё могло бы быть по-другому, но сейчас, во времена когда персональные данные хотят собрать и продать буквально все, остаётся не так много вариантов.
Да, написать владельцу сайта «у вас там база открытая» от своего имени — более правильно, но после этого нужно быть готовым к долгому суду с уймой владельцев этих сайтов, банкротству и, собственно, реальному сроку.

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

Потому, что доступ к информации без разрешения на сканирование серверов этой компании. Из примеров: Stefan Puffer

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

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

Означает ли это, что каждый может заходить во двор и творить, что угодно?

Это означает что ответственность за ограничение доступа в частный двор лежит на собственнике. Без явного запрета, например, в виде таблички «Частная собственность. Проход запрещён!» никто не может знать, что заходить нельзя. Невозможно требовать соблюдения правил, не обозначая сами правила.
Чтобы было публичное право пользования, собственник должен об этом как-то заявить или знать. В данном случае этого не было.
Зачем нужна табличка «частная собственность», если сервера и так все частные? И как наличие пароля является табличкой «частная собственность, вход запрещен», да ещё и с описанием всех правил использования? А если я узнал пароль, например пьяный админ в баре мне его рассказал, то я теперь могу делать с сервером что угодно без юридических последствий? Меня просто спросили пароль, я его ввёл и всё удалил — правила использования же нигде не были написаны, и что это была частная собственность тоже.
Отсутствие отказа не является разрешением на доступ. А по-крайней мере по нашим законам для санкционированного доступа нужно именно разрешение.
Господа, сравнение с лавочкой и мангалом в свободном доступе, достаточно хорошее, хотелось бы добавить два момента: Приминительно к данному кейсу, это скорее частное владение в котором владелец не против чтобы к нему заходили и пользовались его мангалом ( забора нет, табличек нет) (порт открыт, пароля нет) но владелец однозначно против чтобы его мангал сжигали к херам. Исходя из логики никто не хочет чтобы его имущество уничтожалось, а тут речь идет именно об уничтожении. Так что на мой взгляд, это явное нарушение законодательства.
Что лучше, уничтожить данные, чтобы они не достались никому, приложение упало и администратор всё-таки закрыл публичный доступ после получения порции стимуляторов от начальства? или по тихому присосаться и тырить конфиденциалку, чтобы продавать нехорошим людям в даркнете?
Если рядом с мангалом нет таблички с условиями использования, то считается, что владелец против.
Вот под окном стоит чей-то велосипед. Я могу на него сесть и покататься? Обещаю вернуть обратно.
Так сервер никто и не отчуждает, правда?
Тут аналогия с дверным звонком — звонок есть, АПИ публичен, нажать на кнопку может любой желающий. Если вы на дверной звонок прикрутите rm -rf / и будете предъявлять гостям за неправомерный доступ — как вы будете выглядеть?
Вот потому, что сервер не отчуждается, то и правила использования устанавливаются владельцем. Вывешивая дверной звонок Вы эти правила нарочно, пусть и негласным способом (просто здравый смысл — термин, на который суды частенько ссылаются), объявляете. Вот если бы они повесили rm -rf / на GET запрос главной страницы, то я бы согласился с аналогией дверного звонка. А тут непонятная кнопка с надписью «удалить вообще всё» запрятана где-то в кустах за углом и под фальш-панелью, пусть и без замка.
Ну не совсем так. Публичное API — это по сути два-три десятка кнопок, висящих на входной двери, на одной из которых написано — удалить все нафиг. При этом все кнопки имеют одинаковый по сути приоритет. Кусты примерно одинаковые и не шибко далекие — мне сейчас, правда, лень проверять, но весьма вероятно что вы имеете что-то в духе локально развернутой копии docs.mongodb.com/manual/introduction
которая явно написана с идеей в голове, что документацию читает человек, имеющий легитимный доступ к железу. Но идея в голове-то есть, а в тексте ее нету. И никаких варнингов на docs.mongodb.com/manual/reference/command/delete/index.html тоже не просматривается. Вероятность, что «админ» выставивший это-вот-все в интернет, пропишет баннер на всех страницах, явно говорящий «property of xyz corporation, all unauthorized access to a.b.c.d is prohibited» — не ноль конечно (и я соглашусь, что если он таки есть — воля владельца явно высказана). А если нет — инстанс вполне можно считать публично установленной в парке скамейкой, на которой можно заниматься всем, что не запрещено явно уголовным кодексом. Или куском асфальта, на котором дети конечно могут разместить свои рисунки мелом, но дворник, который их потом подметет или другой ребенок, решивший что вот-этот-вот кусочек ему мешает — неподсудны.
С MongoDB и другими сервисами из статьи проблема в том, что по умолчанию они никак не запаролены, а провайдеры любят впаривать белые айпишники при любом чихе. Т.е. админам не нужно вообще делать каких либо действий, чтобы выставить «вот это всё» голой попой в интернет, «оно само». И получается, что владельцы сервисов никак не высказывали своей воли по публичному доступу. Если я брошу свой велосипед у подъезда, я, конечно, ССЗБ, но это не значит, что любой может его легально взять покататься. АПИ велосипеда публично доступно, пароля нет, но велосипед — частная собственность. Вот если бы оставил табличку «Катайтесь на здоровье, верните до вечера», то был бы другой разговор (но и в таком случае как доказать, что эту табличку оставил владелец?).
Или если я случайно забыл где-то кошелек, то это не значит, что любой прохожий может легально забрать оттуда деньги просто потому, что кошелек лежит в публичном месте.
Я бы может согласился с высказанной волей владельца по публичному доступу, если бы это был MySQL, где для подобного выставления нужно специально приложить усилия, но и в данном случае всё же считаю, что база не моя и не знаю чья — трогать не имею права.
А почему скамейка оказалась в публичном парке, а не в частном дворе? Сервера-площадки же частные — подключаясь к базе, вы подключаетесь к серверу. Интернет — публичные дороги, но все эти дороги ведут к чьим-то частным владениям. А заходя в частное владение, надо бы знать правила поведения там. Есть хоть один ресурс или платформа в интернете, которые находятся в Public Domain? Т.е. найти софт, музыку и др. произведения в общественном достоянии в интернете — без проблем, но сами ресурсы и платформы, на которых эти произведения будут расположены — очень даже частные, и удалять их оттуда без согласия владельца ресурса Вы не имеете права.
Забавно сколько вычислительных мощностей (да и времени разработки) можно было бы повсеместно высвободить, если предположить на секундочку отказ от любого шифрования и аутентификации вообще и везде… Но люди, к сожалению, склонны вредить ближним.

Можно развить дальше: сколько ресурсов и нервов было бы съэкономлено, если бы не нужны были замки, заборы, стальные двери, охранные системы, камеры наблюдения, охранники, да даже та же полиция!

После темы про лучшего напарника АйТишника, заголовок вначале навёл на мысль, что это «пошалил» кот админа в крупной компании.
И тот и другой из коробки ставится с паролем на вход (MySQL генерирует случайный, ORACLE — не помню уже как, но ораклоидные dba его наружу выставят в самую последнюю очередь).
Нет если сильно постараться — то можно их заставить сделать пустой пароль для DBA аккаунта, но это нужно делать именно специальными опциями.

А тот же Redis паролем закрыть — нужно специально для этого приложить усилие…
мускуль по умолчанию дает пустой пароль админа, но только для доступа с локального хоста, удаленно не пустит.
Совсем надавно его ставил — последние его версии по умолчанию пароль из рандома пишет в лог установки.

На счет локального хоста — так мне кажется что самый гуглящийся вопрос — «как открыть доступ к ***тут имя базы данных*** извне» и ответы на него, в массе своей, не содержат предупреждений, что делать это можно только заменив дефолтные пароли/задав пароли/настроив другие средства аутентификации доступа. И это как раз и выстреливает эффектом вывешеных на всеобщее обозрение кучи баз данных…
> ответы на него, в массе своей, не содержат предупреждений, что делать это можно только заменив дефолтные пароли/задав пароли/настроив другие средства аутентификации доступа

На двери сортира тоже обычно нет предупреждений, что перед тем, как срать, хорошо бы спустить штаны, а сделав свое дело — неплохо бы вытереть задницу. Задание паролей — это же азы безопасности, человека, не понимающего это, вообще не стоит подпускать к администрированию (впрочем, не стоит подпускать к нему и того, кто пишет в поисковой строке «как открыть доступ к ***тут имя базы данных*** извне»).
Все вы верно говорите. Но на практике имеем что имеем…
Оно как получается: разрабы берутся что-то писать и не будучи «админами» настраивают как проще и как им удобнее. Ну а потом аврально надо все в продакшен и админам уже сваливают готовые конфиги. А на вопли «так нельзя» забивают т.к. переделывать приложения уже некогда — «надо запускаться». А то бывает эти же разрабы и прод настраивают…

А после запуска вдруг заканчивается бюджет и на безопасность (которую отложили на будущее) просто забивают — «работать же уже надо».
А может, не стоит доверять разработку и администрирование информационных систем некомпетентным идиотам?..
Конечно не стоит, но в жизни случается и такое (как видно по куче инцидентов, которые кроме как криворукостью/некомпетентностью не объяснить)
MariaDB это форк мускуля, я про ванильный говорю, где этого плагина нет и администратор по умолчанию root%localhost с пустым паролем.
Кроме того у нас в проде 5.7 используется и тем более в 95% случаев на винде, там такого плагина точно нет.
Но я ставил и оригинальный свежий мускуль на убунту именно из репозиториев мускуля (обкатывали их репликацию, в дебиановских чего-то нехватало) и там тоже пароль был пустой для локального админа.
Более 170 баз данных удалено у российских хостеров
прям у хостеров или на VPS?

PS по той ссылке у анонимуса ничего не открывается.
Ну может хоть после этого NoSql сервера научат прямо из каробки включать security.
… чем-то мне это напоминает «Операция Ы» — там тоже был склад, который ограбили.

Не в защиту нерадивых админов, но часть оветственности лежит на облачных провайдерах: на любой чих там выдаются пуличные адреса. В частности Google оптимизирован под наличие как минимум эфимерных ip на виртуалках и когда их убираешь, возникает куча мелких проблем. У Яндекс ещё хуже: файрвола для виртуалок нет, он только в планах. S3 почти везде публичный сервис, хорошо хоть авторизация есть.

Это да. «Удобные» костыли пользователи костылей (не разработчики) обычно начинают считать фичами. И предъявлять к ним как к пунктам ТЗ. Ну, сочувствую всем вовлечённым.

В AWS с этим получше. RDS по-умолчанию всегда публично недоступны, а ElastisSearch имеет аутенфикацию. Redis смотрит только внутрь VPC

как вариант, автоматическое сканирование. Но тут больше вопросов к подходу, если вы не ставите бд в сети с публичным доступом — даже случайно доступ открыть не получится. Так же с использованием Infra as a code — есть шанс что подобные ошибки заметит коллега. Так же есть смысл делать периодические ревью правил файрволов.
Nmap — подойдёт?
Он покажет открытые порты — дальше, правда придется самому дефолтные пароли проверить.
Ну в 9 случаях из 10-ти, если не больше, если у вас открыт порт, про который вы не понимаете, нафига он открыт и чем — у вас проблемы, так что пароли проверять даже не особо нужно.
Эти атаки технически незаконны, но морально — правильны.

Лично я бы предпочёл, чтобы мои данные стёрли, а не украли все заинтересованные лица. Если админы настолько некомпетентны — они не должны держать никаких данных. Потому, что они не будут нести ответственности за утечку этих же данных.

Аналогия с незакрытой дверью некорректна: здесь практически наверняка админы этих баз не имеют и не могут иметь представления кто вообще мог получить доступ к ним (и слить все данные в любой момент).

+1, это не незакрытая дверь, это как если бы банк хранил деньги клиентов тупо кучей на улице.


"Мы не волки, а санитары леса" (с)

Автор фактически создал рукотворную стихию.


"At random. Dispassionate, fair. The rich and poor alike." ©

Банк был бы неправ, если бы хранил деньги клиентов кучей на улице. Но это не даёт право случайным прохожим присваивать или сжигать эти деньги. Халатность одной стороны не является оправданием для преступления другой. То, что жертва изнасилования надела миниюбку, а не пояс верности, не снимает с насильника вину.

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

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

если только вы специально не следили и не подглядывали за этой дамой

А что, в этом случае стоит ждать пативэн?

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

Никогда не понимал инсталлеры/конфигураторы и различные мануалы где настройка паролей и SSL вынесена в раздел: «Ну там сам как нибудь потом доделаешь». Естественно никто не доделает ведь уже работает.
Ну ни никто, ладно вам. Mongodb говорит про 15000 коммерческих клиентов. А тут всего ~4000 дыр. В самом худшем случае только каждый четвертый «админ» не доделывает. Реально — меньше ;)
Вместо этого базу «мяукнули»

Прикольное слово, можно в более широком смысле использовать)


— Почему ничего не работает?
— Да у нас сервер мяукнулся

То чувство, когда зашел почитать комментарии, а в половине из них авторы упражняются в придумывании аналогий

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

Объясните мне, а почему эти базы вообще оказываются голой задницей в интернете? Как так вообще?

Из-за неправильной документации и лени разработчиков

Скорее всего половина это виртуалки и что то с докером
Вот пример конфига самого пострадавшего сервера
hub.docker.com/_/elasticsearch
там указано 9200:9200, что уже бред, ну нельзя так делать.
Вот тут (можно не читать, цитата ниже) описано как правильно делать, но там много текста.
www.elastic.co/guide/en/elasticsearch/reference/7.5/docker.html

Please note that this configuration exposes port 9200 on all network interfaces, and given how Docker manipulates iptables on Linux, this means that your Elasticsearch cluster is publically accessible, potentially ignoring any firewall settings. If you don’t want to expose port 9200 and instead use a reverse proxy, replace 9200:9200 with 127.0.0.1:9200:9200 in the docker-compose.yml file. Elasticsearch will then only be accessible from the host machine itself.


Обычно контейнеры делают программеры, а как там всё работает не их забота.
Вот про это практически никто не читает
docs.docker.com/network/iptables

chain DOCKER-USER для правил «перед докером», и там полный ACCEPT по умолчанию.

А если и читает, то как работает iptables никто не знает (я вообще молчу про стек TCP/IP)
Ну а докер по умолчанию (из коробки) сам рулит правилами iptables при запуске и перезагрузке контейнеров. Если 1 раз прописал правило, а кто то не оплатил хостера, то перезапуск VPS потрет все твои старания (даже iptables-save не спасает)

Т.е. как всегда быстро, удобно, но не безопасно.
Можно отключить работу с iptables на автомате, но придется каждый контейнер прописывать руками.
Современные методы разработки: х, Х, и в продакшен. Главное получить бабло/закрыть задачу/…
В общем «эффективный менеджмент».
Всё логично, что бы заставить работать ELK(Elasticsearch, Logstash, Kibana) стек в докере с применением паролей и шифрования — нужно очень сильно постараться (это же сертификаты генерировать надо и в композере потом всё учесть), прямого мануала про это нет на оф.сайте, а без них всё поднимается в несколько кликов. Видимо, много кто идёт по лёгкому пути, хотя всё необходимое легко ищется в гугле.
Видимо, много кто идёт по лёгкому пути, хотя всё необходимое легко ищется в гугле.


Много раз встречал «посмотрите ELK для общего образования вот в этом вот проекте», а спустя 2 недели «алярма, мы в бою, бросай конфиги, пиши код».

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

А если блочить на фаерволе, то из мануалов докера гуглится их собственный

$ iptables -I DOCKER-USER -m iprange -i ext_if ! --src-range 192.168.1.1-192.168.1.3 -j DROP


те, кто умеет работать с iptables разберут эту строку, те кто нет сделают ctrl-c + ctrl-v
Да даже если «знакомый» админ скажет что вместо ext_if нужно писать eth0 и в конце добавить -j DROP, то всё равно не спасет, при перезапуске докера будет чистый iptables и кишки наружу.

Да и общения в IT часто происходит «вы че, базовых вещей не знаете? идите гуглите»

Скажите спасибо жлобам из эластика, которые жмотились на базовую штуку в виде секьюрити, и продавали в x-pack. это первопричина проблем, многие кто первый раз его ставят вообще не догадываются об этом. Благо OpenDistro от амазона появился. PS. Не надо сюда писать про реверс прокси на нджинсе с лдап модулями, это все понятно и костыли.

Как можно ставить базу данных, в которой лежат, внезапно, данные, и не догадываться, что она как минимум не должна быть доступна со всего интернета, а только с разрешённых IP? Тем более если к ней авторизацию из коробки не завезли

Вот они… Современные и модные технологии во всей красе. Сплошные костыли.

Так сколько раз уже просили? Даже сервисы есть по отслеживанию, новости постоянные при утечки («кря кря»), но воз почему-то и ныне там. Первый официальный слив информации через открытый эластик был более пяти лет назад, ЕМНИП. С широким обсуждением на профильных и не очень ресурсах.
Ну, серьёзного вреда ( сравнимого с опасностью выгрузки базы всеми желающими) — это не причинит, если есть бекапы, а если база торчит в интернет и без бекапов, то, наверное, можно применить теорию дарвина…
Поэтому, возможно, автор атаки делает доброе дело ещё и для админов этой базы.
Обсудить обсудили, вот заплатка от дурака, может кому пригодится

Centos (для ubuntu просто удалить /usr из команд)
#!/usr/bin/bash
ips=("1.2.3.4" "5.6.7.8" "9.10.11.12")

# проверить правило-дырку
/usr/sbin/iptables -C DOCKER-USER -j RETURN 2>> /dev/null
if [[ $? -eq 0 ]]
then /usr/sbin/iptables -D DOCKER-USER -j RETURN
fi

# проверить запрет на доступ
/usr/sbin/iptables -C DOCKER-USER -i eth0 -j DROP 2>> /dev/null
if [[ $? -eq 1 ]]
then /usr/sbin/iptables -A DOCKER-USER -i eth0 -j DROP
fi

# проверить разрешение на доступ по ip
for ip in ${ips[@]}; do
 /usr/sbin/iptables -C DOCKER-USER -s $ip/32 -i eth0 -j RETURN 2>> /dev/null
 if [[ $? -eq 1 ]]
 then /usr/sbin/iptables -I DOCKER-USER 1 -s $ip -i eth0 -j RETURN
 fi
done
exit 0


С ростом популярности докера не все успевают разобраться в админ правах и доступах
При создании, стопе и перезагрузки контейнеров iptables от докера переписывается и затирается.
По умолчанию там полный доступ к портам докера.
Без погружений скрипт кладется в contab (crontab -e) и выполняется каждую минуту (* * * * *)
Просто проверяет наличие правил, «дырку» удаляет, нужные (доступ оп ip) прописывает.

Это не для профи, а для тех, кто не разобрался с докером и доступами.
Мануал хороший, но это костыли, ELK в 2020 году в проде нужно запускать с x-pack, тогда трафик будет шифроваться и доступ к базе будет с паролем. И да, это бесплатно.
я привел быстрый фикс для всего что в Docker крутится. Был бы соц опрос тех, кто пострадал, было бы понятнее, но все мануалы по контейнерам сажают контейнеры на порты по умолчанию. С MongoDB такая же фигня.
очередные мамкины кулхацкеры развлекаются и название придумали соответствующее
Одним из первых публично известных примеров атаки «Мяу» стала база данных Elasticsearch, принадлежащая гонконгскому VPN-провайдеру, который заявлял, что не хранит никаких логов, но по недосмотру выложил в интернет 1,2 терабайта конфиденциальных данных своих пользователей.

Вы так пишете про удаление этой БД, как будто это что-то плохое.
Между тем этот VPN-провайдер ничего не потерял, он же не хотел хранить логи, верно?
Напротив, он приобрёл свободное место на дисковом массиве.
А уж пользователи наверняка ещё более рады, что их конфиденциальные данные теперь удалены.

Only those users with full accounts are able to leave comments. Log in, please.
Information
Founded

August 12, 2008

Location

Россия

Website

itsumma.ru

Employees

51–100 человек

Registered

24 November 2009