SSH-атаки истощают 4 ГБ за 10 часов. Возможное?

10

Меня предупредили, что мой сервер нарушил лимит передачи. Я подумал, что мой узел Tor стал популярным, поэтому я решил отключить его в этом месяце (не лучший выбор для сообщества, но мне нужно отключиться). Затем я заметил, что сервер перенес около 4 ГБ этой ночью. Я проверил журналы Apache с Awstats, без соответствующего трафика (и я не размещаю там такие популярные сайты). Я проверил почтовые логи, никто не пытался отправлять мусор. Я проверил messagesжурналы и нашел тонны этих

Apr 29 10:17:53 marcus sshd[9281]: Did not receive identification string from 85.170.189.156
Apr 29 10:18:07 marcus sshd[9283]: Did not receive identification string from 86.208.123.132
Apr 29 10:18:24 marcus sshd[9298]: Did not receive identification string from 85.170.189.156
Apr 29 10:18:39 marcus sshd[9303]: Did not receive identification string from 86.208.123.132
Apr 29 10:18:56 marcus sshd[9306]: Did not receive identification string from 85.170.189.156
Apr 29 10:19:11 marcus sshd[9309]: Did not receive identification string from 86.208.123.132
Apr 29 10:19:18 marcus sshd[9312]: Did not receive identification string from 101.98.178.92
Apr 29 10:19:27 marcus sshd[9314]: Did not receive identification string from 85.170.189.156
Apr 29 10:19:41 marcus sshd[9317]: Did not receive identification string from 86.208.123.132
Apr 29 10:20:01 marcus sshd[9321]: Did not receive identification string from 85.170.189.156
Apr 29 10:20:13 marcus sshd[9324]: Did not receive identification string from 86.208.123.132
Apr 29 10:20:32 marcus sshd[9327]: Did not receive identification string from 85.170.189.156
Apr 29 10:20:48 marcus sshd[9331]: Did not receive identification string from 86.208.123.132
Apr 29 10:21:07 marcus sshd[9336]: Did not receive identification string from 85.170.189.156
Apr 29 10:21:20 marcus sshd[9338]: Did not receive identification string from 86.208.123.132
Apr 29 10:21:35 marcus sshd[9341]: Did not receive identification string from 85.170.189.156
Apr 29 10:21:51 marcus sshd[9344]: Did not receive identification string from 86.208.123.132
Apr 29 10:22:06 marcus sshd[9349]: Did not receive identification string from 85.170.189.156
Apr 29 10:22:23 marcus sshd[9353]: Did not receive identification string from 86.208.123.132
Apr 29 10:22:39 marcus sshd[9359]: Did not receive identification string from 85.170.189.156
Apr 29 10:22:54 marcus sshd[9361]: Did not receive identification string from 86.208.123.132
Apr 29 10:23:10 marcus sshd[9367]: Did not receive identification string from 85.170.189.156
Apr 29 10:23:29 marcus sshd[9369]: Did not receive identification string from 86.208.123.132
Apr 29 10:23:45 marcus sshd[9375]: Did not receive identification string from 85.170.189.156
Apr 29 10:24:10 marcus sshd[9387]: Did not receive identification string from 86.208.123.132
Apr 29 10:24:16 marcus sshd[9388]: Did not receive identification string from 85.170.189.156

Каждые несколько секунд бот пытается взломать мой SSH, что невозможно, потому что мне требуется проверка подлинности с помощью открытого ключа. Мой вопрос: может ли этот трафик на этой частоте потреблять 4 ГБ (скажем, 3,5) за 10 часов непрерывной атаки?

Я изменил свой SSH-порт и прекратил эти атаки, но я не уверен в потреблении своей сети. У меня нет неконтролируемых служб, работающих - мой брандмауэр является своего рода ограничением - или делюсь сервером с кем-то, кто использует P2P или что-то другое. Мое беспокойство должно пойти ниже 400 ГБ / месяц.

Какие-нибудь советы?

USR-местный ΕΨΗΕΛΩΝ
источник

Ответы:

16

4 ГБ возможно, но очень маловероятно, учитывая скорость атаки. Я предлагаю установить OSSEC, он обнаруживает попытки взлома и автоматически блокирует IP на определенный промежуток времени.

Лукас Кауфман
источник
1
У меня уже есть fail2ban, он успешно заблокировал неверные логины, но, похоже, игнорирует эти сообщения. Возможно я настрою это.
usr-local-ΕΨΗΕΛΩΝ
1
Принятый. Fail2ban требовалась некоторая настройка, чтобы принимать сообщения журнала как попытки взлома. +1 к @lain тоже, потому что я не могу принять 2 ответа
usr-local-ΕΨΗΕΛΩΝ
@djechelon: Пожалуйста, дайте нам знать, если это решит проблему. Почему-то я сомневаюсь, что это произойдет, когда пакеты будут отброшены после прибытия в вашу систему.
user9517
@ Во многих случаях злоумышленники сдаются, когда их бросают.
Лукас Кауфман
3
@LucasKaufman: 4 Гб / 10 часов - ~ 120 Кб / с. Я не вижу такой большой пропускной способности от неудачных попыток, а приведенный выше фрагмент демонстрирует гораздо более низкую скорость атаки (26 за ~ 7 минут).
user9517
14

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

user9517
источник
Очевидно, что я могу приложить свои усилия для предотвращения будущего использования пропускной способности, начиная с предстоящего месяца
usr-local-ΕΨΗΕΛΩΝ
1
И ... очень полезный ответ, но iptraf не работает с OpenVZ (ссылка webhostingtalk.com/showthread.php?t=924814 ), и я не упомянул об этом :)
usr-local-ΕΨΗΕΛΩΝ
Основная идея остается прежней. Найдите что-то, что скажет вам, где использование, и затем решите проблему. Все остальное - догадки.
user9517
4

Нет, эти попытки подключения раз в секунду сами по себе не добавят 4 ГБ за десять часов. Как вы думаете, вы могли бы загрузить файл 4 ГБ за 10 часов, получая крошечный пакет раз в секунду? В часе 3600 секунд, поэтому если вы получите килобайт в секунду в течение десяти часов, это будет 36000 Кб или 36 мегабайт.

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

Что касается того, что достигает вашего сервера, вы не можете полагаться на журналы приложений. Даже пакеты, которые молча отбрасываются локальным брандмауэром, имеют пропускную способность. Статистика интерфейса (показана ifconfig) покажет вам байты Tx / Rx.

Kaz
источник
Не уверен. С моей точки зрения, сообщения журнала показывают, что клиенты открывали сокет для порта 22, но были отклонены, потому что «то, что они передали» не было распознано как правильное рукопожатие SSH. Я не хотел прослушивать порт 22, чтобы увидеть фактическую полезную нагрузку, которую отправляли сканеры, но теоретически они могли отправлять тонны мусора до тех пор, пока SSH не упадет. Вопрос в том, когда openSSH отбрасывает неверное рукопожатие? Во-вторых, я провел ночь с отключенным Tor, и трафик все еще увеличивался (Apache не показывал значимый трафик), когда перенастроенный трафик fail2ban практически прекратился
usr-local-ΕΨΗΕΛΩΝ
1
Позвольте мне немного перефразировать, на всякий случай. Если бы я хотел использовать 4 ГБ полосы пропускания с сервера, я мог бы создать ботнет, который открывает HTTP-соединения и отправляет неограниченные полезные нагрузки POST для каждого запроса. Журналы покажут, что неудачные запросы происходят с низкими показателями, но каждый из них чрезвычайно тяжелый. Но это начинает терять смысл. Я был знаком с SSH-сканированием («неудачная аутентификация для root, admin ...»), потому что их цель - получить контроль над узлом. Почему злоумышленник будет против использования пропускной способности через SSH? Не имеет смысла Если кто-то не ненавидит узлы Tor ...
usr-local-ΕΨΗΕΛΩΝ