Я установил некоторые правила для своего ufw, но я думаю, что он просто ничего не блокирует. Это его текущий статус:
~# ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), deny (routed)
New profiles: skip
To Action From
-- ------ ----
22 ALLOW IN Anywhere
80 ALLOW IN Anywhere
27015:27115/udp ALLOW IN Anywhere
27015:27115/tcp ALLOW IN Anywhere
22 (v6) ALLOW IN Anywhere (v6)
80 (v6) ALLOW IN Anywhere (v6)
27015:27115/udp (v6) ALLOW IN Anywhere (v6)
27015:27115/tcp (v6) ALLOW IN Anywhere (v6)
Как видите, он по умолчанию запрещает входящие соединения и разрешает только определенные порты. Но все же я только что установил новую службу на порт 8083 и могу получить к ней доступ извне. Почему это так?
Я использовал контейнер докеров для запуска этой новой службы, если это имеет значение.
Это выглядит как
Docker напрямую вмешивается в IPTables
. Это поведение можно изменить, добавив --iptables = false в демон Docker.
Отредактируйте / etc / default / docker и раскомментировать строка DOCKER_OPTS:
DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4 --iptables=false"
Автор пришел к следующему выводу:
- UFW не сообщает вам истинное состояние iptables (не шокирует, но все же).
- Никогда не используйте параметр -p (или -P) в Docker для того, что не хотите публиковать.
- Связывайте только с интерфейсом обратной связи или внутренним IP.