Вход
Русский
USD
Цены в иностранной валюте приведены информационно

7 способов защитить ваш сервер

Мы расскажем вам о самым распространенных способах защиты серверов.

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

1.SSH-ключ

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

Как влияют на безопасность SSH-ключи?

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

Как реализованы ключи?

SSH-ключ реализовать очень просто. Такая аутентификация желательна для серверов Unix, Linux с удаленным доступом. Сделав на локальном компьютере пару ключей, скопируйте их на сервер.

2.Брандмауэр

Данный термин применяют к программе способной фильтровать серверный трафик и управлять доступом к сети. Брандмауэр способен ограничить либо заблокировать доступ ко всем портам. Вы также можете устанавливать исключения. На каждом сервере есть приложения, которые включаются по умолчанию. Их получится условно поделить на 3 группы:

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

• Получить доступ к закрытым сервисам могут только авторизованные пользователи либо только из определенных мест. Ярким примером таких программ является панель управления БД;

• Внутренние сервисы способны работать без доступа к сети на самом сервере. Это работающая по локальному соединению база данных.

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

Как влияет на безопасность брандмауэр?

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

Как реализован брандмауэр?

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

3.Виртуальные частные сети или VPN

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

Как влияет VPN на безопасность?

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

Как реализованы VPN?

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

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

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

Как влияют на безопасность SSL/TLS-сертификаты?

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

Как реализованы SSL/TLS?

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

5.Сервисный аудит

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

Как это влияет на безопасность?

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

• Полезно ли данное запущенное приложение?

• Все ли используемые интерфейсы действительно нужны программе?

• Привязан ли сервис к одному IP-адресу?

• Проходит ли через брандмауэр трафик с данной программы?

• Поступают ли сообщения от сервисов об их уязвимостях?

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

Как реализовать аудит сервисов?

Это сделать достаточно просто. Нам пригодится команда netstat для того, чтобы увидеть прослушиваемые приложениями порты на любом интерфейсе. Вы увидите название сервиса, адрес и PID на которых идет прослушка UDPи TCP-трафика. Наберите в консоли:

sudo netstat -plunt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      887/sshd
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      919/nginx
tcp6       0      0 :::22                   :::*                    LISTEN      887/sshd
tcp6       0      0 :::80                   :::*                    LISTEN      919/nginx

Обратите особое внимание на Proto, Local Address и PID/Program name. Если вы увидите цифры 0.0.0.0, то приложение способно принимать соединения на всех доступных интерфейсах.

6.Аудит системы обнаружения вторжений, а также файлов

Аудитом файлов называют сравнение нынешней системы с характеристиками файлов и записями исправной системы. Вы сможете увидеть требуемые авторизации системные изменения. Системой обнаружения вторжений (IDS) называют ПО отслеживающее нежелательные действия в сети или системе. Аудит файлов применяется для обнаружения системных изменений во многих реализациях IDS.

Как влияет аудит файлов и IDS на безопасность системы?

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

Как реализован IDS и аудит файлов?

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

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

7.Изолированная среда

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

Как влияет на безопасность изолированная среда выполнения?

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

Как реализована изолированная среда выполнения?

Сделать свою изолированную среду достаточно просто. Чтобы получить нужный уровень изоляции, распределите компоненты программы в отдельных контейнерах. Однако у контейнеризации с помощью Docker повышение безопасности не является главной фишкой. Уровень изоляции также может повысить если настроить среду chroot для отдельных компонентов. Но это тоже не самый надежный метод, т.к. его можно обойти при желании. Гораздо лучше будет если переместить на отдельные физические машины важные компонент программ. Хоть это и дороже, но проще и надежнее.

В качестве заключения

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

Опубликовано: Сентябрь 7, 2017