HSTS un drošības galvenes Jūsu tīmekļa vietnei
Katrai lapai Jūsu tīmekļa serveris nosūta galvenes (headers): īsas rindiņas ar instrukcijām pārlūkprogrammai. Tās daļēji nosaka, cik droši pārlūkprogramma apietas ar Jūsu vietni. Šeit uzzināsiet, kas ir HSTS, kādas vēl ir drošības galvenes un kā tās iestatīt un pārbaudīt.
Vispirms Jūsu vietnei ir jābūt derīgam sertifikātam un apmeklētāji ir jānovirza uz https. Par to lasiet rakstos SSL sertifikāta aktivizēšana, atjaunošana un problēmu novēršana un Apmeklētāju obligāta novirzīšana uz https.
Ko dara HSTS?
Novirzīšanai uz https ir viens vājš brīdis: pirmais pieprasījums caur http vēl notiek nešifrēti. Kāds citā tajā pašā tīklā, piemēram, publiskā wifi, var šo pieprasījumu pārtvert. HSTS (HTTP Strict Transport Security) to novērš. Jūsu vietne caur https nosūta šo galveni:
Strict-Transport-Security: max-age=31536000
Pārlūkprogramma tad atceras, ka tai Jūsu vietne jāatver tikai caur https. Ja apmeklētājs vēlāk ieraksta http://, pārlūkprogramma to pati pārveido par https, vēl pirms kaut kas tiek nosūtīts tīklā. HSTS galveni, kas ienāk caur parastu http, pārlūkprogramma ignorē.
| Daļa | Nozīme |
|---|---|
max-age | Cik ilgi pārlūkprogramma to atceras, sekundēs. Internet.nl tests par pietiekamu uzskata vismaz vienu gadu (31536000). |
includeSubDomains | Attiecas arī uz visiem apakšdomēniem, piemēram, shop.jusudomens.nl un mail.jusudomens.nl. |
preload | Jūs pieprasāt iekļaušanu sarakstā, kas ir iebūvēts pārlūkprogrammās (hstspreload.org). Tādā gadījumā aizsargāts ir pat pats pirmais apmeklējums. Tam nepieciešams, cita starpā, viens gads, includeSubDomains un https visos apakšdomēnos. Izņemšana no saraksta aizņem ilgu laiku. |
max-age=0 | Dzēš iepriekš atcerēto instrukciju nākamajā apmeklējumā caur https. |
includeSubDomains tas attiecas arī uz katru apakšdomēnu, piemēram, vecu kameras vai printera lapu bez sertifikāta. Tāpēc veidojiet to pakāpeniski: sāciet ar īsu max-age, piemēram, vienu dienu (86400), pārbaudiet, vai viss darbojas, un pakāpeniski palieliniet līdz vienam gadam.HSTS pakalpojumā WebOké
Lielākajā daļā mūsu serveru tīmekļa serveris pēc noklusējuma nosūta HSTS katrai vietnei, kas tiek atvērta caur https: Strict-Transport-Security: max-age=31536000. Tas ir viens gads, bez includeSubDomains un bez preload. Tāpēc Jums nekas nav jādara. Dažos serveros tas pēc noklusējuma nav ieslēgts, tur to varat ieslēgt pats. Vai Jūsu vietne jau nosūta HSTS un ar kādu max-age, varat redzēt pārlūkprogrammas izstrādātāju rīkos vai internet.nl testā (skatiet zemāk).
HSTS slēdzis DirectAdmin
DirectAdmin dodieties uz Domēni un noklikšķiniet uz Jūsu domēna nosaukuma. Ja Drošs SSL savienojums ir ieslēgts, pie HSTS redzēsiet slēdzi HTTP Strict Transport Security iespējošana. Pēc tam noklikšķiniet uz Saglabāt, lai saglabātu. Kā tas notiek soli pa solim, lasiet rakstā Apmeklētāju vienmēr novirzīt uz https.
Ja Jūsu vietne jau nosūta HSTS, šis slēdzis Jums nav vajadzīgs. Ieslēdziet to tikai tad, ja Jūsu vietne vēl nenosūta HSTS. Iestatiet HSTS tikai vienā vietā: DirectAdmin vai .htaccess failā, nevis abās. Ja pārlūkprogramma saņem divas HSTS galvenes, tā izmanto tikai pirmo.
Citas drošības galvenes
| Galvene | Pret ko | Vērtība, ar ko sākt |
|---|---|---|
X-Content-Type-Options | Pārlūkprogramma pati sāk minēt, kas ir fails, tāpēc augšupielādēts "attēls" var tikt izpildīts kā skripts. | nosniff (vienīgā derīgā vērtība) |
Content-Security-Policy: frame-ancestors vai X-Frame-Options | Clickjacking: cita vietne neredzami ielādē Jūsu lapu rāmī, lai apmeklētāji nemanot klikšķinātu uz Jūsu pogām. | frame-ancestors 'self', vai vecākā galvene X-Frame-Options: SAMEORIGIN |
Referrer-Policy | Noklikšķinot uz saites uz citu vietni, pārlūkprogramma nosūta iepriekšējās lapas adresi, dažkārt ar meklēšanas vārdu vai pasūtījuma numuru tajā. | strict-origin-when-cross-origin, vai stingrāk same-origin vai no-referrer. Internet.nl par labām uzskata tikai stingrās vērtības. |
Permissions-Policy | Nosaka, kuras pārlūkprogrammas funkcijas drīkst izmantot Jūsu lapa un iekļautie rāmji, piemēram, kameru, mikrofonu un atrašanās vietu. | camera=(), microphone=(), geolocation=() izslēdz šīs trīs funkcijas. Ja Jūsu vietne izmanto kādu no šīm funkcijām, atstājiet to nenorādītu. |
Content-Security-Policy (pilna) | Ierobežo, no kurām vietām drīkst ielādēt skriptus, stilus un attēlus. Tas padara ievietotu ļaunprātīgu skriptu (XSS) izmantošanu daudz grūtāku. | Pielāgota katrai vietnei. Izvairieties no unsafe-inline, unsafe-eval un aizstājējzīmēm (wildcards). |
Iestatīšana failā .htaccess
Ievietojiet šīs rindiņas faila .htaccess sākumā, mapē public_html Jūsu domēnā. Vispirms izveidojiet faila kopiju.
<IfModule mod_headers.c> Header always set X-Content-Type-Options "nosniff" Header always set Content-Security-Policy "frame-ancestors 'self'" Header always set Referrer-Policy "strict-origin-when-cross-origin" Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()" # Tikai tad, ja Jūsu vietne vēl nenosūta HSTS (skatiet iepriekš): # Header always set Strict-Transport-Security "max-age=31536000" </IfModule>
Pievienojiet includeSubDomains tikai tad, kad esat pārliecināts, ka katram apakšdomēnam ir https. Ja izmantojat WordPress, galvenes varat iestatīt arī ar spraudni. Izvēlieties pazīstamu spraudni, kas tiek regulāri atjaunināts, un iestatiet katru galveni tikai vienā vietā: spraudnī vai .htaccess failā.
Content-Security-Policy-Report-Only. Tā neko nebloķē, bet pārlūkprogrammas konsolē parāda, kas tiktu bloķēts. Šaubu gadījumā uzticiet to savam tīmekļa vietņu izstrādātājam vai sāciet tikai ar frame-ancestors.Pārbaude
- Internet.nl: ievadiet savu domēnu vietnes testā internet.nl.
- Jūsu pārlūkprogramma: atveriet savu vietni, nospiediet F12 (vai izvēlieties Pārbaudīt), dodieties uz cilni Tīkls (Network), atkārtoti ielādējiet lapu un noklikšķiniet uz pirmā pieprasījuma. Sadaļā Atbildes galvenes (Response Headers) redzēsiet visu, ko Jūsu serveris nosūta.
- Komandrinda:
curl -sI https://jusudomens.nl/parāda galvenes.
Pēc katras izmaiņas pārbaudiet, vai Jūsu vietne, veidlapas un maksājumu lapa joprojām darbojas. Turklāt uzturiet atjauninātu savu CMS, spraudņus un tēmas. Skatiet WordPress faila wp-login.php nodrošināšana.
Lasiet vēl
- MDN: Strict-Transport-Security (angļu valodā)
- MDN: Content-Security-Policy (angļu valodā)
- MDN: Permissions-Policy (angļu valodā)
- HSTS priekšielādes saraksts (angļu valodā)
