Często widziałem, że zasada była -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
stosowana. Chociaż nie jestem ekspertem, ta konkretna linia dotyczy mnie. Jest całkiem oczywiste, że reguła zezwala na cały ruch z jedynym wyjątkiem, że połączenie musi zostać ustanowione lub powiązane z ustanowionym połączeniem.
Scenariusz
- Pozwolę na połączenia z domyślnym portem SSH
22
z serwerów LAN w podsieci192.168.0.0/16
lub cokolwiek innego. SuperInsecureApp®
odsłania coś na porcie1337
, co dodaję do mojegoINPUT
łańcucha.- Dodałem
conntrack
regułę do akceptowaniaESTABLISHED
iRELATED
ze wszystkich źródeł - Polityka łańcucha jest
DROP
Tak więc w zasadzie ta konfiguracja powinna umożliwiać połączenia SSH tylko z sieci LAN, jednocześnie dopuszczając ruch przychodzący do portu 1337 ze świata.
To tutaj rozkwita moje zamieszanie. Czy conntrack
w jakikolwiek sposób ujawniłby lukę w zabezpieczeniach, która pozwoliłaby uzyskać ustanowione połączenie na 1337 (ponieważ świat jest otwarty), a następnie wykorzystać to połączenie, aby uzyskać dostęp do portu SSH (lub dowolnego innego portu w tym zakresie)?