Кто-то пытается взломать мой сервер? Что я могу сделать?

12

Несколько недель назад я разместил здесь вопрос о некоторых sshпроблемах с Ubuntu 12.04. Перейдите к сегодняшнему дню, и я пытаюсь разрешить кому-то еще доступ к машине, но они продолжают получать ошибки пароля. Я заценил var/logs/auth.logдля получения дополнительной информации, и нашел это:

May 11 19:45:33 myserver sshd[9264]: Did not receive identification string from 211.110.xxx.x
May 11 19:45:38 myserver sshd[9267]: Did not receive identification string from 211.110.xxx.x
May 11 19:45:44 myserver sshd[9270]: Did not receive identification string from 211.110.xxx.x
May 11 19:45:49 myserver sshd[9274]: Did not receive identification string from 211.110.xxx.x

У меня есть почти 10000 строк, которые, кажется, все говорят более или менее одинаково (есть также 4 файла auth.log.gz, которые, как я полагаю, являются более одинаковыми?). Иногда к запросу прикрепляется случайное имя пользователя,input_userauth_request: invalid user bash [preauth]

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

Погуглил на предмет того, как заблокировать IP-адрес в Ubuntu, и закончил с этим: iptables -A INPUT -s 211.110.xxx.x -j DROPно после выполнения этой команды и проверки журналов, я все еще получаю запросы от этого одного IP каждые 5 секунд.

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

