(Plesk для Linux) Брандмауэр Plesk
Содержание: The Plesk firewall is a tool you can use to improve the security of your Plesk for Linux server by restricting network connections to and/or from the server.
In this topic, you will learn how to add and remove firewall rules and policies, how to block incoming connections from specific countries, and also how to export and import firewall rules to easily replicate firewall configuration between servers.
Осторожно: Как брандмауэр Plesk, так и firewalld являются инструментами для управления брандмауэром iptables. Использование обоих этих инструментов одновременно может привести к конфликтам и закрытию портов, необходимых для работы Plesk. Мы рекомендуем в каждый момент времени использовать только какой-либо один из этих инструментов.
Предварительные требования
Before you can begin, the «Firewall» extension must be installed on the server. If it is not, install the extension from the Extensions Catalog.
Managing Firewall Rules and Policies
По умолчанию настройки брандмауэра Plesk состоят из политик и правил. Политики имеют широкую область применения и влияют на все входящие и исходящие соединения с сервером, в зависимости от самой политики. Например, вы можете использовать Системную политику для входящего трафика (на странице Инструменты и настройки > Брандмауэр), чтобы полностью заблокировать все входящие соединения с сервером. Правила имеют более узкую область применения и управляют входящими соединениями с отдельными службами Plesk, например, SMTP или MySQL.
Обратите внимание на то, что правила имеют более высокий приоритет, чем политики. Например, если глобальная политика запрещает весь входящий трафик, а правило разрешает входящий трафик с определенного IP-адреса, правило будет иметь преимущественную силу. Этот механизм можно использовать для простого усиления или ослабления безопасности на сервере. Например, установка политики, запрещающей все входящие и исходящие соединения с сервером за исключением нескольких разрешенных IP-адресов или портов, повысит безопасность, но такие сетевые ограничения могут нарушить работу отдельных приложений. И наоборот, разрешение всех соединений по умолчанию и использование правил для того, чтобы заблокировать доступ к отдельным службам или с отдельных IP-адресов, понизит безопасность вашего сервера, но у вас не будет проблем из-за отсутствия соединения. Экспериментируйте, чтобы найти оптимальный компромисс между удобством и безопасностью.
Управлять брандмауэром можно двум способами:
- Изменяя настройки установленных по умолчанию политик и правил.
- Создавая собственные правила.
Чтобы изменить настройки установленных по умолчанию политик и правил, перейдите на страницу Инструменты и настройки > Брандмауэр (в разделе Безопасность) и нажмите Включить управление правилами брандмауэра. Подтвердите включение управления правилами брандмауэра, подождите, пока применятся изменения, затем нажмите Изменить правила брандмауэра Plesk. Нажмите название правила или политики, которые вы хотите изменить. Можно настроить политику, разрешающую или запрещающую соединения, и можно настроить правило, разрешающее или запрещающее соединения, или разрешающее соединения только с определенных адресов и запрещающее со всех остальных. Когда все нужные изменения внесены, нажмите Применить изменения, чтобы новый набор правил вступил в силу, или Отменить изменения, если хотите вернуться к исходному состоянию.
Чтобы добавить собственное правило, включите управление правилами брандмауэра, как описано выше, и нажмите Добавить пользовательское правило. Пользовательские правила являются более гибкими по сравнению со стандартными правилами, с их помощью можно разрешить или запретить входящие, исходящие или переброску соединений с определенными портами или IP-адресами. После того, как вы создали одно или несколько собственных правил, нажмите Применить изменения, чтобы ваши правила добавились в общий набор правил, или Отменить изменения, чтобы не сохранять их. Если впоследствии вы захотите удалить одно или несколько собственных правил, поставьте возле них галочки и нажмите Удалить, подтвердите удаление, затем нажмите Применить изменения, чтобы выбранные правила удалились из общего набора правил.
При создании собственных правил, будьте внимательны, чтобы по ошибке не заблокировать соединения с портами, используемыми службами Plesk.
Примечание: Если вы используете контейнеры Docker, правила брандмауэра Docker не будут добавлены к правилам брандмауэра Plesk.
Country Blocking
You can use the Plesk firewall to block access to or from IP addresses belonging to a particular country.
Blocking access from a specific country
- Войдите в Plesk.
- Перейдите в раздел Инструменты и настройки > Брандмауэр (в разделе «Безопасность»).
- Click the «Firewall protection» toggle button so that it shows “Enabled”. If firewall protection is already enabled, skip this step.
- Click the
button.
- (Optional) Give your rule a name.
- Set «Action» to «Deny».
- Under «Sources», enter the two letter ISO 3166 country code of the country you want to block (for example, to block all incoming connections from Afghanistan, enter AF).
- (Optional) Click «Add one more», and repeat the previous step to block an additional country. You can block as many countries as you want.
- Click Save once you have added all countries you want to block.
- Click Apply Changes, and then click Apply.
Once the firewall configuration has been applied, all incoming connections to your server from the blocked country or countries will be denied.
By default, Plesk uses the free «IP to Country Lite» database from DB-IP. You can instead use a free or paid database from MaxMind. Before you can do so, you need to obtain a free or paid license from MaxMind and receive your license key.
Switching to the paid GeoIP2 database
-
Добавьте следующие строки в файл panel.ini:
[ext-firewall] geoipDataSource = maxmind-lite
to use the free GeoLite2 database, or
[ext-firewall] geoipDataSource = maxmind
to use the paid GeoIP2 database.
-
Войдите на сервер по SSH и запустите команду:
LICENSE_KEY=<enter your license key here> plesk sbin modules/firewall/ipsets --configure --data-source maxmind-lite --force
или
LICENSE_KEY=<enter your license key here> plesk sbin modules/firewall/ipsets --configure --data-source maxmind --force
to use the free or paid database from MaxMind, respectively.
Примечание: The command may finish with a
Set cannot be destroyed
warning. The warning can be safely ignored. -
Перейдите в раздел Инструменты и настройки > Брандмауэр (в разделе «Безопасность»).
-
Click Apply Changes, and then click Apply.
Примечание: If the Apply Changes button is missing, create a new firewall rule to trigger the ability to apply changes. You can remove that rule afterwards.
Once the firewall configuration has been applied, the GeoIP2 database will be used instead of GeoLite2.
To switch back to the free database from DB-IP, remove the geoipDataSource = maxmind-lite
or geoipDataSource = maxmind
line from the panel.ini
file, and then reapply the firewall configuration.
Importing and Exporting Firewall Configuration
You may want to duplicate one Plesk for Linux server’s firewall configuration on other Plesk for Linux servers. The easiest way to do so is to export the firewall configuration to a file, and then to import it on each of those Plesk for Linux servers. You can import and export the firewall configuration both via the graphical interface and the command line.
Exporting the firewall configuration via the GUI
- Log in to Plesk on the server whose firewall configuration you want to copy.
- Перейдите в раздел Инструменты и настройки > Брандмауэр (в разделе «Безопасность»).
- Click Export.
The firewall configuration will be saved to a .json
file. You can find it in your browser’s downloads directory.
Importing the firewall configuration via the GUI
- Log in to Plesk on a server you want to copy another server’s firewall configuration to.
- Перейдите в раздел Инструменты и настройки > Брандмауэр (в разделе «Безопасность»).
- Click the «Firewall protection» toggle button so that it shows “Enabled”, and then click Apply. If firewall protection is already enabled, skip this step.
- Click Import, and then locate the
.json
file exported on the server whose firewall configuration you want to copy.
The firewall configuration from the file will be applied.
Exporting the firewall configuration via the CLI
-
Log in via SSH to the server whose firewall configuration you want to copy.
-
Run the following command to export the firewall configuration:
plesk ext firewall --export > rules.json
You can give the file any name you want, «rules.json» is just an example.
The firewall configuration will be saved to the specified file.
Importing the firewall configuration via the CLI
-
Log in via SSH to a server you want to copy another server’s firewall configuration to. You need to open two separate SSH sessions to import the firewall configuration.
-
In the first SSH session, run the following command to enable firewall protection. If firewall protection is already enabled, skip this step.
plesk ext firewall --enable
-
In the second SSH session, run the following command to confirm firewall protection. If firewall protection is already enabled, skip this step.
plesk ext firewall --confirm
-
In the first SSH session, run the following command to import and apply the firewall configuration:
plesk ext firewall --import -config <the file's URL or local path> && plesk ext firewall --apply
Например
plesk ext firewall --import -config https://example.com/rules.json && plesk ext firewall --apply
или
plesk ext firewall --import -config /tmp/rules.json && plesk ext firewall --apply
-
In the second SSH session, run the following command to confirm the imported firewall configuration.
plesk ext firewall --confirm
The firewall configuration from the file will be applied to the server.