Abokin soket ko kanun da aka tura: wace adireshi za ka amince da ita?
Abokin soket da kanun da aka tura shaidu ne daban-daban. Kwatanta abin da kowanne ke tabbatarwa, kuma amince da kanun kawai ta hanyar sarkar wakili da kake sarrafawa.
Buƙatar da ta isa manhajarka tana ɗauke da shaidu iri biyu na adireshi: abokin da ya buɗe haɗin cibiyar sadarwa, da filin HTTP da ke da'awar adireshin abokin ciniki na baya. Suna amsa tambayoyi daban-daban. Ana lura da abokin soket, yayin da kanun wanda ya rubuta shi ke da'awa, kuma babu wanda ya kamata ya maye gurbin ɗayan a ɓoye a cikin log ko a cikin ka'idar shiga. Kwatancin da ke ƙasa yana raba su, sannan ya nuna tsarin da kanun zai zama mai amfani a ciki.
Bayyana hanyar kafin ka kwatanta wani abu:
Client -> approved reverse proxy -> application originA wannan tsarin, abokin soket na asali yawanci wakili ne, kuma kanun turawa na iya ɗauke da da'awar wakilin game da abokin ciniki. Ƙimarsa ta zo daga dangantakar da aka sarrafa da wancan wakili, ba daga sunan kanun ba.
Iri biyu na shaidar adireshi
Abokin soket gaskiya ce game da haɗin TCP ɗaya: wani abu ya kammala musafaha daga wannan adireshin. Ba lallai ba ne mutumin, na'urar ko asusun da kake damu da su, domin VPN ko hanyar fita ta Tor na iya zama tushen da sabis ke lura da shi bisa doka. Duk da haka shi ne kawai adireshin da mai masaukin ya tabbatar da kansa, kuma wannan ne dukan ƙimarsa.
Filin turawa bayanai ne game da sarkar. X-Forwarded-For, X-Real-IP da filin da aka daidaita Forwarded kowane abokin ciniki da ya isa wurin ƙarshe da ke maimaita su zai iya rubuta su, don haka amincinsu ya dogara gaba ɗaya ga wanda aka ba izinin saita su.
Ka riƙe duka biyu a cikin mahallin buƙata a ƙarƙashin sunaye daban-daban. Manhajar da ta maye gurbin abokin da kanun tana rasa ikon sake gina kuskuren amincewa daga baya, kuma wannan shi ne ainihin lokacin da kake buƙatarsa.
Kanun ba ya sake jujjuya haɗin
Rubuta adireshi a cikin filin turawa ba ya canza tushen haɗin TCP da ke isa uwar garke, kuma ba ya canza turawa a kowane wuri a kan hanyar. Turawar VPN ta yau da kullum ko NAT tushe tana isar da zirga-zirga ba tare da kowane kanun HTTP ba kwata-kwata. Haka kuma, ƙofar wucewa ba ta sake rubuta musayar HTTPS da aka kare yadda ya kamata ba tare da canza tsarin wurin ƙarshe na TLS ba.
Kuskuren akasin haka ma ya zama ruwan dare: HTTPS ba ya sa kanun turawa da abokin ciniki ya bayar ya zama gaskiya. Yana kare jigilar da'awar ƙarya daidai yadda yake kare ta gaskiya.
Idan abokin aiki ya ba da shawarar canza kanun don gyara matsalar turawa, an riga an yi kuskuren ganewar asali. Gyara hanyar, ko gyara tsarin wakilin da ke rubuta kanun.
Sunan wakilin da aka ba shi izinin yin da'awa
Ka'idoji biyu ne ke sa filin turawa ya zama mai amfani, kuma dukansu tsari ne ba lambar rubutu ba. Gefen yana daidaita ko ya watsar da duk abin da ya zo daga waje, bisa ga nasa ɗabi'ar da aka rubuta game da waɗannan filayen. Sannan asalin yana ɗaukar adireshin maye gurbin daga hanyar wakilin da ka ambata kuma daga wani wuri ba. Wannan ka'ida ta biyu tana aiki ne kawai muddin abokan ciniki ba za su iya isa asalin ta wata hanya ba, domin asalin da ke amsa buƙatun kai tsaye da na wakili ba ya san wanne ne yake hidima.
NGINX module na ainihin IP yana nuna rabuwar a fili. set_real_ip_from yana ambaton masu aikawa waɗanda ake ƙididdige da'awarsu, kuma real_ip_header yana faɗin wane fili ke ɗauke da ita; na farko yana yin amincewa, na biyu yana faɗin inda za a duba kawai.
set_real_ip_from 10.20.0.0/24;
real_ip_header X-Forwarded-For;
# real_ip_recursive off - take the rightmost value in the field
# real_ip_recursive on - walk the list back past every trusted address
Umarnin zaɓin kanun shi kaɗai har yanzu ba ya tabbatar da kome game da wanda ya aika ƙimar.
Tsaron jigila dole ya bi dukan hanyar tsakanin sassan da ka amince da su. Gefen da ke daidaitawa daidai yana rasa wannan ƙimar a lokacin da wani mataki marar kariya a ƙasa ya bar wani ya gyara da'awar yayin da take tafiya.
Ka kula da sarkoki masu matakai da yawa da gangan
Wakilai da yawa suna buƙatar ingantaccen tsarin sarkar. Kada ka ɗauki ƙimar hagu ko dama da aka raba da waƙafi saboda wani rubutun blog ya yi haka; gano wanne daga cikin wakilanka ke ƙarawa, wanne ke maye gurbinwa kuma wanne ke adana filin da ke shigowa. Misali, NGINX na iya bin jerin baya da gwajin amintattunsa ya tsaya a adireshin farko da ba ya mallaka, kuma wannan ka'idar wannan samfurin ce ba doka da kowane tsari ke bi ba. Karanta takardun wakilinka da tambayoyi guda biyu: wace ƙima yake zaɓa, kuma waɗanne masu aikawa yake gaskatawa?
Rubuta sarkar: tsarin matakai, wane mataki ke saita filin kuma wane mataki ke cire kwafin da ke shigowa. Sannan ka riƙe wannan bayanin kusa da tsarin wakilin, ba a cikin tikitin kawai ba. Sannan gwada shi ta hanyar aika buƙata da kanun jabu ta hanyar tsarin tabbatarwa da aka amince da shi da kuma tabbatar da cewa asalin ya yi watsi da ita.
Idan ka ƙara mataki, sake duba wannan takardar. Sabon ma'aunin nauyi da aka saka gaban wakilin amintacce na iya canza wace adireshi za ta yi nasara ba tare da kowa ya gyara manhajar ba.
Riƙe duka lura biyu a cikin log
Inda aka ba da izinin bincike, yi log ɗin abokin haɗin da adireshin abokin ciniki da aka daidaita a matsayin filaye biyu daban, kuma ƙara bayanan turawa da manufar ke buƙata kawai. Sannan tabbatar da turawar da buƙatu biyu: ɗaya ta wakili wanda ya kamata ya rubuta duka ƙimomin biyu yadda ya dace, da yunƙurin kai tsaye zuwa asalin da dole a ƙi shi.
Ka tuna abin da ma'auratan ke nufi. Kanun yana ƙara mahallin da wani sashe da ka zaɓa amincewa da shi ya bayar; abokin ya kasance shi ne kawai adireshin da mai masaukinka ya gani da gaske. Babu ɗayansu shaidar ainihi na mutum ɗaya, kuma tsarin da ya ɗauki ɗayansu a matsayin shaida zai yi kuskure game da wani.