Чи потрібно мені також встановити інші правила iptables для ipv6, якщо я щойно використовував iptables?


21

Скажімо, у мене на сервері Linux з iptables встановлена ​​брандмауер, щоб я міг приймати лише порти 22 та порт 80 та заблокував доступ до всіх інших портів.

Чи працюють ці правила, лише якщо клієнтська машина використовує адресу IPv4? Отже, якщо використовується ipv6-адреса, клієнт може отримати доступ до портів, до яких я не хочу їх? (тобто порти, окрім порту 22 та порту 80)


Ви не позначили жодної відповіді корисною. Ви повинні це зробити. ;-)
Андерс

Відповіді:


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 підключено. Як я розумію, якщо у вас є IPv6, вам слід додати правила ip6tables.
Thomas Ward

1
@ user230779 Я міг би створити скрипт, який би виконував ту саму команду для iptablesAND ip6tables, і загальні правила на кшталт -p tcp --dportвсе ще працюватимуть, але складніші правила можуть не працювати ... (як -j REJECT --reject-with [something])
Thomas Ward

Томасе, ти можеш прив'язати мене до безпечного прикладу ip6tables для веб-сервера apache?
user230779

1
@Braiam ніколи нічого не говорив про прапори. Деякі команди не працюватимуть ( -j REJECT --reject-with icmp-host-prohibitedнаприклад, тому що пакет відхилень - це інше ім’я в IPv6)
Thomas Ward

3

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

Тому настійно рекомендуємо використовувати ufwпакет або shorewall6разом із ним shorewall. На iptablesзовнішньому інтерфейсі ufwпідтримує як IPv4 і IPv6 і відмінно працює на серверах з одним або двома інтерфейсами , але не направляє трафік (робота в якості маршрутизатора або шлюзу). Якщо ви спрямовуєте трафік, вам потрібно щось краще, наприклад, shorewallабо вручну додати деякі правила переадресації з iptablesта ip6tables.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.