பாதுகாப்பு

.htaccess கோப்பு பாதுகாப்பு: கடவுச்சொல் பாதுகாப்பு மற்றும் இணையதள பாதுகாப்பை உயர்த்தும் கட்டளைகள்

  • 14 படிக்க நிமிடங்கள்
  • Hostragons குழு
.htaccess கோப்பு பாதுகாப்பு: கடவுச்சொல் பாதுகாப்பு மற்றும் இணையதள பாதுகாப்பை உயர்த்தும் கட்டளைகள்

.htaccess கோப்பின் மூலம் பாதுகாப்பு அமைப்பது என்பது Apache அல்லது LiteSpeed அடிப்படையிலான hosting சூழல்களில் ஒரு குறிப்பிட்ட கோப்புறை அல்லது பகுதியை பயனர்பெயர் மற்றும் கடவுச்சொல்லால் காக்குவது, .htaccess கோப்பை வெளியில் இருந்து படிக்க முடியாதபடி தடுப்பது, HTTPS-ஐ கட்டாயப்படுத்துவது மற்றும் சந்தேகத்திற்கிடமான அணுகல்களை கட்டுப்படுத்துவது போன்ற நடைமுறை பாதுகாப்பு முறைகளின் தொகுப்பாகும். பொதுவாக அதிகம் பயன்படுத்தப்படும் நடைமுறை, .htaccess மூலம் ஒரு directory-க்கு Basic Auth அடிப்படையில் password protection அமைத்து, அந்த பயனர்களின் கடவுச்சொல் தகவலை .htpasswd கோப்பில் சேமிப்பதாகும். ஆனால் இங்கு மிக முக்கியமாக புரிந்து கொள்ள வேண்டியது இதுதான்: Basic Auth மட்டும் தரவை உண்மையில் குறியாக்கம் செய்யாது; பாதுகாப்பாக பயன்படுத்த அது கட்டாயம் SSL certificate உடன் HTTPS வழியாக இயங்க வேண்டும். SSL சான்றிதழ் பாதுகாப்பான வலை உள்நுழைவு

இணையதள பாதுகாப்பு என்றாலே பலருக்கு பெரிய firewall-கள், சிக்கலான security software-கள் அல்லது விலையுயர்ந்த plugin-கள் நினைவுக்கு வரும். ஆனால் சரியாக அமைக்கப்பட்ட ஒரு .htaccess கோப்பு, குறிப்பாக shared hosting, WordPress தளங்கள், custom PHP applications மற்றும் சிறு வணிக இணையதளங்களில் முதல் பாதுகாப்பு அடுக்காக செயல்படும். இந்த கோப்பின் உதவியால் admin panel போன்ற முக்கியமான கோப்புறைகளை கடவுச்சொல்லால் காக்கலாம், HTTP traffic-ஐ HTTPS-க்கு redirect செய்யலாம், directory listing-ஐ முடக்கலாம், குறிப்பிட்ட கோப்புகளுக்கு அணுகலைத் தடுக்கலாம், hotlink பயன்பாட்டை குறைக்கலாம் மற்றும் அடிப்படை security headers-ஐ இயக்கலாம்.

இந்த வழிகாட்டியில் .htaccess password protection அமைப்பை படிப்படியாக பார்க்கிறோம்; நடைமுறையில் அதிகம் பயன்படுத்தப்படும் பாதுகாப்பு கட்டளைகளை விளக்குகிறோம்; மேலும் நீங்கள் copy செய்து உங்கள் hosting சூழலுக்கு ஏற்றபடி மாற்றிக் கொள்ளக்கூடிய உதாரணங்களையும் பகிர்கிறோம். இங்கு உள்ள கட்டளைகள் குறிப்பாக Apache mod_rewrite, mod_auth_basic மற்றும் mod_headers ஆதரவு உள்ள hosting சூழல்களுக்கு ஏற்றவை. LiteSpeed server-களும் பெரும்பாலும் Apache compatible என்பதால் பல rule-கள் அதேபோல வேலை செய்யும். இருந்தாலும் live website-இல் மாற்றம் செய்வதற்கு முன் கண்டிப்பாக file backup எடுக்கவும்; முடிந்தால் test subdomain அல்லது staging சூழலில் முதலில் முயற்சி செய்யவும். அமைப்பு மேலாண்மை வலைத்தள காப்பு

.htaccess கோப்பு என்றால் என்ன? பாதுகாப்புக்கு அது ஏன் முக்கியம்?

.htaccess என்பது web server ஒரு குறிப்பிட்ட folder மற்றும் அதன் subfolder-களில் வரும் requests-ஐ எப்படி கையாள வேண்டும் என்பதை நிர்ணயிக்கும் local configuration file ஆகும். இது website root directory-யில் வைக்கப்பட்டால் பொதுவாக முழு தளத்தையும் பாதிக்கும்; உதாரணமாக public_html கோப்புறையில் இருக்கும் .htaccess கோப்பு, உங்கள் domain-ன் main web root-இல் இயங்கும் rules-ஐ நிர்வகிக்கும். அதே கோப்பை ஒரு subfolder-க்கு உள்ளே வைத்தால், அந்த folder மற்றும் அதற்குள் உள்ள path-களுக்கு மட்டுமே அது செயல்படலாம்.

