Yandex
Обновить настройки cookies

17 шагов для защиты VPS сервера

Все, что находится в пространстве интернета, подвержено опасности. Она кроется в действиях ботов, хакеров, любопытных школьников и других неугомонных обитателей глобальной сети. Большой опасности подвергаются сервера, как выделенные, так и VPS.
 

Основы безопасности VPS на Linux и Windows

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

1. Надежный пароль и двухфакторная аутентификация

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

Обновление паролей

Необходимо своевременно обновлять пароли. Подключите функцию "срок годности", которую можно настроить с помощью утилиты usermod в Linux или вручную в файле /etc/shadow. Когда срок действия истекает, система автоматически отправит пользователю уведомление с просьбой сменить пароль.
 

2. Обновление ПО

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

3. Не храните все файлы в "одной корзине"

Оптимально разделите данные. В случае взлома или проблемы внутри одного пользователя данные из других не пострадают. Если необходимо разделите проэкты по разным серверам. Не стоит все “складировать” на один сервер.
Также важно отключить SUID/SGID-доступ (nosuid) и запретить выполнение исполняемых файлов (noexec).
 

4. Бэкапы

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

5. Смена порта SSH

SSH - безопасный стандартный способ подключения к Linux VPS. Он обеспечивает надежное соединение, сквозное шифрование и возможность использования функций, таких как авторизация по ключу, без исполязования пароля.
Чтобы уменьшить риск атаки через SSH, рекомендуется изменить порт, на который боты нацеливаются. SSH использует порт 22 по умолчанию, поэтому стоит выбрать другой доступный порт.

Отключите лишние порты и запутайте ботов

На сервере должны быть открыты только порты для активных сервисов, а все остальные должны быть закрыты.
Интеллект ботов оставляет желать лучшего - они действуют по заданным инструкциям, не слишком глубоко понимая их суть. Например, если сказано проникнуть в порт SSH, то они идут на порт 22, а если сказано попасть в порт FTP, то они направляются на 21. Можно запутать бота, изменив номера ключевых портов и отключив неиспользуемые порты. Главное - действовать последовательно:
  • откройте нужный порт с помощью iptables или ufw;
  • измените номер порта в настройках сервиса на новый;
  • закройте старый порт.
 

6. Шифрование для защиты VPS

Настройте утилиту GnuPG, чтобы обеспечить безопасность передачи информации по сети. Это бесплатная и простая в использовании программа, которая позволяет шифровать все исходящие пакеты. Без правильного ключа доступ к ним невозможен, даже если они будут перехвачены по пути. Злоумышленникам не удастся получить никакую выгоду, а расшифровка информации займет годы.
 

7. Антивирус и фаервол-защита

Обязательно активируйте и настройте брандмауэр и антивирус (на ОС Windows). При выборе хостинг-провайдера обратите внимание на наличие встроенного брандмауэра, который блокирует подозрительные соединения и имеет защиту от DDoS-атак.
Также Linux предлагает несколько вариантов для обеспечения безопасности:
  • UFW - простой брандмауэр, который идеален даже для новичков;
  • IPTables - для управления NetFilter, встроенного в ядро Linux;
  • NFTables - брандмауэр с простым синтаксисом, объединяющий поддержку IPv4 и IPv6.
Что касается антивирусов - для пользователей Linux доступны два основных бесплатных антивируса - Maldet и ClamAV. Бесплатные программы также помогают создать защищенный VPS. Профессиональное сообщество полюбило оба антивируса и активно работает над устранением ошибок и добавлением новых функций. Загрузите также Chrootkit - еще один бесплатный антивирус, разработанный для обнаружения rootkit-вируса.
 

Включите cPHulk в WHM cPanel

Хотя межсетевые экраны считаются эффективной мерой безопасности, они могут иметь уязвимости и настраиваться неправильно. В таких случаях активация cPHulk защищает виртуальный сервер дополнительно. Функция сначала блокирует возможность входа в систему, а затем, при необходимости, весь IP-адрес будет блокироваться брандмауэром.
 

Применение FAIL2BAN

Для обеспечения дополнительной безопасности в Linux можно воспользоваться утилитой fail2ban. Чтобы установить ее, выполните следующую команду: apt install fail2ban. Перед изменением настроек рекомендуется создать резервную копию файлов, чтобы сохранить установки по умолчанию. Утилита включает несколько фильтров для сервера Apache, но рекомендуется создавать собственные фильтры, исходя из требований безопасности веб-сервера. FAIL2BAN может отслеживать журналы входов, обнаруживать IP-адреса, с которых было совершено большое количество неудачных попыток авторизации. Утилита автоматически создает правила брандмауэра, которые временно блокируют такие IP-адреса.
 

8. Удалите доступ к /boot

