Goor dhow ama goor dambe, isticmaale VPN waxa uu soo bandhigaa in uu fure gaar ah iimayl ku diro si maamuluhu u sameeyo shahaado, oo iska caabin waa in la iska caabiyo isla soo jeedintaas. Socodka shaqeeya ayaa furaha macmiilka ku hayaa laga bilaabo amarkii ugu horreeyay: macmiilku waa abuuraa, wuxuu diraa codsi saxeex shahaado, soo saaruhu wuu hubiyaa oo ansixiyaa, shahaadada la saxeexayna way soo noqotaa oo waxay fadhiisataa furaha abuuray agtiisa. Liiska hubinta ee hoose wuu ku guuldareystaa xiran tahay tallaabo kasta, waana taas macnaha, sababtoo ah laba ka mid ah shanta tallaabo waa kuwa dadku seegaan marka ay degdegayaan.

Tallaabo 1: furaha ku abuur meesha uu ku noolaan doono

Ku abuur mashiinka furaha hayn doona, halkaasna ku reeb. Furaha software wuxuu galayaa fayl leh fasaxyo adag; furaha lagu taageeray qalab ama kayd maamulan marnaba fayl ma noqdo, oo dariiqa diiwaangelintiisu inta badan waa qalab gaar ah oo aan ahayn amarka OpenSSL. Si kasta ha ahaatee, qofna uma baahna inuu arko qaybta gaarka ah.

Socodka software wuxuu u eg yahay sidan, furaha iyo codsiga waxaa lagu abuuray kulan keli ah:

umask 077
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:3072 -out client.key
openssl req -new -key client.key -out client.csr -subj "/CN=alice-vpn/O=Example"

Sadarka umask wuu ka muhiimsan yahay sidii uu u muuqdo. La'aantiis furaha waxaa lagu qoraa mid ay dhammaan akhrisan karaan nidaam fasax u leh si caadi ah, oo faylka dabcan koobiyeeyntiisu way faafisaa taas. Isticmaalka mar kale fure jira waa sharci marka uu horey u ilaalinayay oo uu waafaqsan yahay siyaasaddaada; mid cusub u abuurista qalab kasta waa ka fudud in la caddeeyo.

Tallaabo 2: aqoonsiga geli codsiga, ma aha iimaylka

Go'aanso waxa VPN dhab ahaan xaqiijinayo ka hor inta aan codsiga la abuurin, sababtoo ah jawaabtaas waxay ku deelan tahay gudaha CSR. OpenVPN dhaqan ahaan wuxuu aqoonsiga macmiilka ku xidhaa magaca guud ee shahaadada, qalabka sida strongSwan-na waxay u ekaadaan xarigga aqoonsiga maadooyinka ama magaca beddelka maadooyinka. Iimayl sheegaya in magacaygu yahay alice ma aha caddayn, codsiga maadooyinkiisu isla sheegayana wuu ka wanaagsan yahay wax yar oo keliya.

Ku dar magaca beddelka maadooyinka marka hubiyahaagu mid hubiyo, sababtoo ah iswaafajinta casriga ah inta badan waxay iska indhatirtaa CN duugga ah:

openssl req -new -key client.key -out client.csr \
  -subj "/CN=alice-vpn/O=Example" \
  -addext "subjectAltName=DNS:alice-vpn"

CN ku hay gaaban, deggan oo ku xidhan akoonka halkii ay ku xidhnaan lahayd nooca laptop-ka. Magac ay ku jirto lambarka taxanaha qalabka isticmaalaha waa dhibaato taageero oo sugaysa beddelka qalabka ugu horreeya.

Tallaabo 3: hubi codsiga ka hor inta aadan saxeexin

Soo saaruhu wuxuu hubiyaa laba shay oo kala duwan, isku darkooduna waa khaladka caadiga ah. Marka hore, in codsiga gudaha u jiro iswaafajin: saxeexa waxaa lagu hubiyaa furaha dadweynaha uu sido. Marka labaad, in codsaduhu xaq u leeyahay waxa codsigu dalbayo, taasna ma jawaabi karo hubin kriptografi ah.