இந்த கோப்பின் மூலம் server level-இல் access control செய்ய முடியும். அதனால் application code-ஐ அடையும்முன்பே சில requests-ஐ தடுக்க முடியும். உதாரணமாக admin folder-ஐ password மூலம் பாதுகாத்தால், தாக்குதல் முயற்சி செய்பவர் WordPress, custom panel அல்லது PHP file-ஐ அடைவதற்கு முன்பே server authentication சுவரில் சிக்கி விடுவார். இந்த அணுகுமுறை brute force முயற்சிகளை குறைக்கும்; application layer-இல் இருக்கக்கூடிய பலவீனங்களை பயன்படுத்துவது தாக்குபவர்களுக்கு கடினமாகும்.

.htaccess கோப்பின் பாதுகாப்பு நன்மைகள் சுருக்கமாக இவை:

  • Application code-ஐ மாற்றாமல் access rules அமைக்க முடியும்.
  • குறிப்பிட்ட folders-ஐ username மற்றும் password மூலம் பாதுகாக்க முடியும்.
  • HTTP requests-ஐ தானாக HTTPS-க்கு redirect செய்யலாம்.
  • Directory listing, sensitive file access மற்றும் hotlink பயன்பாட்டை கட்டுப்படுத்தலாம்.
  • Security headers மூலம் browser நடத்தை மேலும் பாதுகாப்பானதாக மாற்றலாம்.
  • IP address, file extension அல்லது request method அடிப்படையில் restriction அமைக்கலாம்.

ஆனால் .htaccess மட்டும் முழு பாதுகாப்பையும் வழங்காது. Updated software, strong password policy, regular backup, நம்பகமான hosting infrastructure, WAF, malware scanning மற்றும் SSL certificate ஆகியவற்றுடன் சேர்த்து பயன்படுத்தும்போதுதான் இது சிறந்த பலனை தரும். விற்பனை பாதுகாப்பு WordPress பாதுகாப்பு

.htaccess password protection செயல்முறை: Basic Auth மற்றும் .htpasswd

.htaccess கோப்பு “encrypt” செய்வது என்று பலர் கூறும்போது பொதுவாக இரண்டு அர்த்தங்கள் இருக்கலாம். ஒன்று, ஒரு folder-ஐ திறக்கும்போது username மற்றும் password கேட்கச் செய்வது. இன்னொன்று, .htaccess கோப்பே வெளியில் இருந்து பார்க்கப்படாமல் தடுக்கப்படுவது. முதல் செயல் Basic Auth மூலம் செய்யப்படுகிறது; இரண்டாவது செயல் file access restriction rules மூலம் செய்யப்படுகிறது.

Basic Auth அமைப்பில் .htaccess கோப்பு authentication rule-ஐ கொண்டிருக்கும்; .htpasswd கோப்பு username மற்றும் hashed password தகவலை சேமிக்கும். கடவுச்சொல் plain text ஆக சேமிக்கப்படக் கூடாது. தற்போதைய அமைப்புகளில் bcrypt, Apache MD5 அல்லது SHA அடிப்படையிலான hash முறைகள் பயன்படுத்தப்படுகின்றன. மிகவும் பாதுகாப்பான மற்றும் எளிதான நடைமுறை, உங்கள் hosting control panel-ல் உள்ள directory privacy அல்லது password protected directory feature-ஐ பயன்படுத்துவதுதான்; ஏனெனில் இந்த panel-கள் பெரும்பாலும் .htpasswd கோப்பை சரியான இடத்தில் வைக்கும் மற்றும் password hashing-ஐ தானாக செய்து விடும்.

ஒரு எளிய password protection rule இவ்வாறு இருக்கும்:

AuthType Basic

AuthName ProtectedArea

AuthUserFile /home/kullanici/.htpasswd

Require valid-user

இந்த நான்கு வரிகளின் பொருள் மிகவும் எளிது: authentication type Basic ஆக அமைக்கப்படுகிறது; browser-இல் காட்டப்படும் protected area name நிர்ணயிக்கப்படுகிறது; user passwords உள்ள .htpasswd கோப்பின் முழு server path குறிப்பிடப்படுகிறது; மேலும் valid user-களுக்கே access அனுமதிக்கப்படுகிறது. இங்கு அதிகம் செய்யப்படும் தவறு AuthUserFile வரியில் URL எழுதுவது. சரியான மதிப்பு web address அல்ல; server-இல் உள்ள physical file path ஆக இருக்க வேண்டும். உதாரணமாக https://siteadi.com/.htpasswd என்பது தவறு; /home/kullanici/.htpasswd போன்ற வடிவம் சரியானதிற்கு அருகில் இருக்கும்.

.htpasswd கோப்பை எங்கே வைத்திருக்க வேண்டும்?