Лучше всего отключить доступ к директории /boot, в которой хранятся файлы, связанные с ядром Linux. Если пользователь имеет доступ к этим файлам, он может получить полномочия, которые не хотелось бы передавать хакерам.
Откройте файл /etc/fstab в любом текстовом редакторе. В конце файла введите строку:
LABEL=/boot /boot ext2 defaults,ro 1 2Сохраните и закройте.
 

9. SFTP

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

10. Избавьтесь от пользователя root (с правами суперпользователя)

Он может изменять все, что пожелает. Поэтому рекомендуется полностью отключить root и создать отдельного пользователя с нужными правами и сложным паролем.
Для отключения root откройте /etc/ssh/sshd_config, найдите директиву PermitRootLogin и замените слово "yes" на "no".
 

Ограничения прав других пользователей

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

11. Отключите IPv6

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

12. Мониторинг журналов сервера

Обычно в любой панели управления VPS есть базовый мониторинг. Он отображает стандартные параметры работы системы: загрузка процессора, памяти и диска. Файлы системных логов и логов утилит помогут отследить нежелательную активность на сервере, а также выявлять уязвимые места в системе в целом. Важную роль играет директория /var/log, в которой хранятся журналы, содержащие важную информацию о работе системы, ядра, пакетных менеджерах и других приложениях.
Расширенный мониторинг работы VPS/VDS, который включает в себя метрики самих сервисов, очень полезен. Если у вас есть такая возможность (например, услуга предоставляется провайдером по умолчанию или дополнительно приобретена), то это здорово. Запуск отдельного сервера для мониторинга может быть слишком дорогим и необходимым только в ограниченном числе случаев.
 

13. Не обращайтесь к серверу из точек общественного интернета и пр.

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

14. Мониторинг спама

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

15. Настройте автоматическое отключение сессий

Когда пользователь случайно забывает закрыть RDP-клиент на компьютере, опция автоматического отключения предотвратит несанкционированный доступ к системе. Через промежуток времени система потребует ввода пароля для повторного входа.
Это касается Windows серверов.
 

16. Помогут встроенные патчи в Linux

Предотвращают потенциально опасные конфигурации и запуск вредоносных программ. Кроме интегрированных решений широко применяются системы контроля доступа - контейнеры или "песочницы". Они ограничивают доступ к ядру системы с помощью политик безопасности и создания изолированных сред, где запускаются потенциально вредоносные приложения. Для изолированного запуска приложений на Linux применяются следующие системы: SELinux, AppArmor, LXC/Arkose и Seccomp/BPF. Также для безопасного запуска приложений в "песочнице" практикуется изменение корневого каталога chroot. У этого метода есть недостатки: сложность развертывания и ограниченный контроль над процессами.
 

17. Проверенные хостеры

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

Как действовать при взломе VPS

Если сервер подвергается взлому, это станет очевидным сразу. Причины этого могут быть различными - от простой невнимательности пользователей до методического подбора паролей злоумышленниками.
Признаки взлома: нестабильность работы, блокировка, отсутствие доступа пользователей. А еще трафик может взлететь до небес, почта - рассылаться тайно, файлы - передаваться без вашего ведома через SSH.
 

Как проверить сервер на взлом

Внимательно следите за фоновыми операциями и своевременно обнаруживайте их. Проверьте время входа, если кто-то проникал в систему без вас. Загляните в историю команд и операций. Если со временем входа совпадают активации опасных команд, значит, сервер взломан. Посмотрите на список IP-адресов. Если там есть незнакомые адреса без аутентификации, значит, опасения подтверждаются. Будьте внимательны к почтовой очереди и ищите строки команды X-PHP-Script, чтобы обнаружить возможные скрипты, выполняющие нежелательную рассылку. Проверяйте последние измененные файлы на вашем сайте, чтобы выявить любые нежелательные изменения.
Изучите VPS на наличие шеллов - кода, который может быть использован злоумышленниками для получения доступа. Если вы обнаружите какие-либо шеллы, удалите их. Проверяйте временные и загрузочные директории на вашем сервере на наличие скриптов, которые не должны там находиться.
 

Как перекрыть "кислород" злоумышленникам

Множество экспертов советуют при выявлении взлома провести переустановку операционной системы, но не всегда такая мера является обязательной. Если точно известна причина, и она уже устранена, можно:
  • ограничить доступ к административной панели только для определенных IP-адресов;
  • закрыть ненужные порты в настройках брандмауэра;
  • удалить все вредоносные скрипты и программы-шеллы с сервера;
  • обновить пароли пользователей и SSH-ключи;
  • выполнить полное обновление программного обеспечения.
 

Заключение

Критически важно обеспечить безопасность при работе с выделенным или виртуальным сервером. Комплексные меры позволяют избежать утечки данных и защищают сервер от взлома.
Если ваши действия оказались малоэффективными - не нужно отчаиваться. Восстановление работоспособности сервера и устранение обнаруженных уязвимостей возможно всегда. В случае необходимости можно быстро восстановить настройки и информацию из бэкапов. И самое главное в обеспечении безопасности - это постоянство.
23 Apr 2024, 12:30:58