Андрей Смирнов
Время чтения: ~27 мин.
Просмотров: 28

Способы защиты виртуального выделенного сервера (VPS) от взлома

Содержание

Этот материал содержит базовые рекомендации по обеспечению безопасности серверов под управлением Microsoft Windows Server 2008/2012:

Регулярно устанавливайте важные обновления ОС Windows Server и ПО

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

Используйте только ПО из проверенных источников

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

Уделите должное внимание настройке Firewall

Для серверов Windows Server, доступных через интернет и при этом не находящихся за выделенным устройством, выполняющим функцию фаерволла, Брандмауэр Windows является единственным инструментом защиты внешних подключений к серверу. Отключение неиспользуемых разрешающих и добавление запрещающих правил будет означать, что меньше портов на сервере прослушивают внешний входящий трафик, что снижает вероятность атак на эти порты. Например, для работы стандартного веб-сервера достаточно открыть следующие порты: 80 – HTTP 443 – HTTPS

Для портов, доступ к которым должен оставаться открытым, следует ограничить круг источников подключения путем создания «белого списка» IP-адресов, с которых будут приниматься обращения. Сделать это можно в правилах Брандмауэра Windows. Это обеспечит уверенность в том, что у всех, кому требуется доступ к серверу, он есть, но при этом запрещен для тех, кого «не звали». 

Ниже представлен список портов, доступ к которым лучше ограничить только кругом клиентов, внесенных в белый список IP:

  • 3389 – Стандартный порт RDP
  • 990 – FTPS
  • 5000-5050 – порты для работы FTP в пассивном режиме
  • 1433-1434 – стандартные порты SQL
  • 53 – DNS

pic2.jpg

Переименуйте стандартную учетную запись администратора

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

Рекомендуется сменить имя пользователя для стандартной учетной записи Adminstrator. Для этого выполните следующие действия:

  1. Откройте оснастку «Выполнить» (WIN+R), в появившемся окне введите: secpol.msc
  2. Откройте Редактор локальной политики безопасности. В меню выберите Локальные политики -> Параметры безопасности -> Учетные записи: Переименование учетной записи администратора

    pic1.jpg

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

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

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

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

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

Не предоставляйте общий доступ к директориям без ввода пароля, разграничивайте права общего доступа

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

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

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

Если вы используете физический сервер Windows, настоятельно рекомендуем включить запрос пароля пользователя при выходе из режима ожидания. Сделать это можно во вкладке «Электропитание» Панели управления (область задач страницы «Выберите план электропитания»).

Помимо этого, стоит включить запрос ввода пароля пользователя при подключении к сессии после установленного времени ее бездействия. Это исключит возможность простого входа  от имени пользователя в случае, когда последний, например, забыл закрыть RDP-клиент на персональном компьютере, на котором параметры безопасности редко бывают достаточно стойкими. Для конфигурации этой опции вы можете воспользоваться утилитой настройки локальных политик secpol.msc, вызываемой через меню «Выполнить» (Win+R->secpol.msc)

Используйте Мастер настройки безопасности

Мастер настройки безопасности (SCW – Security Configuration Wizard) позволяет создавать XML-файлы политик безопасности, которые затем можно перенести на различные серверы вашей инфраструктуры. Эти политики включают в себя правила использования сервисов, конфигурацию общих параметров системы и правила Firewall. 

Корректно настройте групповые политики безопасности

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

Для удобства управления групповыми политиками, вы можете использовать не только встроенную в дистрибутивы Windows Server утилиту «gpmc.msc», но и предлагаемую Microsoft утилиту «Упрощенные параметры настройки безопасности» (SCM-Security Compliance Manager), название которой полностью описывает назначение.

Используйте локальные политики безопасности

Помимо использования групповых политик безопасности Active Directory следует также использовать локальные политики, так как они затрагивают не только права пользователей, выполняющих вход через доменную учетную запись, но и локальные аккаунты. Для управления локальными политиками вы можете использовать соответствующую оснастку «Локальная политика безопасности», вызываемую командой secpol.msc («Выполнить» (WIN+R)).

Безопасность служб удаленных рабочих столов (RDP)

— Блокировка RDP-подключений для учетных записей с пустым паролем

