У меня такая же проблема, как описано здесь, но данное решение для меня не работает:
Когда я добавляю правило ufw deny out to any
, и добавьте порт 80, 443/tcp, ssh-port
как исключения, а затем добавьте iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Я все еще не могу использовать apt-get update или подобные вещи.
root @ iof304: ~ # ufw status Статус: активен
To Action From
-- ------ ----
22 DENY Anywhere
80 ALLOW Anywhere
(ssh) LIMIT Anywhere
22 DENY Anywhere (v6)
80 ALLOW Anywhere (v6)
(ssh) ALLOW Anywhere (v6)
(ssh) ALLOW OUT Anywhere
Anywhere DENY OUT Anywhere
80 ALLOW OUT Anywhere
443/tcp ALLOW OUT Anywhere
(ssh) ALLOW OUT Anywhere (v6)
Anywhere (v6) DENY OUT Anywhere (v6)
80 ALLOW OUT Anywhere (v6)
443/tcp ALLOW OUT Anywhere (v6)
Теперь я удалю ufw deny out to any
(с этим все работает нормально), но я хотел бы ограничить все как можно лучше, поэтому мне, вероятно, нужно знать, используются ли порты для apt-get
- они должны быть OUT портами, так как только deny out to any
блокирует все, но apt-get
похоже, нет проблем с загрузкой материалов с отключенным правилом (это признак того, что другие порты IN не заблокированы?)
заранее спасибо
Эти правила помогли мне успешно получить ограничение скорости на 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
чтобы начать все сначала.
Я нашел ответ:
Порт 53 должен быть открыт для DNS
Порт 123 тоже кажется хорошей идеей
Ссылка на порт: http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
Порядок правил важен, и выигрывает первый матч. Поэтому при добавлении правил сначала добавьте более конкретные правила, а затем более общие правила.
Судя по опубликованному вами выводу, вы отрицаете, что все попадает в ловушку, прежде чем вы разрешите правила
Итак, на всякий случай, если это поможет кому-то, у меня есть окончательный список моих команд ufw для сервера, который должен быть веб-сервером, который подключается к внутреннему хранилищу, установленному с помощью предохранителя (реализация предохранителя связывается со службой хранения через http).
Метод
Я довольно исчерпывающе просмотрел список стандартных портов (не совсем исчерпывающий, просто справедливо ... так что я, вероятно, добавил больше, чем нужно, и, вероятно, пропустил несколько).
Я использовал / etc / server, а также Википедия список портов и разные другие статьи привели меня туда ...
Список
В любом случае, вот команды по порядку:
ufw default deny incoming
ufw default deny outgoing
ufw limit 22/tcp
ufw allow 9418/tcp
ufw limit <your custom SSH port here if not 22>/tcp
ufw allow 80
ufw allow 443
ufw allow out 80
ufw allow out 443
ufw allow out 53
ufw allow out 37
ufw allow out 101
ufw allow out 161
ufw allow out 135
ufw allow out 427
ufw allow out 43
ufw allow out 115
ufw allow out 525
ufw allow out 123
ufw allow out 873
ufw allow out 989
ufw allow out 990
ufw allow out 530
ufw allow out 546
ufw allow out 547
ufw allow out 593
ufw enable
Обоснование
В качестве небольшого пояснения, Apache = порт 80, Apache Secure = 443 (и его нужно было заключить в кавычки, чтобы команда прошла).
Порт 9418 предназначен для git (хотя он может использовать различные протоколы), 530 и 546 - IPV6, 530 и 593 - оба связаны с rpc.
Также SSH не проходит через UDP (отсюда / tcp во второй команде).
Снова надеюсь, что это кому-то поможет.
ОБНОВИТЬ:
Вышеупомянутое ранее НЕ полностью позволяло apt-get работать (я думал, что это так, но когда я пошел делать apt-get update Я получал странные результаты, если прогресс, казалось, застревал).
В любом случае я также не заметил эту строку на странице руководства:
ufw поддерживает как входящую, так и исходящую фильтрацию, и пользователи могут дополнительно указать направление входа или выхода для входящего или исходящего трафика. Если направление не указано, правило применяется к входящему трафику. ...
(курсив добавлен мной, потому что это нужно).
Оказывается, наряду с DNS-портом (53) у вас должны быть включены исходящие порты HTTP / HTTPS, чтобы правильно использовать функцию apt-get (имеет смысл ... и wget наверняка оценит это тоже и любые веб-сервисы, и, вероятно, многие получить репозитории и т.д ...).
Другие источники
https://stackoverflow.com/questions/323351/does-http-use-udp https://www.linux.com/learn/introduction-uncomplicated-firewall-ufw https://ubuntuforums.org/showthread.php?t=1876124