База знаний

Часто задаваемые вопросы, на которые мы уже ответили

Что делать, если отключили сеть

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

Ваши сайты недоступны, к боксу не удается подключиться по сети, а в Панели управления — предупреждение?

Проверьте адрес электронной почты, который вы указали при регистрации. В момент отключения сети мы отправляем на него подробную информацию о причинах. Если письмо не удается найти — причина недоступности может быть вовсе не в наших ограничениях. Напишите нам — мы поможем разобраться.

Поиск причины и ее устранение

В первую очередь нужно найти причину и устранить ее.

Для поиска подключитесь к боксу по VNC удобным вам способом: можно прямо из Панели управления, а можно и через сторонние клиенты. Вот инструкция.

Мы понимаем, что некоторые решения, например, включающие в себя установку новых пакетов, доступны только с включенной сетью. Опишите нам план работ — предоставим доступ к боксу.

Рассмотрим несколько возможных причин ограничения работы сети.

Рассылка спама

Спам может быть разным, от безопасной (хоть и навязчивой) рекламы до мошеннических писем, ведущих к реальному ущербу.

Независимо от своего характера спам-рассылка ставит ваш IP-адрес под риск: он может попасть в черные списки почтовых IP-адресов. К IP-адресам, оказавшимся в списках, их владельцы принимают разные меры, начиная от помещения писем в папку «спам» ящиков, до отклонения писем вовсе. Несмотря на прекращение спам-рассылки, санкции будут применяться и к легитимным письмам. 

Зачастую блокируется не один IP-адрес, а вся подсеть, что ставит под удар других клиентов.

Чтобы найти источник спама и пресечь его, изучите заголовки спам-письма, которое мы переслали вам. В поиске помогут журналы почтового сервера и веб-сервера, которые чаще всего хранятся в директории /var/log. Дальнейший путь к файлам и их имена могут различаться. Сопоставьте записи в журналах со временем отправки письма в его заголовках. Учтите, что часовой пояс в заголовке может отличаться от часового пояса, используемого в журналах.

Приведем несколько примеров того, с чем вы можете столкнуться. В разборе мы используем примеры из журналов exim и apache.

Взлом почтового ящика

Со временем отправки письма будет совпадать подобная запись в журнале:

2020-04-14 13:33:26 1jOIsg-0000Os-Js <= mailbox@site.ru H=(localhost) [94.140.192.2] P=esmtpa A=dovecot_plain:mailbox@site.ru S=638 id=783957c2-b887-6366-3ce0-945e0cd68fbb@site.ru

Обратите внимание на протокол, используемый при отправке — P=esmtpa – SMTP с авторизацией, и на информацию, следующую за ним: A=dovecot_plain:mailbox@site.ru — в этом фрагменте указано имя ящика, в котором авторизовался злоумышленник.

Чтобы устранить уязвимость:

  • проверьте устройства, с которых работали с ящиком, антивирусом;
  • измените пароль ящика.

Спам через скрипты

Письма могут отправляться не только из почтовых ящиков, но и с помощью скриптов. Запись в журнале будет выглядеть так:

2020-04-14 12:14:20 1jOHe8-0004oI-GK <= admin@box-41483 U=admin P=local S=846 id=efc24490529dd23507f35069a16ad79f@site.ru

Обратите внимание на используемый протокол — P=local.

Найдите в журнале веб-сервера соответствующую по времени запись и обратите внимание на URL, к которому поступил запрос, и на referer — страницу, с которой отправлен запрос. В зависимости от URL и referer потребуются разные действия. 

Спам через форму регистрации

Записи в журнале почтового сервера соответствует такой запрос: 

185.251.89.92 - - [14/Apr/2020:12:14:20 +0300] "POST /wp-login.php?action=register HTTP/1.0" 302 453 "http://site.ru/wp-login.php?action=register" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36"

Он направлен к скрипту авторизации: POST /wp-login.php?action=register

А при переходе по ссылке из referer — http://site.ru/wp-login.php?action=register — можно увидеть саму форму регистрации.

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

Форма комментариев или обратной связи

185.251.89.92 - - [14/Apr/2020:12:18:10 +0300] "POST /wp-comments-post.php HTTP/1.0" 302 794 "http://site.ru/?p=1" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36"

Запрос направлен к скрипту обработки комментариев: POST /wp-comments-post.php

В referer — страница, с которой он отправлен: http://site.ru/?p=1

185.251.89.92 - - [14/Apr/2020:12:11:08 +0300] "POST /feedback.php HTTP/1.0" 200 2512 "http://site.ru/contacts.html" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36"

Запрос поступил к скрипту feedback.php

А в referer — страница контактной информации: http://site.ru/contacts.html

Установите CAPTCHA на формы комментариев или обратной связи, либо отключите возможность отправки сообщений, если это не требуется.

Рассылка спама вредоносными скриптами

