Вчера я установил свой сервер Debian на HP ProLiant 360 G4. Я начал с минимума сервисов, запустил только SSH и Apache, все на стандартных портах с конфигурациями по умолчанию.

Около часа назад я заметил странное поведение системы. Задержка заметно выросла, и мне не удалось выполнить удаленную перезагрузку. Мне удалось отключить сервер от сети примерно за 15 минут.

Я просматривал журналы и нашел эти записи в auth.log:

Apr  3 17:31:35 karel sshd[25941]: input_userauth_request: invalid user takeuchi [preauth]
Apr  3 17:31:35 karel sshd[25941]: pam_unix(sshd:auth): check pass; user unknown
Apr  3 17:31:35 karel sshd[25941]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=rrcs-70-61-237-202.central.biz.rr.com 
Apr  3 17:31:37 karel sshd[25941]: Failed password for invalid user takeuchi from 70.61.237.202 port 53004 ssh2
Apr  3 17:31:37 karel sshd[25941]: Received disconnect from 70.61.237.202: 11: Bye Bye [preauth]
Apr  3 17:31:39 karel sshd[25943]: Invalid user takeuchi from 70.61.237.202
Apr  3 17:31:39 karel sshd[25943]: input_userauth_request: invalid user takeuchi [preauth]
Apr  3 17:31:39 karel sshd[25943]: pam_unix(sshd:auth): check pass; user unknown
Apr  3 17:31:39 karel sshd[25943]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=rrcs-70-61-237-202.central.biz.rr.com 
Apr  3 17:31:41 karel sshd[25943]: Failed password for invalid user takeuchi from 70.61.237.202 port 30756 ssh2
Apr  3 17:31:41 karel sshd[25943]: Received disconnect from 70.61.237.202: 11: Bye Bye [preauth]
Apr  3 17:31:42 karel sshd[25945]: Invalid user takeuchi from 70.61.237.202
Apr  3 17:31:42 karel sshd[25945]: input_userauth_request: invalid user takeuchi [preauth]
Apr  3 17:31:42 karel sshd[25945]: pam_unix(sshd:auth): check pass; user unknown
Apr  3 17:31:42 karel sshd[25945]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=rrcs-70-61-237-202.central.biz.rr.com 
Apr  3 17:31:45 karel sshd[25945]: Failed password for invalid user takeuchi from 70.61.237.202 port 43388 ssh2
Apr  3 17:31:45 karel sshd[25945]: Received disconnect from 70.61.237.202: 11: Bye Bye [preauth]
Apr  3 17:31:46 karel sshd[25947]: Invalid user takeuchi from 70.61.237.202
Apr  3 17:31:46 karel sshd[25947]: input_userauth_request: invalid user takeuchi [preauth]
Apr  3 17:31:46 karel sshd[25947]: pam_unix(sshd:auth): check pass; user unknown
Apr  3 17:31:46 karel sshd[25947]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=rrcs-70-61-237-202.central.biz.rr.com 
Apr  3 17:31:49 karel sshd[25947]: Failed password for invalid user takeuchi from 70.61.237.202 port 29640 ssh2
Apr  3 17:31:49 karel sshd[25947]: Received disconnect from 70.61.237.202: 11: Bye Bye [preauth]
Apr  3 17:31:50 karel sshd[25949]: Invalid user takeuchi from 70.61.237.202
Apr  3 17:31:50 karel sshd[25949]: input_userauth_request: invalid user takeuchi [preauth]
Apr  3 17:31:50 karel sshd[25949]: pam_unix(sshd:auth): check pass; user unknown
Apr  3 17:31:50 karel sshd[25949]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=rrcs-70-61-237-202.central.biz.rr.com 
Apr  3 17:31:52 karel sshd[25949]: Failed password for invalid user takeuchi from 70.61.237.202 port 56323 ssh2
Apr  3 17:31:52 karel sshd[25949]: Received disconnect from 70.61.237.202: 11: Bye Bye [preauth]
Apr  3 17:31:54 karel sshd[25951]: Invalid user takeuchi from 70.61.237.202
Apr  3 17:31:54 karel sshd[25951]: input_userauth_request: invalid user takeuchi [preauth]
Apr  3 17:31:54 karel sshd[25951]: pam_unix(sshd:auth): check pass; user unknown
Apr  3 17:31:54 karel sshd[25951]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=rrcs-70-61-237-202.central.biz.rr.com 
Apr  3 17:31:56 karel sshd[25951]: Failed password for invalid user takeuchi from 70.61.237.202 port 54603 ssh2
Apr  3 17:31:56 karel sshd[25951]: Received disconnect from 70.61.237.202: 11: Bye Bye [preauth]
Apr  3 17:31:57 karel sshd[25953]: Invalid user takeuchi from 70.61.237.202
Apr  3 17:31:57 karel sshd[25953]: input_userauth_request: invalid user takeuchi [preauth]
Apr  3 17:31:57 karel sshd[25953]: pam_unix(sshd:auth): check pass; user unknown
Apr  3 17:31:57 karel sshd[25953]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=rrcs-70-61-237-202.central.biz.rr.com 
Apr  3 17:31:59 karel sshd[25953]: Failed password for invalid user takeuchi from 70.61.237.202 port 30332 ssh2
Apr  3 17:31:59 karel sshd[25953]: Received disconnect from 70.61.237.202: 11: Bye Bye [preauth]
Apr  3 17:32:01 karel sshd[25955]: Invalid user takeuchi from 70.61.237.202
Apr  3 17:32:01 karel sshd[25955]: input_userauth_request: invalid user takeuchi [preauth]
Apr  3 17:32:01 karel sshd[25955]: pam_unix(sshd:auth): check pass; user unknown
Apr  3 17:32:01 karel sshd[25955]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=rrcs-70-61-237-202.central.biz.rr.com 
Apr  3 17:32:03 karel sshd[25955]: Failed password for invalid user takeuchi from 70.61.237.202 port 30855 ssh2
Apr  3 17:32:03 karel sshd[25955]: Received disconnect from 70.61.237.202: 11: Bye Bye [preauth]
Apr  3 17:32:04 karel sshd[25957]: Invalid user takeuchi from 70.61.237.202
Apr  3 17:32:04 karel sshd[25957]: input_userauth_request: invalid user takeuchi [preauth]
Apr  3 17:32:04 karel sshd[25957]: pam_unix(sshd:auth): check pass; user unknown
Apr  3 17:32:04 karel sshd[25957]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=rrcs-70-61-237-202.central.biz.rr.com 
Apr  3 17:32:07 karel sshd[25957]: Failed password for invalid user takeuchi from 70.61.237.202 port 31154 ssh2
Apr  3 17:32:07 karel sshd[25957]: Received disconnect from 70.61.237.202: 11: Bye Bye [preauth]
Apr  3 17:32:08 karel sshd[25959]: Invalid user wut from 70.61.237.202
Apr  3 17:32:08 karel sshd[25959]: input_userauth_request: invalid user wut [preauth]
Apr  3 17:32:08 karel sshd[25959]: pam_unix(sshd:auth): check pass; user unknown
Apr  3 17:32:08 karel sshd[25959]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=rrcs-70-61-237-202.central.biz.rr.com 
Apr  3 17:32:11 karel sshd[25959]: Failed password for invalid user wut from 70.61.237.202 port 59904 ssh2
Apr  3 17:32:11 karel sshd[25959]: Received disconnect from 70.61.237.202: 11: Bye Bye [preauth]
Apr  3 17:32:12 karel sshd[25961]: Invalid user wut from 70.61.237.202
Apr  3 17:32:12 karel sshd[25961]: input_userauth_request: invalid user wut [preauth]
Apr  3 17:32:12 karel sshd[25961]: pam_unix(sshd:auth): check pass; user unknown
Apr  3 17:32:12 karel sshd[25961]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=rrcs-70-61-237-202.central.biz.rr.com 
Apr  3 17:32:14 karel sshd[25961]: Failed password for invalid user wut from 70.61.237.202 port 45945 ssh2
Apr  3 17:32:14 karel sshd[25961]: Received disconnect from 70.61.237.202: 11: Bye Bye [preauth]
Apr  3 17:32:15 karel sshd[25963]: Invalid user wut from 70.61.237.202
Apr  3 17:32:15 karel sshd[25963]: input_userauth_request: invalid user wut [preauth]
Apr  3 17:32:15 karel sshd[25963]: pam_unix(sshd:auth): check pass; user unknown
Apr  3 17:32:15 karel sshd[25963]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=rrcs-70-61-237-202.central.biz.rr.com 
Apr  3 17:32:18 karel sshd[25963]: Failed password for invalid user wut from 70.61.237.202 port 52652 ssh2
Apr  3 17:32:18 karel sshd[25963]: Received disconnect from 70.61.237.202: 11: Bye Bye [preauth]
Apr  3 17:32:19 karel sshd[25965]: Invalid user wut from 70.61.237.202
Apr  3 17:32:19 karel sshd[25965]: input_userauth_request: invalid user wut [preauth]
Apr  3 17:32:19 karel sshd[25965]: pam_unix(sshd:auth): check pass; user unknown
Apr  3 17:32:19 karel sshd[25965]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=rrcs-70-61-237-202.central.biz.rr.com 
Apr  3 17:32:21 karel sshd[25965]: Failed password for invalid user wut from 70.61.237.202 port 34513 ssh2
Apr  3 17:32:21 karel sshd[25965]: Received disconnect from 70.61.237.202: 11: Bye Bye [preauth]
Apr  3 17:32:23 karel sshd[25967]: Invalid user wut from 70.61.237.202
Apr  3 17:32:23 karel sshd[25967]: input_userauth_request: invalid user wut [preauth]
Apr  3 17:32:23 karel sshd[25967]: pam_unix(sshd:auth): check pass; user unknown
Apr  3 17:32:23 karel sshd[25967]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=rrcs-70-61-237-202.central.biz.rr.com 
Apr  3 17:32:24 karel sshd[25967]: Failed password for invalid user wut from 70.61.237.202 port 32538 ssh2
Apr  3 17:32:24 karel sshd[25967]: Received disconnect from 70.61.237.202: 11: Bye Bye [preauth]

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

