сценарій iptables rulematch


0

припустимо, ви маєте правило iptables наступним чином: джерело A ------ & gt; джерело B приймає джерело B ------ & gt; джерело краплі.

я зауважу, що: - приймається перший tcp пакет від А до В - пакет відповіді від B відкидається.

чому пакується відповідь? оскільки перший пакет від A - & gt; B було дозволено і прийнято, його слід було додати до таблиці підключень. коли пакет від B - & gt; А вводиться, пошук повинен був бути зроблений до запуску правило правило і прийняти без запуску правила, яка вирішує відмовитися. чому iptables не виконує пошук?

Дякую.


Ви дійсно повинні опублікувати iptables-save . Якщо навіть ваші правила є правильними, порядок в ньому також є вирішальним для успіху. Чи є у вас стандартне, встановлене правило? iptables -I INPUT 1 -m conntrack -j ACCEPT --ctstate ПОВ'ЯЗАНА, ВСТАНОВЛЕНА
cybernard

Привіт, у мене 2 правила: 1 правило A - & gt; B приймає, друге правило B - & gt; Падіння і iptables завжди зменшують відповідь від B до - & gt; A. Чому пакети, що надходять з B - & gt; А скинуто? це означає, що якщо я хочу мати зв'язок між A - - & gt; B, я завжди повинен додати правило, щоб "прийняти" відповіді пакетів? Дякую.
Avi Nehori

які політики за замовчуванням для INPUT, FORWARD, OUTPUT? Вам це потрібно, інакше у вас виникнуть проблеми. iptables -I INPUT 1 -m conntrack -j ACCEPT --ctstate ПОВ'ЯЗАНА, ВСТАНОВЛЕНА
cybernard

моя політика за замовчуванням, звичайно, падає для всіх.
Avi Nehori

моя політика за замовчуванням, звичайно, падає для всіх. моє сподівання полягає в тому, що коли один потік пакетів буде схвалено, зворотний потік також буде прийнятий. Відстеження з'єднання для держави не допомагає, я спробував і все одно отримую краплі для зворотного потоку. я очікував, що якщо A - & gt; B підсумовується за допомогою правила iptables, також приймаються зворотні пакети. я не бачу причини, чому iptables виконувати rulmatch на зворотному пакеті. це означає, що мені потрібно створити 2 правила для кожного бажаного правила. хіба це не так?
Avi Nehori

Відповіді:


0

Так, я додав його і не змінював. Я спостерігаю це як загальну поведінку і коли я переглядаю Вихідний код Iptables передбачається поведінкою. Цікаво, яким чином iptables можна використовувати взагалі, оскільки це абсолютно смішно, щоб додати зворотне правило. Керувати такою базою правил неможливо. Сподіваюся, ми зможемо роз'яснити це. Дякую.


0

iptables дуже низький рівень, і коли ви пишете правила iptables, ви маєте справу з сирими IP-пакетами. Це має ряд наслідків, один з яких ви знайшли.

Існують цілком допустимі випадки використання, коли вихідний трафік повинен бути дозволений, але будь-який відповідний вхідний трафік не повинен проходити через брандмауер; або навпаки, вхідний трафік дозволений, але вихідний не дозволений. Одним з поширених прикладів для цього є сервери зберігання журналів (які, в свою чергу, часто корисні для аудиту): трафік журналу повинен бути дозволений в , але жоден не повинен бути дозволений з . У крайньому випадку дозволений трафік журналу в , але більш нічого має бути дозволено або вхід, або вихід .

За допомогою iptables не роблячи ніяких припущень про те, що ви хочете, ви не тільки підвищуєте безпеку, але й продуктивність, тому що набір правил може бути оптимізований саме для того, що ви хочете брандмауер насправді робити.

Якщо ви бажаєте дозволити вхідний трафік, пов'язаний з вже встановленим з'єднанням або сеансом, просто скажіть йому так:

sudo iptables -I INPUT 1 -m state --state RELATED,ESTABLISHED -j ACCEPT

або для IPv6:

sudo ip6tables -I INPUT 1 -m state --state RELATED,ESTABLISHED -j ACCEPT

Налаштуйте -I INPUT 1 частину за необхідністю (наприклад, якщо у вас є інші правила, які повинні мати перевагу над загальним правилом дозволу трафіку, що стосується встановленого з'єднання або сеансу).

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