TCP extensions:
su loadnute ked je v niekde v pravidle -p tcp:
--tcp-flags
pakety maju flagy (SYN ACK FIN RST URG PSH ALL NONE), prvy retazec flagov je retazec zoznamu flagov ktore chceme kontrolovat, druhy retazec je zoznam flagov ktore ma paket obsahovat a s ktorym ho posleme do nejakeho targetu.
#iptables -A INPUT -p tcp --tcp-flags ALL SYN,ACK -j DROP
co znamena, ze na paketoch bude skumane vsetky flagy ale len tie ktore maju flagy SYN a ACK budu DROPnute.
--syn
je to skratka pre --tcp-flags SYN,RST,ACK SYN (su skumane flagy SYN, RST, ACK a len pakety zo SYN flagom su poslane na target -j.
--source-port, --sport --destination-port --dport
zdrojove a cielove porty su bud zadane ako konkretny port (23), rozsah portov (1-65535), pripadne porty vacsie, mensie ako (<1024, >1024)
Niekedy je nutne povolit tcp spojenia jednym smerom a zakazat ho opacnym, povedzme chcete povolit pripojenia k WWW servru, ale ziadne od neho.
Riesenim je zablokovat len pakety ktore sa pouzivaju na "vyziadanie" spojenia. Tieto pakety volame SYN pakety(spravne su to pakety s nastavenym SYN flagom/bitom a ACK a RST flagmi prazdnymi). Zakazanim tychto paketov dosiahnete nemoznost otvorenia spojenia, a pouziva sa na to --syn parameter (spominana skratka - uz je jasne preco). Povedzme chceme specifikovat pokusy o spojenie zo 192.168.1.1 napiseme to "-p TCP -s 192.168.1.1 --syn".