.htpasswd கோப்பை முடிந்தவரை public_html-க்கு வெளியே வைத்திருக்கவும். இதனால் server configuration-இல் தவறு இருந்தாலும் அந்த கோப்பை நேரடியாக web வழியாக அழைக்க முடியாது. உதாரணமாக உங்கள் site /home/hesapadi/public_html-இல் இயங்கினால், .htpasswd கோப்பை /home/hesapadi/.htpasswd போன்ற web root-க்கு வெளியே வைத்திருப்பது பாதுகாப்பானது.

File permissions பற்றி பேசும்போது நடைமுறை தொடக்க மதிப்பாக .htpasswd-க்கு 640 அல்லது 644, .htaccess-க்கு 644 பயன்படுத்தலாம். Server configuration-ஐ பொறுத்து வேறு permissions தேவைப்படலாம்; ஆனால் 777 போன்ற அனைவரும் எழுதக்கூடிய permissions பாதுகாப்பு ஆபத்தை உருவாக்கும். அவை தவிர்க்கப்பட வேண்டும்.

.htaccess மூலம் directory password protection அமைப்பது: படிப்படியான வழிமுறை

கீழே உள்ள படிகள் குறிப்பாக admin, panel, test, staging, report அல்லது வாடிக்கையாளருக்கான தனிப்பட்ட file folders-ஐ பாதுகாக்க விரும்பும் பயனர்களுக்கு ஏற்றவை. ஆரம்பிப்பதற்கு முன் உங்கள் தற்போதைய .htaccess கோப்பின் backup எடுத்துக் கொள்ளுங்கள். ஒரு தவறான எழுத்து கூட 500 Internal Server Error ஏற்படுத்தலாம்.

1. பாதுகாக்க வேண்டிய folder-ஐ தேர்வு செய்யுங்கள்

முதலில் எந்த directory-ஐ password மூலம் பாதுகாக்க வேண்டும் என்பதை தெளிவாக முடிவு செய்யுங்கள். உதாரணமாக siteadi.com/admin பகுதியை மட்டும் காக்க விரும்பினால் .htaccess கோப்பை admin folder-க்குள் வைக்கலாம். முழு தளத்தையும் தற்காலிகமாக மூடி, authorized users-க்கு மட்டும் திறக்க விரும்பினால் root directory-யில் உள்ள .htaccess கோப்பில் rule சேர்க்கலாம்.

2. .htpasswd user உருவாக்குங்கள்

உங்கள் hosting control panel-ல் password protected directory tool இருந்தால் அதைப் பயன்படுத்துவது எளிதான வழி. அத்தகைய tool இல்லையெனில் SSH access உள்ள server-களில் htpasswd command மூலம் user உருவாக்கலாம். உதாரண logic இதுபோல் இருக்கும்: htpasswd -c /home/kullanici/.htpasswd admin. இந்த command admin user-க்கான password hash உருவாக்கி file-ல் சேமிக்கும். ஏற்கெனவே இருக்கும் .htpasswd file-க்கு புதிய user சேர்க்கும்போது -c parameter-ஐ பயன்படுத்த வேண்டாம்; இல்லையெனில் file மீண்டும் உருவாக்கப்பட்டு பழைய users அழிக்கப்படலாம்.

3. .htaccess rule சேர்க்குங்கள்

பாதுகாக்க வேண்டிய folder-ல் உள்ள .htaccess கோப்பில் இந்த வரிகளை சேர்க்கவும்:

AuthType Basic

AuthName AdminPanel

AuthUserFile /home/kullanici/.htpasswd

Require valid-user

சேமித்த பிறகு browser-இல் அந்த folder-ஐ திறந்து பார்க்கவும். Username மற்றும் password கேட்கும் prompt வந்தால் அமைப்பு வெற்றிகரமாக செயல்படுகிறது. Password சரியாக இருந்தும் login ஆகவில்லை என்றால் AuthUserFile path தவறாக இருக்கலாம் அல்லது .htpasswd file permissions காரணமாக server அந்த கோப்பை படிக்க முடியாமல் இருக்கலாம்.

4. HTTPS இல்லாமல் இதை பயன்படுத்த வேண்டாம்

Basic Auth credentials-ஐ Base64 வடிவில் அனுப்பும்; இது உண்மையான வலுவான encryption அல்ல. Traffic HTTP வழியாக சென்றால் network sniffing செய்யும் ஒருவர் username மற்றும் password-ஐ கைப்பற்ற முடியும். ஆகவே .htaccess password protection rule எப்போதும் HTTPS கட்டாய விதியுடன் சேர்த்து பயன்படுத்தப்பட வேண்டும். Hostragons-ல் SSL-ஐ active செய்து, அதன் பிறகு HTTPS redirect rule சேர்ப்பதன் மூலம் இந்த ஆபத்தை குறைக்கலாம். SSL அமைப்பு HTTPS வழிநடत्त्वு

HTTPS கட்டாயப்படுத்தல் மற்றும் www redirect

