Нужно ли мне устанавливать другие правила iptables для ipv6, если я только что использовал iptables?

21

Скажем, у меня на брандмауэре Linux установлен брандмауэр с iptables, так что я принимаю только трафик портов 22 и 80 и блокирую доступ ко всем другим портам.

Работают ли эти правила, только если клиентский компьютер использует адрес IPv4? Так что, если используется адрес ipv6, клиент может получить доступ к портам, которые я им не хочу? (т.е. порты, отличные от порта 22 и порта 80)

user230779
источник
Вы не пометили ни одного из ответов как полезные. Ты должен сделать это. ;-)
Андерс

Ответы:

21

iptablesработает для IPv4, но не для IPv6. ip6tablesявляется эквивалентным брандмауэром IPv6 и устанавливается вместе с iptables.

В конечном счете, однако, iptablesдля подключений IPv4, ip6tablesдля подключений IPv6. Если вы хотите, чтобы ваши iptablesправила также применялись к IPv6, вы должны также добавить их ip6tables.


Если вы попытаетесь скопировать свой iptablesнабор правил ip6tables, не все правила, которые iptablesмогут сделать, будут аккуратно перенесены ip6tables, но большинство из них это сделает.

Обратитесь к странице справки,ip6tables если вы хотите убедиться, что команды, которые вы используете в своем, iptablesбудут аккуратно перенесены.


Если вы хотите, мы можем помочь вам создать эквивалентные ip6tablesнаборы правил, соответствующие вашим iptablesправилам, если вы предоставите свой список правил брандмауэра (удалив любую информацию, которая может идентифицировать систему нарушения). В противном случае мы можем ответить только на ваш общий вопрос.

Томас Уорд
источник
10
Разве это не смешно? Чтобы уточнить, так что сейчас все мои порты на сервере широко открыты для всех, кто подключается с IPv6-адресом?
user230779
3
@ user230779 Я согласен, что это "смешно", но именно поэтому существуют ufwи другие менеджеры брандмауэров, которые добавляют правила сами к обоим, соответственно. Однако проблема здесь не в том, может ли кто-нибудь с IPv6 увидеть мой сайт? большая проблема в том, есть ли в вашей системе адреса IPv6. Большинство подключений имеют IPv4 и IPv6 от клиентских компьютеров, таких как мой. Но если удаленный сервер не имеет общедоступного IPv6, то IPv4 подключен. Однако, ip6tablesнасколько я понимаю, если у вас есть IPv6, вам следует добавить и правила .
Томас Уорд
1
@ user230779 Я мог бы создать сценарий, который выполнял бы ту же команду для iptablesAND ip6tables, и общие правила вроде бы -p tcp --dportвсе еще будут работать, но более сложные правила могут не работать ... (например -j REJECT --reject-with [something])
Томас Уорд
Томас, можешь ли ты связать меня с безопасным примером ip6tables для веб-сервера apache?
user230779
1
@Braiam никогда не говорил ничего о флагах. Некоторые команды не будут работать ( -j REJECT --reject-with icmp-host-prohibitedнапример, потому что пакет отклонения - это другое имя в IPv6)
Томас Уорд
3

Как уже говорили другие, существуют разные таблицы брандмауэров для IPv4 и IPv6. Вы можете установить правила для IPv6, например, для IPv4, но есть большой риск, что вы испортите его, если не знаете IPv6. Мол, вы не можете отказаться ICMPот IPv6, так как там есть важные части рукопожатия. Например, сказать отправителю, что кадры слишком большие и т. Д. Без этого IPv6 может перестать работать для некоторых пользователей.

Поэтому настоятельно рекомендуется использовать ufwпакет или shorewall6вместе с shorewall. На iptablesвнешнем интерфейсе ufwподдерживает как IPv4 и IPv6 и отлично работает на серверах с одним или двумя интерфейсами , но не направляет трафик (работа в качестве маршрутизатора или шлюза). Если вы маршрутизируете трафик, вам нужно что-то лучше, например, shorewallвручную добавить некоторые правила для переадресации с помощью iptablesи ip6tables.

Не забывайте, что вы можете иметь более одного IPv6-адреса на ваших интерфейсах. Некоторые из них являются только локальными ссылками, некоторые являются глобально статичными и динамическими. Таким образом, вы должны настроить правила соответствующим образом, а серверы будут прослушивать только правильные адреса.

Андерс
источник