Qaybta farsamada waa hal amar, oo waa in ay soo daabacdo natiijada hubinta oo ay la socoto maadooyinka:

openssl req -in client.csr -noout -verify -subject
openssl req -in client.csr -noout -pubkey | openssl pkey -pubin -noout -text

Ogow waxa taas caddaynayo. Codsiga la hubiyo wuxuu kaliya muujinayaa in diriyuhu haystay furaha gaarka ah ee waafaqsan waqtiga gudbinta; ma caddaynayo in diriyuhu yahay qofka ku magacaaban maadooyinka, mana fasaxo gelitaanka kooxda ama dariiqa la codsaday. Dib u eegista diiwaangelintu waa irrid gaar ah, codsiga koox aan cidna ansixin waa in la diido halkii si aamusan loo tafatiri lahaa.

Tallaabo 4: fasax, ka dibna ku saxeex fidinta cad

Saxeexidda waa meesha CA ay go'aansato siyaasadda halkii ay si toos ah u aqbali lahayd codsiga. Ansaxnaanta, isticmaalka furaha iyo fidinta doorka waxay ku deelan yihiin fayl fidin, ma aha caadiyo aadan xasuusan doonin lix bilood ka dib. Shahaadada macmiilka ee xaqiijinta VPN waxay u baahan tahay xaqiijinta macmiilka oo ah ujeeddadeeda.

cat > client.ext <<'EOF'
basicConstraints = CA:FALSE
keyUsage = digitalSignature
extendedKeyUsage = clientAuth
EOF
openssl x509 -req -in client.csr -CA ca.crt -CAkey ca.key \
  -CAcreateserial -days 365 -extfile client.ext -out client.crt

Isticmaal -CAserial faylka taxanaha jira haddii mid horey loo isticmaalayay, oo furaha CA ku hay offline ama kaydka la ilaaliyay ee ay siyaasaddaadu sheegto. Lambarrada taxanaha shahaadadu waa in ay u gaar noqdaan soo saare kasta; dib u abuurista faylka taxanaha laga bilaabo eber waxay halis u tahay isku dhacyo ka dhigaya burinta mid mugdi ah.

Diiwaangeli waxa la soo saaray: lambarka taxanaha, maadooyinka, aqoonsiga la codsaday, qofka ansixiyay iyo dhacdo. Diiwaankaas waa waxa go'aanka burinta mar dambe ku tiirsanaado, oo lama dib u dhisi karo shahaadada oo keliya haddii raadka diiwaangelintu ku noolaado sanduuqa boostada oo keliya.

Tallaabo 5: ku rakib furaha waafaqsan agtiisa oo caddee lammaanaha

Macmiilku wuxuu helaa shahaadada iyo silsiladda soo saaraha, marnaba fure. Ka hor inta aadan xiriirin, xaqiiji in shahaadadu runtii lammaan tahay furaha horey ugu jira diskiga, sababtoo ah lammaane aan waafaqsanayn wuxuu soo saaraa guuldarro gacan-qabsi jahawareer leh wakhti aad u fog ka dib:

openssl x509 -in client.crt -noout -pubkey | openssl pkey -pubin -outform DER | openssl sha256
openssl pkey -in client.key -pubout -outform DER | openssl sha256

Laba digest waa in ay iswaafaqaan. Ka dibna xiriir oo xaqiiji in aqoonsiga serverku diiwaangeliyo uu yahay kii aad fasaxday, ee ma aha kaliya in tunnel-ku soo baxay. Haddii furaha lumo ama qalabka la beddelo, jawaabtu waa burin iyo codsi cusub oo ka yimid qalabka cusub; maamulaha weydiista in fure meel kale laga soo celiyo ma soo celiso asalka wuxuuna si aamusan u jebiyaa qaabkii codsiga amaan ka dhigayay.

Maqaallo la xiriira