ஜாவாஸ்கிரிப்ட் பாதுகாப்பிற்கான ஒரு விரிவான கட்டமைப்பைக் கண்டறியுங்கள். XSS, CSRF மற்றும் தரவுத் திருட்டு போன்ற கிளையன்ட் பக்க அச்சுறுத்தல்களிலிருந்து உங்கள் வலைப் பயன்பாடுகளைப் பாதுகாக்க முக்கிய உத்திகளைக் கற்றுக்கொள்ளுங்கள்.
இணையப் பாதுகாப்பு செயலாக்கக் கட்டமைப்பு: ஒரு விரிவான ஜாவாஸ்கிரிப்ட் பாதுகாப்பு உத்தி
நவீன டிஜிட்டல் உலகில், ஜாவாஸ்கிரிப்ட் தான் ஊடாடும் இணையத்தின் மறுக்கமுடியாத இயந்திரம். இது டோக்கியோவில் உள்ள இ-காமர்ஸ் தளங்களில் உள்ள டைனமிக் பயனர் இடைமுகங்கள் முதல் நியூயார்க்கில் உள்ள நிதி நிறுவனங்களுக்கான சிக்கலான தரவு காட்சிப்படுத்தல் வரை அனைத்தையும் இயக்குகிறது. இருப்பினும், அதன் எங்கும் நிறைந்த தன்மை, அதைத் தீங்கிழைக்கும் நபர்களுக்கு ஒரு முதன்மை இலக்காக மாற்றுகிறது. உலகெங்கிலும் உள்ள நிறுவனங்கள் சிறந்த பயனர் அனுபவங்களுக்கு அழுத்தம் கொடுப்பதால், கிளையன்ட் பக்க தாக்குதல் பரப்பு விரிவடைந்து, வணிகங்களையும் அவர்களின் வாடிக்கையாளர்களையும் குறிப்பிடத்தக்க அபாயங்களுக்கு உள்ளாக்குகிறது. பாதுகாப்புக்கான ஒரு எதிர்வினை, பேட்ச்-அடிப்படையிலான அணுகுமுறை இனி போதுமானதாக இல்லை. தேவையானது, வலுவான ஜாவாஸ்கிரிப்ட் பாதுகாப்பைச் செயல்படுத்துவதற்கான ஒரு முன்கூட்டிய, கட்டமைக்கப்பட்ட கட்டமைப்பு.
இந்தக் கட்டுரை உங்கள் ஜாவாஸ்கிரிப்ட்-இயங்கும் வலைப் பயன்பாடுகளைப் பாதுகாப்பதற்கான ஒரு உலகளாவிய, விரிவான கட்டமைப்பை வழங்குகிறது. நாங்கள் எளிய திருத்தங்களைத் தாண்டி, கிளையன்ட் பக்க குறியீட்டில் உள்ளார்ந்த முக்கிய பாதிப்புகளை நிவர்த்தி செய்யும் ஒரு அடுக்கு, ஆழமான பாதுகாப்பு உத்தியை ஆராய்வோம். நீங்கள் ஒரு டெவலப்பர், பாதுகாப்பு கட்டிடக் கலைஞர் அல்லது தொழில்நுட்பத் தலைவராக இருந்தாலும், இந்தக் வழிகாட்டி உங்களுக்கு மிகவும் நெகிழ்ச்சியான மற்றும் பாதுகாப்பான வலை இருப்பை உருவாக்குவதற்கான கொள்கைகள் மற்றும் நடைமுறை நுட்பங்களைக் கொண்டு சேர்க்கும்.
கிளையன்ட் பக்க அச்சுறுத்தல் சூழலைப் புரிந்துகொள்ளுதல்
தீர்வுகளுக்குள் நுழைவதற்கு முன், நமது குறியீடு செயல்படும் சூழலைப் புரிந்துகொள்வது முக்கியம். சர்வர் பக்க குறியீட்டைப் போலன்றி, இது ஒரு கட்டுப்படுத்தப்பட்ட, நம்பகமான சூழலில் இயங்குகிறது, கிளையன்ட் பக்க ஜாவாஸ்கிரிப்ட் பயனரின் உலாவியில் செயல்படுத்தப்படுகிறது - இது இயல்பாகவே நம்பத்தகாத மற்றும் எண்ணற்ற மாறிகளுக்கு வெளிப்படும் ஒரு சூழல். இந்த அடிப்பட வேறுபாடு பல வலைப் பாதுகாப்பு சவால்களின் மூலமாகும்.
முக்கிய ஜாவாஸ்கிரிப்ட் தொடர்பான பாதிப்புகள்
- குறுக்கு-தள ஸ்கிரிப்டிங் (XSS): இது ஒருவேளை மிகவும் அறியப்பட்ட கிளையன்ட் பக்க பாதிப்பாக இருக்கலாம். ஒரு தாக்குபவர் தீங்கிழைக்கும் ஸ்கிரிப்ட்களை ஒரு நம்பகமான இணையதளத்தில் செலுத்துகிறார், அவை பின்னர் பாதிக்கப்பட்டவரின் உலாவியால் செயல்படுத்தப்படுகின்றன. XSS மூன்று முக்கிய வகைகளைக் கொண்டுள்ளது:
- சேமிக்கப்பட்ட XSS: தீங்கிழைக்கும் ஸ்கிரிப்ட் இலக்கு சேவையகத்தில் நிரந்தரமாக சேமிக்கப்படுகிறது, அதாவது ஒரு கருத்துப் புலம் அல்லது பயனர் சுயவிவரம் வழியாக தரவுத்தளத்தில். பாதிக்கப்பட்ட பக்கத்தைப் பார்வையிடும் ஒவ்வொரு பயனருக்கும் தீங்கிழைக்கும் ஸ்கிரிப்ட் வழங்கப்படுகிறது.
- பிரதிபலித்த XSS: தீங்கிழைக்கும் ஸ்கிரிப்ட் ஒரு URL அல்லது பிற கோரிக்கை தரவுகளில் உட்பொதிக்கப்பட்டுள்ளது. சேவையகம் இந்தத் தரவை பயனரின் உலாவிக்குத் திரும்பப் பிரதிபலிக்கும்போது (எ.கா., தேடல் முடிவுகள் பக்கத்தில்), ஸ்கிரிப்ட் செயல்படுத்தப்படுகிறது.
- DOM-அடிப்படையிலான XSS: பாதிப்பு முற்றிலும் கிளையன்ட் பக்க குறியீட்டில் உள்ளது. ஒரு ஸ்கிரிப்ட் ஆவண பொருள் மாதிரியை (DOM) பயனர் வழங்கிய தரவைப் பாதுகாப்பற்ற முறையில் பயன்படுத்தி மாற்றியமைக்கிறது, இது தரவு உலாவியை விட்டு வெளியேறாமல் குறியீடு செயல்படுத்தலுக்கு வழிவகுக்கிறது.
- குறுக்கு-தள கோரிக்கை மோசடி (CSRF): ஒரு CSRF தாக்குதலில், ஒரு தீங்கிழைக்கும் வலைத்தளம், மின்னஞ்சல் அல்லது நிரல் ஒரு பயனரின் வலை உலாவியை, பயனர் தற்போது அங்கீகரிக்கப்பட்ட ஒரு நம்பகமான தளத்தில் தேவையற்ற செயலைச் செய்ய வைக்கிறது. எடுத்துக்காட்டாக, ஒரு தீங்கிழைக்கும் தளத்தில் ஒரு இணைப்பைக் கிளிக் செய்யும் பயனர், அறியாமலேயே தங்கள் வங்கி வலைத்தளத்திற்கு நிதியை மாற்றுவதற்கான கோரிக்கையைத் தூண்டலாம்.
- தரவு ஸ்கிம்மிங் (Magecart-பாணி தாக்குதல்கள்): இது ஒரு அதிநவீன அச்சுறுத்தல், இதில் தாக்குபவர்கள் இ-காமர்ஸ் செக்அவுட் பக்கங்கள் அல்லது கட்டணப் படிவங்களில் தீங்கிழைக்கும் ஜாவாஸ்கிரிப்டைச் செலுத்துகிறார்கள். இந்தக் குறியீடு கிரெடிட் கார்டு விவரங்கள் போன்ற முக்கியமான தகவல்களை அமைதியாகப் பிடித்து (ஸ்கிம் செய்து) தாக்குபவர் கட்டுப்பாட்டில் உள்ள சேவையகத்திற்கு அனுப்புகிறது. இந்தத் தாக்குதல்கள் பெரும்பாலும் சமரசம் செய்யப்பட்ட மூன்றாம் தரப்பு ஸ்கிரிப்டிலிருந்து உருவாகின்றன, இதனால் அவற்றைக் கண்டறிவது மிகவும் கடினமாகிறது.
- மூன்றாம் தரப்பு ஸ்கிரிப்ட் அபாயங்கள் & விநியோகச் சங்கிலி தாக்குதல்கள்: நவீன வலை பகுப்பாய்வு, விளம்பரம், வாடிக்கையாளர் ஆதரவு விட்ஜெட்டுகள் மற்றும் பலவற்றிற்கான மூன்றாம் தரப்பு ஸ்கிரிப்ட்களின் பரந்த சுற்றுச்சூழல் அமைப்பில் கட்டமைக்கப்பட்டுள்ளது. இந்த சேவைகள் மகத்தான மதிப்பை வழங்கும் அதே வேளையில், அவை குறிப்பிடத்தக்க ஆபத்தையும் அறிமுகப்படுத்துகின்றன. இந்த வெளிப்புற வழங்குநர்களில் எவரேனும் சமரசம் செய்யப்பட்டால், அவர்களின் தீங்கிழைக்கும் ஸ்கிரிப்ட் நேரடியாக உங்கள் பயனர்களுக்கு வழங்கப்படுகிறது, இது உங்கள் வலைத்தளத்தின் முழு நம்பிக்கை மற்றும் அனுமதிகளைப் பெறுகிறது.
- கிளிக்ஜாக்கிங்: இது ஒரு UI சரிசெய்தல் தாக்குதலாகும், இதில் ஒரு தாக்குபவர் பல வெளிப்படையான அல்லது ஒளிபுகா அடுக்குகளைப் பயன்படுத்தி ஒரு பயனரை அவர்கள் மேல்-நிலை பக்கத்தில் கிளிக் செய்ய விரும்பியபோது மற்றொரு பக்கத்தில் ஒரு பொத்தானை அல்லது இணைப்பைக் கிளிக் செய்ய ஏமாற்றுகிறார். இது அங்கீகரிக்கப்படாத செயல்களைச் செய்ய, ரகசிய தகவல்களை வெளிப்படுத்த அல்லது பயனரின் கணினியைக் கட்டுப்பாட்டில் எடுக்கப் பயன்படுத்தப்படலாம்.
ஜாவாஸ்கிரிப்ட் பாதுகாப்பு கட்டமைப்பின் முக்கியக் கொள்கைகள்
ஒரு பயனுள்ள பாதுகாப்பு உத்தி திடமான கொள்கைகளின் அடித்தளத்தில் கட்டமைக்கப்பட்டுள்ளது. இந்தக் வழிகாட்டுதல் கருத்துக்கள் உங்கள் பாதுகாப்பு நடவடிக்கைகள் ஒத்திசைவானவை, விரிவானவை மற்றும் மாற்றியமைக்கக்கூடியவை என்பதை உறுதிப்படுத்த உதவுகின்றன.
- குறைந்தபட்ச சலுகைக் கொள்கை: ஒவ்வொரு ஸ்கிரிப்ட் மற்றும் கூறு அதன் முறையான செயல்பாட்டைச் செய்வதற்கு முற்றிலும் அவசியமான அனுமதிகளை மட்டுமே கொண்டிருக்க வேண்டும். எடுத்துக்காட்டாக, ஒரு விளக்கப்படத்தைக் காட்டும் ஸ்கிரிப்ட், படிவ புலங்களிலிருந்து தரவைப் படிக்க அல்லது தன்னிச்சையான டொமைன்களுக்கு நெட்வொர்க் கோரிக்கைகளைச் செய்ய அணுகல் கொண்டிருக்கக்கூடாது.
- ஆழமான பாதுகாப்பு: ஒற்றைப் பாதுகாப்பு கட்டுப்பாட்டை நம்பியிருப்பது பேரழிவிற்கான ஒரு செய்முறையாகும். ஒரு அடுக்கு அணுகுமுறை, ஒரு பாதுகாப்பு தோல்வியுற்றால், அச்சுறுத்தலைக் குறைக்க மற்றவை உள்ளன என்பதை உறுதி செய்கிறது. உதாரணமாக, XSS-ஐத் தடுக்க சரியான வெளியீட்டுக் குறியாக்கத்துடன் கூட, ஒரு வலுவான உள்ளடக்கப் பாதுகாப்புக் கொள்கை ஒரு முக்கியமான இரண்டாவது பாதுகாப்பு அடுக்கை வழங்குகிறது.
- இயல்பாகவே பாதுகாப்பானது: பாதுகாப்பு என்பது மேம்பாட்டு வாழ்க்கைச் சுழற்சியில் கட்டமைக்கப்பட்ட ஒரு அடித்தளத் தேவையாக இருக்க வேண்டும், ஒரு பின்தொடர் சிந்தனையாக அல்ல. இதன் பொருள் பாதுகாப்பான கட்டமைப்புகளைத் தேர்ந்தெடுப்பது, பாதுகாப்பைக் கருத்தில் கொண்டு சேவைகளை உள்ளமைப்பது மற்றும் டெவலப்பர்களுக்கு பாதுகாப்பான பாதையை எளிதான பாதையாக மாற்றுவது.
- நம்புங்கள் ஆனால் சரிபார்க்கவும் (ஸ்கிரிப்ட்களுக்கு பூஜ்ஜிய நம்பிக்கை): எந்த ஸ்கிரிப்டையும், குறிப்பாக மூன்றாம் தரப்பினரிடமிருந்து வருபவற்றை, மறைமுகமாக நம்ப வேண்டாம். ஒவ்வொரு ஸ்கிரிப்டும் பரிசோதிக்கப்பட வேண்டும், அதன் நடத்தை புரிந்து கொள்ளப்பட வேண்டும், மற்றும் அதன் அனுமதிகள் கட்டுப்படுத்தப்பட வேண்டும். சமரசத்தின் எந்த அறிகுறிகளுக்கும் அதன் செயல்பாட்டை தொடர்ந்து கண்காணிக்கவும்.
- தானியக்கமாக்குதல் மற்றும் கண்காணித்தல்: மனித மேற்பார்வை பிழைக்கு ஆளாகிறது மற்றும் அளவிட முடியாது. பாதிப்புகளை ஸ்கேன் செய்யவும், பாதுகாப்பு கொள்கைகளை அமல்படுத்தவும், மற்றும் நிகழ்நேரத்தில் முரண்பாடுகளைக் கண்காணிக்கவும் தானியங்கு கருவிகளைப் பயன்படுத்தவும். தாக்குதல்கள் நடக்கும்போது அவற்றைக் கண்டறிந்து பதிலளிக்க தொடர்ச்சியான கண்காணிப்பு முக்கியமானது.
செயலாக்கக் கட்டமைப்பு: முக்கிய உத்திகள் மற்றும் கட்டுப்பாடுகள்
கொள்கைகள் நிறுவப்பட்டவுடன், நமது ஜாவாஸ்கிரிப்ட் பாதுகாப்பு கட்டமைப்பின் தூண்களாக அமையும் நடைமுறை, தொழில்நுட்பக் கட்டுப்பாடுகளை ஆராய்வோம். இந்த உத்திகள் ஒரு வலுவான தற்காப்பு நிலையை உருவாக்க அடுக்குகளாக செயல்படுத்தப்பட வேண்டும்.
1. உள்ளடக்க பாதுகாப்பு கொள்கை (CSP): முதல் தற்காப்புக் கோடு
ஒரு உள்ளடக்க பாதுகாப்பு கொள்கை (CSP) என்பது ஒரு HTTP மறுமொழி தலைப்பு ஆகும், இது ஒரு பயனர் முகவர் (உலாவி) ஒரு குறிப்பிட்ட பக்கத்திற்கு என்னென்ன வளங்களை ஏற்ற அனுமதிக்கப்படுகிறது என்பதன் மீது உங்களுக்கு நுணுக்கமான கட்டுப்பாட்டை வழங்குகிறது. இது XSS மற்றும் தரவு ஸ்கிம்மிங் தாக்குதல்களைத் தணிப்பதற்கான மிகவும் சக்திவாய்ந்த கருவிகளில் ஒன்றாகும்.
இது எப்படி வேலை செய்கிறது: ஸ்கிரிப்ட்கள், ஸ்டைல்ஷீட்கள், படங்கள் மற்றும் எழுத்துருக்கள் போன்ற பல்வேறு வகையான உள்ளடக்கங்களுக்கான நம்பகமான ஆதாரங்களின் ஒரு வெள்ளை பட்டியலை நீங்கள் வரையறுக்கிறீர்கள். ஒரு பக்கம் வெள்ளை பட்டியலில் இல்லாத ஒரு மூலத்திலிருந்து ஒரு வளத்தை ஏற்ற முயற்சித்தால், உலாவி அதைத் தடுக்கும்.
எடுத்துக்காட்டு CSP தலைப்பு:
Content-Security-Policy: default-src 'self'; script-src 'self' https://trusted-analytics.com; img-src *; style-src 'self' 'unsafe-inline'; report-uri /csp-violation-report-endpoint;
முக்கிய வழிகாட்டுதல்கள் மற்றும் சிறந்த நடைமுறைகள்:
default-src 'self'
: இது ஒரு சிறந்த தொடக்கப் புள்ளி. இது அனைத்து வளங்களையும் ஆவணத்தின் அதே மூலத்திலிருந்து மட்டுமே ஏற்றுவதற்குக் கட்டுப்படுத்துகிறது.script-src
: மிக முக்கியமான வழிகாட்டுதல். இது ஜாவாஸ்கிரிப்ட்டிற்கான செல்லுபடியாகும் மூலங்களை வரையறுக்கிறது.'unsafe-inline'
மற்றும்'unsafe-eval'
ஆகியவற்றை எல்லா விலையிலும் தவிர்க்கவும், ஏனெனில் அவை CSP-யின் நோக்கத்தின் பெரும்பகுதியைத் தோற்கடிக்கின்றன. இன்லைன் ஸ்கிரிப்ட்களுக்கு, ஒரு nonce (ஒரு சீரற்ற, ஒரு முறை பயன்படுத்தும் மதிப்பு) அல்லது ஒரு ஹாஷ் பயன்படுத்தவும்.connect-src
:fetch()
அல்லதுXMLHttpRequest
போன்ற API-களைப் பயன்படுத்தி பக்கம் எந்த மூலங்களுடன் இணைக்க முடியும் என்பதைக் கட்டுப்படுத்துகிறது. இது தரவு கசிவைத் தடுப்பதற்கு இன்றியமையாதது.frame-ancestors
: இந்த வழிகாட்டுதல் உங்கள் பக்கத்தை ஒரு<iframe>
-ல் எந்த மூலங்கள் உட்பொதிக்கலாம் என்பதைக் குறிப்பிடுகிறது, இது கிளிக்ஜாக்கிங்கைத் தடுக்கX-Frame-Options
தலைப்பிற்குப் பதிலாக நவீன, மிகவும் நெகிழ்வான மாற்றாக அமைகிறது. இதை'none'
அல்லது'self'
என அமைப்பது ஒரு வலுவான பாதுகாப்பு நடவடிக்கையாகும்.- அறிக்கையிடல்: ஒரு CSP விதி மீறப்படும்போதெல்லாம் ஒரு குறிப்பிட்ட இறுதிப்புள்ளிக்கு ஒரு JSON அறிக்கையை அனுப்ப உலாவிக்கு அறிவுறுத்த
report-uri
அல்லதுreport-to
வழிகாட்டுதலைப் பயன்படுத்தவும். இது முயற்சிக்கப்பட்ட தாக்குதல்கள் அல்லது தவறான உள்ளமைவுகள் குறித்த விலைமதிப்பற்ற நிகழ்நேரத் தெரிவுநிலையை வழங்குகிறது.
2. துணைவள ஒருமைப்பாடு (SRI): மூன்றாம் தரப்பு ஸ்கிரிப்ட்களை சரிபார்த்தல்
நீங்கள் ஒரு மூன்றாம் தரப்பு உள்ளடக்க விநியோக நெட்வொர்க்கிலிருந்து (CDN) ஒரு ஸ்கிரிப்டை ஏற்றும்போது, அந்த CDN சமரசம் செய்யப்படவில்லை என்று நீங்கள் நம்புகிறீர்கள். துணைவள ஒருமைப்பாடு (SRI) இந்த நம்பிக்கை தேவையை நீக்குகிறது, ஏனெனில் அது உலாவிக்கு அது பெறும் கோப்பு நீங்கள் ஏற்ற விரும்பிய சரியான கோப்பு என்பதை சரிபார்க்க அனுமதிக்கிறது.
இது எப்படி வேலை செய்கிறது: நீங்கள் <script>
குறிச்சொல்லில் எதிர்பார்க்கப்படும் ஸ்கிரிப்ட்டின் ஒரு கிரிப்டோகிராஃபிக் ஹாஷை (எ.கா., SHA-384) வழங்குகிறீர்கள். உலாவி ஸ்கிரிப்டைப் பதிவிறக்கம் செய்து, அதன் சொந்த ஹாஷைக் கணக்கிட்டு, நீங்கள் வழங்கியவற்றுடன் ஒப்பிடுகிறது. அவை பொருந்தவில்லை என்றால், உலாவி ஸ்கிரிப்டைச் செயல்படுத்த மறுக்கிறது.
எடுத்துக்காட்டு செயலாக்கம்:
<script src="https://code.jquery.com/jquery-3.6.0.min.js"
integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK"
crossorigin="anonymous"></script>
SRI என்பது ஒரு வெளிப்புற டொமைனிலிருந்து ஏற்றப்படும் எந்தவொரு வளத்திற்கும் ஒரு அத்தியாவசியக் கட்டுப்பாடாகும். இது உங்கள் தளத்தில் தீங்கிழைக்கும் குறியீடு செயல்படுத்தலுக்கு வழிவகுக்கும் ஒரு CDN சமரசத்திற்கு எதிராக ஒரு வலுவான உத்தரவாதத்தை வழங்குகிறது.
3. உள்ளீட்டை சுத்தப்படுத்துதல் மற்றும் வெளியீட்டை குறியாக்கம் செய்தல்: XSS தடுப்பின் மையம்
CSP ஒரு சக்திவாய்ந்த பாதுகாப்பு வலையாக இருந்தாலும், XSS-க்கு எதிரான அடிப்படைப் பாதுகாப்பு பயனர் வழங்கிய தரவைச் சரியாகக் கையாள்வதில் உள்ளது. சுத்தப்படுத்துதல் மற்றும் குறியாக்கம் செய்தல் ஆகியவற்றுக்கு இடையேயான வேறுபாட்டைப் புரிந்துகொள்வது முக்கியம்.
- உள்ளீட்டை சுத்தப்படுத்துதல்: இது பயனர் உள்ளீட்டை சேவையகத்தில் சேமிப்பதற்கு முன் சுத்தம் செய்வது அல்லது வடிகட்டுவதை உள்ளடக்குகிறது. இதன் நோக்கம், தீங்கிழைக்கும் சாத்தியமுள்ள எழுத்துக்கள் அல்லது குறியீட்டை அகற்றுவது அல்லது நடுநிலையாக்குவது. எடுத்துக்காட்டாக,
<script>
குறிச்சொற்களை அகற்றுவது. இருப்பினும், இது பலவீனமானது மற்றும் கடந்து செல்லப்படலாம். இது முதன்மைப் பாதுகாப்பு கட்டுப்பாடாக இருப்பதை விட, தரவு வடிவங்களைச் செயல்படுத்துவதற்கு (எ.கா., ஒரு தொலைபேசி எண்ணில் இலக்கங்கள் மட்டுமே இருப்பதை உறுதி செய்வது) சிறப்பாகப் பயன்படுத்தப்படுகிறது. - வெளியீட்டை குறியாக்கம் செய்தல்: இது மிகவும் முக்கியமான மற்றும் நம்பகமான பாதுகாப்பு. இது HTML ஆவணத்தில் தரவு வழங்கப்படுவதற்கு உடனடியாக அதை எஸ்கேப் செய்வதை உள்ளடக்குகிறது, இதனால் உலாவி அதைச் செயல்படுத்தக்கூடிய குறியீடாக அல்லாமல், சாதாரண உரையாக விளக்குகிறது. குறியாக்கச் சூழல் முக்கியமானது. எடுத்துக்காட்டாக:
- ஒரு HTML உறுப்புக்குள் (எ.கா.,
<div>
) தரவை வைக்கும்போது, நீங்கள் அதை HTML-குறியாக்கம் செய்ய வேண்டும் (எ.கா.,<
என்பது<
ஆகிறது). - ஒரு HTML பண்புக்குள் (எ.கா.,
value="..."
) தரவை வைக்கும்போது, நீங்கள் அதை பண்பு-குறியாக்கம் செய்ய வேண்டும். - ஒரு ஜாவாஸ்கிரிப்ட் சரத்திற்குள் தரவை வைக்கும்போது, நீங்கள் அதை ஜாவாஸ்கிரிப்ட்-குறியாக்கம் செய்ய வேண்டும்.
- ஒரு HTML உறுப்புக்குள் (எ.கா.,
சிறந்த நடைமுறை: உங்கள் வலைக் கட்டமைப்பால் வழங்கப்படும் வெளியீட்டுக் குறியாக்கத்திற்காக நன்கு பரிசோதிக்கப்பட்ட, நிலையான நூலகங்களைப் பயன்படுத்தவும் (எ.கா., பைத்தானில் Jinja2, ரூபியில் ERB, PHP-ல் பிளேட்). கிளையன்ட் பக்கத்தில், நம்பத்தகாத மூலங்களிலிருந்து வரும் HTML-ஐப் பாதுகாப்பாகக் கையாள, DOMPurify போன்ற ஒரு நூலகத்தைப் பயன்படுத்தவும். உங்கள் சொந்த குறியாக்கம் அல்லது சுத்திகரிப்பு நடைமுறைகளை உருவாக்க ஒருபோதும் முயற்சிக்காதீர்கள்.
4. பாதுகாப்பான தலைப்புகள் மற்றும் குக்கீகள்: HTTP அடுக்கை கடினப்படுத்துதல்
பல கிளையன்ட் பக்க பாதிப்புகளை பாதுகாப்பான HTTP தலைப்புகள் மற்றும் குக்கீ பண்புகளை உள்ளமைப்பதன் மூலம் தணிக்க முடியும். இவை உலாவியை கடுமையான பாதுகாப்பு கொள்கைகளை அமல்படுத்த அறிவுறுத்துகின்றன.
அத்தியாவசிய HTTP தலைப்புகள்:
Strict-Transport-Security (HSTS)
: உங்கள் சேவையகத்துடன் HTTPS வழியாக மட்டுமே தொடர்பு கொள்ள உலாவிக்கு அறிவுறுத்துகிறது, இது நெறிமுறை தரமிறக்கத் தாக்குதல்களைத் தடுக்கிறது.X-Content-Type-Options: nosniff
: ஒரு வளத்தின் உள்ளடக்க வகையை உலாவி யூகிக்க (MIME-sniff) முயற்சிப்பதைத் தடுக்கிறது, இது மற்ற கோப்பு வகைகளாக மறைக்கப்பட்ட ஸ்கிரிப்ட்களைச் செயல்படுத்த சுரண்டப்படலாம்.Referrer-Policy: strict-origin-when-cross-origin
: கோரிக்கைகளுடன் எவ்வளவு பரிந்துரையாளர் தகவல் அனுப்பப்படுகிறது என்பதைக் கட்டுப்படுத்துகிறது, இது முக்கியமான URL தரவு மூன்றாம் தரப்பினருக்கு கசிவதைத் தடுக்கிறது.
பாதுகாப்பான குக்கீ பண்புகள்:
HttpOnly
: இது ஒரு முக்கியமான பண்பு. இதுdocument.cookie
API வழியாக கிளையன்ட் பக்க ஜாவாஸ்கிரிப்ட்டிற்கு ஒரு குக்கீயை அணுக முடியாததாக ஆக்குகிறது. இது XSS வழியாக அமர்வு டோக்கன் திருட்டுக்கு எதிரான உங்கள் முதன்மைப் பாதுகாப்பு.Secure
: உலாவி குக்கீயை ஒரு மறைகுறியாக்கப்பட்ட HTTPS இணைப்பு வழியாக மட்டுமே அனுப்பும் என்பதை உறுதி செய்கிறது.SameSite
: CSRF-க்கு எதிரான மிகவும் பயனுள்ள பாதுகாப்பு. இது ஒரு குக்கீ குறுக்கு-தள கோரிக்கைகளுடன் அனுப்பப்படுகிறதா என்பதைக் கட்டுப்படுத்துகிறது.SameSite=Strict
: குக்கீ ஒரே தளத்திலிருந்து உருவாகும் கோரிக்கைகளுக்கு மட்டுமே அனுப்பப்படுகிறது. வலுவான பாதுகாப்பை வழங்குகிறது.SameSite=Lax
: ஒரு நல்ல சமநிலை. குறுக்கு-தள துணைக்கோரிக்கைகளில் (படங்கள் அல்லது பிரேம்கள் போன்றவை) குக்கீ நிறுத்தி வைக்கப்படுகிறது, ஆனால் ஒரு பயனர் வெளிப்புற தளத்திலிருந்து URL-க்கு செல்லும்போது (எ.கா., ஒரு இணைப்பைக் கிளிக் செய்வதன் மூலம்) அனுப்பப்படுகிறது. இது பெரும்பாலான நவீன உலாவிகளில் இயல்புநிலையாக உள்ளது.
5. மூன்றாம் தரப்பு சார்புகளை நிர்வகித்தல் மற்றும் விநியோகச் சங்கிலி பாதுகாப்பு
உங்கள் பயன்பாட்டின் பாதுகாப்பு அதன் பலவீனமான சார்பைப் பொறுத்தது. ஒரு சிறிய, மறக்கப்பட்ட npm தொகுப்பில் உள்ள ஒரு பாதிப்பு ஒரு முழு அளவிலான சமரசத்திற்கு வழிவகுக்கும்.
விநியோகச் சங்கிலி பாதுகாப்பிற்கான செயல் படிகள்:
- தானியங்கு பாதிப்பு ஸ்கேனிங்: GitHub-ன் Dependabot, Snyk, அல்லது `npm audit` போன்ற கருவிகளை உங்கள் CI/CD பைப்லைனில் ஒருங்கிணைக்கவும். இந்தக் கருவிகள் அறியப்பட்ட பாதிப்புகளின் தரவுத்தளங்களுக்கு எதிராக உங்கள் சார்புகளை தானாகவே ஸ்கேன் செய்து அபாயங்கள் குறித்து உங்களை எச்சரிக்கின்றன.
- ஒரு லாக்ஃபைலைப் பயன்படுத்தவும்: எப்போதும் ஒரு லாக்ஃபைலை (
package-lock.json
,yarn.lock
) உங்கள் களஞ்சியத்தில் சமர்ப்பிக்கவும். இது ஒவ்வொரு டெவலப்பரும் மற்றும் ஒவ்வொரு உருவாக்க செயல்முறையும் ஒவ்வொரு சார்பின் சரியான பதிப்பைப் பயன்படுத்துவதை உறுதி செய்கிறது, எதிர்பாராத மற்றும் தீங்கிழைக்கும் சாத்தியமுள்ள புதுப்பிப்புகளைத் தடுக்கிறது. - உங்கள் சார்புகளை பரிசோதிக்கவும்: ஒரு புதிய சார்பைச் சேர்ப்பதற்கு முன், உங்கள் உரிய விடாமுயற்சியைச் செய்யுங்கள். அதன் புகழ், பராமரிப்பு நிலை, சிக்கல் வரலாறு மற்றும் பாதுகாப்பு சாதனைப் பதிவைச் சரிபார்க்கவும். ஒரு சிறிய, பராமரிக்கப்படாத நூலகம் பரவலாகப் பயன்படுத்தப்படும் மற்றும் தீவிரமாக ஆதரிக்கப்படும் ஒன்றை விட அதிக ஆபத்தானது.
- சார்புகளைக் குறைக்கவும்: உங்களிடம் குறைவான சார்புகள் இருந்தால், உங்கள் தாக்குதல் பரப்பு சிறியதாக இருக்கும். உங்கள் திட்டத்தை அவ்வப்போது மதிப்பாய்வு செய்து, பயன்படுத்தப்படாத தொகுப்புகளை அகற்றவும்.
6. நிகழ்நேரப் பாதுகாப்பு மற்றும் கண்காணிப்பு
நிலையான பாதுகாப்புகள் அவசியம், ஆனால் ஒரு விரிவான உத்தி, உங்கள் குறியீடு பயனரின் உலாவியில் நிகழ்நேரத்தில் என்ன செய்கிறது என்பதைக் கண்காணிப்பதையும் உள்ளடக்கியது.
நிகழ்நேரப் பாதுகாப்பு நடவடிக்கைகள்:
- ஜாவாஸ்கிரிப்ட் சாண்ட்பாக்சிங்: அதிக ஆபத்துள்ள மூன்றாம் தரப்பு குறியீட்டைச் செயல்படுத்த (எ.கா., ஒரு ஆன்லைன் குறியீடு எடிட்டர் அல்லது ஒரு செருகுநிரல் அமைப்பில்), சாண்ட்பாக்ஸ் செய்யப்பட்ட iframes மற்றும் கடுமையான CSP-கள் போன்ற நுட்பங்களைப் பயன்படுத்தி அவற்றின் திறன்களைப் பெரிதும் கட்டுப்படுத்தவும்.
- நடத்தை கண்காணிப்பு: கிளையன்ட் பக்க பாதுகாப்பு தீர்வுகள் உங்கள் பக்கத்தில் உள்ள அனைத்து ஸ்கிரிப்ட்களின் நிகழ்நேர நடத்தையைக் கண்காணிக்க முடியும். முக்கியமான படிவ புலங்களை அணுக முயற்சிக்கும் ஸ்கிரிப்ட்கள், தரவு கசிவைக் குறிக்கும் எதிர்பாராத நெட்வொர்க் கோரிக்கைகள், அல்லது DOM-க்கு அங்கீகரிக்கப்படாத மாற்றங்கள் போன்ற சந்தேகத்திற்கிடமான நடவடிக்கைகளை அவை நிகழ்நேரத்தில் கண்டறிந்து தடுக்க முடியும்.
- மையப்படுத்தப்பட்ட பதிவுக் குறிப்பு: CSP-யுடன் குறிப்பிட்டது போல, கிளையன்ட் பக்கத்திலிருந்து பாதுகாப்பு தொடர்பான நிகழ்வுகளைத் திரட்டவும். CSP மீறல்கள், தோல்வியுற்ற ஒருமைப்பாட்டுச் சோதனைகள், மற்றும் பிற முரண்பாடுகளை ஒரு மையப்படுத்தப்பட்ட பாதுகாப்பு தகவல் மற்றும் நிகழ்வு மேலாண்மை (SIEM) அமைப்புக்கு பதிவு செய்வது உங்கள் பாதுகாப்பு குழுவிற்கு போக்குகளை அடையாளம் காணவும், பெரிய அளவிலான தாக்குதல்களைக் கண்டறியவும் அனுமதிக்கிறது.
அனைத்தையும் ஒன்றிணைத்தல்: ஒரு அடுக்கு பாதுகாப்பு மாதிரி
எந்தவொரு ஒற்றைக் கட்டுப்பாடும் ஒரு வெள்ளித் தோட்டா அல்ல. இந்த கட்டமைப்பின் வலிமை இந்த பாதுகாப்புகளை ஒன்றையொன்று வலுப்படுத்தும் வகையில் அடுக்குவதில் உள்ளது.
- அச்சுறுத்தல்: பயனர் உருவாக்கிய உள்ளடக்கத்திலிருந்து XSS.
- அடுக்கு 1 (முதன்மை): சூழல்-அறிந்த வெளியீட்டுக் குறியாக்கம், பயனர் தரவை குறியீடாக உலாவி விளக்குவதைத் தடுக்கிறது.
- அடுக்கு 2 (இரண்டாம் நிலை): ஒரு கடுமையான உள்ளடக்க பாதுகாப்பு கொள்கை (CSP) ஒரு குறியாக்கப் பிழை இருந்தாலும், அங்கீகரிக்கப்படாத ஸ்கிரிப்ட்களின் செயல்பாட்டைத் தடுக்கிறது.
- அடுக்கு 3 (மூன்றாம் நிலை):
HttpOnly
குக்கீகளைப் பயன்படுத்துவது திருடப்பட்ட அமர்வு டோக்கன் தாக்குபவருக்குப் பயனுள்ளதாக இருப்பதைத் தடுக்கிறது.
- அச்சுறுத்தல்: சமரசம் செய்யப்பட்ட ஒரு மூன்றாம் தரப்பு பகுப்பாய்வு ஸ்கிரிப்ட்.
- அடுக்கு 1 (முதன்மை): துணைவள ஒருமைப்பாடு (SRI) மாற்றியமைக்கப்பட்ட ஸ்கிரிப்ட் ஏற்றப்படுவதை உலாவி தடுக்கச் செய்கிறது.
- அடுக்கு 2 (இரண்டாம் நிலை): ஒரு குறிப்பிட்ட
script-src
மற்றும்connect-src
உடன் ஒரு கடுமையான CSP, சமரசம் செய்யப்பட்ட ஸ்கிரிப்ட் என்ன செய்ய முடியும் மற்றும் அது எங்கு தரவை அனுப்ப முடியும் என்பதைக் கட்டுப்படுத்தும். - அடுக்கு 3 (மூன்றாம் நிலை): நிகழ்நேர கண்காணிப்பு ஸ்கிரிப்ட்டின் முரண்பாடான நடத்தையைக் கண்டறிந்து (எ.கா., கடவுச்சொல் புலங்களைப் படிக்க முயற்சிப்பது) அதைத் தடுக்க முடியும்.
முடிவுரை: தொடர்ச்சியான பாதுகாப்பிற்கான ஒரு அர்ப்பணிப்பு
கிளையன்ட் பக்க ஜாவாஸ்கிரிப்ட்டைப் பாதுகாப்பது ஒரு முறை செய்யும் திட்டம் அல்ல; இது விழிப்புணர்வு, தழுவல் மற்றும் முன்னேற்றத்தின் தொடர்ச்சியான செயல்முறையாகும். அச்சுறுத்தல் சூழல் தொடர்ந்து உருவாகி வருகிறது, தாக்குபவர்கள் பாதுகாப்புகளைத் தவிர்ப்பதற்கு புதிய நுட்பங்களை உருவாக்குகிறார்கள். ஒலி கொள்கைகளின் மீது கட்டமைக்கப்பட்ட ஒரு கட்டமைக்கப்பட்ட, பல-அடுக்கு கட்டமைப்பை ஏற்றுக்கொள்வதன் மூலம், நீங்கள் ஒரு எதிர்வினை நிலையிலிருந்து ஒரு முன்கூட்டிய நிலைக்கு நகர்கிறீர்கள்.
இந்த கட்டமைப்பு—CSP போன்ற வலுவான கொள்கைகளை இணைப்பது, SRI உடன் சரிபார்ப்பு, குறியாக்கம் போன்ற அடிப்பட சுகாதாரம், பாதுகாப்பான தலைப்புகள் மூலம் கடினப்படுத்துதல், மற்றும் சார்பு ஸ்கேனிங் மற்றும் நிகழ்நேர கண்காணிப்பு வழியாக விழிப்புணர்வு—உலகெங்கிலும் உள்ள நிறுவனங்களுக்கு ஒரு வலுவான வரைபடத்தை வழங்குகிறது. இன்று உங்கள் பயன்பாடுகளை இந்தக் கட்டுப்பாடுகளுக்கு எதிராக தணிக்கை செய்வதன் மூலம் தொடங்கவும். உங்கள் தரவு, உங்கள் பயனர்கள், மற்றும் உங்கள் நற்பெயரைப் பாதுகாக்க, பெருகிய முறையில் ஒன்றோடொன்று இணைக்கப்பட்ட உலகில் இந்த அடுக்கு பாதுகாப்புகளைச் செயல்படுத்துவதற்கு முன்னுரிமை அளியுங்கள்.