Отключите 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