Одна з особливостей 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. Якщо залишите кілька груп, сервер використовуватиме правила з кожної групи, через що можуть виникнути конфлікти.
Змінити групу безпеки для діючого сервера
У меню зліва перейдіть до розділу «Вычислительные ресурсы» — «Серверы»:
Відкрийте список у колонці «Дії» та оберіть пункт «Редактировать группы безопасности»:
Ліворуч буде список всіх груп безпеки, які ви створювали. Справа — список груп безпеки, які діють саме цього сервера. Використовуйте кнопки зі знаками плюс та мінус, щоб додати або прибрати групу. В кінці не забудьте зберегти зміни.