user2936314
источник
Denyhosts - это здорово, но обратите внимание, что это мертвый проект :( вам стоит изучить iptables askubuntu.com/questions/433924/…
amc

Ответы:

14

Из того, что вы описываете, это выглядит как автоматическая атака на ваш сервер. Большинство атак, если только злоумышленник не знает вас лично и не держит зла ​​...

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

Что касается получения дополнительной информации, я бы не стал беспокоиться. Если они не любители, они будут использовать удаленный сервер для своей грязной работы, которая ничего не скажет вам о том, кто они на самом деле. Лучше всего найти администратора для диапазона IP-адресов (WHOIS здесь ваш друг) и сообщить им, что вы получаете много попыток доступа с этого IP-адреса. Они могут быть достаточно хороши, чтобы что-то с этим сделать.

Drac Noc
источник
3
+1. Вы открыли порт для внешнего интернета: люди пытаются получить доступ, но безуспешно. Это более или менее обычное дело. Если у вас есть доступ к вышестоящему маршрутизатору, вы можете настроить его на сброс соединений с 211.110.xxx.x, чтобы ваши собственные файлы журналов не были так сильно загрязнены.
Джос
Я добавил denyhosts, и теперь показываются логи refused connect from...., но мне любопытно, может ли получение этих бессмысленных запросов каждые 5 секунд быть проблемой для производительности сервера позже? Как узнать, есть ли у меня доступ к вышестоящему маршрутизатору? У меня просто есть root-доступ
user2936314
2
Под вышестоящим маршрутизатором я подразумеваю маршрутизатор шлюза в вашей собственной домашней или корпоративной сети, которым вы управляете. Если вы не знаете, у вас, скорее всего, нет доступа к нему. Отбрасывание пакетов вряд ли приведет к снижению производительности.
Джос
2
Получение запроса с одного IP-адреса каждые 5 секунд не окажет существенного влияния на вашу производительность.
Драк Нок
3
Для серверов, которые подключены к сети (ну, на самом деле, для любых серверов ssh) вы должны установить PermitRootLogin noи PasswordAuthentication noв / etc / ssh / sshd_config
unhammer
3

Вы не хотите видеть эти неудачные попытки входа в систему в своих журналах, поэтому вам следует отфильтровать этот IP в сети.

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

Если сервером является VPS, попросите вашего VPS-провайдера заблокировать этот IP-адрес. В большинстве случаев они не отклонят ваш запрос о помощи, потому что это им ничего не стоит.

Атаки с одного IP-адреса могут быть легко смягчены по сравнению с атаками с разных IP-адресов. Для защиты от распределенной атаки вам понадобится специальный сервис от сетевого провайдера, который вам придется оплатить. На уровне сервера вы можете сражаться с Denyhosts или Fail2ban. Fail2ban защищает не только ssh, но и другие сервисы. Это использует немного больше памяти. Fail2ban использует iptables для блокировки IP-адресов, а DenyHosts использует файл hosts.deny, оба используют журналы для поиска вредоносных попыток. Вы также можете настроить iptables для попыток ssh с ограничением скорости, которые не зависят от журналов.

vladiz
источник
Есть ли способ прекратить входить в систему с этого IP-адреса с моего компьютера?
user2936314
Не очень хорошая идея фильтровать ваши логи. Никогда не знаешь, им может повезти, и тебе понадобится полная письменная история произошедшего.
Драк Нок,
@ user2936314 Не очень хорошая идея, лучше поменяй порт ssh. Изменение порта не идеальное решение, но вы избавитесь от многих ботов. Некоторые из них более интеллектуальны и сканируют открытые порты. У меня была та же проблема, и fail2ban блокировал 20 IP-адресов в день. После изменения порта ssh я наблюдаю значительное уменьшение количества вредоносных попыток ssh
vladiz
Вы, ребята, все классные. Рекомендуемое чтение для вступления к администратору сервера Ubuntu? Я читаю Интерфейс Программирования Linux, но это не похоже на то, что такого рода вещи покрыты много
user2936314
1
@ user2936314 Проверьте официальную документацию , руководство по серверу для Ubuntu 12.04 или любую нужную версию.
владиз
0

Все хорошие ответы выше, однако ...

Вы написали: «Я пытаюсь разрешить кому-то еще доступ к машине, но они продолжают получать ошибки пароля»

Поскольку большинство из нас используют динамический IP-адрес с ограниченным временем аренды DNS у поставщика, большинство из нас используют динамический DNS-сервис для доступа к нашему серверу в дороге. Может ли быть так, что ваш удаленный пользователь также использует такую ​​услугу, чтобы добраться до вас, и это адрес IOP, который вы видите?

Кстати, многие хакеры, использующие «прослушивание портов», полагаются на то, что вы делаете то, что делают многие пользователи домашнего сервера, а именно, они не меняют идентификатор входа в систему по умолчанию. (часто "admin" !!) и просто стреляйте через все возможные комбинации пароля

Дэвид Уокер
источник
Я подумала об этом случае, когда впервые заметила логи. Я проверил с человеком, которого я знаю, пытался получить доступ к машине, и его IP-адрес не совпадает с тем, что в журналах. Я знаю, что он также не пытался войти каждые 5 секунд в течение нескольких дней. Хороший вопрос о динамических IP-адресах, хотя я немного волнуюсь, используя denyhostsэто, я собираюсь в конечном итоге заблокировать себя, если / когда мой IP-адрес изменится. Похоже, мои выходные будут потрачены на прохождение этого [ askubuntu.com/questions/2271/how-to-harden-an-ssh-server] и документов
user2936314
0

Я думаю, вы обнаружите, что 99% попыток взлома происходят из Китая. Это то, что я нашел. Бесполезно сообщать о взломе китайского IP-адреса, поскольку, вероятно, это санкционировано государством. Я не блокирую только IP, я блокирую диапазон, в котором находится IP. Используйте опцию «подсеть» на вашем маршрутизаторе или с IPTables на вашем Linux-компьютере, используйте подсеть или «/ биты» (например: / 24). Эта страница предоставит вам список блоков IP по странам (есть файл tar.gz со всеми): http://www.ipdeny.com/ipblocks/data/countries . Веб-страница WHOIS https://whois-search.com/ дает хорошее представление о том, какую страну искать.

Wazza65
источник
-1

Первый. Если вам не нужно открывать стандартные порты для вашего сервера в сети. Настройте маршрутизатор, чтобы открыть случайный порт, например, 53846, и перенаправьте его на порт 22 этой машины.

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

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

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

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

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

дон
источник
(1) просто скрывает маршруты доступа, но не защищает их. (2) является незаконным в большинстве юрисдикций. (3) рискованно, потому что происходит неправильная конфигурация и могут существовать уязвимости, связанные с повышением привилегий, и, вероятно, бессмысленно, так как большинство атак автоматизированы для выполнения на диапазонах IP-адресов, как вы сами указали.
Дэвид Фёрстер