មគ្គូប្រឹក្សា SEO ទី ៧: សុវត្ថិភាព — មូលដ្ឋានដែល Google យល់ឃើញនៅឆ្នាំ ២០២៦
មគ្គូប្រឹក្សា SEO ទី ៧: សុវត្ថិភាព
នេះជាជំហានទី ៧ នៃ មគ្គូប្រឹក្សា SEO ១៣ ជំហាន។ សុវត្ថិភាពមិនត្រឹមតែទាក់ទងទៅនឹងការក្នុងការពារ អ្នកប្រើប្រាស់ទេ — វាត្រូវប៉ះពាល់ឱ្យនូវការប្រកួតប្រជែងទាំងមូលរបស់អ្នក។ Google បានប្រើ HTTPS ជาสញ្ញាដើម្បីវាយតម្លៃជ desde 2014, ហើយក្តីរំពឹងទុកត្រូវបានបន្ថែមឡើងវិញ។
អ្នកបង្កើតគេហទំព័រងាយៗគិតពីសុវត្ថិភាពជាbinary៖ "យើងមាន SSL ហើយដូច្នេះយើងមានសុវត្ថិភាព"។ នៅក្នុងអវភ្នែក មាំ, Google បានវាយតម្លៃសញ្ញាសុវត្ថិភាពជាច្រើន ។ គេហទំព័រដែលមានសុវត្ថិភាព headers ត្រឹមត្រូវ, សញ្ញាបត្រត្រឹមត្រូវ, និងមិនមានមាតិកាទៅកាន់ប្រភពចម្រុះមានគុណភាពល្អជាងគេហទំព័រដែលមានតែឯកសារសញ្ញាបត្របង្វិលមួយ—ទាំងរាល់អ្វីទាំងអស់មានសភាពស្មើគ្នារៀងៗខ្លួន។
ข่าวดีก็คือ: แก้ปัญหาด้านความปลอดภัยส่วนใหญ่เป็นการกำหนดค่าแบบครั้งเดียว ตั้งค่าเพียงครั้งเดียวและจะป้องกันอันดับการค้นหาของคุณให้ถาวร
ការកំណត់ SSL
SSL (តំបន់ប្រព័ន្ធ TLS) ជារៀងយ៉ាងបានដាក់គ្នាទៅលើការតភ្ជាប់រវិកេហទំព័ររបស់អ្នក និងភ្ញៀវ។ ចាប់តាំងពីឆ្នាំ ២០១៤, Google បានបញ្ជាក់បន្តិចៗ HTTPS ជាសញ្ញាដែលជេះមានសារៈសំខាន់ក្នុងការវាយតម្លៃ។ នៅឆ្នាំ ២០២៦, ការមិនមាន HTTPS គឺមិនមែនជាបញ្ហាវាយតម្លៃទេ — Chrome បំពានវេបសាយ HTTP ជា "មិនមានសុវត្ថិភាព" នៅក្នុងស្លាកទីតាំង, បានបំផ្លាញទំនុកចិត្តរបស់អ្នកប្រើប្រាស់។
តម្រូវការសម្រាប់ SSL ដែលត្រឹមត្រូវ:
| តម្រូវការ | ហេតុអ្វី | របៀបពិនិត្យ | |-------------|-----|--------------| | សញ្ញាបត្រត្រឹមត្រូវ | ធ្លាក់ = ប្រអប់អនុញ្ញាត = ភ្ញៀវប្លង់ក្រៅ | ពិនិត្យថ្ងៃផុតកំណត់ | | ដែនពេញ | ច្រវ៉ងមិនគ្របដណ្តប់លើឧបករណ៍ខ្លះ | ការពិភាគឡាបសុវត្ថិភាព | | TLS 1.2+ | ការកំណត់លំនៅពីពីរៗមានការហានិភ័យដែលបានដឹង | ការពិភាគឡាបសុវត្ថិភាព | | មិនមាន SHA-1 | បានបោះបង់, តំបន់អតិបរិមាតមិនទទួល | ព័ត៌មានអំពីសញ្ញាបត្រ | | ដែនគ្រីប | www និង non-www ខ្ពស់គ្នាត្រូវបានគ្របដណ្តប់ | ព័ត៌មានអំពីសញ្ញាបត្រ | | ការស្វែងរកគ្រប់កាល | ជួយទប់ស្កត្តការប្រាស្រ័យ | អនុគមន៍ Let's Encrypt / សេវាកម្ម |
ការវាយតម្លៃ SSL:
100% = សញ្ញាបត្រត្រឹមត្រូវ + ដែនពេញ + TLS 1.3 + ការគង់តឹង + ការស្វែងរកគ្រប់កាល
0% = ដំណែងផុតកំណត់ ឬ មានសញ្ញាបត្រមិនមាន
កំហុសសំខាន់ៗ SSL:
- សញ្ញាបត្រធ្លាក់ដោយគ្មានការជូនដំណឹង — រៀបចំការតាមដាន (ជំហាន ៦) នៅយ៉ាងហោចណាស់ ៣០ ថ្ងៃមុនថ្ងៃផុតកំណត់
- ដែនសញ្ញាបត្រមិនគ្របដណ្តប់ — សេវាកម្មត្រូវតែផ្ញើឯកសារបណ្តោះអាសន្នមិនត្រឹមតែស្លាកល្បាយ
- មាតិកាទៅកាន់ប្រភពចម្រុះ — ទំព័រ HTTPS បម្រើគ្រឿងសង្ហារឹម HTTP (រូបភាព, ការសរសេរ, ល)
- វេបសាយផ្ដាច់កំណត់ — HTTP → HTTPS → HTTP មូយដែលកើតឡើងដោយ CDN ខុស
- អះអាងពី www និង non-www មិនមានគ្នា — សញ្ញាបត្រកាត់បន្ថយគ្នា
Quick win: ប្រើឌូមែនរបស់អ្នកតាមរយៈ SSL Labs (ssllabs.com/ssltest)។ យ៉ាងណាក៏ដោយ ខាងក្រោមតម្លៃ "A" មានបញ្ហាដែលអាចប្រតិបត្តិការ។ អ្នកផ្តល់សេវាធិបតីភាគច្រើនជួសជុលវាជាមួយការចុចមួយ។
សុវត្ថិភាព Headers
សុវត្ថិភាព headers ជា HTTP response headers ដែលបញ្ជាក់របៀបដែលកម្មវិធីរក្សាសេវាកម្មចរចារទុកពេលក្នុងការលោតកំពូលគេហទំព័ររបស់អ្នក។ ពួកវាប្រឆាំងនឹងប្រភេទការរំដោះនៃការវាយប្រហារទៀត។ ហើយកាGoogle វិចារណា។
សុវត្ថិភាព headers ដែលដំបូង:
Content-Security-Policy (CSP)
CSP គឺជាសុវត្ថិភាព headers ដែលមានអំណាចជាងគេ។ វាប្រាប់កម្មវិធីរក្សាសេវាកម្មម៉ោង ឱ្យដឹងថា តំរូវការណាដែលមានសុវត្ថិភាព (ស្តូប, រូបភាព, តារាង) ដែលអាចបញ្ហាព័ទ្ធទេសផល trênទី។
Content-Security-Policy: default-src 'self'; script-src 'self' https://cdn.example.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' https://fonts.gstatic.com; connect-src 'self' https://api.example.com; frame-ancestors 'none';
អ្វី CSP ប្រារព្ធ:
- ការវាយប្រហារដោយមានការឱន្យាប្រតាគ្រួសារ (XSS)
- ការវាយប្រហារដែលធ្វើឱ្យមានសម្ភារៈ
- Clickjacking (តាមរយៈ
frame-ancestors) - ការអនុវត្តព្រឹត្តិការណ៍ដែលគ្មានការអាចអនុវត្ត (cryptominers, ad injectors)
យុទ្ធសាស្ត្របញ្ជាក់ CSP៖
- ចាប់ផ្តើមជាមួយ
Content-Security-Policy-Report-Only(ចុះសារការប៉ុនប៉ងមិនហាមឃាត់) - តាមដានរបាយការណ៍ ចន្លោះ ១-២ សប្តាហ៍
- របាយការណ៍ប្រភពដែលគួរឱ្យជឿ
- ជាការទទួលបណ្ដាញ
- បន្ថែម
report-uriឬreport-toសំរាប់ការចុះបញ្ជីសារបំពាន
X-Frame-Options
ការពារកុំឲ្យគេហទំព័ររបស់អ្នកត្រូវបានទាញចេញតាមទីផ្សារលើស្សីតាំង (ការពារតាមរយៈ clickjacking)។
X-Frame-Options: DENY
ឬប្រសិនបើអ្នកត្រូវការអនុញ្ញាតឱ្យចុះចេញដងឆ្ងាយ:
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options
ជៀសវាងកម្មវិធីរក្សាសេវាកម្មពីការស្លាប់ MIME-type (ផ្ទេររបួសនៃឯកសារ។
X-Content-Type-Options: nosniff
នេះគឺជាបន្ទាត់មួយដែលការពារការវាយប្រហារដwhere .jpg មាន JavaScript ដែលលាក់។
Referrer-Policy
គ្រប់គ្រងពីប្រភពនៃព័ត៌មាន referrer ដែលត្រូវបានផ្ញើពេលអ្នកប្រើប្រាស់ចុចលើតំណពីគេហទំព័រដែលរបស់អ្នក។
Referrer-Policy: strict-origin-when-cross-origin
នេះនាំឲ្យ URL ដោយសម្រាយសម្រាប់ការទាមទារដូចគ្នាតែគ្រាន់តែប្រភព (ដែន) សម្រាប់ការទាមទារប្រភេទច្រើន។ ធ្វើឲ្យមានមុខម្ខឹម និងឧបត្ថម្ភ។
Permissions-Policy
គ្រប់គ្រងអ្វីដែលអាចមានលក្ខណៈមួយ (កាមេរ៉ា, ម៉ៃក្រូហ្វូន, ស្រទាប់បណ្ណទិដ្ឋាន, អូឌីយ៉ូ, ជាដើម) អាចប្រើប្រាស់លើគេហទំព័ររបស់អ្នក។
Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=()
ការបិទលក្ខណៈដែលអ្នកមិនបានប្រើប្រាស់នឹងជួយសង្ស័យអោយគ្រោះថ្នាក់ពី scripts ម្នាក់។
ឧទាហរណ៍នៃការអនុវត្ត headers (Next.js):
// next.config.js
module.exports = {
async headers() {
return [{
source: '/(.*)',
headers: [
{ key: 'X-Content-Type-Options', value: 'nosniff' },
{ key: 'X-Frame-Options', value: 'SAMEORIGIN' },
{ key: 'Referrer-Policy', value: 'strict-origin-when-cross-origin' },
{ key: 'Permissions-Policy', value: 'camera=(), microphone=(), geolocation=()' },
{ key: 'Strict-Transport-Security', value: 'max-age=31536000; includeSubDomains; preload' },
]
}]
}
}
ការអនុវត្ត headers (Apache .htaccess):
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 "camera=(), microphone=(), geolocation=()"
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
ការអនុវត្ត headers (Nginx):
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
Quick win: បន្ថែម headers ៥ នៅលើទៅទៀតទៅកាន់ការកំណត់សេវាកម្មរបស់អ្នក។ វាបន្ថែម ៥ នាទី ហើយបន្ថែមយ៉ាងភ្លាមៗវាលើសន្តិសុខរបស់អ្នកក្នុងឧបករណ៍ប៉ិនប្រសប់ណាមួយ។
HSTS Preload
HTTP Strict Transport Security (HSTS) នេះផ្សាយដល់កម្មវិធីរក្សាសេវាកម្មឱ្យប្រើ HTTPS រូមទាំងសំរាប់ដែនរបស់អ្នកទាំងអស់ - ចំពោះការស្នាក់នៅដំបូង មិនត្រឹមតែមានការធ្វើម្តងទេ។ បើគ្មាន HSTS, អ្នកប្រើប្រាស់មានដំណើរការទៅកាន់គេហទំព័ររបស់អ្នកក៏អាចបានឱ្យមាននូវ HTTP (ផ្នូរសាងទង) មុនពេលទាញចុះទៅHTTPS។
HSTS headers:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
អត្ថន័យនៃបញ្ជាទាំង ៣៖
| បញ្ជា | អត្ថន័យ | |-----------|---------| | max-age=31536000 | ចញ្ចប់នេះក្នុងប្រក ។
តម្រូវការសម្រាប់ HSTS preload:
- សញ្ញាបត្រ HTTPS ត្រឹមត្រូវ
- បង្ហោះអ្វីទាំងអស់ពី HTTP ទៅ HTTPS (រួមទាំងដែនរង)
- HSTS headers មាន
max-age>= 31536000 - HSTS headers បញ្ជាក់
includeSubDomains - HSTS headers បញ្ជាក់
preload - ដែនរងទាំងអស់ត្រូវគាំទ្រ HTTPS
ការប្រុងប្រយ័ត្ន: ប្រើប្រាស់ដំណាក់ HSTS preload បើគ្រាន់តែទាំងអស់បង្អស់របស់អ្នកគាំទ្រ HTTPS។ បញ្ជា includeSubDomains មានន័យថា មិនអាចធ្វើឱ្យដែនវេបសាយដែលមានជាបះបះបានជាការកុំអោយធ្វើទៅដល់។
Quick win: ប្រសិនបើអ្នកមាន HTTPS នៅលើដែនរងទាំងអស់, បន្ថែមនូវ headers HSTS ទាំងមូល និងដាក់ជូន hstspreload.org។ ការបណ្តុះបណ្តាលយឺតៗទៅកាន់ការ(១-៣ សប្ដាហ៍) ប៉ុន្តែការប្រឹក្សានេះមានស្ថានភាពផ្ទាល់។
ការស្កេនកងវេជ្ជការ
ការស្កេនកងវេជ្ជការអូសម៉ោងអូសសម្ថភាពនឹងកំណត់ករណីសុវត្ថិភាពដែលបានដឹងនៅក្នុងសេវាដែលខ្មែរ។
អ្វីដែលការស្កនកងវេជ្ញាចិត្ដ:
- កម្មវិធីខ្វះកំណែ៖ WordPress, plugins, បណ្ណាល័យ JavaScript ទាំងមាន CVEs ដែលបានដឹង
- ឯកសារប៉ាន់ស្មាន:
.env,.git,wp-config.php, ប្រព័ន្ធមេរោគ - ការលេចរបស់ព័ត៌មាន: ការអានការឆ្លើយតបនៅថឯកសារ, មត្ថភាពលើវេបសាយ
- ម៉ាស៊ីនចេញពីផ្នែក: ទំព័រគ្រប់គ្រងគ្មានអាជ្ញាតិ, ពាក្យសម្ងាត់គឺអំពើផ្ទាល់
- ក្រសួងបើក/សេវា: សេវាដែលមិនអាចទៅព័ត៌មានមិនទៀន
- ចំណុចចុះដែលចេះខាំ៖ ទម្រង់មើលទាំងអស់ដោយគ្មាន CSRF ការពារ, ការបង្កើតដែលមិនត្រឹមត្រូវ
កងវេជ្ជការទានសុវត្ថិភាពពីតំបន់ទៅក្រៅ:
| តំបន់ | ការវាយប្រហារ | ការពួកអ្នកបង់ | |----------|---------------------------|-----| | WordPress | កុំស្លាប់ប័ណន| = + Android App | | Shopify | សិទ្ធិកម្មវិធី | | = + Android App | | Next.js | API exposed | = + Authorize validity | | Static Sites | CDN | = + Website Cache | | Custom | | = + Data store |
អានអាជ្ញាជីកែប្រែ៖
- ប្រចាំថ្ងៃ: ការអាលម្លេះគាំទ្រពីកងវេជ្ជការ (SSL, headers, file)
- ប្រចាំសប្ដាហ៍: ពិសេសផ្លាស់ប្តូរ
- ប្រចាំខែ: បញ្ចប់កាំងទទួលរបាយការណ៍ធម្មតារួមជាមួយការធ្វើតេស្ត
- បន្ទាប់ពីកាពាម្សា: ការជួសជុលការវាយប្រហារ
Quick win: ប្រើ npm audit (Node.js) ឬពិនិត្យមើលបញ្ជី WordPress plugin របស់អ្នកសុខស្រួលជាអំពើបង្កើតចេញ។ ធ្វើការ AIM នឹងគេសម្រួលផ្សេងទៀត។
មាតិកាពីប្រភពចម្រុះ
មាតិកាពីប្រភពចម្រុះកើតឡើងពេលដែលទំពើ HTTPS កាន់តែប្រាជ្ញាទីបានការប្រាក់លើ HTTP។
| អត្ថប្រយោជន៍ | បន្ទោស | ភាបមាតិកា | អ្នករក្សាសេវាកម្ម | |------|-----|---------|------------------| | កំពូល | ធ្ងន់ | បន្ទះស្រក | គ្មានការទ្រទ្រង់បញ្ហាដែលកម្មវិធីសកម្មភាព | | ហើយ | ផ្សំ | ហើយ | ហើយ |
**មានឳកាសផុសថូនុការប្រមាយ និង $ $ $ = |
<!-- ខុស -->
<img src="http://example.com/image.jpg" />
<!-- ល្អ -->
<img src="https://example.com/image.jpg" />
<!-- ល្អបំផុត (មិនប្រើប្រាស់យ៉ាងហោចណាស់ សំណាស់) -->
<img src="//example.com/image.jpg" />
ស្តង់ដារបណ្ណាល័យ (WordPress):
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://yourdomain.com', 'https://yourdomain.com');
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'http://yourdomain.com', 'https://yourdomain.com');
Quick win: បើកទំព័រដើមរបស់អ្នកនៅក្នុង Chrome, ចុច F12, ពិនិត្យតំណភ្ជាប់ Headers លើការផ្គូផ្គង់។
របៀបដើមវេទិកា Scripts Risks
គឺមានគ្រីបរឬរ៉ូទាំងស្ភា លទ្ធនៃមនុស្សពីបណ្ដាញនានា។ Scripts ទាំងនេះអាច:
- របត់មិនស្រប (និយមបញ្ហាកម្មវិធី)
- ការតាមដានអ្នកប្រើប្រាស់ចំណប្រោះ (បំពាន GDPR)
- ធ្វើឲ្យគេហទំព័ររបស់អ្នកខ្សោយ(កូដលើ)
- ការបង្កើតមាតិកា (បញ្ហា)
ការត្រួតពិនិត្យនៃ Scripts របស់អ្នក:
| Scripts |មាន | កម្រិតហានី | ជំនួស | |--------|-----------|--------------|-------------| | Google Analytics | ជាច្រើន | ទាប | ការតាមដានពីម៉ាស៊ីន | | Chat widgets | មិនច្បាស់ | មធ្យម | តម្រូវឱ្យរៀបចំ | | Share buttons | ជាង | មធ្យម | តំណភ្ជាប់សែនធំ | | A/B testing | ជាការទី | ដ៏ខ្ពស់ | ការសាកល្បងទៅកាន់ម៉ាស៊ីន | | Retargeting pixels | សកម្មវិធីស្នាក់ | ដ៏ខ្ពស់ | ទិន្នន័យពីអ្នក ។ | | Font CDNs | ជាមួយ | ទាប | ទីផ្សារហ្រៅ |
វិធានការហានីសម្រាប់ Scripts ដែលមានសំណុំបែបបទកំណត់សមស្រប:
- Subresource Integrity (SRI): Hash ដែលគ្រោះថ្នាក់ផ្ទុយនឹងជួយវាស់សុខភាពថាសំណុំរបស់ Scripts
<script src="https://cdn.example.com/lib.js"
integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxAE+sO0..."
crossorigin="anonymous"></script>
- SCP បង្ហាញ៖ គ្រាន់តែអនុញ្ញាត Scripts មកពីដែនដែលបានជ្រាប។
- Iframe ហ៊ុនបំណង: ត្រួតពិនិត្យ html។
- ការត្រួតពិនិត្យក្រោមការស្គាល់ weakness
- ការតាមដាន: បង្ហាញការបើករបស់ scripts ចេញនិងអ្នកប្រើប្រាស់ថ្មីពេលទីនាឡិការ។
Quick win: ធ្វើបញ្ជីScripts ដែលផ្តល់ជូនដោយមានការបណ្ដោះអាសន្ន។ អ្នកមិនគួររំយោលជាមួយ Scripts ដែលអ្នកមិនស្គាល់ឬមិនត្រូវការនានា។