Очень многие люди, даже профессионалы сферы информационных технологий, не представляют, что творится в интернете. А очень желательно, чтобы представляли.
Многие видят будущее как киберпанк, но они пропускают при этом подводную часть айсберга. Думают об имплантатах и нейроинтерфейсах, но забывают об огромной инфраструктуре интернета и петабайтах данных, проходящих по нему за микросекунды. Что происходит в интернете кроме того, что робоглаз сохраняет видео в чей-то мозг? Да ничего хорошего! И происходит это уже сейчас.
Большая часть трафика используется для слежки и иных противоправных дел. То, что миллиарды людей готовы предоставлять доступ к своим личным данным, выглядит просто безумием, но это их дело. То, что миллионы людей готовы ради микроскопической выгоды загаживать интернет однопиксельными изображениями и подобным мусором, отвратительно, но ожидаемо. То, что люди не следят за безопасностью своих устройств, не ожидаемо и это не только их дело.
Это тот случай, когда вы наносите вред бездействием. Я говорю о простых паролях, а то и вовсе оставлении неизменными фабричных настроек. Задумайтесь: вы практически добровольно предоставляете свой компьютер всем желающим для совершения преступлений.
Честно признаться, я и сам не ожидал, что всё настолько плохо. Под катом немного статистики из жизни моего сервера и разъяснения, что же это значит. У сервера есть только IP, о его существовании знает семь человек и провайдер, его адрес указывался дважды в скайпе и три раза в письме. Он существует всего один месяц.
Для тех, кто не знает что такое SSH.
Для тех, кому лень читать — возможность получения удалённого доступа.
Итак, за месяц было осуществлено 285499 попыток подключиться к серверу по ssh. Использовано 1337 адресов, да цифра забавная, но реальная. Накопилось 36,8 МБ логов.
Довольно тяжело оценить эти цифры. Я попробую сделать их более понятными для вас.
В среднем, каждый день с 44 устройств пытались получить доступ к серверу, максимум с 68.
Запрос происходил примерно каждые девять секунд.
Если распечатать все эти запросы на бумаге, потребуется около семи стандартных пачек при условии печати с двух сторон 12 шрифтом и отсутствии переносов строки. Если печать полные логи, то в районе ста.
С точки зрения сложности пароля, если бы запросы были скоординированы и были направлены на его подбор простым перебором, то сложный трёхзначный пароль, в котором допустимы все цифры, спецсимволы, латиница и различаются прописные/строчные буквы, гарантированно был бы подобран.
Пароль из строчных букв латиницы был бы гарантированно подобран для четырёх знаков.
Пароль из цифр был бы гарантированно подобран для пяти знаков.
Пароль из одного реального слова английского языка был бы гарантированно подобран, вне зависимости от количества букв.
Напомню, это только за месяц. Количество адресов постоянно возрастало, со 112 за первые пять дней до 452 за последние пять. Если такой темп сохранится, то к 2018 году все показатели вырастут примерно в четыре раза, но я уверен, что скорость роста тоже будет повышаться.
Что это за хрень? Кто будет пытаться подключиться к серверу через неделю после его появления?
Я, конечно, не исключаю возможности того, что кто-то использовал этот адрес раньше и остались скрипты и демоны, пытающиеся к нему обратиться, но почему же тогда их количество возрастает?
Увы, это ботнеты. Я говорю «ботнеты», чтобы подчеркнуть отличие от обычного вирусного заражения. Никакой вирус не пришёл мне в письме. Я не был выбран по каким-то критериям. Просто кто-то пытается получить контроль над всеми доступными машинами, чтобы с их помощью продолжить наращивать мощь ботнета.
Большинство адресов этих устройств легко находится в соответствующих базах. И пытаются подключиться они не только ко мне, но и к тысячам других компьютеров по всему миру.
Задумайтесь над этим. Какова должна быть плотность заражённых устройств, чтобы сто из них случайным перебором за неделю попало на мой адрес?
Киберпанк уже наступил, просто он пока не особо заметен. Однако высокотехнологичные преступники давно имеют доступ к миллионам компьютеров, телефонов, роутеров, камер и даже холодильников. Всё, что пока нас защищает — отсутствие достаточно интеллектуальных программ, ботнеты пока не научились отлавливать номера кредиток по камере (хотя научились делать это из браузера) или в достаточной мере понимать речь, чтобы делать компрометирующие записи вашего телефонного разговора.
Ужасно то, что в современном мире о любом человеке есть слишком много важной электронной информации. И хранят её отнюдь не самые технически продвинутые организации. Задумайтесь — даже банки, для которых информационная безопасность превыше всего, регулярно становятся жертвами атак хакеров, что уж говорить о государственных учреждениях?
Лично я в данной истории испытываю просто некоторый моральный дискомфорт. А владельцы устройств? Люди, незнакомые с этим вопросом относятся к возможному заражению крайне пренебрежительно. Ну подумаешь, ну будут слать какие-то данные, чёрт с ним. Да и вообще, антивирус защитит!
Нет, не защитит. Антивирус проверяет логин и пароль, а кто их ввёл — вы, ваш брат или злоумышленник, он определить никак не может. А вот неприятные последствия… Ну давайте перечислим их.
Трафик. Казалось бы ерунда в эпоху безлимита, но что вы скажете про телефоны? Кроме того, при забитом канале вам будет тяжело смотреть кино или играть в онлайн-игры, например.
Бан. Ваш адрес легко может оказаться в чёрных списках множества ресурсов, например из за того, что ботнет подбирал пароли к почте, и если просто лишиться возможности скачать видео с котиками не страшно, то лишиться интернет-банка будет обидно.
Персональные данные. Почти все ботнеты крадут ваши данные от паролей до реквизитов банковской карты.
Тяжёлые вычисления. Это, конечно, совсем уж граничный пример, но попробуйте-ка работать на компьютере, который майнит биткойны на 90% его вычислительной мощности.
Противоправная деятельность. Вы готовы к тому, что от вашего имени будет рассылаться спам? А к тому, что вы участвуете в раздаче детской порнографии? И, кстати, доказать, что это не вы, будет проблематично.
Продолжать можно долго. Приведу простую аналогию — если вы точно знаете, что утром ваша машина будет на месте, готовы ли вы оставлять на ночь ключ в замке? Пусть машина будет и на месте, но без бензина, с навозом в багажнике и поцарапанной краской. Хотите ли вы этого?
Да, эта статья банальна. Да, все знакомы с опасностями простых паролей. Но почему тогда они встречаются так часто?
Если вы специалист, настраивающий оборудование или программы, то на вас лежит своеобразное «бремя белого человека». Не оставляйте лазеек, объясняйте опасность.
Если у вас всё в порядке, объясните суть проблемы друзьям и родственникам. Это не сложно и пусть вас сочтут параноиком, но быть жертвой насмешек лучше, чем жертвой преступления.
Если у вас где-то остались заводские пароли или просто вбито 123, поменяйте прямо сейчас, не откладывая.
Вы уже читали что-то подобное. Можете зевнуть и подумать о том, что я параноик, о том, что я говорю очевидные вещи, о том, что никто не будет взламывать ваш роутер.
Тем не менее, пока я писал эту статью было совершено более двух тысяч попыток подключиться к никому не нужному серверу в Нидерландах. А сколько попыток подобрать пароль к вашему роутеру произошло за это же время?
Комментарии (62)
FedyaShlyapkin
28.01.2017 16:20+1к моему серверу подбирали пароль. хотя он вообще нигде не фигурирует. лечил сменой всех портов на нестандартные значения и огромными таймаутами при неправильном пароле.
susnake
28.01.2017 16:33Такая же фигня была. На только что настроенном небольшом сервачке, через минут 20 уже начались ломиться подбирать пароль для ssh и чудовищно росли логи. Причем все IP были из китая. Хз может через китайские VPN/Proxy подключались, но после того как забанил в iptables и сменил 22 порт все стало тихо.
vsarakoff
30.01.2017 16:10Не стоит торопиться — через какое-то время товарищи с китайскими IP адресами доберутся и до нестандартного порта, дайте им время. Fail2ban постоянно о них напоминает.
qw1
28.01.2017 16:41+4Ладно сервер. У меня к домашнему роутеру постоянно подбирают пароль.
Чтобы не захламлять логи неудачными попытками входа, просто закрыл порты снаружи, кроме тех адресов, с которых я иногда могу зайти.
vanxant
29.01.2017 01:48+2fail2ban наше все
isden
29.01.2017 14:42+1Плюс вообще забыть про пароли для SSH.
Нестандартный порт + ключи + f2b.vampire333
30.01.2017 06:02А если у меня пароли создаются генератором, ну типа 3d2eBfDfe1^:, его же подобрать за разумное время проблематично
scg
29.01.2017 10:39Пока читал статью:
Jan 29 10:33:24 ebox sshd[19507]: reverse mapping checking getaddrinfo for 190-173-217-26.speedy.com.ar [190.173.217.26] failed — POSSIBLE BREAK-IN ATTEMPT!
Jan 29 10:33:24 ebox sshd[19507]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=190.173.217.26 user=root
Jan 29 10:33:26 ebox sshd[19507]: Failed password for root from 190.173.217.26 port 33383 ssh2
Jan 29 10:33:39 ebox sshd[19507]: last message repeated 5 times
Greendq
28.01.2017 16:26Вы не написали, сколько писем вы отослана на abuse адреса сеток, из которых к вам ломились боты.
Electrohedgehog
28.01.2017 16:33+2Они уже там. Около тысячи сообщений на каждый.
Greendq
28.01.2017 16:43О, вы прикрутили автоматическую отсылалку на таких ботов? Не поделитесь? А то я бы прикрутил :)
Electrohedgehog
28.01.2017 16:51Простите, неверно выразился. Они уже есть в списках, на каждый около тысячи сообщений отправлено. Не мной.
Насчёт автоматизации — так тут всё просто) Я же адреса php скриптом из логов дёрнул. Достаточно в конец воткнуть ещё генерацию письма.
Отсылать не стал поскольку не уверен в том, что всё правильно сделал, ничего не пропустил и лишнего не вписал. А раз уже все там, так и не стал сильно беспокоится.tmin10
28.01.2017 19:01А как вы смогли проверить abuse ящики этих сетей? К ним имеют доступ же только админы самой сети?
Ajex
28.01.2017 19:26+1Я когда-то вот такую штуку мастерил Наносим удар по ddos ботнету своими силами и были вполне реальные результаты работы, на письма были реальные ответы мол «спасибо, проверим». Сложно посчитать результативность, но, если бы так поступали многие, она была бы, несомненно.
Ибо если бы провайдер получил хотя бы 2 разные абузы на один ип, это бы стало толчком к действиям.Electrohedgehog
28.01.2017 20:25+2Пока что поговорил с ними https://abuseipdb.com. Есть удобное апи для проверки и занесения
Говорят, что заносят в базу, при накопленнии достаточного количества жалоб отправляют абьюзы. Не доверять причин не вижу. Отправил сообщение им.Ajex
28.01.2017 20:38Ага, клевый сервис. Правда для репорта нужно вводить каптчу, а значит всех ботов незарепортить массово. Хотелось бы какое-то апи… правда при помощи ботов, туда зальют все диапазоны со сфабрикованными отчетами, что сделает всю систему бесполезной.
Electrohedgehog
28.01.2017 20:48Не, ненужно. Там есть апи, я самых настырных пачкой переслал тут же, в несколько строчек кода.
Barnaby
28.01.2017 19:04+7У сервера есть только IP, о его существовании знает семь человек
Все IP известны, скорее всего боты сканят диапазоны хостеров. Ко мне иногда заходят и ищут уязвимости, хотя я его вообще нигде не светил.
PS: SSH с паролем, серьезно? Не удивительно что они ломятся :)spolischook
30.01.2017 06:02+1Первое что делаю после создания нового сервера это добавляю ключ — https://www.digitalocean.com/community/tutorials/how-to-use-ssh-keys-with-digitalocean-droplets
Electrohedgehog
28.01.2017 20:34+3Про то и разговор, что любой адрес кто-нибудь да брутфорсит и не надо думать, что ваш роутер никому не интересен. Выше в комментариях уже писали.
PS Вину осознал. Исправлюсь.)
sleeply4cat
28.01.2017 20:43Забавно. Ко мне на ssh уже полгода ломятся примерно с десятка разных айпи в день, пытаясь залогиниться от юзеров root, support, pi, test и прочих дефолтных, напрочь игнорируя отключенную авторизацию по паролю. Почему-то есть ощущение, что на любой из «засветившихся» ip можно зайти по тем же дефолтным паролям =\
miha2
28.01.2017 21:27+1Видимо уже пора внедрять в операционные системы как часть безопасности удалённый мониторинг активности. Если с конкретного десктопа на минимум 10 в разных точках мира серверах происходит пароль подбора, то это значит что компьютер часть ботнета. Вопрос какие дальше действие предпринимать.
Это как в психологии человека: сам о себе сказать ничего не можешь. Но если попросишь дать обратную связь о себе, — тебе это сделают легко.
maniacscientist
28.01.2017 23:05Пора слезать с андроида, вот что.
colontitul
29.01.2017 14:26+3А андроид-то в чем провинился?
sleeply4cat
29.01.2017 17:23В том, что support libraries вшиты в каждое приложение, а не устанавливаются с плеймаркета, что ещё больше увеличивает нагрузку на слабые телефоны.
qw1
29.01.2017 20:11+1Это было актуально во времена 256-512 MB RAM.
Сейчас самые дешёвые модели имеют гигабайт, середнячки — 2 ГБ, топовые — 4 и больше.sleeply4cat
30.01.2017 11:37А как насчёт до сих пор расходящихся как горячие пирожки уродцев с 4 Гб флэша?
azsx
29.01.2017 07:34+3У сервера есть только IP, о его существовании знает семь человек и провайдер, его адрес указывался дважды в скайпе и три раза в письме.
Количество адресов IPv4 ограничено и используются не все. История вашего адреса неизвестна. Так что аргумент о неуловимом Джо, не подходит. Когда я начинал парсить сайты, мне также казалось, что придёться 4 млрд домёнов перебирать.
nosuchip
29.01.2017 12:03sshd превешен на порт отличный от 22 и включена акторизация по ключу и… ни одной попытки доступа кроме тех, что произведены мой с моего адреса.
xMushroom
29.01.2017 13:42Насколько безопасно держать ssh на стандартном 22 с авторизацией по паролю, но пароль при этом случайный 15-значный? Подобрать его должно быть невозможно, но может еще какой-то способ атаки есть, о котором я не знаю?
А вообще да, беспечность населения в этом вопросе поражает. По работе периодически получаю от заказчиков их логины и пароли, ни разу не видел ничего сложнее, чем «реальное слово+число», причем слово обычно очевидно связано с заказчиком. При этом у многих немаленький бизнес завязан на эти аккаунты.voyager-1
29.01.2017 23:23Насколько безопасно держать ssh на стандартном 22 с авторизацией по паролю, но пароль при этом случайный 15-значный? Подобрать его должно быть невозможно, но может еще какой-то способ атаки есть, о котором я не знаю?
С 22 порта ssh обычно переносят чтобы ботнеты логи не засоряли, и не тратили ресурсы сервера. 15 знаков — должно хватить, а если используется что-то вроде Fail2ban — то и 9 знаков обычно достаточно.
Подобрать его должно быть невозможно, но может еще какой-то способ атаки есть, о котором я не знаю?
Стоит проверить, какие службы глядят в сеть — и или заблокировать их, или периодически обновлять — если они требуются для работы. Хотя Linux от этого редко страдает, а вот Windows XP до SP2 (и младше) — страдали часто, так как встроенного брандмауэра вообще не имели, от чего все включенные службы автоматически были доступны из вне.
А вообще да, беспечность населения в этом вопросе поражает. По работе периодически получаю от заказчиков их логины и пароли, ни разу не видел ничего сложнее, чем «реальное слово+число», причем слово обычно очевидно связано с заказчиком. При этом у многих немаленький бизнес завязан на эти аккаунты.
Банальная неграмотность. Люди обычно не понимают, что пароль — это что-то на вроде «электронного паспорта»: если его найдёт мошенник, то он сможет с помощью него вести от вашего имени переписку, перевести деньги с вашего счёта (и т.п. — в зависимости от того, от чего был подобран пароль).
Кстати пересылать пароль по почте (в не зашифрованном виде) — само по себе не безопасно. Раньше — так и вообще, большинство почтовиков пересылало письма по сети в не зашифрованном виде, так что на всём сетевом оборудовании, через которое проходило письмо — его можно было «прослушать».
Interreto
29.01.2017 14:27Создайте дефолтный сайт на WP (любая популярная CMS) и уберите модерацию|капчу коментов — ужаснетесь :)
Sashkakuhta
29.01.2017 14:27Зашел однажды на один из таких айпишников из лога, обнаружил украинский роутер, у которого были отключены вообще все средства защиты.
Vladekk
29.01.2017 14:27+2Проблема реальная, но незачем разводить панику. Постепенно, когда маштабы будут расти, начнут вводить автоматизированные средства внесения в чёрные списки и информирования провайдеров о том, что с их адресов атаки, и штрафовать расхлябанных пользователей, которые игнорируют предупреждения.
alexstup
29.01.2017 14:30+2Автосканирование ssh портов идет уже давно, несколько нет, не понимаю в чем проблема.
Electrohedgehog
29.01.2017 14:52+4Проблема в том, что вы не видите в этом проблемы. А также в том, что большинство людей знает, что не надо пить воду из лужи, но не знает, почему пароль 123 плохо.
OldGrumbler
29.01.2017 14:39+1Естессно, боты сканят такие вкусные порты диапазонами. И где найдут — начинают брутить.
У меня на одном сервере тоже пухли логи попыток подключения по ssh. Вылечилось перевешиванием его на другой порт. И тишина.Calc
29.01.2017 15:53+2Смена порта SSH уже 10 лет работает как часы.
Боты тупо сканят порты, кладут тебя в список, а потом спустя какое то время начинается ад.
kernel24
29.01.2017 18:06+3Работает смена портов как часы по одной причине, смысла брутить такие серваки особо нету. Думаю выхлоп от них на порядки ниже по нескольким причинам.
Первое — затраты на сканирование хоста по даже типовым портам на который перевешивают выше.
Второе — если человек уже парится сменой порта, то с высокой вероятностью он и о безопасности задумывается
omgiafs
29.01.2017 19:26+1Хостю на своем домашнем железе домен одной областной спортивной федерации, уже несколько лет.
На роутере ssh, на файлопомойке за роутером — ssh, проброшенный через роутер.
Наколхозены скрипты, которые отправляют email при удачном/неудачном логине существующего на устройстве пользователя. Вот прям почти как параноик приготовился.
За несколько лет ни одного коннекта к ssh.
Секрет успеха: ssh на нестандартных портах. Точка.
Если найдутся энтузиасты среди ботов, то еще есть port knocking, который пока по статистике коннектов не вижу смысла использовать…
Ну и fail2ban для контрольного выстрела.
А на сладкое — коннект только по ключам.
Скажите, доктор, я не параноик?
Ciiol
29.01.2017 19:27+1Совершенно необязательно, чтобы ваш адрес где-то когда-то публиковался. Например, ZMap еще когда его анонсировали пять лет назад, мог просканировать всё пространство ipv4 адресов за 45 минут. Сейчас, судя по уверениям на сайте, достаточно 5 минут и 10-гигабитного подключения.
Не вижу в этом проблемы, просто нужно понимать, что такое публичный доступ, и не надеяться на то, что этим доступом никто не воспользуется. И понимать это должны в первую очередь производители, поскольку большинство пользователей воспринимают всё связанное с компьютерами как магию, совершенно не представляют как оно работает и не имеют ни малейшего желания понимать.
pavelchavyr
29.01.2017 19:27+1А если клин клином вышибать? Создать бота, который будет шерстить сеть, искать роутеры, модемы, кофеварки etc с дефолтными настройками, логиниться и закрывать доступ по ssh.
susnake
29.01.2017 19:37Как то статья была то ли на хабре, то ли тут. Команда хакеров взламывала/искали устройства с старыми прошивками, дефолтными паролями и обновляла их и дыры закрывали.
Mitch
29.01.2017 21:34+4Кто же вам запретит.
Но делайте соблюдая строго анонимность, иначе за вами прийдут.
Тк букву закона вы нарушаете.
Прецедент уже был, помню кто то при эпидемии червя заражающего какую то БД через имевшуюся тогда дырку, написал своего червя который вламывался везде и ставил патч.
Человек сделал это публично не скрываясь, на него был наезд, чем закончилось и был ли суд не помню.
Goodwinnew
30.01.2017 06:02+1Ставим joomla, разрешаем регистрацию нового пользователя через письмо в почте (т.е. надо при регистрации указать мыло, получить на это мыло письмо, нажать ссылку). Через 1 неделю работы сайта (до него даже поисковики не добрались, гм....) получаем 5-10 новых регистраций в день всякого мусора (логин бред, мыло бред).
xcore78
31.01.2017 03:46344000 попыток (больше, чем указано в статье) — это раз в секунду в течении 4 суток. Если рассматривать месяц (30 суток), одна попытка в 7-8 секунд. С такой частотой справился бы единственный хост, если предположить, что вы используете стандартные таймеры и не используете «серые» списки.
Одна авторизация SSH имеет порядок 1 килобайта (порядок, не точный размер) — это порядок (уменьшаем точность дальше) 10 килобит. Для вашего случая с месяцем — в 7,5 раз меньше, порядок — килобит/сек. Пожалуй, если вами заинтересуется в сто раз больше хостов, вы почувствуете некоторое проседание полосы и некоторый рост процессорной нагрузки. Единственная опасность — заполнение раздела логами доступа (у вас же они сжимаются и авторотируются, так что вам это не страшно).
Какое распределение адрес хоста/число попыток? Даже если основная масса =2, вы выиграете от изменения
pam_faildelay.
Зачем вы распечатываете логи 12-ым шрифтом? Попробуйте восьмёрку.
lieff
Так же из личного опыта: после указания адреса в скайпе — по нему проходится поисковик бинг. Так что не удивительно что ваш сервер так быстро обнаружили, даже если раньше на этом адресе никого не было.
Electrohedgehog
Скорее всего и в этом есть своя доля, но первое упоминание в скайпе было десятого января.
Delics
Скорее всего раньше на вашем IP висел сервер, который вел бурную деятельность. Поэтому боты к нему лезут целенаправленно.
Lennonenko
просто диапазоны сетей провайдерских известны, миллионы ботов перебирают их регулярно, если видят отклик на стандартных портах — начинают долбить
наверняка ещё и обмениваются списками актуальными
я обычно меняю используемые порты ssh, rdp и всё такое
Rumlin
По-моему было на хабре статья про то как по брошенной ссылке на ftp ресурс в скайпе тут же кто-то начинает ломиться и пытаться перебрать «стандартные» пароли.
Плюс были новости про дружбу Microsoft и NSA…
https://habrahabr.ru/post/184014/