7 415
1
Время чтения ≈ 18 минут

Чтобы защитить веб-сервер от атак, можно воспользоваться большим количеством методов, включая выявление и устранение уязвимостей действующей операционной системы. Мы собрали наиболее популярные способы предотвращения взлома VPS и утечки важной информации.

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

Общие принципы безопасности

Безопасность сервера — это комплекс операций, поэтому полагаться исключительно на конкретную меру не имеет смысла. Ниже представлены основные моменты, которые позволяют повысить безопасность как для Windows, так и для Linux.

Регулярное обновление ПО

Принципы безопасности vps - регулярное обновление

Своевременное обновление, согласно системным требованиям, устраняет уязвимости, которые выявлены разработчиками, но еще неизвестны хакерам.

  • В случае с Linux для систем CentOS можно использовать пакет yum-cron, автоматически скачивающий и устанавливающий обновления. ОС на Ubuntu обновляются через unattended-upgrades.
  • Для любой версии Windows рекомендуется настроить автоматическое обновление в «Центре обновления» системы.
  • Для систем FreeBSD можно настроить регулярную проверку и скачивание патчей безопасности через freebsd-update (параметр — cron). Команда проверяет и скачивает нужные обновления, но не устанавливает их. После загрузки на почту пользователя придет уведомление. Он сможет просмотреть список загрузок и установить нужное с помощью freebsd-update install.

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

Проверенное ПО

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

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

Ограничение серверов

Деактивируйте неработающие серверы и демоны (фоновые программы). Это сильно повысит безопасность, поскольку взломать неработающую службу нельзя. Возможно настроить брандмауэр, чтобы доступ к различным службам, не использующимся постоянно, осуществлялся исключительно с безопасных IP, выбранных пользователем.

Политика безопасности пользователей и привилегии

Политика безопасности пользователей и привилегии

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

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

Резервное копирование

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

Безопасные протоколы

FTP считается небезопасным протоколом, так как данные через него пересылаются обычным текстом, то есть хакер может увидеть логин и пароль подключающегося пользователя. Вместо него рекомендуется использовать SFTP или SCP, которые защищены SSH.

Безопасный виртуальный сервер начинается с выбора надёжного провайдера. VDS от Eternalhost — это дата-центр класса TIER-III,  защита сервера от DDoS и круглосуточное техническое сопровождение клиентов.

Защита Windows Server

Защита Windows Server от взлома

Рассмотрим самые популярные способы защиты виртуального сервера на основе Windows Server.

Настройка Firewall

Онлайн-серверы Windows не имеют дополнительных шлюзов безопасности. За это отвечает только брандмауэр, обеспечивающий защиту подключений. С его помощью можно отключить неиспользуемые порты.

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

Следующие порты должны быть доступны пользователям, чей IP-адрес надежен:

  • 3389 — стандартный порт RDP;
  • 1433-1434 — стандартные порты SQL;
  • 53 — DNS;
  • 80, 443 — веб-сервер;
  • 990 — FTPS.

Изменение имени администратора и создание нескольких аккаунтов

Защита VPS - Изменение имени администратора

После смены имени получить несанкционированный доступ будет сложнее. Для этого:

  1. Переходим по «Редактор локальной политики безопасности» — «Локальные политики» — «Параметры безопасности» — «Учетные записи» — «Переименование учетной записи администратора».
  2. Устанавливаем имя, которое известно только вам.

Если сервер администрирует несколько человек, для каждого нужно создать отдельную учетную запись. Это позволит отслеживать чужие действия через системный журнал. Для систем Unix специалисты рекомендуют вообще не использовать учетную запись root.

Ограничение прав учетной записи

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

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

Общий доступ с паролем

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

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

Автоотключение сессий

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

Мастер настройки безопасности

Утилита Microsoft Security Configuration Wizard (SCW) создает файлы безопасности для дублирования на все серверы инфраструктуры. Они состоят из правил работы с сервисами, настройки параметров ОС и брандмауэра.

Локальная и групповая политика безопасности

Способы защиты VPS - Групповая и локальная политика безопасности

При использовании групповых политик (например, в Active Directory) понадобится периодически проводить проверки и повторную конфигурацию. Это один из самых эффективных инструментов, гарантирующих обеспечение безопасности ОС.

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

Удаленные рабочие столы

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

  1. Блокировка подключения для учетных записей с пустым паролем. Она осуществляется через «Локальные политики безопасности» и параметр «Учетные записи: Разрешить использование пустых паролей только при консольном входе».
  2. Изменение стандартного порта RDP. С этой целью в реестре изменяется параметр HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Terminal Server/WinStations/RDP-Tcp Port Number. После необходимо добавить для него правило в брандмауэре и перезагрузить сервер. Чтобы подключить затем к порту через этот сервер, понадобится добавить его вручную в «Подключение к удаленному рабочему столу».

