Выкарыстанне ўласнасці сокета, каб разарваць цыкл перанакіравання лакальнага проксі
Выключыце ўласныя зыходныя сокеты працэсу проксі з лакальнага перанакіравання OUTPUT, замест таго каб угадваць яго зыходныя порты.
Лакальны проксі перахопу адкрывае новыя знешнія злучэнні. Калі суцэльнае перанакіраванне OUTPUT захоплівае і гэтыя сокеты, яно вяртае проксі да яго ўласнага слухача.
Для існуючай канфігурацыі IPv4 iptables NAT асобная ідэнтычнасць службы можа адрозніць гэтыя сокеты:
-A OUTPUT -p tcp -m owner ! --uid-owner proxyuser \
-m multiport --dports 80,443 -j REDIRECT --to-ports 8080
Гэты фрагмент правілаў мяркуе, што слухач, здольны да перахопу, ужо існуе на порце 8080, а зыходныя сокеты проксі належаць proxyuser. Злучэнні гэтага карыстальніка выключаны з гэтага правіла; прыдатныя злучэнні іншых карыстальнікаў перанакіроўваюцца.
Браўзер звычайна выбірае эфемерны зыходны порт. Супастаўленне зыходнага порта 80 або 443 не з'яўляецца надзейным спосабам распазнаць яго злучэнні з сайтам або вызваліць проксі.
Супастаўленне ўласніка датычыцца лакальна створанага трафіку з уласнасцю сокета. Яно не замяняе палітыку зыходных адрасоў для пакетаў, што прыходзяць з іншых машын.
Трымайце ў полі зроку існуючы парадак правілаў і сеткавую палітыку. Перанакіраванне не ператварае сыры слухач SOCKS у адаптар перахопу, і IPv6 таксама патрабуе адпаведнай канфігурацыі.