Kill switch inawaka: nini hufanyika kwa vipindi vya TCP vilivyo wazi?
Pakiti iliyozuiwa si muunganisho uliofungwa. Amua kama kipindi kinapaswa kuvuka pengo, kisha jaribu uzuiaji na urejeshaji kama sifa mbili tofauti.
Tunnel inaanguka, kill switch inawaka, na upakuaji uliokuwa robo tatu umekamilika ama hukwama au hushindwa mara moja. Matokeo haya mawili yanatoka kwa maamuzi tofauti ya utekelezaji, si viwango tofauti vya ulinzi. Pakiti iliyotupwa huacha muunganisho ukisubiri, wakati pakiti iliyokataliwa huufunga na kuijulisha programu. Kuamua ni tabia gani unataka ni swali la ubunifu, na kuijaribu ni zoezi tofauti.
Kutupa, kukataa na kuweka upya ni tofauti
Kanuni ya firewall inayotupa trafiki huutupa pakiti na haiturudishi chochote, kwa hivyo mtumaji huendelea kutuma tena kwa muda wake mwenyewe. Kanuni inayokataa kwa TCP reset hufunga muunganisho mara moja na programu huona hitilafu. Kill switch nyingi hutupa, kwa sababu kukataa kungefichua sera na kwa sababu kutupa kunafanana na tabia ya mtandao uliokufa.
Kuzuia si sawa na kufunga soketi. Programu bado inashikilia kielekezi katika hali iliyoimarishwa, na ni pakiti tu zinazokosekana. Ndiyo sababu ukurasa unaweza kukaa kwenye kizunguzungu kwa dakika wakati mfumo wa uendeshaji unasisitiza kuwa muunganisho upo. Soma utekelezaji ulioandikwa badala ya kuukisia kutoka ujumbe wa programu, kwa kuwa tabia zote mbili zinaonekana kama mtandao umeanguka.
Programu hufanya nini wakati pengo linaendelea
TCP hutuma tena kwa ucheleweshaji unaoongezeka, na bajeti ya kawaida ya majaribio ya Linux huisha karibu robo saa, si kwa sekunde. Hadi wakati huo soketi haiko wazi kwa manufaa wala haijafungwa. Programu zilizo na keepalive zao au muda wa mwisho wa maombi mara nyingi hukata tamaa mapema, ndiyo sababu programu mbili kwenye mashine moja hutenda tofauti wakati wa hitilafu moja.
Tunnel inaporejea, soketi ya ndani haijabadilika lakini njia inaweza kuwa imebadilika. Anwani mpya ya chanzo cha umma huzalisha nne-mbili tofauti kwenye seva, kwa hivyo firewall yenye hali upande wa pili hailingani tena na kipindi. Muunganisho umekufa ingawa mteja hakuwahi kuona hitilafu.
Amua kama urejeshaji unahitajika
Chagua kati ya mikataba miwili. Ama kipindi kinapaswa kuvuka pengo fupi, ambayo inahitaji anwani thabiti na seva inayohifadhi hali yake, au programu inapaswa kuunganisha tena kwa usafi, ambayo inahitaji mantiki ya majaribio tena iliyo salama kurudiwa. Kitu chochote katikati hutoa matokeo mabaya zaidi: mteja anayetuma tena kile seva ilichokwisha rekodi, au yule anayeripoti mafanikio kwa kipindi ambacho hakuna anayeweza kukiona.
Anwani thabiti ni sehemu ambayo watu huisahau, kwa sababu muunganisho wa tena unaotua kwenye anwani tofauti ya umma huharibu hali ya upande wa seva hata wakati soketi ya mteja inaonekana kuwa nzuri. Andika ni mkataba upi kati ya miwili unatumika kwa kila programu, kwa kuwa mara chache zote hulingana.
Angalia uzuiaji na urejeshaji kwa tofauti
Chukulia ulinzi wa uvujaji na kunusurika kwa kipindi kama sifa mbili, kwa sababu kupita moja hakusemi chochote kuhusu nyingine. Kipindi kilichonusurika si uthibitisho kwamba trafiki ya moja kwa moja ilizuiwa, na kipindi kilichokufa si uthibitisho kwamba kila njia ya moja kwa moja ilizuiwa.
ss -tnp state established '( dport = :443 )'
sudo conntrack -L -p tcp --dport 443
sudo tcpdump -ni any 'tcp port 443 and tcp[tcpflags] & tcp-syn != 0'
Wakati wa kuchunguza urejeshaji tumia operesheni isiyo na madhara ya jaribio, ili uwasilishaji rudufu usiwe tukio. Rekodi aina ya kushindwa uliyoiona kweli: programu ilionyesha nini, soketi ilinusurika au la, na ilipojirekebisha yenyewe.
Andika tabia inayotarajiwa kando ya kanuni ya utekelezaji na uweke tarehe. Mtu anayefuata kubadilisha kanuni hiyo anahitaji kujua ni mkataba upi kati ya miwili uenezaji uliahidi.