Поиск по сайту:

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


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

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

  • Входящие и исходящие брандмауэры с отслеживанием состояния
  • Именованные службы, такие как SSH, HTTP(S), MySQL и т. д.
  • Пользовательские порты
  • Диапазоны портов
  • Ограничение по источникам, таким как дроплеты, балансировщики нагрузки, VPC, теги или определенные адреса IPv4 или IPv6 CIDR.

Недавно DigitalOcean выпустила сети Virtual Private Cloud (VPC). Определяя набор ресурсов в VPC, весь трафик сохраняется внутри этой сети, даже из других сетей VPC. Облачные брандмауэры работают вместе с VPC для дальнейшей сегментации и защиты трафика. В этой статье мы будем использовать две виртуальные машины, настроенные в следующем поместье:

  • ОС: Ubuntu 18.04.3 LTS x64
  • Цена: базовая виртуальная машина за 5 долл. США в месяц.
  • Регион: регион SFO2
  • Аутентификация: ключи SSH
  • Теги: тест, ubuntu

Создайте облачный брандмауэр

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

В данном примере это будет IP-адрес 192.168.100.5. После нажатия «Создать брандмауэр» нам предоставляется форма, запрашивающая имя, входящие правила, исходящие правила и ресурс, к которому нужно применить брандмауэр.

  • Имя: ssh-limit
  • Правила для входящих подключений
    • SSH → 192.168.100.5

    Далее, давайте взглянем на исходящие правила. Ниже вы видите правила по умолчанию. Это говорит о том, что весь исходящий трафик TCP/UDP разрешен для всех местоположений, как и трафик ICMP. Как правило, это нормально, в зависимости от ваших потребностей. Большинство администраторов серверов имеют более высокий уровень контроля над исходящим трафиком, чем над входящим. При этом вы, безусловно, можете ограничить этот трафик.

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

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

    Предоставление нового дроплета

    Что произойдет, когда мы создадим новую каплю и пометим эту виртуальную машину тегом test? После инициализации новой виртуальной машины и перехода к сетевому разделу дроплета вы увидите, что ранее созданный нами брандмауэр ssh-limit применяется автоматически.

    Ограничение внутреннего трафика VPC

    Что, если у нас есть базы данных MySQL на двух подготовленных дроплетах, и мы хотели бы убедиться, что трафик не выходит за пределы этих ресурсов? Чтобы убедиться, что трафик через порт 3306 (MySQL) разрешен только из других ресурсов в VPC, к диапазону трафика VPC можно применить правило облачного брандмауэра.

    Если вы используете продукт управляемых баз данных от DigitalOcean, например базы данных MySQL, PostGres или Redis, эта возможность также упрощает защиту этих ресурсов. Идеальным вариантом было бы разместить все соответствующие ресурсы в VPC, а затем использовать облачные брандмауэры для надлежащей защиты трафика между различными ресурсами.

    Предостережения облачного брандмауэра

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

    • В любой брандмауэр можно добавить не более 10 отдельных капель.
    • К одному брандмауэру можно добавить не более 5 тегов, но с помощью тегов можно обойти правило 10 отдельных капель (т. е. тег с 50 каплями все равно будет работать с брандмауэром).
    • Брандмауэр может иметь до 50 комбинированных правил для входящей и исходящей почты.
    • В настоящее время брандмауэры поддерживают только трафик ICMP, TCP и UDP.
    • Журналы трафика не будут доступны для отброшенного трафика, поскольку это происходит на сетевом уровне.

    Заключение

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