தமிழ்

உள்ளடக்கப் பாதுகாப்புக் கொள்கையை (CSP) ஆராயுங்கள், இது XSS தாக்குதல்கள் மற்றும் பிற பாதுகாப்பு பாதிப்புகளிலிருந்து வலைத்தளங்களைப் பாதுகாக்க உதவும் ஒரு சக்திவாய்ந்த உலாவி பாதுகாப்பு பொறிமுறையாகும்.

உலாவி பாதுகாப்பு: உள்ளடக்க பாதுகாப்பு கொள்கை (CSP) பற்றிய ஒரு ஆழமான பார்வை

இன்றைய வலை சூழலில், பாதுகாப்பு மிக முக்கியமானது. வலைத்தளங்கள் கிராஸ்-சைட் ஸ்கிரிப்டிங் (XSS), தரவு உட்செலுத்துதல் மற்றும் கிளிக்ஜாக்கிங் உள்ளிட்ட சாத்தியமான தாக்குதல்களின் தொடர்ச்சியான முற்றுகையை எதிர்கொள்கின்றன. இந்த அச்சுறுத்தல்களுக்கு எதிரான மிகச் சிறந்த பாதுகாப்புகளில் ஒன்று உள்ளடக்க பாதுகாப்பு கொள்கை (CSP) ஆகும். இந்த கட்டுரை CSP-க்கு ஒரு விரிவான வழிகாட்டியை வழங்குகிறது, அதன் நன்மைகள், செயல்படுத்தல் மற்றும் உங்கள் வலைப் பயன்பாடுகளைப் பாதுகாப்பதற்கான சிறந்த நடைமுறைகளை ஆராய்கிறது.

உள்ளடக்க பாதுகாப்பு கொள்கை (CSP) என்றால் என்ன?

உள்ளடக்க பாதுகாப்பு கொள்கை (CSP) என்பது ஒரு கூடுதல் பாதுகாப்பு அடுக்கு ஆகும், இது கிராஸ்-சைட் ஸ்கிரிப்டிங் (XSS) மற்றும் தரவு உட்செலுத்துதல் தாக்குதல்கள் உள்ளிட்ட சில வகை தாக்குதல்களைக் கண்டறிந்து தணிக்க உதவுகிறது. இந்த தாக்குதல்கள் தரவு திருட்டு முதல் தளத்தை சிதைப்பது வரை மால்வேர் விநியோகம் வரை எல்லாவற்றிற்கும் பயன்படுத்தப்படுகின்றன.

CSP என்பது அடிப்படையில் ஒரு வெள்ளைப்பட்டியல் ஆகும், இது எந்த உள்ளடக்க மூலங்கள் ஏற்றுவதற்கு பாதுகாப்பானவை என்று உலாவிக்குச் சொல்கிறது. ஒரு கடுமையான கொள்கையை வரையறுப்பதன் மூலம், வெளிப்படையாக அங்கீகரிக்கப்படாத மூலங்களிலிருந்து எந்தவொரு உள்ளடக்கத்தையும் புறக்கணிக்க நீங்கள் உலாவிக்கு அறிவுறுத்துகிறீர்கள், இது பல XSS தாக்குதல்களை திறம்பட நடுநிலையாக்குகிறது.

CSP ஏன் முக்கியமானது?

CSP பல முக்கியமான நன்மைகளை வழங்குகிறது:

CSP எவ்வாறு செயல்படுகிறது

உங்கள் வலைப்பக்கங்களில் ஒரு HTTP மறுமொழி தலைப்பு அல்லது ஒரு <meta> குறிச்சொல்லைச் சேர்ப்பதன் மூலம் CSP செயல்படுகிறது. இந்த தலைப்பு/குறிச்சொல், ஆதாரங்களை ஏற்றும்போது உலாவி செயல்படுத்த வேண்டிய ஒரு கொள்கையை வரையறுக்கிறது. இந்தக் கொள்கை தொடர்ச்சியான வழிகாட்டுதல்களைக் கொண்டுள்ளது, ஒவ்வொன்றும் ஒரு குறிப்பிட்ட வகை ஆதாரத்திற்கான (எ.கா., ஸ்கிரிப்டுகள், ஸ்டைல்ஷீட்கள், படங்கள், எழுத்துருக்கள்) அனுமதிக்கப்பட்ட மூலங்களைக் குறிப்பிடுகிறது.