Website security-ஐ உயர்த்துவதற்கான அடிப்படை படிகளில் ஒன்று அனைத்து traffic-ஐ HTTPS-க்கு redirect செய்வதாகும். SSL certificate active ஆன பிறகு root directory-யில் உள்ள .htaccess கோப்பில் கீழ்காணும் logic கொண்ட rule சேர்க்கலாம்:

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

இந்த rule HTTP மூலம் வரும் requests-ஐ அதே domain மற்றும் அதே path உடன் HTTPS-க்கு மாற்றும். Permanent redirect என்று பொருள்படும் 301, SEO நோக்கிலும் சரியான signal கொடுக்கும். ஆனால் உங்கள் தளம் reverse proxy, CDN அல்லது load balancer பின்னால் இருந்தால் HTTPS நிலை வேறு headers மூலம் தெரிந்துகொள்ளப்படலாம். அப்படிப்பட்ட சூழலில் உங்கள் hosting provider பரிந்துரைக்கும் redirect rule-ஐ பயன்படுத்துவது நல்லது.

www மற்றும் non-www domain preference-மும் ஒரே மாதிரியாக இருக்க வேண்டும். உதாரணமாக எல்லா traffic-ஐ www இல்லாத version-க்கு மாற்ற விரும்பினால் இந்த அணுகுமுறையை பயன்படுத்தலாம்:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.ornekdomain\.com$ [NC]

RewriteRule ^(.*)$ https://ornekdomain.com/$1 [L,R=301]

இங்கு ornekdomain.com என்ற இடத்தில் உங்கள் domain பெயரை மாற்ற வேண்டும். ஒரே நேரத்தில் HTTPS redirect மற்றும் www redirect செய்கிறீர்கள் என்றால் redirect chain உருவாகாமல் கவனியுங்கள். சிறந்த அமைப்பு பயனரை ஒரே படியில் final URL-க்கு கொண்டு செல்ல வேண்டும். அமைப்பு தாக்குதல் SEO உடன்படிக்கையுடன் கூடிய வழிமொழி

.htaccess மூலம் website security-ஐ உயர்த்தும் முக்கிய கட்டளைகள்

கீழே உள்ள table அதிகம் பயன்படுத்தப்படும் .htaccess security commands மற்றும் அவற்றை எப்போது பயன்படுத்த வேண்டும் என்பதைக் சுருக்கமாக காட்டுகிறது. எந்த command-ஐயும் சேர்க்கும் முன் உங்கள் தற்போதைய configuration-ஐ சரிபார்க்கவும்; சில WordPress, Laravel அல்லது custom CMS rewrite rules-உடன் conflict ஏற்படும் வாய்ப்பு உண்டு.

.htaccess மூலம் website security-ஐ உயர்த்தும் முக்கிய கட்டளைகள்
நோக்கம்உதாரண command அல்லது directiveஎப்போது பயன்படுத்தலாம்?கவனிக்க வேண்டியது
Directory password protectionAuthType Basic, Require valid-userAdmin, staging, report foldersகண்டிப்பாக HTTPS உடன் பயன்படுத்த வேண்டும்
HTTPS கட்டாயம்RewriteCond %{HTTPS} offமுழு site traffic-ஐ பாதுகாப்பாக்கCDN இருந்தால் special rule தேவைப்படலாம்
Directory listing முடக்கம்Options -IndexesIndex file இல்லாத folders-ல்File structure வெளியில் தெரியாமல் தடுக்கும்
.htaccess protectionRequire all deniedConfiguration files படிக்கப்படுவதைத் தடுக்கApache version-ஐ பொறுத்து syntax மாறலாம்
Hotlink தடுப்புRewriteCond %{HTTP_REFERER}Images பிற தளங்களில் நேரடியாக பயன்படுத்தப்படுவதை குறைக்கCDN மற்றும் social preview-களை test செய்யுங்கள்
Security headersHeader set X-Frame-Options SAMEORIGINBrowser based attacks-ஐ குறைக்கmod_headers active ஆக இருக்க வேண்டும்

Directory listing-ஐ முடக்குதல்

ஒரு folder-ல் index.html, index.php அல்லது default entry file இல்லையெனில் server file list-ஐ காட்டக்கூடும். இது backup files, images, temporary reports அல்லது பழைய source code போன்றவற்றுக்கு ஆபத்தானது. மிகவும் எளிய command மூலம் directory listing-ஐ முடக்கலாம்:

Options -Indexes

இந்த வரியை சேர்த்த பிறகு users அந்த folder-ன் உள்ளடக்கத்தை list செய்ய முடியாது. Index file இல்லாத folders-ல் பொதுவாக 403 Forbidden response கிடைக்கும். பாதுகாப்பு நோக்கில் இது விரும்பத்தக்க நடத்தை.

.htaccess மற்றும் sensitive files access-ஐ தடுக்குதல்

உங்கள் .htaccess கோப்பு web வழியாக பார்க்கப்படக்கூடாது. Apache பொதுவாக இந்த கோப்பை default ஆகவே பாதுகாக்கும்; இருந்தாலும் கூடுதல் security layer ஆக கீழ்காணும் logic-ஐ பயன்படுத்தலாம்:

<Files .htaccess>

Require all denied

</Files>

அதேபோல் .env, composer.json, composer.lock, config.php.bak, backup.sql, database.sql போன்ற files-க்கும் வெளியில் இருந்து access தடுக்கப்பட வேண்டும். குறிப்பாக Laravel, Symfony அல்லது custom PHP applications-ல் .env file database password, API key மற்றும் SMTP details கொண்டிருக்கலாம். இந்த file leak ஆனால் முழு system கைப்பற்றப்படும்வரை பிரச்சினை செல்லக்கூடும்.

பல sensitive file extensions-ஐ ஒரே rule மூலம் தடுக்க இந்த logic பயன்படுத்தலாம்:

<FilesMatch ^(\.env|composer\.(json|lock)|package\.json|yarn\.lock|.*\.sql|.*\.bak)$>

Require all denied

</FilesMatch>

இத்தகைய rules சேர்க்கும்போது உங்கள் application-க்கு உண்மையாகவே தேவைப்படும் static files தவறுதலாக block ஆகவில்லை என்பதை உறுதிப்படுத்துங்கள். உதாரணமாக சில verification files அல்லது integration files தவறாக இந்த scope-க்குள் வந்தால் third-party services வேலை செய்யாமல் போகலாம்.

குறிப்பிட்ட folders-ல் PHP execution-ஐ தடுக்குதல்

Upload folders தாக்குபவர்கள் அதிகம் குறிவைக்கும் பகுதிகளில் ஒன்றாகும். File upload validation பலவீனமாக இருக்கும் system-இல் malicious PHP file upload செய்யப்பட்டால், அந்த file execute ஆகுவது பெரிய ஆபத்தை உருவாக்கும். Images அல்லது media upload செய்யப்படும் folders-ல் PHP execution-ஐ முடக்குவது கூடுதல் பாதுகாப்பை தரும்.

சம்பந்தப்பட்ட upload folder-க்குள் ஒரு .htaccess கோப்பை வைத்து இந்த logic-ஐ பயன்படுத்தலாம்:

<FilesMatch \.php$>

Require all denied

</FilesMatch>

இந்த rule அந்த folder-ல் PHP files-க்கு access-ஐ தடுக்கிறது. WordPress-க்கு wp-content/uploads folder-ல் இதேபோன்ற அணுகுமுறை பொதுவாக பயன்படுத்தப்படுகிறது; ஆனால் சில plugins-க்கு தனிப்பட்ட file processing தேவைகள் இருக்கக்கூடும் என்பதால் test செய்ய வேண்டும்.

Hotlink என்பது பிற websites உங்கள் image files-ஐ தங்கள் pages-ல் நேரடியாக பயன்படுத்துவதாகும். இதனால் bandwidth usage அதிகரிக்கும்; performance issues உருவாகலாம். ஒரு எளிய hotlink blocking rule இதுபோல் இருக்கும்:

RewriteEngine On

RewriteCond %{HTTP_REFERER} !^$

RewriteCond %{HTTP_REFERER} !^https?://(www\.)?ornekdomain\.com [NC]

RewriteRule \.(jpg|jpeg|png|gif|webp)$ - [F,NC]

இந்த rule காலியாக இல்லாத referer உடன் வரும் மற்றும் உங்கள் domain-இலிருந்து வராத image requests-ஐ block செய்கிறது. ஆனால் Google Images, social media previews, CDN domains அல்லது business partners இருந்தால் அவற்றை whitelist-ல் சேர்க்க வேண்டி வரலாம். CDN பயன்படுத்துதல் வலைத்தள செயல்திறன்

குறிப்பிட்ட IP address-களுக்கு அனுமதி அளித்தல் அல்லது தடுக்குதல்

Admin panel-ஐ உங்கள் office IP address-இலிருந்து மட்டும் அணுக வேண்டுமெனில் IP restriction ஒரு பயனுள்ள கூடுதல் layer ஆகும். Apache 2.4 மற்றும் அதற்கு மேற்பட்ட versions-க்கு அடிப்படை logic இதுதான்:

Require ip 203.0.113.10

இந்த rule தனியாக பயன்படுத்தப்பட்டால் குறிப்பிட்ட IP address-க்கு மட்டும் access அனுமதிக்கும். Dynamic IP பயன்படுத்தினால் கவனமாக இருங்கள்; IP மாறிவிட்டால் உங்கள் panel-ஐ நீங்களே access செய்ய முடியாமல் போகலாம். அதிக flexibility-க்காக IP restriction-ஐ password protection உடன் சேர்த்து பயன்படுத்துவது நல்லது.

ஒரு குறிப்பிட்ட malicious IP address-ஐ block செய்ய இந்த logic பயன்படுத்தலாம்:

<RequireAll>

Require all granted

Require not ip 198.51.100.25

</RequireAll>

