Сегодня даже самые нетревожные из нас хорошо понимают — всё, что находится в интернете, так или иначе подвержено опасности: хакеры, скрипт-кидди и прочие неугомонные обитатели глобальной сети так и норовят подыскать площадку для реализации своих деструктивных навыков.
По статистике, во втором квартале 2024 года количество кибератак в мире увеличилось на 30% по сравнению с предыдущим годом и достигло 1636 атак на одну организацию в неделю. Ежедневно происходит более 2220 атак.
Неудивительно, что и для каждого владельца собственного сервера вопрос его безопасности — один из самых приоритетных. Если у вас тоже есть свой сервер или вы пока только планируете его арендовать и использовать во благо развития своего проекта, то эта статья вам точно пригодится. В ней речь пойдет о том, какие решения для обеспечения безопасности виртуальных серверов есть у провайдеров и как можно обезопасить свой VPS самостоятельно.
Итак, для начала — небольшая справка о том, что вообще такое виртуальный сервер.
Виртуальный сервер — это услуга, в рамках которой провайдер предоставляет пользователю сервер с root-доступом и гарантированными ресурсами, такими как количество ядер CPU, объем оперативной памяти и дискового пространства. Как правило, в таком случае можно гибко масштабировать параметры сервера, постепенно добавляя необходимые мощности, когда растет нагрузка, и снижать их, когда нагрузка уменьшается. VPS и VDS — разные названия одной и той же услуги: так сложилось, что в разное время услугу виртуальных серверов называли VPS (Virtual Private Server) и VDS (Virtual Dedicated Server), а сейчас могут использоваться оба значения и они синонимичны.
Как правило, провайдеры могут предоставлять различные средства для обеспечения безопасности VPS.
Вот несколько примеров таких мер:
Резервное копирование — копии файлов, папок и других данных или, проще говоря, бэкапы важны для обеспечения безопасности данных и возможности их восстановления. Например, у нас в Бегете автоматические бэкапы бесплатны, для VPS-серверов они создаются в среднем раз в
Базовый файрвол, который контролирует входящие и исходящие сетевые соединения, а также возможность настройки системы предотвращения вторжений для обнаружения и блокирования подозрительной активности.
Оперативное реагирование на уязвимости — например, мы в Бегете отправляем пользователям VPS письма в случае нахождения новой уязвимости с предложениями обновиться, а также пересобираем образы, если нужно что-то закрыть (к примеру, совсем недавно была обнаружена уязвимость SSH и мы быстро пересоздали образы, которые были уязвимы).
Разделение ресурсов — как правило, серверы размещаются на многопользовательских физических серверах, но их ресурсы (процессор, память, диск) строго разграничены. Подобная изоляция полезна для предотвращения атаки на уровне гипервизора.
Защита серверов от DDoS-атак — как правило, провайдеры предлагают разные уровни защиты серверов от таких атак (фильтрация пакетов, мониторинг и проксирование трафика, сетевая фильтрация, обратное проксирование и т. д.), у нас в Бегете подобная защита тоже есть.
Полный перечень принимаемых мер зависит от каждого конкретного провайдера, при этом важно понимать, что сегодня, когда, например, 51% взломов облачных сред, затронувших клиентов Google Cloud, связаны со слабыми паролями или их отсутствием, ответственность за использование сервисов и управление доступом лежит в том числе и на самих пользователях. Вот почему среди владельцев бизнеса сейчас набирает популярность концепция ZTaaS (zero trust-as-a-service — нулевое доверие как услуга), а защита VPS своими силами выходит на первый план.
Именно поэтому мы решили подготовить об этом отдельный чек-лист — топ-10 советов, как защитить свой сервер, — и надеемся, он станет для вас надежным подспорьем в вопросе обеспечения безопасности собственного VPS
Выбирайте сложные пароли, длиной не менее 12 символов, с цифрами, буквами разных регистров и спецсимволами, разрешенными провайдером. Подобный пароль можно сгенерировать, например, с помощью утилиты openssl и генератора pwgen, а чтобы избавить себя от необходимости запоминать сложные пароли, можно использовать менеджер паролей — например, Bitwarden или Passbolt.
Еще одним банальным, но действенным методом является двухфакторная аутентификация — в этом случае для входа в панель управления, помимо стандартных учетных данных (логина и пароля), сервер запросит ввод временного кода, который будет отправлен вам на почту или номер телефона. Таким образом, даже если ваши креды станут известны злоумышленникам, вы сможете спать спокойно, пока ваш телефон и почта не украдены.
Разрешите подключение по SSH только с определенных IP-адресов или диапазонов, деактивируйте вход по паролю и используйте ключи SSH для аутентификации. В этом поможет настройка конфигурации через файл /etc/ssh/sshd_config
— найдите строку PasswordAuthentication
и установите значение no, а также измените стандартный порт SSH (22) на другой, например, 2222, чтобы избежать автоматизированных атак.
По статистике, 8 из 10 компаний могут пропустить кибератаку из-за недостатков мониторинга инфраструктуры. Расширенный мониторинг работы сервера и настройка оповещений помогут вовремя — то есть до того, как это станет критичным, — отследить подозрительную активность и оперативно отреагировать на угрозы. А еще прямо на виртуальном сервере можно развернуть мощную систему мониторинга — к примеру, Zabbix, которая позволяет в реальном времени отслеживать состояние серверов, сетевого оборудования, баз данных, приложений и других компонентов информационной инфраструктуры.
Обычно обновления и патчи для программного обеспечения выпускаются как раз с целью закрытия ранее обнаруженных уязвимостей, поэтому наличие актуальных версий программ точно усложнит задачу любому мошеннику. Устанавливайте последние патчи безопасности — для этого можно использовать отдельные команды, например, apt update && apt upgrade
для Debian/Ubuntu или yum update
для CentOS. Также рекомендуем не забывать обновлять CMS, следить за ее апдейтами и новостями об уязвимостях и избавиться от лишних программ и дополнений, сохранив лишь тот минимум, который необходим для работы вашего сайта.
Брандмауэр (также известный как межсетевой экран / сетевой экран / файервол) — это элемент компьютерной безопасности, своего рода защитный экран между глобальным интернетом и локальной компьютерной сетью, который позволяет ограничить доступ к вашему серверу. Например, для Linux существует несколько вариантов брандмауэров: UFW, IPTables, NFTables.
Открыть следует только необходимые порты:
sudo ufw allow 2222/tcp # если вы изменили порт SSH
sudo ufw allow 80/tcp # для HTTP
sudo ufw allow 443/tcp # для HTTPS
sudo ufw enable
Настройте криптографические протоколы TLS/SSL для защиты данных, передаваемых по сети, особенно для веб-приложений, шифруйте резервные копии и прочие важные данные. Обеспечить безопасность передачи информации по сети может помочь бесплатная утилита GnuPG — она позволяет шифровать все исходящие пакеты, таким образом, без правильного ключа доступ к ним будет невозможен, а расшифровка информации займет долгие годы.
Рекомендуем рассмотреть возможность использования отдельных решений для защиты от DDoS-атак — например, настроив CloudFlare, можно защитить сервер от чрезмерных нагрузок.
Создание учетной записи администратора с sudo-правами и отключение входа для root могут помочь в повышении безопасности VPS путем ограничения доступа, управления доступом, анализа активности и защиты от атак методом перебора паролей. Для отключения прямого доступа к учетной записи root на виртуальном сервере можно использовать команду sudo passwd -l root –
она устанавливает пустой пароль для пользователя root, тем самым предотвращая вход в систему с использованием этого аккаунта.
Fail2Ban помогает защитить виртуальный сервер от сетевых атак — он автоматически блокирует IP-адреса, которые совершают подозрительные попытки входа: анализирует логи системных сервисов и автоматически добавляет IP-адреса в черный список на определенный период времени. На большинстве популярных дистрибутивов Fail2Ban уже установлен. Если же его пока у вас нет, то для установки можно использовать следующие команды:
Обновите систему: sudo apt update && sudo apt upgrade -y
Установите Fail2Ban: sudo apt install fail2ban -y
Запустите Fail2Ban: sudo systemctl start fail2ban
Проверьте состояние службы: sudo systemctl status fail2ban
Готово — теперь Fail2Ban установлен и запущен на вашем виртуальном сервере и защитит ваши сервисы от злоумышленников.
Систематическое тестирование на проникновение помогает выявить уязвимости в системе безопасности виртуального сервера и оценить эффективность существующих мер — в результате можно своевременно устранить найденные проблемы и улучшить защиту виртуального сервера от потенциальных угроз. Например, компания «Тензор» рекомендует использовать именно этот метод и проводить пентесты не реже одного раза в месяц. При этом можно использовать как ресурс штатного администратора (разумеется, при наличии у него должного опыта), так и обратиться к подрядчикам, которые специализируются на пентестах.
Ни для кого не секрет, что безопасность — краеугольный камень цифровой эры, в которой все мы с вами живем. А в бизнесе, где информация — ценнейший актив, защита ее от угроз является самой что ни на есть насущной задачей, особенно сегодня, когда общая стоимость утечки данных только за прошлый год превысила 8 трлн долл.
Неудивительно, что в последнее время 85,2% российских компаний стали серьезнее относиться к собственной кибербезопасности и защите данных, 53,8% — увеличили расходы на кибербезопасность, а цифровая трансформация стала одной из 5 национальных целей развития страны до 2030 года.
В этих реалиях владельцам проектов важно понимать, что несмотря на базовый функционал защиты от атак, который может обеспечить хостинг-провайдер, решать, что делать с собственным сервером, всё же предстоит пользователю.
Как говорится, с большой силой приходит большая ответственность.
Надеемся, эта статья была для вас полезна и ваши VPS станут еще надежнее.
Пишите в комментариях, какие еще способы защиты VPS вы знаете и, конечно, мы с радостью ответим на любые ваши вопросы.
Проведите конкурс среди участников CMS Magazine
Узнайте цены и сроки уже завтра. Это бесплатно и займет ≈5 минут.