PSB Hosting
Как защитить VPS, чтобы его не увели в ботнет на следующий же день

Как защитить VPS, чтобы его не увели в ботнет на следующий же день

  1. Главная
  2. Блог
  3. Как защитить VPS, чтобы его не увели в ботнет на следующий же день

Буквально через несколько секунд после запуска нового VPS сервера он начинает становиться мишенью для огромного количества автоматических сканеров злоумышленников — обычно это боты, которые 24 часов в день, 7 дней в неделю и 365 дней в году сканируют разнообразные сетевые диапазоны в поисках свежих IP-адресов с открытыми портами. Целью данных ботов является нахождение уязвимостей в стандартных сервисах (обычно это SSH, веб-серверы, панели управления) с последующими попытками получить доступ методом грубой силы (такой может считаться подбор паролей) или же внедрить эксплойт к известным уязвимостям. Именно поэтому специалисты в области кибербезопасности говорят, что защита VPS должна начинаться не «завтра» или «через месяц», а в течение первого часа жизни сервера, ведь если ваш сервер сразу не защитить, то уже через 1–2 суток он превратится в инструмент для майнинга криптовалют, рассылки спама или атаки на такие же системы. И тогда восстановить сервер в стандартное состояние будет очень и очень тяжело.

Что нужно сделать в первый час после получения сервера

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

  • Настройка фаервола (брандмауэра) — действия с ним надо сделать в первую очередь;
  • Защита SSH-доступа — обычно это так называемая «входная дверь», которую взламывают чаще всех остальных систем;
  • Обновление системы — разработчики программного обеспечения регулярно закрывают разнообразные дыры в своих продуктах, чтобы уменьшить возможность взлома. В не обновлённом ПО эти дыры так и продолжают работать во вред владельцам VPS;
  • Создание бэкапа (снимка) — это идеальный вариант восстановления сервера в случай каких-либо проблем с ним или же удачной попытки взлома;

О каждом из этих действий ниже будет рассказано более подробно.

Настройка фаервола (брандмауэра)

Специалисты по кибербезопасности советуют первым делом настраивать защиту именно с фаервола, так как это первый шаг на пути к идеально защищённому VPS. Сделать можно следующие действия:

  • Запретить все входящие соединения по умолчанию — в данном случае идеально уместно станет такое правило, как «запрещено всё, что не разрешено явно». Это поможет оградить сервер от неожиданных подключений извне;
  • Разрешить только необходимые порты — по большей части закрывать необходимо порты для подключений по SSH (но он будет дополнительно защищён), но и не стоит забывать о портах 80/443, которые используются для веб-сервиса. Если они вам не нужны, то и открывать их не стоит;
  • Использовать iptables/nftables или же удобные оболочки типа UFW (Uncomplicated Firewall) — к примеру, в Linux система Debian/Ubuntu это такие команды как sudo ufw default deny incoming, sudo ufw allow 22/tcp, sudo ufw enable.

После защиты фаервола можно будет переходить ко второму шагу — защите SSH-доступа.

Защита SSH-доступа

Как было сказано выше, SSH – это «входная дверь» каждого сервера VPS. И о его защите следует позаботиться более тщательно. Сделать это можно следующими способами:

  • Изменить стандартный порт — отмечается, что большинство ботнет систем пытается подобрать пароль под стандартный порт (22). Если вы измените его на нестандартный порт (к примеру, 2345), то риск попыток подбора паролей снизится многократно. Сделать это можно в файле: /etc/ssh/sshd_config;
  • Отключить вход под root – для всех ваших операций и для большей защиты сервера можно отключить вход под правами администратора root (именно под него чаще всего пытаются подобрать пароль для входа на VPS сервер) и создать отдельного пользователя с правами sudo. Выполнить отключение входа под root можно через команду терминала: PermitRootLogin no;
  • Использовать аутентификацию по ключам — это гораздо безопаснее, чем вход под паролем, который однажды может быть скомпрометирован злоумышленниками. Для этого необходимо обязательно настроить такие параметры, как PubkeyAuthentication yes и PubkeyAuthentication no;
  • Применить утилиты — самой популярной утилитой для защиты SSH-доступа является Fail2ban. Принцип её работы прост — после нескольких неудачных попыток входа она автоматически блокирует IP-адрес, с которого эти попытки были совершены.