IP blocking சிறிய அளவிலான தாக்குதல்களில் உதவும்; ஆனால் botnet அல்லது அடிக்கடி மாறும் IP-களை பயன்படுத்தும் தாக்குதல்களில் இது மட்டும் போதாது. அப்படிப்பட்ட சூழலில் application firewall, rate limiting மற்றும் server-side security solutions அதிகம் பயனுள்ளதாக இருக்கும்.

Security headers: Browser level-இல் கூடுதல் பாதுகாப்பு

.htaccess என்பது access control-க்காக மட்டுமல்ல; browser security headers நிர்வகிக்கவும் பயன்படுத்தலாம். mod_headers active இருந்தால் கீழே உள்ள headers பல websites-ல் அடிப்படை பாதுகாப்பை உயர்த்தும்:

Header always set X-Content-Type-Options nosniff

Header always set X-Frame-Options SAMEORIGIN

Header always set Referrer-Policy strict-origin-when-cross-origin

Header always set Permissions-Policy geolocation=(), microphone=(), camera=()

X-Content-Type-Options nosniff, browser file type-ஐ ஊகித்து execute செய்வதை குறைக்கும். X-Frame-Options SAMEORIGIN, உங்கள் site மற்ற domain-களுக்குள் iframe ஆக embed செய்யப்படுவதை கட்டுப்படுத்தி clickjacking risk-ஐ குறைக்கும். Referrer-Policy, redirect அல்லது navigation நேரத்தில் எந்த referer தகவல் பகிரப்படும் என்பதை கட்டுப்படுத்தும். Permissions-Policy, camera, microphone மற்றும் location போன்ற browser permissions-ஐ கட்டுப்படுத்த உதவும்.

Content-Security-Policy அல்லது CSP இன்னும் வலுவான security header ஆகும்; ஆனால் அதைப் பயன்படுத்தும்போது அதிக கவனம் தேவை. மிகக் கடுமையான CSP, ads, analytics, payment, live chat அல்லது font services செயல்பாட்டை பாதிக்கலாம். அதனால் முதலில் reporting mode-ல் test செய்து, அதன் பிறகு படிப்படியாக live சூழலில் அமல்படுத்துவது சிறந்த நடைமுறை.

அமைப்பதற்கு முன் சரிபார்க்க வேண்டிய checklist

அமைப்பதற்கு முன் சரிபார்க்க வேண்டிய checklist

.htaccess மாற்றங்கள் உடனடி தாக்கம் கொடுக்கும். எனவே security commands சேர்க்கும் முன் ஒரு குறுகிய checklist-ஐ பின்பற்றுவது downtime ஆபத்தை குறைக்கும்.

  • தற்போதைய .htaccess கோப்பின் backup-ஐ உங்கள் computer-க்கு download செய்யுங்கள்.
  • உங்கள் SSL certificate active ஆகவும் சரியாக install செய்யப்பட்டதாகவும் இருப்பதை உறுதிப்படுத்துங்கள்.
  • Redirect rules-ஐ ஒன்றன் பின் ஒன்றாக சேர்க்கவும்; எல்லா rules-ஐயும் ஒரே நேரத்தில் மாற்ற வேண்டாம்.
  • 500, 403 மற்றும் 404 errors-ஐ browser மற்றும் server error logs மூலம் சரிபார்க்கவும்.
  • WordPress, Laravel அல்லது custom software-ன் சொந்த rewrite rules-ஐ நீக்க வேண்டாம்.
  • Password protection பயன்படுத்தும் பகுதிகளில் HTTPS கட்டாயப்படுத்தல் சரியாக வேலை செய்கிறதா test செய்யுங்கள்.
  • CDN, cache plugin மற்றும் security plugin பயன்படுத்தினால் conflict வாய்ப்பை மதிப்பிடுங்கள்.
  • Mobile, desktop மற்றும் வேறு browsers-ல் login, form மற்றும் payment flows-ஐ சோதியுங்கள்.

Rules-ஐ சிறு பகுதிகளாக செயல்படுத்துவது நடைமுறையில் மிகவும் முக்கியம். உதாரணமாக முதலில் Options -Indexes சேர்த்து test செய்யுங்கள்; பின்னர் HTTPS redirect சேருங்கள்; அதன் பிறகு password protection-க்கு செல்லுங்கள். இப்படி செய்தால் பிரச்சினை வந்தபோது எந்த வரி காரணம் என்பதை விரைவாக கண்டுபிடிக்க முடியும்.

அதிகம் செய்யப்படும் தவறுகள் மற்றும் தீர்வுகள்

500 Internal Server Error

இந்த error பொதுவாக syntax mistake, unsupported directive அல்லது தவறான module usage காரணமாக ஏற்படும். உதாரணமாக mod_headers active இல்லாதபோது Header command பயன்படுத்தினால் error வரலாம். தீர்வாக கடைசியாக சேர்த்த வரிகளை தற்காலிகமாக நீக்குங்கள், server error logs-ஐ பாருங்கள், உங்கள் hosting environment அந்த module-ஐ support செய்கிறதா என்பதை உறுதிப்படுத்துங்கள்.

Password prompt தொடர்ந்து திரும்பத் திரும்ப வருகிறது