Спасибо!

answer

Да, вы подвергаетесь атаке, и да, вы должны беспокоиться о взломе системы, даже с надежным паролем SSH.

Вам следует:

  1. Реализуйте fail2ban

  2. Переместите SSH на нестандартный порт.

    • Перемещение SSH в любом случае не помешает специализированному злоумышленнику найти вашу службу, но помешает ботам, которые используются для подавляющего большинства этих удаленных атак грубой силы. Они всегда идут только после порта по умолчанию.

  3. Настройте аутентификацию сертификата для входа по SSH .

Чтобы расширить ответ HopelessN00b выше:

  • Вы также можете ограничить количество попыток с помощью модуля ограничения iptables . Или, если вы используете Shorewall, используйте его действие LIMIT, чтобы добиться того же. Между fail2ban и этим моя служба SSH на стандартном порте видит немного больше, чем случайные нерешительные предположения у одного или двух пользователей, прежде чем потенциальный злоумышленник просто уйдет.
  • Используйте AllowGroupsпараметр в sshd_config, чтобы в первую очередь ограничить доступ к пользователям (я создаю специальную группу, вызываемую sshusersименно для этой цели). Убедитесь, что общие имена пользователей (особенно root, а также другие распространенные имена, такие как веб-мастер, постмастер и т. Д.) Не входят в эту группу.
  • В этом же файле, убедитесь , что вы установите PermitRootLoginв no. Легко 50% попыток против моих серверов пытаются получить доступ к root, и это гарантирует, что, как бы они ни старались, они никогда не увенчаются успехом. Вы всегда должны входить в систему под своим пользователем и в sudoлюбом случае использовать его, когда это необходимо, так что это не должно мешать вашему пользователю вашего сервера.

Крайне маловероятно, что вы сами станете мишенью; скорее всего, это просто случайный бот, сканирующий диапазоны IP-адресов, который нашел ваш сервер и пытается проникнуть в него. Это происходит постоянно, и это очень часто. Просто убедитесь, что вы защищаете свой сервер, следите за признаками несанкционированного доступа (система мониторинга, такая как Zabbix, которая может предупредить вас, например /etc/passwd, об изменении, является отличным первым шагом), а в противном случае не беспокойтесь об этом.

В качестве дополнительной меры вы можете использовать технику под названием «Port Knocking», чтобы полностью замаскировать существование службы SSH, если только кто-то не знает «секретный стук», чтобы его раскрыть. Однако это непростой метод для настройки и тем более для использования, поскольку нет SSH-клиента, который мог бы с ним работать, и поэтому для этой цели вам нужно использовать дополнительные инструменты. По этой причине я не рекомендую это делать.

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

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

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

Вы можете просмотреть другие журналы, чтобы узнать, что могло происходить. Если вы еще этого не сделали, вам стоит посмотреть /var/log/syslog.