பின்னர், அனுமதிக்கப்பட்ட மூலங்களுடன் பொருந்தாத எந்த ஆதாரங்களையும் தடுப்பதன் மூலம் உலாவி இந்தக் கொள்கையைச் செயல்படுத்துகிறது. ஒரு மீறல் ஏற்படும் போது, உலாவி விருப்பமாக அதை ஒரு குறிப்பிட்ட URL-க்கு புகாரளிக்கலாம்.

CSP வழிகாட்டுதல்கள்: ஒரு விரிவான கண்ணோட்டம்

CSP வழிகாட்டுதல்கள் கொள்கையின் மையமாகும், இது பல்வேறு வகையான ஆதாரங்களுக்கான அனுமதிக்கப்பட்ட மூலங்களை வரையறுக்கிறது. இங்கே மிகவும் பொதுவான மற்றும் அத்தியாவசியமான வழிகாட்டுதல்களின் ஒரு முறிவு உள்ளது:

மூலப் பட்டியல் முக்கிய வார்த்தைகள்

URL-களுக்கு கூடுதலாக, CSP வழிகாட்டுதல்கள் அனுமதிக்கப்பட்ட மூலங்களை வரையறுக்க பல முக்கிய வார்த்தைகளைப் பயன்படுத்தலாம்:

CSP செயல்படுத்துதல்: நடைமுறை எடுத்துக்காட்டுகள்

CSP-ஐ செயல்படுத்த இரண்டு முதன்மை வழிகள் உள்ளன:

  1. HTTP மறுமொழி தலைப்பு: இது பரிந்துரைக்கப்பட்ட அணுகுமுறை, ஏனெனில் இது அதிக நெகிழ்வுத்தன்மையையும் கட்டுப்பாட்டையும் வழங்குகிறது.
  2. <meta> குறிச்சொல்: இது ஒரு எளிமையான அணுகுமுறை, ஆனால் இதற்கு வரம்புகள் உள்ளன (எ.கா., இதை frame-ancestors-உடன் பயன்படுத்த முடியாது).

எடுத்துக்காட்டு 1: HTTP மறுமொழி தலைப்பு

CSP தலைப்பை அமைக்க, உங்கள் வலை சேவையகத்தை (எ.கா., Apache, Nginx, IIS) உள்ளமைக்க வேண்டும். குறிப்பிட்ட உள்ளமைவு உங்கள் சேவையக மென்பொருளைப் பொறுத்தது.

CSP தலைப்பின் ஒரு எடுத்துக்காட்டு இங்கே:

Content-Security-Policy: default-src 'self'; script-src 'self' https://example.com; style-src 'self' 'unsafe-inline'; img-src 'self' data:; report-uri /csp-report

விளக்கம்:

எடுத்துக்காட்டு 2: <meta> குறிச்சொல்

CSP கொள்கையை வரையறுக்க நீங்கள் ஒரு <meta> குறிச்சொல்லையும் பயன்படுத்தலாம்:

<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' https://example.com; style-src 'self' 'unsafe-inline'; img-src 'self' data:">

குறிப்பு: <meta> குறிச்சொல் அணுகுமுறைக்கு வரம்புகள் உள்ளன. எடுத்துக்காட்டாக, கிளிக்ஜாக்கிங் தாக்குதல்களைத் தடுப்பதற்கு முக்கியமான frame-ancestors வழிகாட்டுதலை வரையறுக்க இதைப் பயன்படுத்த முடியாது.

CSP அறிக்கை-மட்டும் பயன்முறையில்

