Назад | Перейти на главную страницу

UFW блокирует APT и DNS

Я установил ufw в свою систему Debian следующим образом:

# aptitude install ufw
# ufw limit 22
# ufw allow 80
# ufw allow 443
# ufw enable
# ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
New profiles: skip

To                         Action      From
--                         ------      ----
20                         LIMIT       Anywhere
80                         ALLOW       Anywhere
443                        ALLOW       Anywhere

Простой ping google.com терпит неудачу, также любой aptitude install не удастся. Я искал ответы на serverfault. Одно из решений - разрешить порт 53 для DNS - не помогло. Или ufw allow out 1024:65535/udp вместе с портом 53 - не помогло.

Что сработало, так это позволить моему DNS-серверу ufw allow from [DNS IP]; но это не решение, если вы спросите меня.

apt-get и aptitude заблокированы ufw. Не удалось найти ничего о том, как разрешить установку новых вещей. Пример записи журнала ufw:

Aug 12 17:31:08 host kernel: [535454.665168] [UFW BLOCK] IN=eth0 OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:00:00 SRC=0.0.0.0 DST=0.0.0.0 LEN=60 TOS=0x00 PREC=0x00 TTL=52 ID=0 DF PROTO=TCP SPT=80 DPT=41343 WINDOW=14480 RES=0x00 ACK SYN URGP=0

Любые идеи?

Вам нужно добавить в iptables, так как ufw просто взаимодействует с ним.

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Эти правила помогли мне успешно получить ограничение скорости на SSH, разрешить ввод / вывод http и https, включить git и без проблем работать с apt и aptitude:

ufw default deny incoming
ufw default deny outgoing
ufw limit ssh
ufw allow svn
ufw allow git
ufw allow out http
ufw allow in http 
ufw allow out https
ufw allow in https
ufw allow out 53
ufw logging on
ufw enable

Примечание: Я инициировал эти правила с ufw reset ПЕРВЫЙ, чтобы начать все сначала.

У меня была проблема с pptpd + ufw - запросы к DNS были заблокированы, даже если я разрешил 53 порт. Вы пытались открыть /etc/default/ufw и изменить параметр "DEFAULT_FORWARD_POLICY" с "DROP" на "ACCEPT"? Это помогло мне.

То, что у меня сработало, используя здесь Ubuntu (14.04 и 14.10 на момент написания), взято из следующей статьи: http://rene.bz/securing-your-web-server-blocking-outbound-connections/

iptables -A ufw-before-output -m owner --uid-owner root -p tcp --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A ufw-before-output -m owner --uid-owner root -p udp --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

Возможно, это не идеальное решение. Но это позволяет мне авторизовать команды apt для каждого пользователя.