Я запускаю базовый сервер Ubuntu от Digital Ocean, для доступа к которому я использую SSH-ключ (хранящийся на моем рабочем столе).
Я только что сбежал netstat -ap
со следующим результатом:
Local Address Foreign Address State PID
XX.XXX.XX.192 183.214.141.105:53929 ESTABLISHED 25193/sshd: root [p
Это не я, я искал IP, он попал в ряд запрещенных списков и происходит из Китая.
Мои вопросы:
1) Поскольку состояние «УСТАНОВЛЕНО», означает ли это, что у них есть доступ к моему серверу через SSH? Или это грубая сила пытается проникнуть внутрь?
2) Как мог быть взломан мой сервер? Я не знаю, что с ключами SSH может работать грубая сила? Разве им не пришлось бы получить доступ к моему ключу на моем рабочем столе?
1) Установлено только означает, что соединение полностью открыто и данные могут передаваться. Это не обязательно означает, что были переданы какие-либо данные! Это ничего не говорит об уровне 7, независимо от того, прошел ли кто-то аутентификацию в вашей системе или нет. Вы можете проверить свои системные журналы, чтобы узнать, успешно ли прошел аутентификацию. (источник)
2) Может быть. Вам нужно будет проверить свои журналы и посмотреть, успешно ли прошел аутентификацию. В Ubuntu журналы ssh можно найти в /var/log/auth
https://unix.stackexchange.com/questions/127432/logging-ssh-access-attempts
Не забывайте, что вы можете подобрать парольную фразу ключа ssh.
Кстати, восстановление закрытого ключа из общедоступного в настоящее время технически невозможно.
https://security.stackexchange.com/questions/33238/brute-forcing-ssh-keys
Я бы рекомендовал использовать двухфакторная аутентификация с ssh и Fail2ban
Fail2ban сканирует файлы журналов (например, / var / log / apache / error_log) и блокирует IP-адреса, которые показывают вредоносные признаки - слишком много сбоев пароля