Эта мера является весьма очевидной, но она не должна игнорироваться. Для блокировки подключений к удаленным рабочим столам пользователю, пароль для которого не указан, откройте утилиту «Computer Configuration» -> «Настройки Windows» -> «Настройки безопасности» -> «Локальные политики безопасности -> «Параметры безопасности» и включите (Enable) параметр «Учетные записи: Разрешить использование пустых паролей только при консольном входе(Accounts: Limit local account use of blank passwords to console logon only).

pic3.jpg

— Смена стандартного порта Remote Desktop Protocol

Смена порта RDP по умолчанию, несмотря на видимую простоту этой меры, является неплохой защитой от атак, направленных на мониторинг well-known портов.  Чтобы изменить порт для подключений RDP:

  1. Откройте редактор реестра (regedit)
  2. Для перестраховки сделайте резервную копию текущего состояния реестра (Файл->Экспорт)
  3. Открываем ветку: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp
  4. Найдите параметр Port Number, дважды кликните по нему, в открывшемся окне выберите десятичную систему исчисления из измените поле Значение на желаемый порт.

    pic4.jpg

  5. Нажмите ОК и закройте редактор ресстра
  6. Обратите внимание на ваши правила Firewall (Брандмауэр Windows). Они должны разрешать внешние подключения по установленному выше порту. Для добавления разрешающего правила выполните следующее:  — Откройте Брандмауэр Windows — В левой части окна программы выберите «Дополнительные параметры», а затем «Правила для входящих подключений», и нажмите «Создать правило»

    pic5.jpg

    — В появившемся окне Мастера выберете правило «Для порта» — Далее указываем «Определенный локальный порт TCP: {номер выбранного вами выше порта}». Нажимаем готово.

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

    pic6.jpg

— Настройка шлюза служб терминалов (Terminal Services Gateway)

pic7.png

Служба «Шлюз TS (служб удаленных рабочих столов)» позволяет удаленным пользователям осуществлять удаленное подключение к терминальным серверам и другим машинам частной сети с включенной функцией RDP. Она обеспечивает безопасность подключений за счет использования протокола HTTPS (SSL), снимая с администратора необходимость настройки VPN. Этот инструмент позволяет комплексно контролировать доступ к машинам, устанавливать правила авторизации и требования к удаленным пользователям, а именно:

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

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

Установка службы Шлюза TS

Для установки шлюза служб терминала на соответствующей машине под управлением Windows Server 2008/2012 выполните следующие действия:

  1. Откройте утилиту Server Manager (Управление сервером) -> вкладка Роли -> Добавить роль
  2. На странице выбора ролей сервера выберите Службы терминала (Службы удаленных рабочих столов)
  3. В окне выбора служб ролей выберите Шлюз TS (Шлюз служб удаленных рабочих столов) и нажмите Далее
  4. На странице выбора сертификата аутентификации сервера для шифрования SSL выберите опцию Выбрать сертификат для SSL-шифрования позже. Этот выбор обусловлен тем, что соответствующий сертификат шлюза TS еще не сгенерирован.

    pic7.jpg

  5. На появившейся странице создания политик авторизации для шлюза выберите опцию Позже
  6. На странице выбора служб ролей должна быть отмечена служба Сервер сетевой политики (Network Policy Server)

    pic8.jpg

     

  7. Установите требуемые службы ролей, которые будут отмечены системой по умолчанию.

    pic9.jpg

Создание сертификата для шлюза служб удаленных рабочих столов

Для инициирования SSL-подключений от клиентов RDP, для шлюза должен быть создан соответствующий сертификат:

  1. В меню Администрирование выберите оснастку IIS Manager
  2. В левой части появившегося окна выберите необходимый сервер, а затем пункт Сертификаты сервера -> Создать сертификат домена

    pic10.jpg

  3. На странице Определенные свойства имени укажите требуемые сведения. Обратите внимание на поле Общее имя – оно должно соответствовать имени, указанному в настройках клиентов служб RDP. 
  4. На следующей странице Интерактивный центр сертификации выбираем имя Enterprise CA, от имени которого должен быть выдан сертификат, и вводим значение параметра Сетевое имя.

Теперь сведения о созданном сертификате отображаются в окне Сертификаты сервера. При двойном клике на этом сертификате можно увидеть информацию об объекте назначения и о наличии закрытого ключа для данного сертификата (без которого сертификат не используется).

pic11.jpg

Настройка шлюза TS на использование сертификата

