Защита web серверов

ИБ-аутсорсинг
на базе DLP-системы

СёрчИнформ КИБ
30 дней для тестирования ИБ-аутсорсинга ОФОРМИТЬ ЗАЯВКУ
Время чтения
Шрифт

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

Общие принципы

Защита web-серверов основывается на исключении несанкционированного доступа к ним. Для этого есть несколько способов. Основной принцип – допускать к работе с сервером и к хранящейся на нем информации только тех пользователей, которые имеют на это право. Пользователь должен быть идентифицирован при помощи логина и пароля или с помощью технических средств (токенов), только после этого ему будет предоставлен доступ к данным. 

Если администратор сети предпочитает использовать традиционные пароли, ему стоит присмотреться к Fail2ban. Эта программа ограничивает число попыток ввода пароля, после чего возможность доступа для определенного IP-адреса блокируется. 

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

Защиту от перехвата исходящего и входящего трафика обеспечивают технологии VPN и Private Networking. Такие программные продукты предполагают отправку и получение зашифрованных данных по защищенным каналам. При росте инфраструктуры сети VPN заменяется собственным удостоверяющим центром, генерирующим сертификаты для идентификации пользователей и шифрования трафика, работающие на принципах PKI и SSL/TLS. 

Угрозы

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

  • DDoS-атаки на сервер;
  • перехват трафика;
  • проникновение хакера в операционную систему и изменение конфигурации файлов, определяющих механизм работы программ и приложений. 

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

Аудит

Аудит – одна из основных процедур, которую нужно провести администратору сети, чтобы разработать подходящую для компании модель защиты web-сервера. 

Аудит позволит:

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

Любой процесс, который запускается с сервера, представляет собой потенциальный объект атаки. 

При анализе процесса необходимо ответить на вопросы: 

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

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

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

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

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

От специалиста потребуется:

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

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

Защита от DDoS-атак

В рамках стандартных средств, направленных на обеспечение безопасности сервера, сложно защититься от DDoS-атаки, реализуемой в полном объеме. Несколько тысяч одновременных запросов от бот-сетей к серверу способны полностью перекрыть канал передачи данных, и он не сможет реагировать на действия администратора. При этом DDoS-атаки способны серьезно повлиять на ход событий. Например, в 2012 году хакеры обрушили сайт грузинского ЦИК. Это сделало невозможным публикацию предварительной информации о парламентских выборах и накалило политическую обстановку в стране.

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

SSH-ключи

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

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

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

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

Преимущество технологии SSH перед паролем – полное исключение возможности доступа к серверу путем подбора паролей. Современные вычислительные технологии способны подбирать комбинации за доли секунды, и часто даже сложный пароль не может защитить сервер от взлома. SSH этот риск снимает, поскольку расшифровать криптографический алгоритм создания ключа крайне сложно и трудоемко, такие методы могут реализовываться только в исключительных ситуациях. Большое количество данных, существенно большее, чем в паролях, потребует много времени для расшифровки. И хотя технически подбор верной комбинации возможен, на практике эта ситуация исключена.  
Настройка пары SSH-ключей происходит несложно, она доступна системному администратору без дополнительного обучения. Ключи работают в любых ОС, совместимых с популярными системами с открытым кодом Linux и Unix.

Процесс генерации и настройки ключей состоит из нескольких шагов:

  1. Ввод текстовой команды в командную строку.
  2. Ответ на вопросы системы, предлагающей определить директорию для хранения файла и назвать ключевую фразу.
  3. Размещение открытого ключа в выбранной директории на сервере.

После завершения этого процесса система обеспечения безопасности доступа начинает работать.

Сетевые экраны

Брандмауэры, файрволы или сетевые экраны – это программные продукты, которые исключают риски несанкционированного доступа к серверу. 

В задачи сетевого экрана входит:

  • блокировка доступа к открытым портам за исключением специально оговоренных;
  • фильтрация сетевого трафика по изначально заданным параметрам.

Файрвол становится на пути HTTP- и SQL-запросов, разрешая доступ только тем, которые совпадают с выбранной политикой безопасности. В стандартной ситуации не требуется дополнительной установки и настройки компонентов файрвола на сервер, они уже встроены в браузеры в виде простого приложения или предлагаются по платной подписке.

Среди таких компонентов:

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

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

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

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

  • при первоначальном включении сервера в работу;
  • при изменении конфигурации работы сервера или одной из его служб.

VPN и Private Networking

Современные технологии VPN и Private Networking создают удаленное защищенное соединение между сервером и другими устройствами. Работа с сервером может быть налажена аналогично использованию защищенной локальной сети. 

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

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

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

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

PKI- и SSL/TLS-шифрование

Еще одним популярным способом защиты информации, поступающей на сервер или уходящей с него, является PKI- и SSL/TLS-шифрование. Термин PKI (Public Key Infrastructure) расшифровывается как «инфраструктура открытых ключей». Этот механизм используется для создания сертификатов, необходимых для идентификации пользователя и передачи информации в зашифрованном виде. 

Для реализации системы защиты на сервере потребуется создать центр сертификации и управления сертификатами. Это обеспечит проверку прав доступа всех внешних пользователей и позволит шифровать входящий и исходящий трафик. Дополнительно SSL-шифрование гарантирует защиту от man-in-the-middle, или проникновения в сеть путем создания аналога поведения сервера в локальной сети с целью перехватить сообщение или подменить содержащуюся в нем информацию.

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

Если на компьютере или виртуальной машине установлено программное обеспечение, использующее PKI и SSL/TLS, то можно не приобретать VPN-сервисы, которые работают по схожему принципу. Проблемой становится то, что установка и настройка протокола потребует серьезных знаний и трудозатрат, необходима очень высокая квалификация программистов и системных администраторов. Процесс генерации сертификатов предполагает дополнительные трудозатраты на последующее администрирование системы, ключи нужно создавать, раздавать, прекращать их действие при определенных обстоятельствах.

В большинстве интернет-проектов создание центра генерации сертификатов экономически оправданно только при широкой инфраструктуре сети и большом количестве пользователей. 

Изолированная среда выполнения

В ряде случаев безопасность сервера обеспечивает отдельная среда, в которой происходят запуск программ и их выполнение. В среде IT-специалистов запуск процессов в изолированной среде выполнения называется «песочница». 

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

Безопасность сервера за счет работы приложений в изолированной среде повышается по нескольким причинам:

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

Создание изолированной среды – задача, степень сложности которой зависит от выбранного типа оболочки. Самый простой вариант – создание среды chroot в корневом каталоге. При этом программа работает только в своем каталоге и не имеет доступа к другим файлам, поэтому решает задачу безопасности локально. Лучшим, но более дорогостоящим вариантом станет запуск каждого процесса с отдельной машины.   

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

21.11.2019

ПОДПИШИТЕСЬ НА ПОЛЕЗНЫЕ СТАТЬИ

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