Ich habe oft gesehen, wie die Regel -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPTangewendet wurde. Obwohl ich kein Experte bin, geht mich diese bestimmte Linie an. Es ist ziemlich offensichtlich, dass die Regel den gesamten Datenverkehr zulässt , mit der einzigen Ausnahme, dass die Verbindung hergestellt worden sein muss oder sich auf eine hergestellte Verbindung bezieht.
Szenario
- Ich erlaube Verbindungen zum Standard-SSH-Port
22vom Server-LAN im Subnetz192.168.0.0/16oder was auch immer. SuperInsecureApp®legt etwas am Port frei1337, das ich meinerINPUTKette hinzufüge .- Ich habe die
conntrackRegel hinzugefügt, um zu akzeptierenESTABLISHEDundRELATEDaus allen Quellen - Kettenpolitik ist
DROP
Grundsätzlich sollte diese Konfiguration nur SSH-Verbindungen vom LAN zulassen, während eingehender Datenverkehr auf Port 1337 von der Welt aus zulässig ist.
Hier blüht meine Verwirrung. Würde das conntrackin irgendeiner Weise eine Sicherheitslücke aufdecken, die es einem ermöglichen würde, eine hergestellte Verbindung auf 1337 herzustellen (da es weltweit geöffnet ist) und diese Verbindung dann zu nutzen, um Zugriff auf den SSH-Port (oder einen anderen Port für diese Angelegenheit) zu erhalten?