Username மற்றும் password சரியாக இருந்தும் prompt மீண்டும் மீண்டும் வந்தால் .htpasswd path தவறாக இருக்கலாம், password hash format server-ஆல் support செய்யப்படாமல் இருக்கலாம் அல்லது file permissions தவறாக இருக்கலாம். AuthUserFile வரியில் முழு physical path பயன்படுத்தியுள்ளீர்களா என்பதை உறுதிப்படுத்துங்கள்.

HTTPS redirect infinite loop உருவாக்குகிறது

CDN அல்லது proxy பின்னால் இருக்கும் websites-ல் server, request-ஐ உள்ளே HTTP போலக் காணலாம்; அதனால் அது தொடர்ந்து HTTPS-க்கு redirect செய்ய முயலும். இத்தகைய சூழலில் X-Forwarded-Proto போன்ற headers-ஐ கருத்தில் கொள்ளும் special rule தேவைப்படலாம். CDN panel-ல் SSL mode Full அல்லது Full Strict போன்ற சரியான நிலையில் இருப்பதும் முக்கியம்.

Images அல்லது CSS files திறக்கவில்லை

Hotlink, FilesMatch அல்லது security header rules மிகப் பரவலாக எழுதப்பட்டிருந்தால் legitimate static files கூட block ஆகலாம். Browser developer tools-ல் Network tab-ஐ பார்த்து எந்த file எந்த HTTP code உடன் block ஆகிறது என்பதை கண்டறியலாம்.

WordPress தளங்களில் .htaccess security

WordPress websites-ல் .htaccess கோப்பு permalinks-க்கு மிகவும் முக்கியமானது. எனவே WordPress உருவாக்கும் BEGIN WordPress மற்றும் END WordPress இடையிலான rules-ஐ தேவையில்லாமல் மாற்றக்கூடாது. Security rules-ஐ பொதுவாக அந்த blocks-க்கு மேலோ அல்லது கீழோ சேர்ப்பது பாதுகாப்பான நடைமுறை.

WordPress-க்கு பயன்படுத்தக்கூடிய நடைமுறை முன்னெச்சரிக்கைகள் இவை:

  • wp-admin folder-க்கு கூடுதல் Basic Auth protection அமைத்தல்.
  • wp-content/uploads-ல் PHP execution-ஐ தடுக்குதல்.
  • xmlrpc.php பயன்படுத்தவில்லை என்றால் அதன் access-ஐ கட்டுப்படுத்துதல்.
  • readme.html மற்றும் license files visibility-ஐ குறைத்தல்.
  • HTTPS redirect-ஐ WordPress site address settings-உடன் பொருந்துமாறு அமைத்தல்.

குறிப்பாக wp-admin-க்கு WordPress user password-மும் .htaccess password protection-மும் சேர்த்து பயன்படுத்துவது double layer defense ஆக செயல்படும். ஆனால் AJAX பயன்படுத்தும் சில plugins wp-admin/admin-ajax.php file-ஐ தேவைப்படுத்தும்; எனவே முழு wp-admin folder-ஐ யோசிக்காமல் மூடுவது சில features-ஐ பாதிக்கலாம். அதனால் live site-இல் test செய்வது அவசியம். WordPress ஹோஸ்டிங் WordPress வேக விருப்பம்

.htaccess security-க்கு professional tips

அனுபவமுள்ள system administrators அதிகம் கவனம் செலுத்துவது security மற்றும் maintainability ஆகியவற்றுக்கு இடையிலான சமநிலையில்தான். மிகவும் aggressive rules குறுகிய காலத்தில் பாதுகாப்பாகத் தோன்றினாலும் நீண்ட காலத்தில் maintenance சுமையை அதிகரிக்கலாம். எனவே ஒவ்வொரு rule-க்கும் அதன் நோக்கம், scope மற்றும் test result ஆகியவற்றை குறித்துக் கொள்வது நல்ல நடைமுறை.

  • முக்கியமான மாற்றங்களுக்கு முன் date உடன் backup எடுக்கவும்: htaccess-2026-01-15.bak போன்ற பெயரில்.
  • ஒரே .htaccess கோப்பில் தேவையற்ற நூற்றுக்கணக்கான rules சேர்ப்பதைத் தவிர்க்கவும்.
  • 301 redirects permanent என்பதால் browser மற்றும் search engine cache-ஐ கருத்தில் கொள்ளுங்கள்.
  • Security headers சேர்த்த பிறகு browser console errors-ஐ சரிபார்க்கவும்.
  • Password protected directories-ல் அனைவரும் பகிரும் பலவீனமான password-களுக்கு பதிலாக user-specific accounts உருவாக்கவும்.
  • Test, staging மற்றும் backup folders-ஐ search engines-க்கு முன்பே server level-இல் மூடுங்கள்.