После защиты «входной двери» сервера можно перейти к дополнительным настройкам защиты — обновлению системы и созданию бэкапов.

Обновление системы и создание бэкапов

Стоит отметить, что большинство взломов VPS серверов происходили исключительно через уязвимости в старых версиях приложения. Именно поэтому необходимо обязательно настроить автоматические обновления безопасности и первым делом после установки сервера запустить команду sudo apt update (для Debian или Ubuntu) или аналогичную команду для вашего дистрибутива — тогда все приложения обновятся до актуальной версии. Также актуально будет создать бэкап сервера, который будет храниться на отдельных мощностях и с его помощью можно будет восстановить сервер в случай ошибок или удачной попытки взлома. После этого желательно бэкапить VPS раз в несколько недель.

Контроль и обнаружение: как убедиться, что защита работает

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

  • Мониторинг логов. Для этого можно использовать такие команды, как: sudo tail -f /var/log/auth.log (показываются все попытки входа в систему — как удачные, так и неудачные) и sudo journalctl -xe (общий системный журнал). Также можно рассматривать и другие логи, где показывается подозрительная активность по типу неизвестных процессов и пользователей, тысяч неудачных попыток входа.
  • Установка простого HIDS (Host-based Intrusion Detection System, система слежения за целостностью файлов и подозрительными изменениями). Самые популярные программы данного типа — это AIDE и Tripwire (создают базу данных «отпечатков» критических системных файлов и предупреждают об их изменениях) и Rkhunter и Lynis (сканируют систему на наличие руткитов и уязвимостей в конфигурациях).

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

Действия при тревоге: признаки взлома и план «Спасатель»

Несмотря на ранее установленную хорошую защиту, сто процентов защищённости от внешних угроз всё равно не получится и именно поэтому надо быть готовым к инциденту. Признаки компрометации вашего VPS следующие:

  • Необъяснимо высокая нагрузка на CPU (можно проверить через top, htop);
  • Неизвестные процессы, службы или не созданные вами пользователи;
  • Изменение системных файлов и необычные исходящие сетевые соединения (проверяются через HIDS или по командам netstat -tanp, ss -tulp).

Если что-то из этого было зафиксировано, то экстренно необходимо перейти к плану «Спасатель» и спасать ваш сервер. Делать это надо по чёткому алгоритму:

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

После всех манипуляций необходимо проанализировать вектор атаки и защитить уязвимые места дополнительно во избежание повторения ситуации.

Что дальше? План развития защиты

После настройки VPS сервера следует обязательно двигаться дальше и регулярно выполнять следующие действия:

  • Регулярное обновление приложений (особенно веб-приложений) или использование брандмауэра для таких программ;
  • Разделение прав пользователей по типу минимальных привилегий;
  • Использование программы Lynis для регулярного аудитирования безопасности сервера;
  • Настройка сбора логов централизованно и желательно на отдельный сервер, который дополнительно защищён от внешних угроз;

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

Главное

Защита VPS сервера от захвата ботнетами — это выполнимая задача, однако она требует не столько глубоких экспертных знаний, сколько дисциплины и оперативности. Ключом к успеху является незамедлительная работа по созданию защищенного сервера в «золотой час» после его получения: сначала это настройка фаервола, потом укрепление «входной двери» - SSH, обновление программного обеспечения и самой системы в целом. После защиты включается этап контроля, который достигается через мониторинг логов и использование соответствующего программного обеспечения (например, HIDS). Но немаловажно и то, что необходимо иметь готовый план на случай инцидентов и чистый свежий бэкап (образ сервера в определённый момент). Помните — защита не разовое мероприятие, а непрерывный процесс! И начинать необходимо с базовых шагов, чтобы ваш VPS перестал быть лёгкой мишенью и надёжно служил вашим целям.