Записи в журнале почтового сервера соответствует запрос к скрипту, который не относится к скриптам сайта: 

5.18.207.47 - - [14/Apr/2020:12:11:28 +0300] "POST /ihpwgn.php HTTP/1.1" 200 1157 "-" "curl/7.64.1"

Проверьте скрипт вручную или с помощью специальных программ, например ClamAV. Удалите вредоносный скрипт и замените скрипты сайта их версиями из дистрибутивов CMS или восстановите бокс из резервной копии.

Спамвертайзинг

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

Чтобы понять, как поступить, прочитайте письмо.

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

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

Время от времени проверяйте, что все адреса в базе существуют и их владельцы хотят получать рассылку. Не используйте базы адресов, полученные из открытых источников.

Если письмо отправили не вы, а текст письма никак не связан с вашим сайтом, проверьте, куда ведет ссылка. Злоумышленники взламывают сайты, размещают на них рекламную или фишинговую страницу и запускают спам-рассылку с созданной ссылкой из другого источника.

Проверьте ваш сайт на вирусы вручную или с помощью специальных программ, например ClamAV. Удалите вредоносный скрипт и замените скрипты сайта их версиями из дистрибутивов CMS или восстановите бокс из резервной копии.

Исходящий DDoS и другой подозрительный трафик

Ваш бокс стал частью ботнета для DDoS-атаки или сканирует порты других виртуальных машин.

Источником такой активности является не виртуальная машина в целом, а один или несколько скриптов. Чтобы найти их, примените один из способов.

Проверьте запущенные процессы с помощью утилит top, atop или ps. Часто источники подозрительной активности отличает высокое потребление памяти или CPU:

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
10034 admin     20   0  167092  80292   9721 R 99.7  5.4   1:03.46 3.03_config
 9018 root      20   0  152004  73052   7676 R 30.8  3.6   0:00.93 spamd 
    1 root      20   0  159968   7708   5156 S  9.9  0.4   0:02.14 systemd 
 8997 root      20   0   96144  33240   5324 S  7.3  1.6   0:00.22 spamd 

В примере здесь нежелательный процесс — 3.03_config, запущен пользователем admin.

Используйте lsof, netstat или ss для поиска процессов, запущенных на определенных портах или осуществляющих запросы к определенным адресам. Информация об адресе и порте — в письме, отправленном в момент блокировки сети. Используйте их для фильтрации вывода утилиты.

Например, известно, что соединения происходят с 1587 порта. Найдите с помощью nestat процесс, слушающий этот порт:

# netstat -tulpn | grep 1587
tcp        0      0 0.0.0.0:1587             0.0.0.0:*               LISTEN      1464/3.03_config

Отобрать соединения по IP-адресу цели поможет утилита ss:

# ss -eputa | grep 141.8.193.210
tcp   ESTAB   0       0         185.251.91.87:48074         141.8.193.210:ssh    users:(("ssh",pid=17780,fd=3)) timer:(keepalive,119min,0) ino:145025 sk:6e <-> 

Аналогично для поиска можно воспользоваться lsof:

# lsof -i @141.8.193.210
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
ssh     18017 root    3u  IPv4 145799      0t0  TCP box-41569:48082->valhalla.from.sh:ssh (ESTABLISHED)

Этой же утилитой можно отобрать соединения по типу подключения:

# lsof -i :ssh
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd     1165 root    3u  IPv4  20536      0t0  TCP *:ssh (LISTEN)
sshd     1165 root    4u  IPv6  20551      0t0  TCP *:ssh (LISTEN)
ssh     18017 root    3u  IPv4 145799      0t0  TCP box-41569:48082->valhalla.from.sh:ssh (ESTABLISHED)

Если источник найти не удалось, просканируйте виртуальную машину при помощи ClamAV или восстановите бокс из резервной копии.

Входящий DDoS

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

Действуйте по инструкции:

  • Закажите выделенный IP-адрес.
  • Воспользуйтесь услугами сервисов защиты от DDoS-атак.

Претензия Роскомнадзора

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

Восстановить доступность можно легко: подключитесь к боксу и удалите проблемную страницу.

Профилактика

Остановка в работе проекта всегда неприятна. Что сделать, чтобы такое не повторилось?

  • Используйте сложные пароли, содержащие 15-20 символов, включая символы верхнего регистра, цифры, специальные символы.
  • Не храните пароли в браузере и других программах.
  • Меняйте пароли время от времени.
  • Настройте межсетевой экран, оставив открытыми только нужные порты, а неиспользуемые закрыв.
  • Замените порты сервисов на нестандартные (например, 746 вместо 22 для SSH).
  • Используйте fail2ban, блокируя попытки доступа налету.
  • Установите антивирусное ПО (например, ClamAV) и регулярно запускайте проверку. 
  • Своевременно обновляйте систему, пакеты, CMS и компоненты сайта.



Была ли эта статья полезной?