Настройка брандмауэра Docker
Настройка брандмауэра хоста Docker
Настройка брандмауэра Docker-хоста
- Предполагается сервер Debian/Ubuntu
- Предназначен для запуска на сервере Docker-хоста
Установка необходимых компонентов
# Ultimate Firewall Neededapt-get update && apt-get install -y ufw nmap curlПолучение внутреннего и внешнего IP-адресов
# Get your IP Addresses, simple output:hostname --all-ip-addresses
# Или используйте утилиту ip, пример:ip addrНастройка брандмауэра (UFW) — примеры команд
ufw logging on # on=low — medium может быть лучше для диагностикиufw logging medium# Сначала блокируем всёufw default deny incoming
# ОБЯЗАТЕЛЬНО: ВЫБЕРИТЕ ОДНО ИЗ СЛЕДУЮЩИХ ПРАВИЛ ПО УМОЛЧАНИЮ ДЛЯ ИСХОДЯЩЕГО ТРАФИКА:ufw default deny outgoingufw default allow outgoing
# Разрешаем и логируем все новые SSH-подключения,ufw allow log proto tcp from any to any port 22## Разрешаем HTTP-трафик (без явного логирования)ufw allow out on docker0 53/udp to 172.17.0.1/16ufw allow out on eth0 to any port 53ufw allow out on eth0 from 0.0.0.0/0 to any port 80 proto tcpufw allow out on eth0 from 0.0.0.0/0 to any port 443 proto tcp
# Подробно: ufw allow proto tcp from any to any port 80ufw allow 80/tcpufw allow 443/tcpufw allow log 22/tcpufw limit ssh # Базовая защита от перебора паролей SSH (лимит 4 попытки)
# Укажите ваш внешний IPexport EXTERNAL_IP=123.123.123.123# При необходимости обновите IP Dockerexport DOCKER_IP=172.17.42.1# Перенаправление tcp 8080 трафика в контейнеризованное приложениеufw allow proto tcp from $EXTERNAL_IP port 8080 to $DOCKER_IP port 3000Включение / Запуск брандмауэра
Будьте осторожны, не заблокируйте свой SSH-порт (sshd по умолчанию использует порт 22)
ufw --force enable
ufw resetПроверьте ваш брандмауэр
Важно: ИСПОЛЬЗУЙТЕ УДАЛЕННЫЙ IP-АДРЕС/МЕСТОПОЛОЖЕНИЕ
# Проверка зависимостейapt-get update && apt-get install -y nmap
# Установите цель сканированияexport TARGET_HOST=123.123.123.123
# Примеры команд сканирования:# Быстрая проверка открытых портовnmap -p 1-10240,27017 -T5 $TARGET_HOST# Тщательное сканированиеnmap -p 1-10240,27017 --open -v -APN $TARGET_HOST# Проверка службnmap -p 1-10240,27017 -O --osscan-guess $TARGET_HOSTГОТОВО! Теперь вы должны видеть ТОЛЬКО те порты, которые настроили!