மற்றொரு முக்கியமான விஷயம் security rules-ஐ காலந்தோறும் மீண்டும் பார்க்க வேண்டும் என்பதாகும். இன்று பயன்படுத்தப்படும் ஒரு integration நாளை நீக்கப்பட்டிருக்கலாம்; ஆனால் அதற்காக திறந்து விடப்பட்ட path .htaccess-ல் மறந்து போகலாம். மூன்று மாதத்திற்கு ஒருமுறை குறுகிய security review செய்வது, தேவையற்ற permissions-ஐ சுத்தம் செய்வது மற்றும் பழைய redirects-ஐ ஒழுங்குபடுத்துவது நல்ல பழக்கம்.

முடிவு: சிறிய கோப்பு, பெரிய பாதுகாப்பு அடுக்கு

.htaccess file password protection மற்றும் website security-ஐ உயர்த்தும் commands சரியாக பயன்படுத்தப்பட்டால், உங்கள் இணையதளத்தின் முதல் பாதுகாப்பு வரிசையை பலப்படுத்தும். Directories-ஐ password மூலம் பாதுகாப்பது, HTTPS-ஐ கட்டாயப்படுத்துவது, directory listing-ஐ முடக்குவது, sensitive files-க்கு access தடுக்குவது மற்றும் security headers-ஐ active செய்வது; பெரும்பாலான websites-க்கு நடைமுறையில் பயன்படுத்தக்கூடிய, அளவிடக்கூடிய மற்றும் பயனுள்ள நடவடிக்கைகள்.

இருப்பினும் .htaccess security மட்டும் போதுமானதல்ல. நம்பகமான hosting infrastructure, updated software, SSL certificate, regular backup மற்றும் strong password policy ஆகியவற்றுடன் சேர்த்து இதை யோசிக்க வேண்டும். Hostragons-ல் உங்கள் website-ஐ host செய்யும்போது SSL, hosting மற்றும் domain management போன்ற அடிப்படை security components-ஐ ஒரே panel-ல் நிர்வகிக்கலாம்; தேவையானபோது இன்னும் பாதுகாப்பான அமைப்பிற்கு படிப்படியாக நகரலாம். வலை உருவாக்குதல் தொகுப்புகள் அமைப்பு வாங்கு SSL சான்றிதழ்கள்

அடிக்கடி கேட்கப்படும் கேள்விகள்

.htaccess password protection உண்மையில் files-ஐ encrypt செய்யுமா?

இல்லை. பொதுவாக இந்த சொல்லாக்கம் directories-ஐ username மற்றும் password மூலம் பாதுகாப்பதை குறிக்கிறது. Basic Auth access-ஐ கட்டுப்படுத்தும்; ஆனால் data transfer பாதுகாப்பாக இருக்க SSL உடன் HTTPS பயன்படுத்த வேண்டும்.

.htpasswd கோப்பை public_html-க்குள் வைத்திருப்பது பாதுகாப்பானதா?

பரிந்துரைக்கப்படாது. மிகவும் பாதுகாப்பான நடைமுறை .htpasswd கோப்பை public_html-க்கு வெளியே, web வழியாக நேரடியாக அணுக முடியாத directory-யில் வைப்பதுதான். இதனால் தவறான configuration இருந்தாலும் file வெளியில் தெரியும் வாய்ப்பு குறையும்.

.htaccess மாற்றத்துக்குப் பிறகு 500 error வந்தால் என்ன செய்ய வேண்டும்?

முதலில் நீங்கள் கடைசியாக சேர்த்த வரிகளை நீக்குங்கள் அல்லது backup file-க்கு திரும்புங்கள். அதன் பிறகு server error logs-ஐ சரிபார்க்கவும். இந்த error பெரும்பாலும் typing mistake, unsupported directive அல்லது active இல்லாத Apache module காரணமாக ஏற்படும்.

WordPress wp-admin folder-ஐ .htaccess மூலம் password protect செய்வது சரியா?

ஆம், இது கூடுதல் security layer தரலாம். ஆனால் சில plugins admin-ajax.php போன்ற files-ஐ தேவைப்படுத்துவதால், நடைமுறைப்படுத்திய பிறகு login, comment, cart, payment மற்றும் form செயல்முறைகளை கட்டாயம் test செய்ய வேண்டும்.

HTTPS redirect SEO-க்கு தீங்கானதா?

சரியாக அமைக்கப்பட்ட 301 HTTPS redirect தீங்கானது அல்ல; மாறாக பாதுகாப்பான மற்றும் consistent URL structure தரும். முக்கியமானது redirect chain உருவாக்காமல் இருப்பதும், அனைத்து internal links-ஐ final HTTPS URLs-உடன் பொருந்துமாறு வைத்திருப்பதும் ஆகும்.

இந்தக் கட்டுரையைப் பகிரவும்:

Hostragons குழு

ஹோஸ்டிங், சர்வர்கள் மற்றும் டொமைன் பெயர்கள் குறித்த எங்கள் நிபுணர் குழுவின் சமீபத்திய வழிகாட்டிகள். உங்கள் திட்டத்திற்கான சரியான தீர்வை நாம் இணைந்து கண்டறிவோம்.

எங்களைத் தொடர்பு கொள்ளுங்கள்