ஒரு CSP கொள்கையைச் செயல்படுத்துவதற்கு முன்பு, அதை அறிக்கை-மட்டும் பயன்முறையில் சோதிப்பது மிகவும் பரிந்துரைக்கப்படுகிறது. இது எந்த ஆதாரங்களையும் தடுக்காமல் மீறல்களைக் கண்காணிக்க உங்களை அனுமதிக்கிறது.

அறிக்கை-மட்டும் பயன்முறையை இயக்க, Content-Security-Policy என்பதற்குப் பதிலாக Content-Security-Policy-Report-Only தலைப்பைப் பயன்படுத்தவும்:

Content-Security-Policy-Report-Only: default-src 'self'; script-src 'self' https://example.com; report-uri /csp-report

அறிக்கை-மட்டும் பயன்முறையில், உலாவி குறிப்பிட்ட URL-க்கு மீறல் அறிக்கைகளை அனுப்பும், ஆனால் அது எந்த ஆதாரங்களையும் தடுக்காது. இது உங்கள் கொள்கையைச் செயல்படுத்துவதற்கு முன்பு அதிலுள்ள சிக்கல்களைக் கண்டறிந்து சரிசெய்ய உங்களை அனுமதிக்கிறது.

அறிக்கை URI இறுதிப்புள்ளியை அமைத்தல்

report-uri (வழக்கொழிந்தது, `report-to`-ஐ பயன்படுத்தவும்) வழிகாட்டுதல் உலாவி மீறல் அறிக்கைகளை அனுப்ப வேண்டிய URL-ஐக் குறிப்பிடுகிறது. இந்த அறிக்கைகளைப் பெறவும் செயலாக்கவும் உங்கள் சேவையகத்தில் ஒரு இறுதிப்புள்ளியை நீங்கள் அமைக்க வேண்டும். இந்த அறிக்கைகள் ஒரு POST கோரிக்கையின் मुख्यப் பகுதியில் JSON தரவாக அனுப்பப்படுகின்றன.

Node.js-இல் CSP அறிக்கைகளை நீங்கள் எவ்வாறு கையாளலாம் என்பதற்கான ஒரு எளிமைப்படுத்தப்பட்ட எடுத்துக்காட்டு இங்கே:

const express = require('express');
const bodyParser = require('body-parser');
const app = express();
const port = 3000;

app.use(bodyParser.json({ type: 'application/csp-report' }));

app.post('/csp-report', (req, res) => {
 console.log('CSP Violation Report:', JSON.stringify(req.body, null, 2));
 res.status(204).end(); // Respond with a 204 No Content
});

app.listen(port, () => {
 console.log(`CSP report server listening at http://localhost:${port}`);
});

இந்த குறியீடு /csp-report இறுதிப்புள்ளிக்கு POST கோரிக்கைகளைக் கேட்கும் ஒரு எளிய சேவையகத்தை அமைக்கிறது. ஒரு அறிக்கை பெறப்பட்டதும், அது அறிக்கையை கன்சோலில் பதிவு செய்கிறது. ஒரு நிஜ உலக பயன்பாட்டில், நீங்கள் இந்த அறிக்கைகளை பகுப்பாய்விற்காக ஒரு தரவுத்தளத்தில் சேமிக்க விரும்புவீர்கள்.

`report-to`-ஐப் பயன்படுத்தும் போது, நீங்கள் `Report-To` HTTP தலைப்பையும் உள்ளமைக்க வேண்டும். இந்த தலைப்பு அறிக்கையிடல் இறுதிப்புள்ளிகளையும் அவற்றின் பண்புகளையும் வரையறுக்கிறது.

Report-To: {"group":"csp-endpoint","max_age":10886400,"endpoints":[{"url":"https://example.com/csp-report"}],"include_subdomains":true}

பின்னர், உங்கள் CSP தலைப்பில், நீங்கள் இதைப் பயன்படுத்துவீர்கள்:

Content-Security-Policy: default-src 'self'; report-to csp-endpoint;

