ESP er IP-samskiptaregla 50, ekki TCP-gátt 50: hvað á að leyfa
Samskiptareglunúmer og gáttarnúmer eru mismunandi nafnrými. Regla fyrir TCP-gátt 50 leyfir ekkert, og NAT-traversal færir ESP í UDP 4500.
Eldveggjaform biðja um TCP-gátt, og augljósa færslan er 50. Sú færsla leyfir ekkert, því ESP er IP-samskiptaregla númer 50 og samskiptareglunúmer eru ekki gáttir. Nafnrýmin tvö deila litlum heiltölum og engu öðru, og mistakið er ósýnilegt þar til IKE lýkur og verndaða umferðin kemur aldrei.
Tvö nafnrými sem deila litlum tölum
IP-haus ber samskiptareglusvið sem nefnir það sem kemur næst: 6 fyrir TCP, 17 fyrir UDP, 1 fyrir ICMP, 50 fyrir ESP, 51 fyrir AH. TCP- eða UDP-haus ber gáttarnúmer, sem velja ferli á áfangahýsilnum. Samskiptaregla 50 og TCP-gátt 50 eru ótengd gildi, en gluggi getur látið þau líta út fyrir að vera skiptanleg.
Þess vegna getur gáttarstreymisregla ekki lýst upprunalegu ESP. Það er engin ESP-áfangagátt til að streyma, og tæki sem skilur aðeins gáttarreglur hefur alls engan orðaforða fyrir þann pakka. Rétta reglan nefnir IP-samskiptaregluna í staðinn. Hvaða gáttarviðmót sem er er rangt tæki fyrir þann pakka.
Ruglingin hefur annan helming. Þegar pakkinn er dulkóðaður er allt inni í honum ógegnsætt, þar á meðal TCP-haus upprunalegu tengingarinnar. Eldveggur sem skoðar gáttir í þeim pakka er að skoða ytri hausinn, sem í upprunalega tilvikinu hefur engar gáttir til að skoða.
Upprunalegt ESP, svo innpakkaði valkosturinn
Upprunalegt ESP er borið beint sem IP-samskiptaregla, sem er jafn skilvirkt og óþægilegt. Skilvirkt því enginn auka haus er til, og óþægilegt því ekkert tæki sem þýðir vistföng og gáttir getur fylgt því. NAT-traversal er til að leysa það, með því að vefja ESP-pakkann inn í UDP svo þýðandinn hafi gáttir til að endurskrifa.
| Form on the wire | How it is identified | What the firewall must permit |
|---|---|---|
| IKE negotiation | UDP with a destination port | UDP 500, and 4500 once traversal is detected |
| Native ESP | IP protocol 50 in the outer header | The protocol itself, with no port to name |
| ESP inside UDP | UDP 4500 carrying an ESP payload | The UDP port pair, which translation devices can track |
Formin tvö eru valkostir í dreifingu á sama gagnarás, ekki lög af einni. Að leyfa upprunalegt ESP leyfir ekki innpakkaða formið, og að leyfa UDP 4500 leyfir ekki upprunalega umferð, svo reglusafn verður að passa við dreifinguna í stað þess að ná óvart yfir bæði.
Greining skiptir líka máli hér. Endapunktarnir ákveða milli formanna í samningaviðræðunum, og skiptingin verður venjulega þegar NAT greinist á milli þeirra. Þess vegna getur slóð sem breytist eftir að göngin eru sett upp fært umferðina í nafnrými sem reglurnar þínar náðu aldrei yfir.
Lestu hvaða form tengingin notar í raun
Spyrðu endapunktinn í stað þess að giska út frá eldveggnum. Á Linux segir stöðufærslan til um hvort samtökin noti UDP-innpökkun og hvaða gáttir eigi hlut að máli. Pakkamyndun svarar sömu spurningu úr vírnum, og hvort tveggja er fljótlegra en að lesa reglusafn og vona.
ip xfrm state | grep -A3 encap
tcpdump -ni any 'ip proto 50 or udp port 4500'
Fyrsta skipunin sýnir innpökkunargerð þegar NAT-traversal er í notkun og ekkert þegar það er ekki. Sú seinni sýnir hvort formanna tveggja fer í raun yfir viðmótið, og það gerir enda á rökræður um uppsetningu sem virðist rétt á pappír.
Mótvægissönnunin tilheyrir sama skrefi. Regla sem tilkynnir núll samsvörun segir þér að pakkinn hafi aldrei náð henni, og það er spurning um leiðsögn eða veljara, ekki eldvegg.
Staðfestu svo stjórnrásina sérstaklega. IKE hefur sínar eigin gáttir og sína eigin annála, og lokið samningaviðræða án gagna er einmitt sú skipting sem þessi grein fjallar um.
Skrifaðu regluna í rétta nafnrýminu
Samskiptaregluregla og gáttarregla eru mismunandi fyrirmæli, svo tólið verður að tjá þá sem þú átt við. Í nftables er samskiptareglusamsvörunin skýr, og innpakkaði valkosturinn fær sína eigin UDP-reglu. Haltu reglunum tveimur við hlið hvors annars svo parið sjáist við yfirferð.
nft add rule inet filter input ip protocol esp accept
nft add rule inet filter input udp dport { 500, 4500 } accept
Standist freistnina að víkka hvoruga regluna til að bæta upp ranga greiningu. Að leyfa allt fyrir ESP-samskiptaregluna á hverju viðmóti, eða UDP-leyfi frá hvaðan sem er til hvers sem er, lagar einkenni og fjarlægir stjórnina sem þú varst að reyna að setja upp. Þrönga studda flæðið er næstum alltaf nóg þegar formið er þekkt.
Að lokum, haltu lögunum beint þegar göngin virka og forritið ekki. Pakkar sem berast að gáttinni þurfa enn áframleiðslu, bakleið og stefnu sem hleypir þeim, og ekkert þess er tjáð af ESP-reglu. Gáttin sem vantar útskýrir ákveðna bilun, ekki hverja IPsec-bilun. Haltu reglubótinni og leiðsagnarprófuninni sem tveimur aðskildum niðurstöðum.
Skráðu formið sem þú sást, samskiptaregluna sem þú bættir við og teljarann sem þú sást síðan. Þrjár línur, og næsta manneskja getur greint nafnrýmismistök frá leiðsagnarmistökum á einni mínútu í stað heils eftirmiðdags.