После создания сертификата, необходимо настроить шлюз терминалов на его использование:

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

    pic12.jpg

  3. Выберите опцию «Показать или изменить свойства сертификата»
  4. Во вкладке «SSL Сертификат» проверьте активность опции «Выбрать существующий сертификат для SSL шифрования» и выберите Просмотр сертификатов для отображения оснастки для установки сертификатов. Выберите и установите ранее сгенерированный сертификат.

    pic13.jpg

  5. После указания сертификата следует настроить политики авторизации подключений и  авторизации ресурсов. Политика авторизации подключения (CAP — Сonnection Authorization Policy) позволяет контролировать полномочия клиентов при их подключении к терминалам через шлюз:

    pic14.jpg

    Откройте меню «Политики авторизации соединений», находящуюся во вкладке «Политики» — > «Создать новую политику» -> Мастер(Wizard), на вкладке «Политики авторизации» -> выберите Cоздать только TS CAP. Вводим имя создаваемой политики. В нашем случае «1cloud Gateway». На вкладке «Требования» активируем требование пароля, а затем указываем группы пользователей, которым необходимо предоставить доступ в инфраструктуру терминалов – введите имя добавляемой группы и кликните «Проверить имена (Check Names)»

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

  6. Теперь настройте политику авторизации ресурсов (Resource Authorization Policy – RAP), определящую доступные для подключения извне серверы и рабочие станции: Для этого перейдите в меню «Политика авторизации ресурсов» панели Менеджер шлюзов серверов терминалов (удаленных рабочих столов), выберите пункт «Создать новую политику» -> Мастер -> Создать только TS RAP.

    Введите имя создаваемой политики. Во вкладке Группы пользователей выберите группы, затрагиваемые создаваемой политикой. На вкладке Группа компьютеров укажите серверы и рабочие станции, к которым применяется политика RAP. В данном примере мы выбрали опцию «Разрешить пользователям подключаться к любому ресурсу (компьютеру) сети» для разрешения подключений ко всем хостам сети. Проверьте параметры TS RAP и завершите мастер конфигурации.

  7. На этом настройку шлюза серверов терминалов (удаленных рабочих столов) можно считать завершенной.

— Защита RDP-сессии с помощью SSL/TLS

Для обеспечения безопасности подключений по RDP в случае, когда соединение с сервером осуществляется не через VPN, рекомендуется использовать SSL/TLS-туннелирование соединения.