Защита RDP-сессий через SSL/TLS

Если при подключении не используется VPN, защита RDP-сервера от перебора паролей обеспечивается SSL/TLS-соединением туннелированного типа. Чтобы настроить этот параметр, нужно задействовать запрос определенного уровня безопасности, указав SSL (TLS 1.0).

Безопасность Linux

Безопасность виртуального сервера Linux

Политика безопасности в Linux при работе сервера основывается на следующих способах защиты:

Активация брандмауэра

Для Linux существует несколько вариантов:

  • UFW — простой брандмауэр, с которым может справиться и новичок;
  • IPTables — используется для управления NetFilter, который входит в ядро Linux;
  • NFTables — брандмауэр, использующий более простой синтаксис и объединяющий поддержку IPv4 и IPv6 в один инструмент.

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

Перенос портов

Изменение стандартного SSH дает возможность повысить уровень защиты. Чтобы выполнить такой перенос, необходимо:

1. В настройках SSH прописать:

sudo nano /etc/ssh/sshd_config

2. Сохранить изменения и перезапустить:

sudo service ssh restart

3. Чтобы совершить вход, понадобится указать новый порт (в примере — 49681):

ssh user@host -p 49681

Замену нужно делать в пользу более сложного и многозначного порта. Лучше всего выбрать значение в диапазоне от 49152 до 65535.

Блокировка портов

Способы защиты VPS - Блокирование портов

 

Для повышения безопасности можно заблокировать все порты, кроме HTTP, HTTPS, SSH. Их вполне достаточно для полноценной работы сервера.

Для этого нужно:

1. Располагать файлом настройки iptables

sudo touch /etc/iptables.firewall-rules

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

sudo touch /etc/network/if-pre-up.d/firewall
sudo chmod +x /etc/network/if-pre-up.d/firewall

3. В него добавить:

#!/bin/sh
/sbin/iptables-restore < /etc/iptables.firewall-rules

Применение FAIL2BAN

Способы защиты VPS - fail2ban

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

sudo apt-get install fail2ban

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

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

Протокол SSH

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

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

Типы SSH-ключей

  • Открытый ключ — для идентификации пользователя, может быть общедоступным.
  • Закрытый ключ — подтверждает открытый ключ (авторизацию) и хранится в безопасном месте.

Патчи безопасности и системы контроля доступа

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

Способы защиты VPS - SandBox

Наряду с интегрированными решениями, для повышения безопасности ОС широко применяют системы контроля доступа, называемые также контейнерами или «песочницами» (от англ. sandbox). Они существенно ограничивают доступ к ядру системы, путём реализации правил политики безопасности (фильтрации вызовов), а также создания изолированных сред, где запускаются потенциально вредоносные приложения.

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

Системы изолированного запуска приложений на Linux

  • SELinux. Установка полной версии на Ubuntu:
    sudo apt-get install selinux
  • AppArmor. Установка полной версии на Ubuntu:
    sudo apt-get install apparmor-profiles
  • LXC/Arkose. Установка полной версии на Debian:
    sudo apt-get install lxc
  • Seccomp/BPF. Установка полной версии на Ubuntu:
    sudo apt-get install seccomp

Помимо отдельных приложений для безопасного запуска в режиме «песочницы» часто используют операцию изменения корневого каталога chroot, встроенную во все Unix-подобные ОС. Главный недостаток такого способа изоляции — сложность развертывания и отсутствия полного контроля за запущенными в этой среде процессами.

Работа с паролями

Убедитесь, что вход для пользователей защищен надежным паролем. Сильным с точки зрения безопасности считается пароль, содержащий минимум 8 числовых и буквенных символов, часть из которых обязательно должна писаться в разном регистре. Настроить политику работы с паролями в Linux можно c помощью модуля pam_cracklib.so, встроенного в конфигурационный файл набора библиотек Pluggable Authentication Modules (PAM).

Способы защиты VPS - Pluggable Authentication Modules

Аудит пользовательских паролей на соответствие данным параметрам безопасности можно проводить с помощью специальных сервисов для автоподбора (например, John the Ripper или Ophcrack). Выявленные легкие пароли рекомендуется заменить на более сложные.

Не забывайте своевременно обновлять пароли. Рекомендуется запрограммировать «срок годности» паролей с помощью команды change или выставить параметры вручную в файле /etc/shadow. После установленного срока система вышлет пользователю уведомление с просьбой сменить пароль.

Отключение входа для суперпользователя

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

Что делать при взломе VPS на Windows\Linux?

Что делать при взломе VPS

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

Признаки взлома сервера

  • Нестабильная работа и блокировка VPS.
  • Отсутствие доступа к root и другим правам пользователя.
  • Заметный рост трафика на сервере.
  • Странная сетевая активность (рассылка почты в отсутствие пользователя, передача файлов через SSH и т.д.).
  • Рассылка спама с VPS.

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

Проверка сервера

  • Определения времени входа в систему. Если он осуществлялся в отсутствие пользователя, необходимо уточнить, кто еще имел доступ в этот период.
  • История команд. Не лишним будет знать, какие команды вводились в системе\сервере, какие операции к ним привязаны. Сопоставление даты их активации с временем входа поможет определить источник проблем.
  • Проверка IP-адресов. Если в списке есть незнакомые адреса, которым точно никто не давал доступ, сервером пользуются несанкционированно.
  • Подозрительные процессы. Такими могут быть многие фоновые операции, неожиданно появившиеся в списке и забирающие большое количество ресурсов. Обычно они заметны сразу.

Порядок действий при взломе

Способы защиты VPS - Действия при взломе

  1. Проверка сайта на наличие вирусов и уязвимостей. Необходимо регулярно обновлять пакеты и скрипты сайты, следить за производительностью и логом файлов сервера. Выявить вирусы можно с помощью скрипта Al-bolit и любого другого.
  2. Последние измененные файлы. Проверка файлов, которые изменялись за последние 10 дней, проводится с помощью команды:
find /home/user/data/www/site.com/ -type f -mtime -10
  1. Проверка почтовой очереди на наличие спама. При поиске необходимо искать строку команды X-PHP-Script, чтобы выявить скрипт, выполняющий рассылку.
  2. Проверка файлов во временных и загрузочных директориях. Если там будут найдены скрипты, хранение которых во временных папках не допускается, с большой вероятности именно они являются источником проблемы. Для проверки нужно воспользоваться командой:
find /home/user/data/www/site.com/ -type d \( -iname '*upload*' -o -iname '*tmp*' \)
file /home/user/data/www/site.com/uploads/* | grep -i php
  1. Проверка VPS на наличие шеллов — кода, с помощью которого хакер получает доступ к серверу. Все найденные шеллы необходимо удалить. Проверка:
egrep -ril “base64_decode|auth_pass|shell_exec” /home/user/site.com
  1. Проверка устаревшего ПО на сервере и подключенных CMS.

Восстановление работоспособности

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

  1. Ограничить права доступа к панели отдельным IP.
  2. Закрыть ненужные порты в Firewall.
  3. Обновить пароли и SSH-ключи.
  4. Провести комплексное обновление ПО.
  5. Очистить сервер от чужеродных скриптов — бэкдоры и шеллы.

Заключение

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

6 основных способов защиты сервера

  1. SSH-ключи (Linux) — это пара криптографических ключей, которая, как говорилось выше, используется для проверки подлинности и является альтернативой паролям. Их использование делает аутентификацию полностью зашифрованной.
  2. Фаерволы (Windows\Linux) — с помощью брандмауэра можно обеспечить дополнительную защиту серверу даже при наличии встроенного защитного функционала у ПО. Он позволяет уменьшить количество уязвимостей и заблокировать доступ к чему угодно.
  3. VPN (Windows\Linux) — защищенное соединение между удаленными ПК и соединением. Обеспечивает приватность сети, позволяя сделать ее видимой для выбранных пользователей.
  4. PKI и SSL/TLS шифрование (Windows\Linux). Центры сертификации позволяют шифровать трафик и производить проверку идентичности для разных пользователей.
  5. Аудит (Windows\Linux) — изучение рабочих процессов серверной инфраструктуры. Процедура показывает, какие процессы запущены и что они делают. Помимо этого можно провести аудит файлов, чтобы сравнить два варианта системы — текущий и характеристики при нормальной работе. Это позволяет выявить происходящие процессы, для которых требуется аутентификация, а также защитить сервер от DDOS-атак.
  6. Изолированная среда выполнения предусматривает запуск системных компонентов в выделенном пространстве. По факту, для каждого процесса появляется свой изолированный «отсек», который при атаке ограничивает взломщику доступ к другим компонентам ОС.

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

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

Главное в случае с безопасностью — это постоянство. Сервер и систему стоит периодически проверять, что касается и надежности IP-адресов с высоким уровнем доступа.

Виртуальные сервера Eternalhost — сочетание высокой производительности и отличной защищенности от внешних угроз. Гарантия технической поддержки в режиме 24/7 и многоступенчатая фильтрация DDoS-атак.

Оцените материал:
[Всего голосов: 1    Средний: 5/5]
Подписаться
Уведомление о
guest
1 Комментарий
Inline Feedbacks
View all comments
Anton

Не увидел в статье главного принципа безопасности для сервера — выбор нормального хостера. Левый провайдер (имеющий через центральную ноду полный контроль над ФС VPS) причинит гораздо больше вреда, чем самый умелый хакер.

Надежный хостинг для сайта. 14 дней - бесплатно!