Отключите IPv6 в Debian VPS (Virtuozzo!)

Примечание. Этот вопрос до сих пор не решен - ответ был принят автоматически.

У меня есть Debian Lenny VPS, который работает под виртуальным управлением Parallels/Virtuozzo. В настоящее время сетевой интерфейс не имеет адреса IPv6 - и это хорошо, потому что у меня нет ip6tables конфигурации.

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

Как лучше всего отключить IPv6 (для интерфейса или, возможно, для всего хоста)? Обычно я просто отключаю модуль ядра, но в этом случае это невозможно.

Обновить

Может быть, я должен добавить, что я могу использовать iptables и все нормально (я root на VPS), но я не могу вносить изменения в ядро ​​или загружать модули ядра из-за того, как работает Virtuozzo (общее ядро).

lsmod всегда ничего не возвращает.

Я не могу позвонить ip6tables -L (он говорит, что мне нужно insmod, или что ядро ​​должно быть обновлено).

Я не думаю, что меняется на /etc/modprobe.d/aliases будет иметь какой-либо эффект, или они?

Конфиг сети?

Я подумал, что, возможно, я смогу отключить IPv6 из /etc/network/... Это возможно?

10 ответов

Решение

Я тестировал это только в Ubuntu, но вы можете попробовать следующее:

echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6

И если это работает, вы можете сделать его постоянным, добавив следующее в /etc/sysctl.conf:

net.ipv6.conf.all.disable_ipv6=1

Лучшее решение - настроить конфиг iptables, который охватывает v6.

В противном случае большинство демонов позволят вам указать адреса интерфейсов для привязки, по умолчанию все. Явно перечислите адреса v4, которые вы хотите, и тогда они не оставят открытых портов на адресах v6, если позже вы их получите. Исходящие соединения все же предпочли бы адреса v6.

Я считаю, что в настоящее время лучший способ отключить IPv6 в Debian Lenny - это создать файл в /etc/modprobe.d названный ipv6.conf с blacklist ipv6 в этом, тогда беги depmod -ae как корень, а затем update-initramfs -u,

Об этом можно прочитать в вики debian.org здесь: http://wiki.debian.org/KernelModuleBlacklisting

Удачи!

--jed

Я не могу проверить это в Debian прямо сейчас, но в Redhat вы можете изменить файл /etc/sysconfig/network и добавить "NETWORKING_IPV6=no"

Пойдем дальше, но разве хост-провайдер не сообщит своим клиентам о каких-либо потенциальных изменениях в ядре? Испытывали ли вы что-нибудь (обновление ядра и т. Д.), Которое заставило бы вас поверить, что это произойдет без предварительного уведомления? Кроме того, они даже маршрутизируют трафик IPv6 в / из своей сети? Может быть, лучше всего просто выразить свою заботу о поддержке и идти оттуда.

Есть довольно простой способ не быть уязвимым для атаки на IPv6.

Не слушайте услуги, которые не должны быть открыты миру. По крайней мере, простое принудительное привязывание сервисов к определенному IPv4-адресу должно гарантировать, что они не прослушивают IPv6. netstat -tupl могу помочь с этим.

Брандмауэры должны существовать по двум причинам: * Защита сервисов с ограниченным доступом к миру (TCP-оболочки также помогают здесь) * * Защита от ваших собственных ошибок

Не уверен, поможет ли это, но OpenVZ (Virtuozzo с открытым исходным кодом), похоже, не поддерживает IPv6.

Разве блокирование всего в ip6tables не решит вашу проблему? Это также позволяет вам реализовать iptables ipv6 всякий раз, когда вы захотите, без необходимости повторного включения ipv6.

ip route del::/0

уберите маршрут по умолчанию, который фактически нарушит соединение IPv6.

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

Удачи,

--jed

Другие вопросы по тегам