Защита веб-серверов - SearchInform

Защита веб-серверов

ИБ-аутсорсинг
на базе системы защиты от утечек информации(DLP)

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

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

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

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

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

Угрозы

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

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

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

Аудит

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

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

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

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

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

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

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

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

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

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

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

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

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

Защита от атак отказала в обслуживании

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

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

SSH-ключи

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

21.11.2019

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