Создал сайт с простым бекендом на NODE.JS, разместил его на VDS timeweb в учебных целях. Ничего особенного сайт с авторизацией, админкой позволяющей менять контент, уонтактная форма... Спустя какое то время получаю сообщение:
TIMEWEB> Вредоносная исходящая активность.
Уважаемый клиент!
На Вашем аккаунте обнаружена работа вредоносных скриптов, осуществляющих исходящие запросы вредоносного характера, по которым мы получили жалобу от администратора стороннего сервиса. Приводим фрагмент журналов работы сервера, к которому происходила исходящая вредоносная активность с Вашего аккаунта:
Jan 23 22:29:51 web0 sshd[8853]: Address 185.178.47.54 maps to vds-***.ru, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
Jan 23 22:29:51 web0 sshd[8853]: Invalid user old from 185.178.47.54 port 60056
Jan 23 22:29:51 web0 sshd[8853]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=185.178.47.54
Jan 23 22:29:53 web0 sshd[8853]: Failed password for invalid user old from 185.178.47.54 port 60056 ssh2
Jan 23 22:29:53 web0 sshd[8853]: Received disconnect from 185.178.47.54 port 60056:11: Bye Bye [preauth]
Jan 23 22:29:53 web0 sshd[8853]: Disconnected from 185.178.47.54 port 60056 [preauth]
Jan 23 22:33:04 web0 sshd[9392]: Address 185.178.47.54 maps to vds-***.ru, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
Jan 23 22:33:04 web0 sshd[9392]: Invalid user public from 185.178.47.54 port 53556
Jan 23 22:33:04 web0 sshd[9392]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=185.178.47.54
И такое уже не первый раз. Я фронтендщик и слабо разбераюсь пока в безопасности сайта и серверной части.
Буду рад если подскажите, в чем может быть уязвимость, что нужно проверить, на что обратить внимание чтобы злоумышлиники не могли взломать сайт?
Вот еще логи:
Jan 24 02:29:40 host161 sshd[24536]: Connection from 185.178.47.54 port 48806 on 138.201.81.215 port 22
Jan 24 02:29:41 host161 sshd[24536]: Invalid user mark from 185.178.47.54 port 48806
Jan 24 02:29:41 host161 sshd[24536]: debug1: PAM: setting PAM_RHOST to "185.178.47.54"
Jan 24 02:29:41 host161 sshd[24536]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=185.178.47.54
Jan 24 02:29:42 host161 sshd[24536]: Failed password for invalid user mark from 185.178.47.54 port 48806 ssh2
Jan 24 02:29:42 host161 sshd[24536]: Received disconnect from 185.178.47.54 port 48806:11: Bye Bye [preauth]
Jan 24 02:29:42 host161 sshd[24536]: Disconnected from 185.178.47.54 port 48806 [preauth]
А этот 138.201.81.215 не знаю что за ip, не мой...
Проверьте сервер айболитом каким-нибудь, смените пароли на все (ssh, ftp, админки) и проверьте ваше приложение на уязвимости. Скорее всего используются старые ломаные библиотеки и прочее.
Закрывать подключения на 22 порты смысла нет, так как с вас идет брут и вы только отключите подключения, а вирусня как была, так и останется, и уязвимость через которую она попала на сервер
поменяйте все пароли какие только есть, проверьте список пользователей (возможно там есть какие-то новые не созданные вами), проверьте скрипты вашего приложения, возможно внедрили свой скрипт, проверьте задачи по крону
и да проверьте уязвимости приложения, возможно где-то есть места через которые можно было заинжектить код, либо может пароль был слишком простой в админку и через админку можно внедрять то чего не следует (расширенные права, запись скриптов и пр)