IPsec Protocol ගැන දැනගනිමු
IPsec යනු කුමක්ද?
IPsec කියන්නේ අන්තර්ජාලයේ තියෙන security protocol වලින් එක protocol එකක්. මෙය ඇත්තටම security protocol කිහිපයක එකතුවක් ලෙසයි සැළකෙන්නේ. අන්තර්ජාලය හරහා උපාංග දෙකක් අතර ආරක්ෂිතව සන්නිවේදන කටයුතු කිරීමට මෙම IPsec protocol එක ප්රයෝජනවත් වෙනවා. Internet Protocol Security යන්න කෙටි කරලා තමයි IPsec ලෙස හඳුන්වන්නේ.
1990 කාලයේදී අන්තර්ජාලය ආරම්භ වීමත් සමඟ අන්තර්ජාල traffic වල ආරක්ෂාවට IPsec කියන protocol එක සම්පාදනය කරා. අන්තර්ජාලයේ මුල් අවධියේ වැඩිපුරම සම්බන්ධතා තිබුණේ ආරක්ෂිත රජයේ ආයතන සහ විශ්ව විද්යාල අතර පමණයි. එහිදී වැඩිපුරම භාවිතා වුණේ IP, ඒ කියන්නේ Internet Protocol එකයි. එය බාහිරට නිරාවරණය වූ අනාරක්ෂිත සහ encrypt නොකරන ලද protocol එකක් විදියටයි ක්රියාත්මක වුණේ.
මීට පිළියමක් ලෙසයි IPsec protocol එක අන්තර්ජාතික සම්මතයන්ට අනුකූලව නිර්මාණය කරනු ලැබුවේ. මේ නිසා IPsec කියන්නේ අන්තර්ජාලයේ සම්බන්ධතා ආරක්ෂා කරන්න යෙදවූ මූලික protocol එකක් ලෙස සළකනවා. නමුත් ඔබ වර්තමානයේ බහුලවම භාවිතා කරන ආරක්ෂක protocol එක මෙය නොවුනත් මෙයත් අන්තර්ජාලයේ ආරක්ෂාව සඳහා සැළකිය යුතු කාර්යයක් ඉටු කරනවා.
IPsec භාවිතා කරන්නේ මොකටද?
ඔබ මේ වනවිට IPsec භාවිතා කරනවා නම් ඒ භාවිතා කරන්නේ VPN, ඒ කියන්නේ Virtual Private Network සමඟයි. VPN එකකින් සිදුවෙන්නේ පොදු අන්තර්ජාලය හරහා උපාංග දෙකක්, එහෙමත් නැත්තං පරිගණක දෙකක් අතර අභ්යන්තර පුද්ගලික ජාලයක් නිර්මාණය කර සම්බන්ධතා ඇති කිරීමයි. බොහෝ වෙලාවට VPN භාවිතා කරන්නේ ආයතනයක firewall එකක රහස්ය ලෙස ඇති ලිපි ගොනු ආදිය remote ලෙස වැඩ කරන සේවකයින්ට භාවිතා කිරීමට සැලැස්වීමේ දීය.
IPsec තාක්ෂණය භාවිතා වෙන protocol සහිත VPN, IPsec VPN ලෙස හඳුන්වනවා. මේ article එකේදී අපි VPN කියලා කතා කරන්නේ මෙන්න මේ IPsec VPN ගැනයි. අපි ඒවා වැඩ කරන විදියත් ඉස්සරහට කතා කරනවා.
ඒ වගේම ඔයාට ඔයාගේ firewall එක හරහා IPsec VPN ක්රියාත්මක කරගන්න ඕන නම් IPsec ports විදියට UDP port 500 සහ IP ports 50 සහ 51 open කරගන්න ඕන.
IPsec Layer
IPsec VPN වැඩ කරන විදිය ගැන කතා කරන්න කලින් ලෝකයේ ජාල පද්ධතීන් තුළ IPsec වලට තියෙන විශේෂ තැන ගැන සහ OSI Network Model එක ගැන අපිට කතා කරන්න වෙනවා. Layers හතකින් එසේත් නැතිනම් තට්ටු 7කින් සමන්විත වෙන මේ OSI Network Model එකේ සන්නිවේදන ජාල පිහිටා ඇති ආකාරය නිරූපණය කරනවා. මේ තට්ටු හතේ උඩම තට්ටුව Application layer එක ලෙසයි හඳුන්වන්නේ. එකේ තමයි අන්තර්ජාලයට ප්රවිෂ්ඨ වෙන්න අපි භාවිතා කරන වෙබ් browser එක තියෙන්නේ. ඒ වගේම තට්ටුවේ පහළම තමයි Physical layer එක තියෙන්නේ. ඒකෙන් තමයි electricity එක සහිත wires කොටස පෙන්වන්නේ.
මේ model එකේ මැද, ඒ කියන්නේ මේකේ හදවත වන 4 වෙනි layer එක Transport layer ලෙසත් 3 වෙනි layer එක Network layer එක ලෙසත් නම් කර තිබෙනවා.
Transport layer එක manage කරගන්න අවශ්ය වන කේතයන් (codes) වෙන වෙනම පරිඝනක වල ධාවනය වන අතර ඒවා දත්ත හුවමාරු වීමට system සහ host සමඟ එකට ක්රියාත්මක වෙනවා. එහිදී කොපමණ දත්ත ප්රමාණයක් හුවමාරු වනවාද, කුමන අනුපාතිකයකින් හැසිරෙනවාද සහ එම දත්ත කුමන ස්ථාන වලට ගමන් කරනවාද යන්නත් පරීක්ෂා කෙරෙනවා. ඒ ඔක්කොම නිවැරදිව සකස් කරගත්තාට පසුව transport layer එකෙන් network layer එකට ඒ සියල්ල බාර දෙනවා. ඒ සියල්ල හසුරවා පාලනය ගෙන යන්නේ code වලින් සමන්විත routers සහ අනිත් ජාලගත උපාංග මඟින්ය. මේ උපාංග වලින් තමයි data packets ජාලයේ යන්න ඕන ගමන් මාර්ගය තීරණය කරන්නේ.
අන්තර්ජාලයේ ඇති ප්රධානම protocols වල TCP/IP දෙන්නා මේ layers දෙකටම මධ්යස්තව සිටිමින් ක්රියාත්මක වෙනවා. TCP (Transport Control Protocol) transport සඳහාත් IP (Internet Protocol) networking සඳහාත් අවශ්ය වෙනවා. IP හි එහිම තිබෙන ආරක්ෂක ක්රමවේදයක් නැති නිසා තමයි අපි මේ කතා කරන IPsec නිර්මාණය වුණේ. නමුත් IPsec වැඩ කරන්නේ SSL/TLS, TLS කියන්නේ Transport Layer Security, සමඟයි. ඒක තමයි layer එකේදී සන්නිවේදන කටයුතු encrypt කරන්න සහය වෙන්නේ.
වර්තමානය වෙනකොට TLS සියලුම වෙබ් browser වලට සහ අන්තර්ජාලයේ ඇති සියලුම යෙදවුම් වල තිබෙන අතර එමඟින් අන්තර්ජාල භාවිතයෙදී ප්රමාණවත් ආරක්ෂාවක් සැලසෙනවා. නමුත් 100%ක්ම නෙවෙයි. මොකද hacker කෙනෙක්ට හැකියාවක් තියෙනවා ඔයාගේ TLS encryption එක කඩලා ඔයා අන්තර්ජාලය හරහා යවන දත්ත වලට හොරෙන් පිවිසෙන්න ! අන්න ඒකට තමයි IPsec VPN තියෙන්නේ ඔයාගේ දත්ත වලට තව අමතර ආරක්ෂාවක් ලබාදෙන්න. ඉන් පුළුවන් ඔයාගේ data packets වලට ආරක්ෂාව ලබාදෙන්න.
IPsec කොහොමද වැඩ කරන්නේ?
IPsec VPN සම්බන්ධතාවයක් ආරම්භ වෙන්නේ සන්නිවේදනය සිදුවෙන පරිගණක දෙකක් හෝ host දෙකක් අතර ඇතිවන Security Association (SA) එකකින්ය. SA එකක් යනු උපාංග දෙකක් අතර දත්ත හුවමාරුවේදී ඇතිවෙන තාර්කික සම්බන්ධතාවටයි. මෙම හුවමාරුවේදී Cryptographic මඟින් සන්නිවේදන කටයුතු encrypt හෝ decrypt වීම සිදුකරනු ලබයි. Host දෙක අතර සිදුවන encryption එක තීරණය වන්නේ එම host දෙකේ ආරක්ෂක අවශ්යතා අනුකූලව CIA triad එකක් තුළය. උදාහරණයක් ලෙස යවන දත්ත වල සම්පූර්ණත්වය සඳහා ඔබට encrypt කිරීමේ හැකියාව ඇත. හැම වෙලේම නැති උණත් බොහෝ අවස්ථා වලදී ඔබේ දත්ත වල ආරක්ෂාව සම්බන්ධයෙන් සෑහීමකට පත් වෙන්න පුළුවන්.
ක්රියාකාරීව පවතින සෑම සන්නිවේදන host එකකම ඇති IPsec module එකකටම SA ගැන තොරතුරු සංසරණය වන අතර එම එක් එක් host එකේ ඇති IPsec මඟින් ඒ තොරතුරු භාවිතා කර යවන සෑම IP packet එකක්ම modify කිරීම සිදුවේ. ඒ වගේම ලැබෙන IP packets process කිරීමද ඒ හරහා සිදුවේ. මෙම modification හරහා data packets වල header එකට බලපෑම් කරන අතර, header එකේ meta data හෙවත් එම packets වල ප්රමාණය, යන ස්ථානය, යවන ස්ථානය ඇතුළු අනිත් තොරතුරු ඇතුළත් වේ.
IPsec වල සංරචක
IKE සහ ESP විසින් ස්ථාපිත කරන ලද encryption කිරීමක් IPsec VPN මඟින් අපට බොහෝ වැඩ කරගත හැකිය. මෙම encryption කිරීම තරමක් වටහා ගැනීමට අපහසු වන්නේ IKE සහ IPsec පුළුල් පරාසයක ඇති තාක්ෂණයන් සහ ක්රමවේද භාවිතා කරන බැවිනි. අන්න එම සංකීර්ණ බව නිසාම තමයි, IPsec මෙම සන්නිවේදන ක්රියාවලිය තුළ දශක දෙකක පමණ කාලයක් දියුණු වෙමින් ක්රියාකාරී තත්වයේ තිබෙන්නේ. IPsec VPN වලට encryption සඳහා Public Key Infrastructure (PKI) යොදාගැනීම සාමාන්ය තත්වයක් වුවත් එය අත්යාවශ්ය නොවන අතර ඒ වෙනුවට වෙනත් විකල්පද යොදාගත හැකිය.
IPsec වල ආකාර – IPsec Tunnel vs IPsec Transport
IPsec ක්රියාකළ හැකි ආකාර දෙකක් තිබෙනවා. එම ආකාර දෙක IPsec Tunnel සහ IPsec Transport ලෙසයි හඳුන්වන්නේ. මෙම ආකාර දෙක එකිනෙකින් වෙනස් වන්නේ IPsec මඟින් packets header සමඟ ක්රියාකරන ආකාරය අනුවය. Transport mode එකේදී IPsec මඟින් ගෙන යන packets වල කොටස් පමණක් encrypt කරන අතර එම රැගෙන යන කොටස් එම packet එකේම header එකේ ඇති දත්ත අඩු වැඩි වීම අනුව වෙනස් වෙනවා. Tunnel mode එකේදී IPsec මඟින් නව header එකක් සහිත සම්පූර්ණ packet එකක්ම නිර්මාණය කරනවා. එවිට එම header එක අනුව සම්පූර්ණ packet එකම මුළුමනින් encrypt කිරීම සිදු කරනවා. ඉන්පසු එය රැගෙන යන packet එක ලෙස ක්රියාත්මක වෙනවා.
දැන් ඔබ මොන අවස්ථා වලදීද මෙම ආකාර දෙක යොදාගන්නේ? හිතන්නකෝ private ජාලයක යවන data packet එකක එම ජාලයේ සම්පූර්ණ තොරතුරුත් අඩංගු නිසා කුමන ආකාරයකට හරි hacker ප්රහාරයකට ලක් වුනොත් එම තොරතුරු විශ්ලේෂණය කරලා කිසියම් හානියක් කරන්න පුළුවන් වෙනවා. දත්ත සහ තොරතුරු ආරක්ෂා කරන Tunnel mode එක, පුද්ගලික ජාල හරහා සම්බන්ධතා ඇති කරගන්න යොදාගන්නවා. මොකද එක ජාලයකින් data packet එකක් පිටත් වෙනකොට එය අලුත්ම packet එකක් විදියට encrypt වෙලා තමයි ගමන් ආරම්භ කරන්නේ. ඒ වගේම ගමනාන්තයේදී එම ජාලයට පැමිණ decrypt කරගැනීම සිදුවෙනවා. ඉන්පසුව එය අභ්යන්තර ජාලය තුළ අදාළ host එකට ගමන් කරනවා. Header එකේ තිබෙන පුද්ගලික ජාල වල තොරතුරු බාහිර ජාල හරහා ගමන් ගන්නා විට නිරාවරණ වීමක් නොවෙන නිසා ආරක්ෂිතව තිබෙනවා.
Transport mode එක සාමාන්යයෙන් යොදාගන්නේ Workstation සිට Gateway සඳහාත්, සෘජුවම host දෙකක් අතර සන්නිවේදන කටයුතු සඳහායි. Windows remote desktop භාවිතා කර වෙනත් පරිගණකයක ගැටළුවක් විසඳීම Transport mode හරහා සිදුවේ.
IPsec VPN සහ SSL VPN
IPsec VPN කියන්නේ සරල දෙයක් නොවේ. IPsec වලට එහා ගිය TLS protocol එකෙන් ආරක්ෂා වන SSL VPN ද තිබෙනවා. මෙම SSL VPN ක්රියාත්මක වෙන්නේ වෙබ් browser වලින් වන අතර firewall වලින් සමන්විත Intranet වල ඇති වෙබ් අඩවි වලට ප්රවේශ වීමට භාවිතා කරයි. මොකද ඒවා කවුරුත් දන්න, පාවිච්චි කරන්න පහසු SSL VPN වලින් සමන්විත වෙබ් බ්රව්සර් හරහා ක්රියාත්මක වෙනවා. නමුත් IPsec VPN වලට විශේෂිත මෘදුකාංග අවශ්ය නිසා එය පහසු කාර්යයක් වෙන්නේ නැහැ. ඒ වගේම SSL VPN, private ජාලවලට ප්රවිෂ්ඨ වීමද සීමා කරනවා. ඒවගේම එය TLS භාවිතා කරනවා.SSL VPN transport layer එකේදී පමණයි ආරක්ෂිත වෙන්නේ. Network layer එකේදී ආරක්ෂිත නොවන නිසා ඔබේ සම්බන්ධතා වලට බලපෑමක් එල්ල වෙන්නද පුළුවන්.