ඔබගේ යෙදුම් සේවා අතර ගතවන දත්ත පළඳින පරිදි පවතීද? බොහෝ තනි සංවර්ධකයින් සහ කුඩා ආරම්භකයන් දෙකක සේවා පද්ධතියක් පවත්වාගෙන යන විට, Redis, Postgres වැනි දත්ත ගබඩා සේවා වලට සම්බන්ධතාවය සාමාන්ය පෙළේ (plaintext) වේ. මෙය අඩු වියදමක් නිසා පටන්ගත් නමුත්, ආරක්ෂාව ගැන සැලකිල්ලක් නොදැක්වීමේ වැදගත්කම ඉක්මනින් පෙනේ.
ලේඛකයා විසින් දෙකේ සර්වර් එකක් (1CPU/1GB RAM Redis සර්වර්) සහ දෙවන සර්වර් එකක් (2CPU/12GB RAM Postgres සහ NestJS ඇප් කන්ටේනර්) භාවිතා කරමින්, iptables මගින් පෞද්ගලික ජාලය සීමා කර තිබුණත්, එම සීමා TLS ආරක්ෂාවට සමාන නොවේ. ජාලයේ අඩුපාඩු හෝ අනිත් සේවා අඩංගු වුවහොත්, සියලු දත්ත පැහැදිලිව පෙනේ.
මෙම අවස්ථාවේ ප්රධාන ප්රශ්නය වූයේ, TLS හෝ mTLS භාවිතයෙන් සම්බන්ධතා ගුප්තකොට, සත්යාපනයත් එක්ක කරගන්නා හැටි. විශේෂයෙන්ම, තනි සංවර්ධකයන්ට හෝ කුඩා ආරම්භකයන්ට, ව්යාපාරික PKI කණ්ඩායමක් තැනීම අධික වියදම් සහ කාලය ගනී. ඒ වෙනුවට openssl සහ ඔබේම private Certificate Authority (CA) භාවිතා කරමින්, කිසිදු අමතර පරිසරයක් අවශ්ය නොවේ.
TLS සහ mTLS අතර මූලික වෙනස මෙසේය: සාමාන්ය TLS හි සර්වර් එක පමණක් තමන්ගේ පෞද්ගලික යතුර සහ සහතිකය (certificate) පෙන්වා, ගනුදෙනුව ආරක්ෂා කරයි. mTLS හි ගනුදෙනුකරු (client) ද තම පෞද්ගලික යතුර සහ සහතිකයක් ඉදිරිපත් කරයි, එමඟින් දෙපාර්ශවික සත්යාපනය සිදු වේ. අභ්යන්තර සේවා අතර සම්බන්ධතා සඳහා mTLS යනු “මෙය ඇප් සර්වර්ද? එය දත්ත ගබඩාවද?” යන ප්රශ්නයට පිළිතුරයි.
openssl භාවිතයෙන් private CA එකක් සකස් කිරීමේ පියවර පහත පරිදි වේ: /etc/pki/tls ෆෝල්ඩරය තැනීම, ca.key (පෞද්ගලික යතුර) සහ ca.crt (CA සහතිකය) නිර්මාණය, පසුව සර්වර්/කලයන (client) key, csr, crt ගොනු සකස් කිරීම. පෞද්ගලික යතුරු කිසිදු යන්ත්රයෙන් පිටතට ගෙන නොයැවීම, සත්යය පරීක්ෂා කිරීම සඳහා සර්වර් සහ client දෙකටම CA සහතිකය බෙදා හැරීම වගකීම වේ.
ශ්රී ලංකාවට ඇති වැදගත්කම
- සිසුන්ට openssl සහ private CA පිළිබඳ ප්රායෝගික දැනුමක් ලබා ගත හැකිය, එය පළපුරුදු පරිසරයක් ලෙස සකස් කරගත හැක.
- දෙවන පියවරේදී, කුඩා තාක්ෂණ ආරම්භකයන්ට බාජු ආරක්ෂක උපකරණයක් (PKI) වියදම නොමැතිව සේවා ආරක්ෂා කිරීමේ හැකියාව ලැබේ.
- ව්යාපාරිකයන්ට, දත්ත රහස්යතාවය සහ පාරිභෝගික විශ්වාසය වැඩිදියුණු කර, නීතිමය රෙගුලාසි (GDPR, Data Protection Act) අනුගමනය කිරීම පහසු වේ.
අවසන් වශයෙන්, TLS/mTLS ක්රියාත්මක කිරීම සඳහා අධික වියදම්, විශාල කණ්ඩායම් අවශ්ය නැත. ඔබේම private CA එකක් නිර්මාණය කර, openssl මඟින් සත්යාපන සහිත සම්බන්ධතා ගොඩනඟා, ඔබේ සේවා ආරක්ෂාව අධික කළ හැකිය. මෙය අනාගතයේදී ප්රතිසාරකය (certificate expiry) කළමනාකරණය කිරීමේ අවශ්යතාවය පවා සලස්වයි.