உங்கள் வலைத்தளத்தை பொதுவான தாக்குதல்களிலிருந்து பாதுகாக்க இணையப் பாதுகாப்பு ஹெடர்களை செயல்படுத்துவதற்கான ஒரு விரிவான வழிகாட்டி. இது உலகளாவிய பார்வையாளர்களுக்கான பாதுகாப்பை மேம்படுத்துகிறது.
இணையப் பாதுகாப்பு ஹெடர்கள்: ஒரு நடைமுறை அமலாக்க வழிகாட்டி
இன்றைய டிஜிட்டல் உலகில், இணையப் பாதுகாப்பு மிக முக்கியமானது. வலைத்தளங்கள் கிராஸ்-சைட் ஸ்கிரிப்டிங் (XSS), கிளிக்ஜாக்கிங், மற்றும் டேட்டா இன்ஜெக்ஷன் உள்ளிட்ட பல்வேறு தாக்குதல்களால் தொடர்ந்து குறிவைக்கப்படுகின்றன. இந்த அபாயங்களைக் குறைப்பதற்கும், உங்கள் பயனர்களையும் தரவுகளையும் பாதுகாப்பதற்கும் இணையப் பாதுகாப்பு ஹெடர்களைச் செயல்படுத்துவது ஒரு முக்கியமான படியாகும். இந்த வழிகாட்டி முக்கிய பாதுகாப்பு ஹெடர்கள் மற்றும் அவற்றை எவ்வாறு திறம்பட செயல்படுத்துவது என்பது பற்றிய விரிவான கண்ணோட்டத்தை வழங்குகிறது.
இணையப் பாதுகாப்பு ஹெடர்கள் என்றால் என்ன?
இணையப் பாதுகாப்பு ஹெடர்கள் என்பவை உங்கள் வலைத்தளத்தின் உள்ளடக்கத்தைக் கையாளும்போது இணைய உலாவிகள் எவ்வாறு நடந்துகொள்ள வேண்டும் என்று அறிவுறுத்தும் HTTP ரெஸ்பான்ஸ் ஹெடர்கள் ஆகும். அவை ஒரு விதிமுறைகளின் தொகுப்பாகச் செயல்படுகின்றன, எந்தச் செயல்கள் அனுமதிக்கப்படுகின்றன, எவை தடைசெய்யப்பட்டுள்ளன என்பதை உலாவிக்குத் தெரிவிக்கின்றன. இந்த ஹெடர்களைச் சரியாக அமைப்பதன் மூலம், உங்கள் வலைத்தளத்தின் தாக்குதல் பரப்பை கணிசமாகக் குறைத்து, அதன் ஒட்டுமொத்த பாதுகாப்பு நிலையை மேம்படுத்தலாம். பாதுகாப்பு ஹெடர்கள் தற்போதுள்ள பாதுகாப்பு நடவடிக்கைகளை மேம்படுத்துகின்றன மற்றும் பொதுவான இணைய பாதிப்புகளுக்கு எதிராக கூடுதல் பாதுகாப்பு அடுக்கை வழங்குகின்றன.
பாதுகாப்பு ஹெடர்கள் ஏன் முக்கியமானவை?
- பொதுவான தாக்குதல்களைத் தணித்தல்: பாதுகாப்பு ஹெடர்கள் XSS, கிளிக்ஜாக்கிங், மற்றும் MIME ஸ்னிஃப்பிங் போன்ற பல பொதுவான இணையத் தாக்குதல்களை திறம்பட தடுக்கலாம் அல்லது தணிக்கலாம்.
- பயனர் தனியுரிமையை மேம்படுத்துதல்: சில ஹெடர்கள் ரெஃபரர் தகவலைக் கட்டுப்படுத்துவதன் மூலமும், உலாவி அம்சங்களுக்கான அணுகலைக் கட்டுப்படுத்துவதன் மூலமும் பயனர் தனியுரிமையைப் பாதுகாக்க உதவும்.
- வலைத்தள பாதுகாப்பு நிலையை மேம்படுத்துதல்: பாதுகாப்பு ஹெடர்களை செயல்படுத்துவது பாதுகாப்பிற்கான அர்ப்பணிப்பை நிரூபிக்கிறது மற்றும் உங்கள் வலைத்தளத்தின் நற்பெயரை மேம்படுத்தலாம்.
- இணக்கத் தேவைகள்: GDPR மற்றும் PCI DSS போன்ற பல பாதுகாப்பு தரநிலைகள் மற்றும் விதிமுறைகள் பாதுகாப்பு ஹெடர்களின் பயன்பாட்டைக் கோருகின்றன அல்லது பரிந்துரைக்கின்றன.
முக்கிய பாதுகாப்பு ஹெடர்கள் மற்றும் அவற்றின் அமலாக்கம்
மிக முக்கியமான பாதுகாப்பு ஹெடர்கள் மற்றும் அவற்றை எவ்வாறு செயல்படுத்துவது என்பது பற்றிய விவரம் இங்கே:
1. Content-Security-Policy (CSP)
Content-Security-Policy (CSP) ஹெடர் மிகவும் சக்திவாய்ந்த பாதுகாப்பு ஹெடர்களில் ஒன்றாகும். ஸ்கிரிப்டுகள், ஸ்டைல்ஷீட்கள், படங்கள் மற்றும் எழுத்துருக்கள் போன்ற வளங்களை உலாவி எந்த மூலங்களிலிருந்து ஏற்ற அனுமதிக்கப்படுகிறது என்பதை இது கட்டுப்படுத்த உங்களை அனுமதிக்கிறது. இது உங்கள் வலைத்தளத்தில் செலுத்தப்பட்ட தீங்கிழைக்கும் குறியீட்டை உலாவி இயக்குவதைத் தடுப்பதன் மூலம் XSS தாக்குதல்களைத் தடுக்க உதவுகிறது.
செயல்படுத்துதல்:
CSP ஹெடர் `Content-Security-Policy` டைரக்டிவ் மூலம் அமைக்கப்பட்டுள்ளது. இதன் மதிப்பு டைரக்டிவ்களின் பட்டியலாகும், ஒவ்வொன்றும் ஒரு குறிப்பிட்ட வகை வளத்திற்கான அனுமதிக்கப்பட்ட மூலங்களைக் குறிப்பிடுகிறது.
உதாரணம்:
Content-Security-Policy: default-src 'self'; script-src 'self' https://example.com; style-src 'self' https://example.com; img-src 'self' data:; font-src 'self'; connect-src 'self' wss://example.com;
விளக்கம்:
- `default-src 'self'`: மேலும் குறிப்பிட்ட டைரக்டிவ் மூலம் குறிப்பிடப்படாவிட்டால், ஆவணத்தின் அதே மூலத்திலிருந்து அனைத்து வளங்களும் ஏற்றப்பட வேண்டும் என்று இது குறிப்பிடுகிறது.
- `script-src 'self' https://example.com`: ஸ்கிரிப்ட்களை அதே மூலத்திலிருந்தும் `https://example.com` இலிருந்தும் ஏற்ற அனுமதிக்கிறது.
- `style-src 'self' https://example.com`: ஸ்டைல்ஷீட்களை அதே மூலத்திலிருந்தும் `https://example.com` இலிருந்தும் ஏற்ற அனுமதிக்கிறது.
- `img-src 'self' data:`: படங்களை அதே மூலத்திலிருந்தும் டேட்டா URI-களிலிருந்தும் (இன்லைன் படங்கள்) ஏற்ற அனுமதிக்கிறது.
- `font-src 'self'`: எழுத்துருக்களை அதே மூலத்திலிருந்து ஏற்ற அனுமதிக்கிறது.
- `connect-src 'self' wss://example.com`: அதே மூலத்திற்கும் `wss://example.com` க்கும் இணைப்புகளை (எ.கா., AJAX, WebSockets) செய்ய அனுமதிக்கிறது.
முக்கியமான CSP டைரக்டிவ்கள்:
- `default-src`: வேறு எந்த டைரக்டிவும் குறிப்பிடப்படவில்லை என்றால், அனைத்து வள வகைகளுக்கும் பொருந்தும் ஒரு பின்னடைவு டைரக்டிவ்.
- `script-src`: JavaScript க்கான மூலங்களைக் கட்டுப்படுத்துகிறது.
- `style-src`: ஸ்டைல்ஷீட்களுக்கான மூலங்களைக் கட்டுப்படுத்துகிறது.
- `img-src`: படங்களுக்கான மூலங்களைக் கட்டுப்படுத்துகிறது.
- `font-src`: எழுத்துருக்களுக்கான மூலங்களைக் கட்டுப்படுத்துகிறது.
- `media-src`: ஆடியோ மற்றும் வீடியோவிற்கான மூலங்களைக் கட்டுப்படுத்துகிறது.
- `object-src`: Flash போன்ற செருகுநிரல்களுக்கான மூலங்களைக் கட்டுப்படுத்துகிறது.
- `frame-src`: ஃபிரேம்கள் மற்றும் ஐஃபிரேம்களுக்கான மூலங்களைக் கட்டுப்படுத்துகிறது.
- `connect-src`: ஒரு ஸ்கிரிப்ட் இணைக்கக்கூடிய URL-களை (எ.கா., AJAX, WebSockets) கட்டுப்படுத்துகிறது.
- `base-uri`: ஒரு ஆவணத்தின் <base> உறுப்பில் பயன்படுத்தக்கூடிய URL-களைக் கட்டுப்படுத்துகிறது.
- `form-action`: படிவங்கள் சமர்ப்பிக்கக்கூடிய URL-களைக் கட்டுப்படுத்துகிறது.
CSP ரிப்போர்ட்-ஒன்லி மோடு:
ஒரு CSP பாலிசியை அமல்படுத்துவதற்கு முன், ரிப்போர்ட்-ஒன்லி மோட்-ஐப் பயன்படுத்த பரிந்துரைக்கப்படுகிறது. இது எந்த வளங்களையும் தடுக்காமல் பாலிசியின் தாக்கத்தை கண்காணிக்க உங்களை அனுமதிக்கிறது. இந்த நோக்கத்திற்காக `Content-Security-Policy-Report-Only` ஹெடர் பயன்படுத்தப்படுகிறது.
உதாரணம்:
Content-Security-Policy-Report-Only: default-src 'self'; script-src 'self' https://example.com; report-uri /csp-report-endpoint;
இந்த எடுத்துக்காட்டில், CSP பாலிசியின் எந்த மீறல்களும் `/csp-report-endpoint` URL க்கு புகாரளிக்கப்படும். இந்த அறிக்கைகளைப் பெறவும் பகுப்பாய்வு செய்யவும் நீங்கள் ஒரு சர்வர்-சைட் எண்ட்பாயிண்டை அமைக்க வேண்டும். சென்ட்ரி மற்றும் கூகிள் CSP மதிப்பீட்டாளர் போன்ற கருவிகள் CSP பாலிசி உருவாக்கம் மற்றும் புகாரளிப்பதில் உதவக்கூடும்.
2. X-Frame-Options
X-Frame-Options ஹெடர் கிளிக்ஜாக்கிங் தாக்குதல்களுக்கு எதிராக பாதுகாக்கப் பயன்படுகிறது. கிளிக்ஜாக்கிங் என்பது ஒரு தாக்குபவர் பயனரை அவர் உணர்ந்ததை விட வேறு எதையாவது கிளிக் செய்ய ஏமாற்றும் போது ஏற்படுகிறது, பெரும்பாலும் ஒரு முறையான வலைத்தளத்தை ஒரு தீங்கிழைக்கும் ஐஃபிரேமிற்குள் உட்பொதிப்பதன் மூலம்.
செயல்படுத்துதல்:
X-Frame-Options ஹெடருக்கு மூன்று சாத்தியமான மதிப்புகள் இருக்கலாம்:
- `DENY`: எந்த மூலமாக இருந்தாலும், பக்கத்தை ஒரு ஃபிரேமில் காண்பிப்பதைத் தடுக்கிறது.
- `SAMEORIGIN`: ஃபிரேமின் மூலம் பக்கத்தின் மூலத்தைப் போலவே இருந்தால் மட்டுமே பக்கத்தை ஒரு ஃபிரேமில் காண்பிக்க அனுமதிக்கிறது.
- `ALLOW-FROM uri`: (வழக்கொழிந்தது மற்றும் பரிந்துரைக்கப்படவில்லை) ஃபிரேமின் மூலம் குறிப்பிட்ட URI உடன் பொருந்தினால் மட்டுமே பக்கத்தை ஒரு ஃபிரேமில் காண்பிக்க அனுமதிக்கிறது.
உதாரணங்கள்:
X-Frame-Options: DENY
X-Frame-Options: SAMEORIGIN
பெரும்பாலான வலைத்தளங்களுக்கு, `SAMEORIGIN` விருப்பம் மிகவும் பொருத்தமானது. உங்கள் வலைத்தளம் ஒருபோதும் ஃபிரேம் செய்யப்படக்கூடாது என்றால், `DENY` ஐப் பயன்படுத்தவும். `ALLOW-FROM` விருப்பம் உலாவி பொருந்தக்கூடிய சிக்கல்கள் காரணமாக பொதுவாக ஊக்கமளிக்கப்படுவதில்லை.
முக்கியமானது: சிறந்த கட்டுப்பாடு மற்றும் பொருந்தக்கூடிய தன்மைக்கு `X-Frame-Options` க்கு பதிலாக CSP இன் `frame-ancestors` டைரக்டிவ்-ஐப் பயன்படுத்துவதைக் கவனியுங்கள், ஏனெனில் `X-Frame-Options` பழமையானதாகக் கருதப்படுகிறது. `frame-ancestors` ஒரு வளத்தை உட்பொதிக்க அனுமதிக்கப்பட்ட மூலங்களின் பட்டியலைக் குறிப்பிட உங்களை அனுமதிக்கிறது.
3. Strict-Transport-Security (HSTS)
Strict-Transport-Security (HSTS) ஹெடர் உங்கள் வலைத்தளத்துடன் HTTPS வழியாக மட்டுமே தொடர்பு கொள்ள உலாவிகளை கட்டாயப்படுத்துகிறது. இது பாதுகாப்பற்ற HTTP போக்குவரத்தை இடைமறித்து, பயனர்களை ஒரு தீங்கிழைக்கும் வலைத்தளத்திற்கு திருப்பிவிடும் மேன்-இன்-தி-மிடில் தாக்குதல்களைத் தடுக்கிறது.
செயல்படுத்துதல்:
HSTS ஹெடர் `max-age` டைரக்டிவ்-ஐக் குறிப்பிடுகிறது, இது தளம் HTTPS வழியாக மட்டுமே அணுகப்பட வேண்டும் என்பதை உலாவி நினைவில் கொள்ள வேண்டிய வினாடிகளின் எண்ணிக்கையைக் குறிக்கிறது. அனைத்து துணை டொமைன்களுக்கும் HSTS பாலிசியைப் பயன்படுத்த `includeSubDomains` டைரக்டிவ்-ஐயும் நீங்கள் சேர்க்கலாம்.
உதாரணம்:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
விளக்கம்:
- `max-age=31536000`: ஒரு வருடத்திற்கு (31,536,000 வினாடிகள்) தளம் HTTPS வழியாக மட்டுமே அணுகப்பட வேண்டும் என்பதை உலாவி நினைவில் கொள்ள வேண்டும் என்று குறிப்பிடுகிறது. உற்பத்திச் சூழல்களுக்கு நீண்ட `max-age` பொதுவாக பரிந்துரைக்கப்படுகிறது.
- `includeSubDomains`: வலைத்தளத்தின் அனைத்து துணை டொமைன்களுக்கும் HSTS பாலிசியைப் பயன்படுத்துகிறது.
- `preload`: உங்கள் டொமைனை உலாவியின் HSTS ப்ரீலோட் பட்டியலில் ப்ரீலோட் செய்ய விரும்புகிறீர்கள் என்பதைக் குறிக்கிறது. இது கூகிளால் பராமரிக்கப்படும் HSTS ப்ரீலோட் பட்டியலுக்கு உங்கள் டொமைனை சமர்ப்பிக்க வேண்டிய ஒரு விருப்பத்தேர்வு டைரக்டிவ் ஆகும். ப்ரீலோடிங் உங்கள் தளத்துடன் முதல் முறையாக இணைக்கும் பயனர்கள் HTTPS ஐப் பயன்படுத்துவதை உறுதி செய்கிறது.
முக்கியமானது: HSTS ஐ இயக்குவதற்கு முன், உங்கள் முழு வலைத்தளமும் அதன் அனைத்து துணை டொமைன்களும் HTTPS வழியாக அணுகக்கூடியவை என்பதை உறுதிப்படுத்தவும். அவ்வாறு செய்யத் தவறினால், பயனர்கள் உங்கள் வலைத்தளத்தை அணுக முடியாமல் போகலாம்.
4. X-Content-Type-Options
X-Content-Type-Options ஹெடர் MIME ஸ்னிஃப்பிங் தாக்குதல்களைத் தடுக்கிறது. MIME ஸ்னிஃப்பிங் என்பது சர்வர் வேறு உள்ளடக்க வகையைக் குறிப்பிட்டிருந்தாலும், ஒரு வளத்தின் உள்ளடக்க வகையை உலாவி யூகிக்க முயற்சிக்கும் ஒரு நுட்பமாகும். உலாவி ஒரு கோப்பை இயக்கக்கூடிய குறியீடாக தவறாகப் புரிந்து கொண்டால் இது பாதுகாப்பு பாதிப்புகளுக்கு வழிவகுக்கும்.
செயல்படுத்துதல்:
X-Content-Type-Options ஹெடருக்கு ஒரே ஒரு சாத்தியமான மதிப்பு மட்டுமே உள்ளது: `nosniff`.
உதாரணம்:
X-Content-Type-Options: nosniff
இந்த ஹெடர் உலாவிக்கு ஒரு வளத்தின் உள்ளடக்க வகையை யூகிக்க முயற்சிக்க வேண்டாம் என்றும், சர்வரால் குறிப்பிடப்பட்ட `Content-Type` ஹெடரை மட்டுமே நம்பியிருக்க வேண்டும் என்றும் கூறுகிறது.
5. Referrer-Policy
Referrer-Policy ஹெடர் ஒரு பயனர் உங்கள் வலைத்தளத்திலிருந்து வெளியே செல்லும்போது மற்ற வலைத்தளங்களுக்கு எவ்வளவு ரெஃபரர் தகவல் (முந்தைய பக்கத்தின் URL) அனுப்பப்படுகிறது என்பதைக் கட்டுப்படுத்துகிறது. இது முக்கியமான தகவல்கள் மூன்றாம் தரப்பு தளங்களுக்கு கசிவதைத் தடுப்பதன் மூலம் பயனர் தனியுரிமையைப் பாதுகாக்க உதவும்.
செயல்படுத்துதல்:
Referrer-Policy ஹெடருக்கு பல சாத்தியமான மதிப்புகள் இருக்கலாம், ஒவ்வொன்றும் அனுப்ப வேண்டிய வெவ்வேறு அளவிலான ரெஃபரர் தகவலைக் குறிப்பிடுகிறது:
- `no-referrer`: ஒருபோதும் Referer ஹெடரை அனுப்ப வேண்டாம்.
- `no-referrer-when-downgrade`: HTTPS இலிருந்து HTTP க்கு செல்லும்போது Referer ஹெடரை அனுப்ப வேண்டாம்.
- `origin`: ஆவணத்தின் மூலத்தை மட்டும் அனுப்பவும் (எ.கா., `https://example.com`).
- `origin-when-cross-origin`: வேறு மூலத்திற்கு செல்லும்போது மூலத்தை அனுப்பவும், அதே மூலத்திற்கு செல்லும்போது முழு URL ஐ அனுப்பவும்.
- `same-origin`: ஒரே மூல கோரிக்கைகளுக்கு Referer ஹெடரை அனுப்பவும், ஆனால் கிராஸ்-ஆரிஜின் கோரிக்கைகளுக்கு அனுப்ப வேண்டாம்.
- `strict-origin`: நெறிமுறை பாதுகாப்பு நிலை ஒரே மாதிரியாக இருக்கும்போது (HTTPS முதல் HTTPS வரை) மூலத்தை மட்டும் அனுப்பவும், ஆனால் குறைந்த பாதுகாப்பான இலக்குக்கு (HTTPS முதல் HTTP வரை) அனுப்ப வேண்டாம்.
- `strict-origin-when-cross-origin`: வேறு மூலத்திற்கு செல்லும்போது மூலத்தை அனுப்பவும், ஆனால் நெறிமுறை பாதுகாப்பு நிலை ஒரே மாதிரியாக இருந்தால் மட்டுமே (HTTPS முதல் HTTPS வரை). அதே மூலத்திற்கு செல்லும்போது முழு URL ஐ அனுப்பவும்.
- `unsafe-url`: (பரிந்துரைக்கப்படவில்லை) எப்போதும் முழு URL ஐ Referer ஹெடராக அனுப்பவும். இது மிகக் குறைந்த பாதுகாப்பான விருப்பமாகும்.
உதாரணங்கள்:
Referrer-Policy: strict-origin-when-cross-origin
Referrer-Policy: no-referrer
`strict-origin-when-cross-origin` பாலிசி பெரும்பாலும் பாதுகாப்பு மற்றும் செயல்பாட்டிற்கு இடையில் ஒரு நல்ல சமநிலையாகும். இது வெவ்வேறு மூலங்களுக்கு முழு URL ஐ அனுப்பாமல் பயனர் தனியுரிமையைப் பாதுகாக்கிறது, அதே நேரத்தில் வலைத்தளங்கள் அடிப்படை ரெஃபரல் தகவலைக் கண்காணிக்க அனுமதிக்கிறது.
6. Permissions-Policy (formerly Feature-Policy)
Permissions-Policy ஹெடர் (முன்னர் Feature-Policy என அழைக்கப்பட்டது) உங்கள் வலைத்தளத்தாலும், உட்பொதிக்கப்பட்ட ஐஃபிரேம்களாலும் எந்த உலாவி அம்சங்களை (எ.கா., கேமரா, மைக்ரோஃபோன், ஜியோலோகேஷன்) பயன்படுத்த அனுமதிக்கப்படுகிறது என்பதைக் கட்டுப்படுத்த உங்களை அனுமதிக்கிறது. இது பயனரின் வெளிப்படையான ஒப்புதல் இல்லாமல் முக்கியமான உலாவி அம்சங்களை அணுகுவதிலிருந்து தீங்கிழைக்கும் குறியீட்டைத் தடுக்க உதவும்.
செயல்படுத்துதல்:
Permissions-Policy ஹெடர் டைரக்டிவ்களின் பட்டியலைக் குறிப்பிடுகிறது, ஒவ்வொன்றும் ஒரு குறிப்பிட்ட உலாவி அம்சத்திற்கான அணுகலைக் கட்டுப்படுத்துகிறது. ஒவ்வொரு டைரக்டிவும் ஒரு அம்சப் பெயர் மற்றும் அனுமதிக்கப்பட்ட மூலங்களின் பட்டியலைக் கொண்டுள்ளது.
உதாரணம்:
Permissions-Policy: geolocation 'self' https://example.com; camera 'none'; microphone (self)
விளக்கம்:
- `geolocation 'self' https://example.com`: வலைத்தளத்தையும் `https://example.com` ஐயும் ஜியோலோகேஷன் அம்சத்தைப் பயன்படுத்த அனுமதிக்கிறது.
- `camera 'none'`: வலைத்தளம் மற்றும் அனைத்து உட்பொதிக்கப்பட்ட ஐஃபிரேம்களுக்கும் கேமரா அம்சத்தை முடக்குகிறது.
- `microphone (self)`: வலைத்தளத்தை மைக்ரோஃபோன் அம்சத்தைப் பயன்படுத்த அனுமதிக்கிறது. தனிப்பட்ட மூலங்களுக்கான அடைப்புக்குறிக்குள் உள்ள வேறுபட்ட தொடரியலைக் கவனியுங்கள்.
பொதுவான Permissions-Policy அம்சங்கள்:
- `geolocation`: ஜியோலோகேஷன் API க்கான அணுகலைக் கட்டுப்படுத்துகிறது.
- `camera`: கேமராவிற்கான அணுகலைக் கட்டுப்படுத்துகிறது.
- `microphone`: மைக்ரோஃபோனுக்கான அணுகலைக் கட்டுப்படுத்துகிறது.
- `autoplay`: மீடியா தானாக இயங்குமா என்பதைக் கட்டுப்படுத்துகிறது.
- `fullscreen`: வலைத்தளம் முழுத்திரை பயன்முறைக்குள் நுழைய முடியுமா என்பதைக் கட்டுப்படுத்துகிறது.
- `accelerometer`: முடுக்கமானிக்கான அணுகலைக் கட்டுப்படுத்துகிறது.
- `gyroscope`: கைரோஸ்கோப்பிற்கான அணுகலைக் கட்டுப்படுத்துகிறது.
- `magnetometer`: காந்தமானிக்கான அணுகலைக் கட்டுப்படுத்துகிறது.
- `speaker`: ஸ்பீக்கருக்கான அணுகலைக் கட்டுப்படுத்துகிறது.
- `vibrate`: வைப்ரேட் API க்கான அணுகலைக் கட்டுப்படுத்துகிறது.
- `payment`: பேமெண்ட் ரிக்வெஸ்ட் API க்கான அணுகலைக் கட்டுப்படுத்துகிறது.
7. பிற பாதுகாப்பு ஹெடர்கள்
மேலே விவாதிக்கப்பட்ட ஹெடர்கள் மிகவும் பொதுவாகப் பயன்படுத்தப்படும் மற்றும் முக்கியமானவை என்றாலும், மற்ற பாதுகாப்பு ஹெடர்கள் கூடுதல் பாதுகாப்பை வழங்க முடியும்:
- X-Permitted-Cross-Domain-Policies: இந்த ஹெடர் Adobe Flash Player மற்றும் பிற செருகுநிரல்கள் கிராஸ்-டொமைன் கோரிக்கைகளை எவ்வாறு கையாளுகின்றன என்பதைக் கட்டுப்படுத்துகிறது. பரிந்துரைக்கப்பட்ட மதிப்பு பொதுவாக `none` ஆகும்.
- Clear-Site-Data: பயனர் தளத்தை விட்டு வெளியேறும்போது உலாவல் தரவை (குக்கீகள், சேமிப்பகம், கேச்) அழிக்க ஒரு வலைத்தளத்தை அனுமதிக்கிறது. இது தனியுரிமை உணர்திறன் பயன்பாடுகளுக்கு பயனுள்ளதாக இருக்கும்.
- Expect-CT: சான்றிதழ் வெளிப்படைத்தன்மையை செயல்படுத்துகிறது, இது மோசடியாக வழங்கப்பட்ட SSL சான்றிதழ்களின் பயன்பாட்டைத் தடுக்க உதவுகிறது.
பாதுகாப்பு ஹெடர்களை செயல்படுத்துதல்
பாதுகாப்பு ஹெடர்கள் உங்கள் வலை சேவையகம் அல்லது உள்ளடக்க விநியோக நெட்வொர்க் (CDN) ஐப் பொறுத்து பல்வேறு வழிகளில் செயல்படுத்தப்படலாம்.
1. வலை சேவையக உள்ளமைவு
HTTP ரெஸ்பான்ஸில் பாதுகாப்பு ஹெடர்களைச் சேர்க்க உங்கள் வலை சேவையகத்தை (எ.கா., Apache, Nginx) உள்ளமைக்கலாம். இது பெரும்பாலும் பாதுகாப்பு ஹெடர்களை செயல்படுத்த மிகவும் நேரடியான மற்றும் திறமையான வழியாகும்.
அப்பாச்சி (Apache):
பாதுகாப்பு ஹெடர்களை அமைக்க உங்கள் அப்பாச்சி உள்ளமைவு கோப்பில் (`.htaccess` அல்லது `httpd.conf`) `Header` டைரக்டிவ்-ஐப் பயன்படுத்தலாம்.
உதாரணம்:
Header set Content-Security-Policy "default-src 'self'; script-src 'self' https://example.com;"
Header set X-Frame-Options "SAMEORIGIN"
Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
Header set X-Content-Type-Options "nosniff"
Header set Referrer-Policy "strict-origin-when-cross-origin"
Header set Permissions-Policy "geolocation 'self'"
என்ஜின்க்ஸ் (Nginx):
பாதுகாப்பு ஹெடர்களை அமைக்க உங்கள் Nginx உள்ளமைவு கோப்பில் (`nginx.conf`) `add_header` டைரக்டிவ்-ஐப் பயன்படுத்தலாம்.
உதாரணம்:
add_header Content-Security-Policy "default_src 'self'; script-src 'self' https://example.com;";
add_header X-Frame-Options "SAMEORIGIN";
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
add_header X-Content-Type-Options "nosniff";
add_header Referrer-Policy "strict-origin-when-cross-origin";
add_header Permissions-Policy "geolocation 'self';";
2. உள்ளடக்க விநியோக நெட்வொர்க் (CDN)
Cloudflare, Akamai, மற்றும் Fastly போன்ற பல CDN-கள் பாதுகாப்பு ஹெடர்களை உள்ளமைக்க அம்சங்களை வழங்குகின்றன. நீங்கள் ஏற்கனவே ஒரு CDN ஐப் பயன்படுத்துகிறீர்கள் என்றால், பாதுகாப்பு ஹெடர்களைச் செயல்படுத்த இது ஒரு வசதியான வழியாகும்.
உதாரணம் (Cloudflare):
Cloudflare-ல், "Rules" அல்லது "Transform Rules" அம்சங்களைப் பயன்படுத்தி பாதுகாப்பு ஹெடர்களை உள்ளமைக்கலாம். URL அல்லது கோரிக்கை வகை போன்ற பல்வேறு அளவுகோல்களின் அடிப்படையில் HTTP ஹெடர்களைச் சேர்க்க, மாற்ற அல்லது அகற்ற விதிகளை வரையறுக்கலாம்.
3. சர்வர்-சைட் குறியீடு
உங்கள் சர்வர்-சைட் குறியீட்டிலும் (எ.கா., PHP, Python, Node.js ஐப் பயன்படுத்தி) பாதுகாப்பு ஹெடர்களை அமைக்கலாம். இந்த அணுகுமுறை கோரிக்கை அல்லது பயனர் சூழலின் அடிப்படையில் ஹெடர்களை மாறும் வகையில் அமைக்க உங்களுக்கு அதிக நெகிழ்வுத்தன்மையை வழங்குகிறது.
உதாரணம் (Node.js உடன் Express):
const express = require('express');
const app = express();
app.use((req, res, next) => {
res.setHeader('Content-Security-Policy', "default-src 'self'; script-src 'self' https://example.com;");
res.setHeader('X-Frame-Options', 'SAMEORIGIN');
res.setHeader('Strict-Transport-Security', 'max-age=31536000; includeSubDomains; preload');
res.setHeader('X-Content-Type-Options', 'nosniff');
res.setHeader('Referrer-Policy', 'strict-origin-when-cross-origin');
res.setHeader('Permissions-Policy', "geolocation 'self'");
next();
});
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(3000, () => {
console.log('Server listening on port 3000');
});
சோதனை மற்றும் சரிபார்ப்பு
பாதுகாப்பு ஹெடர்களைச் செயல்படுத்திய பிறகு, அவை சரியாக வேலை செய்கின்றனவா என்பதை சோதித்து சரிபார்ப்பது மிகவும் முக்கியம். பல ஆன்லைன் கருவிகள் இதில் உங்களுக்கு உதவக்கூடும்:
- SecurityHeaders.com: இந்த வலைத்தளம் உங்கள் வலைத்தளத்தை ஸ்கேன் செய்து, செயல்படுத்தப்பட்ட பாதுகாப்பு ஹெடர்கள் மற்றும் ஏதேனும் சாத்தியமான சிக்கல்கள் குறித்த அறிக்கையை வழங்குகிறது.
- Mozilla Observatory: இந்த ஆன்லைன் கருவி உங்கள் வலைத்தளத்தில் பாதுகாப்பு ஹெடர்கள் உட்பட தொடர்ச்சியான சோதனைகளைச் செய்கிறது மற்றும் மேம்பாட்டிற்கான பரிந்துரைகளுடன் ஒரு விரிவான அறிக்கையை வழங்குகிறது.
- உலாவி டெவலப்பர் கருவிகள்: உங்கள் உலாவியின் டெவலப்பர் கருவிகளை (எ.கா., Chrome DevTools, Firefox Developer Tools) பயன்படுத்தி HTTP ரெஸ்பான்ஸ் ஹெடர்களை ஆய்வு செய்து, பாதுகாப்பு ஹெடர்கள் உள்ளனவா மற்றும் சரியான மதிப்புகளைக் கொண்டுள்ளனவா என்பதை சரிபார்க்கலாம்.
Chrome DevTools ஐப் பயன்படுத்தி உதாரணம்:
- Chrome DevTools-ஐத் திறக்கவும் (பக்கத்தில் வலது கிளிக் செய்து "Inspect" ஐத் தேர்ந்தெடுக்கவும்).
- "Network" தாவலுக்குச் செல்லவும்.
- பக்கத்தை மீண்டும் ஏற்றவும்.
- முக்கிய ஆவணக் கோரிக்கையைத் தேர்ந்தெடுக்கவும் (பொதுவாக பட்டியலில் முதல் கோரிக்கை).
- "Headers" தாவலுக்குச் செல்லவும்.
- பாதுகாப்பு ஹெடர்களைப் பார்க்க "Response Headers" பகுதிக்கு கீழே உருட்டவும்.
பொதுவான தவறுகள் மற்றும் சிறந்த நடைமுறைகள்
பாதுகாப்பு ஹெடர்களைச் செயல்படுத்தும்போது தவிர்க்க வேண்டிய சில பொதுவான தவறுகள் இங்கே:
- முழுமையாக சோதிக்காமல் இருப்பது: உங்கள் பாதுகாப்பு ஹெடர்களை உற்பத்திக்கு அனுப்புவதற்கு முன்பு எப்போதும் ஒரு ஸ்டேஜிங் சூழலில் சோதிக்கவும்.
- அதிகப்படியான தாராளமான CSP பாலிசிகளைப் பயன்படுத்துதல்: ஒரு கட்டுப்படுத்தப்பட்ட CSP பாலிசியுடன் தொடங்கி, தேவைக்கேற்ப படிப்படியாக அதை தளர்த்தவும்.
- HSTS-ல் துணை டொமைன்களைச் சேர்க்க மறந்துவிடுவது: நீங்கள் அனைத்து துணை டொமைன்களையும் பாதுகாக்க விரும்பினால், HSTS ஹெடரில் `includeSubDomains` டைரக்டிவ்-ஐச் சேர்ப்பதை உறுதிசெய்க.
- வழக்கொழிந்த ஹெடர்களைப் பயன்படுத்துதல்: `X-Download-Options` மற்றும் `X-Powered-By` போன்ற வழக்கொழிந்த ஹெடர்களைப் பயன்படுத்துவதைத் தவிர்க்கவும்.
- பாதுகாப்பு ஹெடர் மீறல்களைக் கண்காணிக்காமல் இருப்பது: ஏதேனும் சிக்கல்களைக் கண்டறிந்து சரிசெய்ய CSP ரிப்போர்ட்-ஒன்லி மீறல்களைக் கண்காணிக்க ஒரு அமைப்பை அமைக்கவும்.
சிறந்த நடைமுறைகள்:
- ஒரு வலுவான அடித்தளத்துடன் தொடங்கவும்: குறைந்தபட்சம் அடிப்படை பாதுகாப்பு ஹெடர்களை (CSP, X-Frame-Options, HSTS, X-Content-Type-Options, Referrer-Policy, Permissions-Policy) செயல்படுத்தவும்.
- உள்ளடக்க பாதுகாப்பு பாலிசி (CSP) ஐப் பயன்படுத்தவும்: உலாவி எந்த மூலங்களிலிருந்து வளங்களை நம்பி ஏற்ற வேண்டும் என்பதை வரையறுப்பதன் மூலம் XSS தாக்குதல்களைத் தடுக்க உள்ளடக்க பாதுகாப்பு பாலிசி உதவுகிறது.
- உங்கள் பாதுகாப்பு ஹெடர்களை தவறாமல் மதிப்பாய்வு செய்து புதுப்பிக்கவும்: புதிய பாதிப்புகள் கண்டறியப்பட்டு, உலாவி தொழில்நுட்பங்கள் உருவாகும்போது, உங்கள் பாதுகாப்பு ஹெடர்களை அதற்கேற்ப மதிப்பாய்வு செய்து புதுப்பிப்பது முக்கியம்.
- ஒரு CDN ஐப் பயன்படுத்தவும்: CDN-கள் பாதுகாப்பு ஹெடர்களின் செயலாக்கம் மற்றும் நிர்வாகத்தை எளிதாக்கலாம்.
- பாதுகாப்பு ஹெடர் வரிசைப்படுத்தலை தானியக்கமாக்குங்கள்: அனைத்து சூழல்களிலும் பாதுகாப்பு ஹெடர்கள் சீராக வரிசைப்படுத்தப்படுவதை உறுதிசெய்ய ஆட்டோமேஷன் கருவிகளைப் பயன்படுத்தவும்.
- தகவலுடன் இருங்கள்: பாதுகாப்பு வலைப்பதிவுகளைப் பின்பற்றுவதன் மூலமும், பாதுகாப்பு மாநாடுகளில் கலந்துகொள்வதன் மூலமும், பாதுகாப்பு சமூகங்களில் பங்கேற்பதன் மூலமும் சமீபத்திய பாதுகாப்பு அச்சுறுத்தல்கள் மற்றும் சிறந்த நடைமுறைகள் குறித்து புதுப்பித்த நிலையில் இருங்கள். OWASP (Open Web Application Security Project) இணையப் பாதுகாப்பு குறித்த தகவல்களுக்கு ஒரு சிறந்த ஆதாரமாகும்.
முடிவுரை
உங்கள் வலைத்தளத்தையும் பயனர்களையும் பொதுவான தாக்குதல்களிலிருந்து பாதுகாக்க இணையப் பாதுகாப்பு ஹெடர்களைச் செயல்படுத்துவது ஒரு இன்றியமையாத படியாகும். ஒவ்வொரு ஹெடரின் நோக்கத்தைப் புரிந்துகொண்டு, இந்த வழிகாட்டியில் கோடிட்டுக் காட்டப்பட்டுள்ள சிறந்த நடைமுறைகளைப் பின்பற்றுவதன் மூலம், உங்கள் வலைத்தளத்தின் பாதுகாப்பு நிலையை கணிசமாக மேம்படுத்தலாம் மற்றும் உங்கள் பயனர்களுடன் நம்பிக்கையை உருவாக்கலாம். அவை திறம்பட செயல்படுகின்றனவா என்பதை உறுதிப்படுத்தவும், உருவாகி வரும் பாதுகாப்பு அச்சுறுத்தல்களுக்கு ஏற்ப மாற்றியமைக்கவும் உங்கள் பாதுகாப்பு ஹெடர்களை தவறாமல் சோதித்து கண்காணிக்க நினைவில் கொள்ளுங்கள். பாதுகாப்பு ஹெடர்களைச் செயல்படுத்துவதில் நேரத்தையும் முயற்சியையும் முதலீடு செய்வது உங்கள் வலைத்தளத்தையும் உங்கள் பயனர்களையும் பாதிப்பிலிருந்து பாதுகாப்பதன் மூலம் நீண்ட காலத்திற்குப் பயனளிக்கும். ஒரு இறுதி குறிப்பாக, உங்கள் வலைத்தளத்தின் பாதுகாப்பை மதிப்பிடுவதற்கும் ஏதேனும் பாதிப்புகளைக் கண்டறிவதற்கும் ஒரு பாதுகாப்பு நிபுணருடன் கலந்தாலோசிக்கவும் அல்லது ஒரு பாதுகாப்பு தணிக்கை சேவையைப் பயன்படுத்தவும்.