Опцию RDP через TLS можно включить через групповую политику безопасности сервера удаленных рабочих столов (команда gpedit.msc или меню «Администрирование» -> «Компоненты Windows» -> Сервер удаленных рабочих столов (Remote Desktop Session» -> «Безопасность»), где необходимо активировать опцию запроса определенного уровня безопасности для удаленных подключений (Require use of specific security layer for remote connections). Рекомендуемое значение этой опций – SSL (TLS 1.0) only

Также включить вышеуказанную опцию можно и через меню управления сервером удаленных рабочих столов (Remote Desktop Session Host Configuration), выбрав из списка Connections требуемое подключение и перейдя в его свойства, где выбрать уровень безопасности «Security Level». Для TLS-шифрования сессий потребуется, по крайней мере, серверный сертификат. Как правило он уже есть в системе (генерируется автоматически).

Для настройки TLS-туннелирования RDP-подключений откройте инструментов «Управление сервером удаленных рабочих столов (Remote Desktop Session Host Configuration)» через меню «Администрирование» -> Подключения к удаленным рабочим столам»

Выберите в списке подключений то, для которого требуется настроить защиту SSL/TLS и откройте его свойства (Properties). Во вкладке «Общие» (General) выберите требуемый уровень шифрования (Encryption Level). Рекомендуем использовать RDP FIPS140-1 Encryption

Изолируйте серверные роли и отключайте неиспользуемые сервисы

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

В идеале, один сервер должен выполнять одну конкретную функцию (Контроллер домена, файловый сервер, терминальный сервер и т.д.). Но так как на практике такая диверсификация ролей редко оказывается возможной в полной мере. Тем не менее, вы можете разграничить функции машин настолько, насколько это возможно.

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

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

Обзор Windows Server Core

Windows Server Core представляет собой дистрибутив Windows Server 2008/2012 без предустановленного графического окружения (UI). Этот дистрибутив не использует многие системные сервисы, необходимые для функционирования графического интерфейса и, соответственно, лишен ряда уязвимостей, связанных с работой этих сервисов. Еще одно преимущество Windows Server Core – минимальная нагрузка на аппаратные ресурсы сервера. Это делает ее отличным выбором для установки на виртуальные машины. 

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

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

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

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

О защите серверов от несанкционированного доступа мы и расскажем в этой статье.

Способы и методы защиты серверов от несанкционированного доступа

Физическая защита сервера

Физическая защита. Желательно, чтобы сервер находился в защищенном ЦОДе, закрытом и охраняемом помещении, у посторонних не должно быть доступа к серверу.

Установите аутентификацию по SSH

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

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

Обратите внимание, если при входе вы видите подобное сообщение:

Last failed login: Tue Sep 28 12:42:35 MSK 2017 from 52.15.194.10 on ssh:notty There were 8243 failed login attempts since the last successful login.

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

Регулярно устанавливайте последние обновления

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

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

Защищайте пароли

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

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

Файрвол

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

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

Мониторинг и обнаружение вторжений

  • Ограничьте ПО и службы, работающие у вас на сервере. Периодически проверяйте все, что у вас запущено, и если обнаружатся какие-то незнакомые вам процессы, удаляйте их немедленно и начинайте проверку на вирусы.
  • Периодически проверяйте наличие следов взлома. О взломе могут свидетельствовать новые учетные записи пользователей, которые вы не создавали, перемещение или удаление файла /etc/syslog.conf, удаленные файлы /etc/shadow и /etc/passwrd .
  • Мониторьте работу вашего сервера, следите за его обычной скоростью и пропускной способностью, так вы сможете заметить отклонения, например, когда нагрузка на сервер стала значительно больше обычного.

Рекомендуем использовать специализированные системы обнаружения и предотвращения вторжений (IDS/IPS). Например, межсетевые экраны Cisco ASA Firepower оснащены соответствующим модулем, требуется только его правильно настроить.

Использование VPN и шифрования SSL/TLS

Если необходим удаленный доступ к серверу, он должен быть разрешен только с определенных IP-адресов и происходить по VPN.

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

Проверка безопасности сервера

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

Что еще грозит серверам кроме взлома

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

Поэтому мероприятия по защите сервера должны включать:

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

Опыт специалистов “Интегруса” говорит нам, что лучшая защита от такого рода угроз – это применение лучших практик в области систем защиты серверов.

Для обеспечения безопасности серверов наших заказчиков мы применяем сочетание инструментов:брандмауэры, антивирусы, технологии безопасности / управления событиями (SIM / SEM), технологии обнаружения вторжений / защиты (IDS / IPS), технологии сетевого поведенческого анализа (NBA), конечно же регулярное профилактическое обслуживание серверов и обустройство защищенных серверных под ключ. Это позволяет свести риски взлома или отказа сервера по другим причинам к минимуму.

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

29.07.2019

Стали владельцем VPS-сервера? Поздравляем с полезным приобретением! Но пить шампанское и праздновать открытие нового веб-сайта или приложения еще рано. Ведь хакеры ежедневно присматривают себе новых жертв, да и любопытные школьники постоянно ищут свежие площадки для применения кидди-скриптов.

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

Общие советы

Регулярно обновляйте программное обеспечение Регулярная установка обновлений и новейших версий программного обеспечения помогает обеспечить защиту сервера от уязвимостей, пока еще не известных хакерам, но о которых уже известно разработчикам. Для Windows рекомендуем настроить автоматическую загрузку и установку важных обновлений через «Центр обновления»:

В Linux для систем на основе CentOS можно использовать пакет yum-cron, который будет автоматически скачивать и устанавливать обновления, или пакет unattended-upgrades для систем на основе Ubuntu.

В системах на основе FreeBSD можно настроить ежедневную автоматическую проверку и загрузку патчей безопасности при помощи команды freebsd-update с параметром cron. Эта команда проверяет и скачивает обновления, но не устанавливает их автоматически. После скачивания пользователь получит электронное письмо с уведомлением и сможет установить обновления с помощью команды freebsd-update install.

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

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

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

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

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

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

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

Используйте SFTP или SCP вместо FTP FTP — это небезопасный протокол. С помощью этого протокола все данные отправляются в виде обычного текста, а это значит, что при прослушке соединения между сервером и локальной машиной можно увидеть и логин и пароль подключающегося пользователя. Лучше использовать безопасную альтернативу данного протокола — протокол SFTP. SFTP работает аналогично протоколу FTP, но при этом защищен протоколом SSH. А для подключения UNIX-машины к серверу Linux или FreeBSD еще лучше использовать протокол SCP. Этот протокол также использует SSH.

Обеспечение безопасности Windows Server 2008/2012

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

Уделите должное внимание настройке Firewall Для виртуальных серверов Microsoft Windows, доступных через Интернет и не имеющих дополнительных шлюзов безопасности, брандмауэр Windows является единственным инструментом защиты подключений к серверу. 

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

Для открытых портов лучше ограничить источники подключений с помощью списка IP-адресов, c которых будет происходить подключение, через правила брандмауэра Windows:

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

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

Переименуйте стандартную учетную запись администратора Стандартная учетная запись Администратор или Administrator — лакомый кусок для злоумышленников, поскольку эта запись по умолчанию включена и имеет неограниченные права в системе. К этому аккаунту чаще всего пытаются подобрать пароль, так как это проще, чем искать имена пользователей.

Рекомендуем сменить имя пользователя для стандартной учетной записи Администратор или Adminsitrator. Для этого выполните следующие шаги:

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

2. Во вкладке «Параметр локальной безопасности» измените имя учетной записи администратора на никому неизвестное имя.

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

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

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

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

Используйте Мастер настройки безопасности Мастер настройки безопасности (SCW — Security Configuration Wizard) позволяет создавать файлы политики безопасности, которые затем можно перенести на различные серверы вашей инфраструктуры. Эти политики включают в себя правила использования сервисов, конфигурацию общих параметров системы и правил брандмауэра.

Корректно настройте групповые политики безопасности Если вы используете групповые политики Active Directory, необходимо время от времени проводить их ревизию и повторную конфигурацию. Этот инструмент является одним из основных способов обеспечения безопасности инфраструктуры Windows.

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

Безопасность служб удаленных рабочих столов (RDP) Протокол RDP используется для удаленного подключения к системам Windows и на сегодняшний день считается достаточно безопасным. Тем не менее безопасность этого протокола можно повысить еще больше, при помощи следующих методов.

1. Блокировка RDP-подключений для учетных записей с пустым паролем Для блокировки подключений к удаленным рабочим столам, пользователям, для которых не указан пароль, можно использовать оснастку «Локальная политика безопасности». В ней следует установить параметр: «Учетные записи: Разрешить использование пустых паролей только при консольном входе».

2. Смена стандартного порта Remote Desktop Protocol Смена порта RDP, используемого по умолчанию, является хорошей защитой от исследования well-known портов. Для этого следует при помощи редактора реестра (regedit) изменить параметр HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp Port Number:

Не забудьте создать разрешающее правило для этого порта в Брандмауэре Windows. После изменения порта необходимо перезагрузить сервер.

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

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

Опцию RDP через TLS можно включить через групповую политику безопасности сервера удаленных рабочих столов, где необходимо активировать опцию запроса определенного уровня безопасности для удаленных подключений. Рекомендуемое значение этой опции — SSL (TLS 1.0).

Обеспечение безопасности в Linux

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

Рассмотрим наиболее распространенные меры безопасности, которые необходимо принять в серверной среде Linux.

Блокирование доступа с помощью брандмауэра Самая простая мера защиты — это активация и настройка брандмауэра. В мире Linux существует большое количество брандмауэров:

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

Безопасное удаленное подключение к системе с помощью SSH Стандартный и достаточно безопасный способ подключения к виртуальному серверу Linux — это использование протокола SSH. Этот протокол позволяет выполнить сквозное шифрование, передать незашифрованный трафик по защищенному соединению, использовать X-forwarding (графический интерфейс пользователя по сетевому соединению) и многое другое.

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

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

Метод входа с SSH-ключами подразумевает создание надежной пары ключей для аутентификации:

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

Пароль или SSH-ключи

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

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

Для защиты одного хоста можно использовать систему Samhain. Эта система выпускается под open-source лицензией и использует несколько методов анализа, позволяющих полностью охватить все события, происходящие в системе:

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

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

Используемые источники:

  • https://1cloud.ru/help/windows/windowssecurity
  • https://integrus.ru/blog/zashhita-servera-ot-vzloma.html
  • https://serverspace.by/about/blog/kak-obespechit-bezopasnost-vps-servera/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации