Pull to refresh

Comments 27

С момента, как вы что-то насовываете в pg_hba и меняете listen_address на * - вы сами по себе. Разумеется, делать это надо в сознании, а не копипастить. А лучше оставлять кесарю кесарево - код приложений программистам, а настройку инфраструктуры админам.

Девопс - это не когда программист (фигово) настраивает инфраструктуру, а наоборот - когда эксплуатация помогает ему сосредоточиться на кодинге, не заботясь об окружении.

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

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

Статья не про то что меня взломали ( меня не взломали ) а про то как быстро и как именно взламывают постгресы в интернетах

Тест уровня "Оставил 1000 р. на остановке, посмотрим за сколько ее сопрут". Очевидно - быстро. Те кому это не очевидно, выводы по статье не сделают, т.к. защиту от дураков придумали, а от идиотов нет.

Давай ещё сделаем специально chmod 777 *.* - r, на заборе же написано...

Погодите, т.е. вы вытащили СУБД голым задом в интернет и чему-то удивляетесь?

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

Эм... Ну гуд, что специально, но причём тут постгрес в докере? Тут ни постгрес, ни докер значения не имеют. Вас будут долюать по всем возможным портам, во все возможные сервисы. И скорость тут может быть разная. Например я видел в одной компании, как был взлом торчащего наружу сервера с виндовым RDP, с незакрытыми портами. ТАм было что-то типа установки на пользователя с правами админа пароля 12345678. Взломали примерно минут за 6.

У меня у самого был взлом в прошлом году, на одном проекте произошёл пролюб и на свет вытащили дебаг панель. Взломали минут за 15.

ТАк что ваше время не показательно.

Это дело случая. Зашел на проект. Легаси длинной в 15 лет, сотни клиентов.

По крайней мере 10 лет торчала наружу, доступная анонимно, страница /user/Create/admin — создающая суперадмина после первичной установки. Ей пользовались QA и их ничего не смущало. Повезло, что не было инцидентов.

ИСО сертификаты. Несколько регулярных секурити чеков в год... Кстати, сменили контору по секурити чекам, и те уже стали находить норм уязвимости.

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

Удивительно, что к ботнету не подключили

Вот потому разработчикам нужно крайне осторожно доверять инфраструктуру. Обычно разработчики её фатально не понимают и мыслят рамками своего компа. И для них интернет это не дикий запад, где каждый сам за себя, а тихое место. Часто они не знают или не понимают базовых правил ИБ, не понимают, что как только они чуть высунутся, их моментально спалят, начнут сканить, начнут делать переборы всего и вся и вообще ломать разными способами. И будут делать регулярно, каждую секунду, все, кому не лень, да и кому лень, ведь в автоматическом же режиме.

Особенно нельзя давать что-то делать тем, кто прочитал пару мануалов, howto или статей на хабре и решил "а чего там делать-то?".

Вот пример такого разработчика, это автор недавней статьи про переусложнение. Всё простенько, 5 минут, вошёл-вышел, ога. А потом тебя ломают и оказывается, что все эти "переусложнения" были неспроста...

Ради интереса, а что за статья, про которую вы говорите?

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

Не спорю и не отрицаю, что отдельные специальные люди для инфраструктуры, безопасности и всего остального — это нужно, полезно и классно.

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

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

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

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

И ведь коллеги эти тоже учится не хотят и не понимают часто элементарных вещей.

А вы точно разработчика с каким-нибудь дизайнером или hr-ом не спутали?

Там выше пишут что негоже разработчику заботиться о чём-то кроме кодинга, пусть магический "девопс" разгребает.

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

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

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

Кстати, а что самое ценное в разработке? Ну, раз уж кодинг не оно.

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

Я думаю что место где проводят линии ответственности зависит от размера компании, её стратегии найма и квалификации имеющихся разработчиков.

Кроме того если "настраивает нужные доступы" и "создаёт БД" это, допустим, строчка в Terraform, который использует нужные шаблоны, то почему бы и нет?

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

Я правильно понял насчёт "стратегии найма" и "квалификации имеющихся"? - Имеется пул разработчиков, которые, помимо прочего, закрывают обязанности, обычно возлагаемые на сетевиков, айтисеков, QA и линукс-инженеров. Они имеют достаточную квалификацию, чтобы во вменяемые сроки выполнять данные задачи, и нам такое положение вещей норм.

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

Ещё, наверное, стоит позавидовать зарплатам этих товарищей - раз уж они тянут на себе весь оркестр :)

Мы не Яндекс, у нас IT-отдел 12 человек, а всего в компании меньше 50 человек. В команде такого размера нет места для выделенного сетевого инженера, линукс-инженера и "айтисеков". Более-менее узкая специализация только у мобильных разработчиков и фронтенда.

P.S. Месячная аудитория проекта -- 24млн человек (без учёта мобильных приложений).

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

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

Капитан очевидность покусал?

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

Когда винду ставлю завожу юзверя User. Все под ним устанавливаю и настраиваю. Пароль ставлю 123 чтобы проще было заходить в процессе. Потом, разумеется, завожу рабочего пользователя, а этого блокирую. И тут как то понадобилось чтобы пользователь с другого компа мог зайти в шару. И да, там тоже был пользователь User. Система десятка. Чтобы дать доступ нужен такой же юзверь в системе с шарой. И да, без всякой задней мысли активировал имеющегося User. В общем, спустя короткое время какая-то редиска законннектилась через RDP. Благо на моих глазах. Тут же перелогинился и заблочил учетку. Какова мораль? Банально тупанул. Но это, тем не менее, логично и очевидно.

Столкнулся с этим. Так же указал слушать публичный адрес и на следующий день подцепил майнера

Sign up to leave a comment.

Articles