CSP சிறந்த நடைமுறைகள்

CSP-ஐ செயல்படுத்தும்போது பின்பற்ற வேண்டிய சில சிறந்த நடைமுறைகள் இங்கே:

CSP மற்றும் மூன்றாம் தரப்பு ஸ்கிரிப்டுகள்

CSP-ஐ செயல்படுத்துவதில் உள்ள மிகப்பெரிய சவால்களில் ஒன்று மூன்றாம் தரப்பு ஸ்கிரிப்டுகளைக் கையாள்வது. பல வலைத்தளங்கள் பகுப்பாய்வு, விளம்பரம் மற்றும் பிற செயல்பாடுகளுக்கு மூன்றாம் தரப்பு சேவைகளை நம்பியுள்ளன. இந்த ஸ்கிரிப்டுகள் சரியாக நிர்வகிக்கப்படாவிட்டால் பாதுகாப்பு பாதிப்புகளை அறிமுகப்படுத்தக்கூடும்.

CSP-உடன் மூன்றாம் தரப்பு ஸ்கிரிப்டுகளை நிர்வகிப்பதற்கான சில குறிப்புகள் இங்கே:

மேம்பட்ட CSP நுட்பங்கள்

நீங்கள் ஒரு அடிப்படை CSP கொள்கையை வைத்தவுடன், உங்கள் வலைத்தளத்தின் பாதுகாப்பை மேலும் மேம்படுத்த சில மேம்பட்ட நுட்பங்களை நீங்கள் ஆராயலாம்:

CSP செயல்படுத்துதலுக்கான உலகளாவிய பரிசீலனைகள்

உலகளாவிய பார்வையாளர்களுக்காக CSP-ஐ செயல்படுத்தும்போது, பின்வருவனவற்றைக் கவனியுங்கள்:

CSP சரிசெய்தல்

CSP-ஐ செயல்படுத்துவது சில நேரங்களில் சவாலானதாக இருக்கலாம், மேலும் நீங்கள் சிக்கல்களை சந்திக்க நேரிடலாம். இங்கே சில பொதுவான சிக்கல்கள் மற்றும் அவற்றை எவ்வாறு சரிசெய்வது என்பது பற்றிய விவரங்கள்:

முடிவுரை

உள்ளடக்க பாதுகாப்பு கொள்கை என்பது உங்கள் வலைத்தளத்தின் பாதுகாப்பை மேம்படுத்துவதற்கும், பல்வேறு அச்சுறுத்தல்களிலிருந்து உங்கள் பயனர்களைப் பாதுகாப்பதற்கும் ஒரு சக்திவாய்ந்த கருவியாகும். CSP-ஐ சரியாகச் செயல்படுத்தி, சிறந்த நடைமுறைகளைப் பின்பற்றுவதன் மூலம், XSS தாக்குதல்கள், கிளிக்ஜாக்கிங் மற்றும் பிற பாதிப்புகளின் அபாயத்தை நீங்கள் கணிசமாகக் குறைக்கலாம். CSP-ஐ செயல்படுத்துவது சிக்கலானதாக இருந்தாலும், பாதுகாப்பு மற்றும் பயனர் நம்பிக்கையின் அடிப்படையில் அது வழங்கும் நன்மைகள் முயற்சிக்கு மதிப்புள்ளவை. ஒரு கடுமையான கொள்கையுடன் தொடங்கவும், முழுமையாக சோதிக்கவும், மேலும் அது பயனுள்ளதாக இருப்பதை உறுதிப்படுத்த உங்கள் கொள்கையைத் தொடர்ந்து கண்காணித்து செம்மைப்படுத்தவும் நினைவில் கொள்ளுங்கள். வலை வளர்ச்சியடைந்து புதிய அச்சுறுத்தல்கள் வெளிவரும்போது, CSP ஒரு விரிவான வலைப் பாதுகாப்பு உத்தியின் ஒரு முக்கிய பகுதியாக தொடர்ந்து இருக்கும்.