spójrzmy na te dwie reguły iptables, które są często używane, aby umożliwić wychodzący DNS:
iptables -A OUTPUT -p udp --sport 1024:65535 --dport 53
-m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp --sport 53 --dport 1024:65535
-m state --state ESTABLISHED -j ACCEPT
Moje pytanie brzmi: jak dokładnie powinienem rozumieć stan USTANOWIONY w UDP? UDP jest bezpaństwowcem.
Oto moja intuicja - chciałbym wiedzieć, czy jest to nieprawidłowe:
Strona podręcznika mówi mi to:
stan
Ten moduł, w połączeniu ze śledzeniem połączeń, umożliwia dostęp do stan śledzenia połączenia dla tego pakietu. --stan ...
Iptables w zasadzie pamięta numer portu, który został użyty dla pakietu wychodzącego (co jeszcze mógłby zapamiętać dla pakietu UDP?) , A następnie zezwala na pierwszy przychodzący pakiet, który jest wysyłany z powrotem w krótkim czasie? Osoba atakująca musiałaby odgadnąć numer portu (czy to naprawdę byłoby zbyt trudne?)
O unikaniu konfliktów:
Jądro śledzi, które porty są blokowane (przez inne usługi lub przez poprzednie wychodzące pakiety UDP), aby porty te nie były wykorzystywane w nowych wychodzących pakietach DNS w określonym czasie? (Co by się stało, gdybym przypadkowo próbował uruchomić usługę na tym porcie w określonym przedziale czasowym - czy próba ta zostałaby odrzucona / zablokowana?)
Proszę znaleźć wszystkie błędy w powyższym tekście :-) Dzięki,
Chris