103 слова | 1 минута

Firewall

Установка и настройка брандмауэра позволит закрыть все порты, кроме необходимых нам —22 (SSH), 80 (HTTP), 443 (HTTPS). Первый протокол необходим для подключения к удаленному серверу. Второй и третий необходим для связи между клиентом и сайтом. Главное их отличие в том, что HTTPS — это зашифрованный HTTP. Шифрование данных происходит благодаря SSL-сертификату.

Установим утилиту UFW:

sudo apt install ufw

После успешной установки добавим веб-сервер в список доступных приложений брандмауэра:

sudo nano /etc/ufw/applications.d/nginx.ini

Заполним файл следующим образом:

[Nginx HTTP]
title=Web Server
description=Enable NGINX HTTP traffic
ports=80/tcp

[Nginx HTTPS]
title=Web Server (HTTPS)
description=Enable NGINX HTTPS traffic
ports=443/tcp

[Nginx Full]
title=Web Server (HTTP,HTTPS)
description=Enable NGINX HTTP and HTTPS traffic
ports=80,443/tcp

Проверим список доступных приложений:

sudo ufw app list

Если среди них есть веб-сервер, значит всё сделано верно. Теперь нужно запустить брандмауэр и разрешить передачу трафика по вышеуказанным портам:

sudo ufw enable
sudo ufw allow 'Nginx Full'
sudo ufw allow 'OpenSSH'

Чтобы проверить изменения, вводим команду:

sudo ufw status

RabbitMQ

sudo nano /etc/ufw/applications.d/rabbitmq.ini

Заполним файл следующим образом:

[RabbitMQ]
title=Web Server
description=Enable GUI HTTP traffic
ports=4369,5671,5672,15672,15673,15674,15675,25672,61613,61614,1883/tcp
sudo ufw allow 'RabbitMQ'

Полный список портов:

sudo ufw allow 4369
sudo ufw allow 5671:5672/tcp
sudo ufw allow 15672:15675/tcp
sudo ufw allow 25672
sudo ufw allow 61613:61614/tcp
sudo ufw allow 1883
sudo ufw allow 15674

sudo ufw reload

Проверка портов

ss -plnt