Одна из особенностей 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).
TCP-соединение используют для передачи данных в интернете, а ICMP-соединение — для передачи сервисных сообщений, например, при выполнении команды ping или traceroute.
Чтобы создать новую группу, нажмите вверху кнопку «Создать группу безопасности»:
На следующей странице придумайте понятное имя для будущей группы. Для примера представим, что создаём новую группу для VPS, на котором хранится MySQL сервер. В этом случае подойдёт название «MySQL Сервер».
Создать новое правило
После того как вы создадите группу, она появится в общем списке. Найдите её и нажмите кнопку «Управление правилами» в колонке «Действия»:
На следующей странице вы увидите, что в группе уже есть два правила, которые разрешают все исходящие TCP-соединения для всех портов и IP-адресов версии IPv4 и IPv6. Чтобы создать новое правило, нажмите вверху кнопку «Добавить правило»:
В правилах вы описываете условия, на которых можно подключиться к серверу. Для них файервол применяет разрешающее доступ условие Allow. Подключиться на условиях, которые не описаны в правилах, не получится. Для них будет действовать запрещающее доступ условие Deny.
Например, группа безопасности, в которой нет ни одного правила будет блокировать любые подключения к серверу. Если в эту же группу добавить правило, которое разрешает входящие подключения только с какого-то одного IP-адреса, подключиться к серверу с других IP не получится. Исходящие подключения при этом останутся закрыты.
Представим для примера, что наша задача — открыть для всех IP-адресов версии IPv4 и IPv6 порт 3306, который нужен для удалённых подключений к базе данных СУБД MySQL. Тогда правило, которое этот порт откроет, будет выглядеть так:
Вот некоторые другие популярные порты, которые закрыты в группе безопасности default: 23 (Telnet), 1194 (OpenVPN), 2083 (cPanel), 2087 (WHM).
Выбрать группу безопасности при создании нового сервера
В процессе создания нового виртуального сервера перейдите в раздел «Группы безопасности» в левой части экрана.
Чтобы применить свою группу безопасности для нового сервера, переместите её из списка «Доступно» в список «Выделенный». Для этого нажмите в строке с нужной группой безопасности кнопку со стрелкой вверх.
После этого не забудьте убрать из списка «Выделенный» группу безопасности default. Если оставите несколько групп, сервер будет использовать правила из каждой группы, из-за чего могут возникнуть конфликты.
Изменить группу безопасности для действующего сервера
В меню слева перейдите в раздел «Вычислительные ресурсы» — «Серверы»:
Откройте выпадающий список в колонке «Действия» и выберите пункт «Редактировать группы безопасности»:
Слева будет список всех групп безопасности, которые вы создавали. Справа — список групп безопасности, которые действуют конкретно для этого сервера. Используйте кнопки со знаками плюс и минус, чтобы добавить или убрать группу. В конце не забудьте сохранить изменения.