Группы безопасности в OpenStack — это инструмент для фильтрации для входящего и исходящего трафика. С его помощью вы можете открыть нужный порт или разрешить подключения к серверу только с определённых IP-адресов.
В статье рассказываем, как создавать группы безопасности и правила для них, а также как назначить их для VPS-сервера.
Как создать группу безопасности
Зайдите в панель управления облаком и перейдите в меню слева в раздел «Проект – Сеть – Группы безопасности». По умолчанию здесь уже будет одна стандартная группа «default» с правилами, которые разрешают:
- исходящие TCP-соединения для всех IP-адресов IPv4 и IPv6 через любые порты;
- входящие ICMP-соединения для всех IP-адресов IPv4 и IPv6 через любые порты;
- входящие TCP-соединения для всех IP-адресов IPv4 и IPv6 через порты 20 (FTP), 21 (FTP), 22 (SSH), 25 (SMTP), 80 (HTTP), 110 (POP3), 143 (IMAP), 443 (HTTPS), 465 (SMTPS), 585 (IMAPS, неактуальный), 587 (ESMTP), 993 (IMAPS), 995 (POP3S), 3389 (RDP).
Чтобы создать новую группу безопасности, нажмите в правой части экрана кнопку «Создать группу безопасности»:
На следующей странице придумайте понятное имя для будущей группы. Для примера представим, что создаём новую группу для VPS, на котором хранится MySQL сервер. В этом случае подойдёт название «MySQL Сервер».
Как создать правило
После того как вы создадите группу, она появится в общем списке. Найдите её и нажмите кнопку «Управление правилами» в колонке «Actions».
На следующей странице вы увидите, что в группе уже есть два правила, которые разрешают все исходящие TCP-соединения для всех портов и IP-адресов IPv4 и IPv6. Чтобы создать новое правило, нажмите вверху кнопку «Добавить правило».
В правилах вы описываете условия, на которых можно подключиться к серверу. Для них файервол применяет разрешающее доступ условие Allow. Для условий, которые не описаны в правилах, будет действовать запрещающее доступ условие Deny.
Например, группа безопасности, в которой нет ни одного правила, будет блокировать любые подключения к серверу. Если в эту же группу добавить правило для входящего трафика и указать в нём 1 IP-адрес, подключиться к серверу можно будет только с этого одного IP-адреса. Исходящие подключения при этом останутся закрыты.
Представим для примера, что наша задача — открыть для всех IP-адресов IPv4 и IPv6 порт 3306, который нужен для удалённых подключений к СУБД MySQL. Тогда правило, которое этот порт откроет, будет выглядеть так:
Вот некоторые другие популярные порты, которые закрыты в группе безопасности «default»: 23 (Telnet), 1194 (OpenVPN), 2083 (cPanel), 2087 (WHM).
Как назначить группу безопасности
Инструкции будут отличаться в зависимости от того, на каком этапе нужно присвоить серверу группу безопасности: уже после создания VPS или в процессе.
При создании сервера
В процессе создания нового виртуального сервера перейдите в раздел «Группы безопасности» в левой части экрана. Детальнее этот процесс описан в отдельной статье:
Как создать облачный VPS в OpenStack
Чтобы применить свою группу безопасности для нового сервера, переместите её из списка «Доступно» в список «Выделенный». Для этого нажмите в строке с нужной группой безопасности кнопку со стрелкой вверх.
После этого не забудьте убрать из списка «Выделенный» группу безопасности default. Если оставите несколько групп, сервер будет использовать правила из каждой группы, из-за чего могут возникнуть конфликты.
Для существующего сервера
Перейдите в раздел «Проект – Вычислительные ресурсы – Серверы». В строке с нужным сервером откройте выпадающий список в колонке «Actions» и выберите пункт «Редактировать группы безопасности»:
Слева будет список всех групп безопасности, которые вы создавали. Справа — список групп безопасности, которые действуют конкретно для этого сервера. Используйте кнопки со знаками плюс и минус, чтобы добавить или убрать группу. В конце не забудьте сохранить изменения.
Что дальше
Если вдруг что-то не получается или у вас есть дополнительные вопросы, задайте их в комментариях к статье или напишите в чат в нижнем правом углу экрана. Мы всегда на связи. Будем рады помочь!