Как защитить себя от неудачных попыток входа?

980
Mirage

Каждый раз, когда я получаю доступ к своему VPS через PuTTY, я вижу это:

Last failed login: Fri Oct 6 17:25:58 UTC 2017 from xx.xxx.xxx.xxx on ssh:notty There were 2381935 failed login attempts since the last successful login. Last login: Tue Sep 26 09:30:02 2017 from xx.xxx.xxx.xxx 

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

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

Системные характеристики:

  • Название иконы : computer-vm
  • Шасси : вм
  • Виртуализация : KVM
  • Операционная система : CentOS Linux 7 (Core)
  • Название ОС CPE : cpe: / o: centos: centos: 7
  • Ядро : Linux 3.10.0-514.26.2.el7.x86_64
  • Архитектура : x86-64
3
Вы можете [ограничить доступ по SSH по IP-адресу] (https://coderwall.com/p/yz-2_a/limit-ssh-access-by-ip-address) или изменить порт с 22 на случайный. SpiderPig 6 лет назад 1
Это попытки с одного и того же URL? Если так, заблокируйте это, DrMoishe Pippik 6 лет назад 2
Кстати. Вы также можете проверить, что вызывает медленное время загрузки, например, с помощью htop. Существует вероятность того, что на сервере уже есть какое-то вредоносное ПО. SpiderPig 6 лет назад 1
Наиболее безопасный способ сделать это - заблокировать все и разрешить подключаться к нему только по IP-адресу, которому вы доверяете. Я думал, что есть программное обеспечение Fail2Ban с Linux, так что изучите это также, чтобы заблокировать IP-адреса от неудачных попыток, так как вас злоумышленники перебивают. Вероятно, существует множество детских садов, и в некоторых странах сканы являются частью их начального образования в школе. Pimp Juice IT 6 лет назад 3
Вы можете использовать fail2ban для блокировки IP-адресов, которые превышают x число неудачных попыток входа в систему. Klinghust 6 лет назад 3
@Klinghust Fail2Ban в порядке. Но более эффективное решение, которое не требует абсолютно никакой установки нового программного обеспечения, состоит в том, чтобы просто отключить учетную запись «root», создав нового пользователя с правами администратора, отключив «root» и позволив этому уникальному пользователю Sudo стать новым псевдо-«root» на система. JakeGould 6 лет назад 1
Очень полезные комментарии, спасибо вам, ребята, я постараюсь использовать это в свою пользу. Mirage 6 лет назад 1

2 ответа на вопрос

5
JakeGould

Так что, может быть, это гораздо более простое решение.

Информация, которую вы разместили, показывает, что 2 381 935 неудачных попыток входа в систему. Что довольно безумно. Позвольте мне угадать: пользователь, в который вы входите, как есть ... root? Что ж, в то время как Fail2Ban является достойным решением для отслеживания нежелательных попыток входа в систему, существует гораздо более простое решение: создайте новую учетную запись с новым именем, которого нет root, дайте этому пользователю права администратора через Sudo, а затем отключите root.

В общем, любой сервер Linux в 2017 году должен просто не иметь фактический rootсчет активный и полезный для какой - либо причины. У каждого «сценариста» в мире есть тонны паршивых скриптов, которые пытаются взломать rootаккаунт. И у каждого опытного хакера есть инструменты, которые пытаются взломать root.

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

Некоторые системные администраторы не любят отключать rootиз-за лени, но если вы каким-то образом не ограничиваете доступ к серверу какими-либо другими средствами - такими как настройки брандмауэра на основе отфильтрованных IP-адресов или MAC-адресов и т. Д., - вы открываете свой сервер для риск.

Эй, чувак, большое спасибо за помощь в редактировании вопроса, мой английский не очень хорош. Я мог бы попытаться изменить пользователя и отключить root, но это прокси-сервер squid, и я знаю только достаточно, чтобы он работал. Я найду способ сделать то, что вы сказали, большое спасибо. Mirage 6 лет назад 1
3
davidgo

В дополнение к fail2ban (как это было предложено другими), я бы настроил сервер OpenVPN на VPS, а затем клиента в вашей системе, а затем использовал клиента OpenVPN на ваших клиентах (-ах) - и использовал брандмауэр для ограничения количества входящих соединений. из VPN. Это поможет, добавив дополнительный уровень защиты / шифрования и скрывая SSH.

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

Это всего лишь небольшой сервер, на котором работает прокси-сервер squid, не знаю, почему кому-то так сложно взломать его ... Я постараюсь использовать то, что вы, ребята, сказали мне, большое спасибо, очень ценю. Mirage 6 лет назад 0
Дело в том, что они на самом деле не стараются, они просто обнаружили, что SSH открыт для них (возможно, с помощью сканера портов), и запускают программу, чтобы попытаться перебором. Подобные вещи происходят изо дня в день по всему Интернету. Скорее всего, они не знают и не заботятся о том, что он запускает, и хотят заручиться его анонимностью [от их POV], позволяя использовать его для чего-то гнусного. davidgo 6 лет назад 0