( stra | 2013. 08. 25., v – 09:48 )

Ezek a megoldások jók lennének, de valamiért a szabályai sorrendjén nem akart változtatni. Márpedig ahogy írta, az első szabálya csak conntrack alapú, "-A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT". Ezt követően már bármi jöhet, akár recent modul, akár külön chain, akár ipset alapoon, ami a connection tracking szerint ESTABLISHED, az átmegy.

Ezt írta: "viszont ha "bent" van, és utána csinál valami nem megengedettet, akkor valahogy ki kell onnan lökni!". Lefordítva: ez gyakorlatilag az ő esetében a HTTP keepalive-os kapcsolatokat jelenti, ezeket akarja megszakítani, ha a kliens egyazon TCP sessionben nem kívánt URL-t kérdezett.

Márpedig ha a keepalive engedélyezve van a szerveren - és miért ne lenne - amíg a TCP session él, addig a webszerver engedni fogja a próbálkozásokat. (Apache esetén default 100 a MaxKeepAliveRequests értéke, azaz egy TCP sessionben akár 100 URL-t is megpróbálhatna a kliens.) A kérdező ezt szeretné megakadályozni, illetve egyre korlátozni.

A connection trackingből törli, így a következő csomag NEW lesz, ami azt jelenti, hogy az első szabályra nem illeszkedik, tehát a további szabályok is szóhoz jutnak.

Ami javaslatokat a conntrack módosításán kívül írtunk, mind feltételezte, hogy az ESTABLISHED átengedése elé kerülhetnek. Nem kerülhettek.