Pāriet uz saturu

Sīkdatņu iestatījumi

Izvēlieties, kāda veida sīkdatnes atļaujat. Savu izvēli varat jebkurā laikā mainīt sadaļā Sīkdatņu iestatījumi katras lapas apakšā. Privātuma politika

Nepieciešamās

Vienmēr ieslēgtas

Vajadzīgas, lai pieteiktos, saglabātu grozu un atcerētos Jūsu izvēles. Tās vienmēr ir ieslēgtas.

Kuras sīkdatnes?
  • weboke_sessie, weboke_klant, weboke_remember: Jūsu sesija un pieteikšanās saglabāšana
  • weboke_basket: Jūsu grozs
  • wkBtwIncl: cenu rādīšana ar PVN vai bez PVN
  • wok_cookies: Jūsu sīkdatņu izvēle, 12 mēneši

Mēra, kura reklāma noved pie apmeklējuma vai pasūtījuma, lai mēs nemaksātu par reklāmām, kas neko nedod.

Kuras sīkdatnes?
  • Google Ads ar Google Tag Manager (_gcl_au, _gcl_aw), līdz 90 dienām
  • OpenAI Ads, reklāmas ChatGPT
  • wok_aff: caur kuru partneri nonācāt pie mums (partneru programma), 60 dienas

4,6

Valsts un valoda

Katrai valstij ir sava vietne ar attiecīgās valsts cenām un PVN.

Skatīt

Tīmekļa vietnes nostiprināšana: tiesības, galvenes un drošības spraudņi

7. modulis: Drošība · Lasīšanas laiks: 10 minūtes

Mācību mērķis: Pēc šīs nodarbības Jūs varēsiet nostiprināt WordPress tīmekļa vietni, izmantojot tiesības, iestatījumus un drošības galvenes, kā arī prasīsiet reāli novērtēt drošības spraudņu nozīmi.

Galvenie jēdzieni: nostiprināšana (hardening), failu tiesības (644, 755), DISALLOW_FILE_EDIT, bez PHP augšupielāžu mapē, mapes satura saraksts, versijas slēpšana, X-Powered-By, drošības galvenes, rezerves kopiju faili un .git tīmekļa mapē, WAF uz servera, WAF spraudnī, ļaunprogrammatūras skeneris

Kas ir nostiprināšana

Nostiprināšana nozīmē: tīmekļa vietnes iestatīšanu tā, lai kļūda vai ievainojamība radītu pēc iespējas mazāku kaitējumu. Tas neaizstāj atjauninājumus un spēcīgas paroles (7.2. un 7.3. nodarbība), bet samazina to sekas. Iedomājieties māju: atjauninājumi ir slēdzenes, nostiprināšana nozīmē to, ka Jūs rūpējaties, lai ielaušanās gadījumā nelūgtais viesis vis nevarētu nokļūt pie seifa.

Failu tiesības

Katram failam un katrai mapei uz servera ir tiesības: kas drīkst lasīt, rakstīt un izpildīt. Tās tiek rakstītas kā trīs cipari, atsevišķi īpašniekam, grupai un pārējai pasaulei. WordPress dokumentācijas vadlīnijas:

KasTiesībasNozīme
Mapes755Īpašnieks drīkst visu, citi drīkst lasīt un atvērt
Faili644Īpašnieks drīkst lasīt un rakstīt, citi tikai lasīt
wp-config.phpstingrāk, piemēram, 600 vai 640Tikai īpašnieks (un, iespējams, tīmekļa servera grupa) drīkst lasīt

Kura vērtība piemērota failam wp-config.php, ir atkarīgs no tā, kā Jūsu mitināšanas pakalpojumu sniedzējs izmanto PHP: lielākajā daļā koplietotās mitināšanas PHP darbojas kā Jūsu pats lietotājs, un tad pietiek ar 600. Izmēģiniet un pārbaudiet, vai tīmekļa vietne joprojām darbojas.

Nekad 777. Tas nozīmē: ikviens uz servera drīkst rakstīt. Rokasgrāmata, kas saka: "ja augšupielāde nedarbojas, iestatiet mapei 777", risina problēmu nepareizi. Labā mitināšanā tas arī nekad nav nepieciešams.

Iestatījumi failā wp-config.php

Dažas rindas, kas būtiski palīdz (virs "beidziet rediģēt"):

// Nekādu failu rediģēšanu no paneļa (Izskats > Tēmas redaktors un Spraudņi > Spraudņa redaktors).
define( 'DISALLOW_FILE_EDIT', true );

// Kļūdu ziņojumi nekad nedrīkst parādīties apmeklētāju ekrānā (5.4. nodarbība).
define( 'WP_DEBUG', false );

Izmantojot DISALLOW_FILE_EDIT, pazūd redaktors, ar kuru panelī var rediģēt tēmu un spraudņu PHP failus. Nelūgts viesis, kurš pārņēmis administratora kontu, tad ar diviem klikšķiem nevar ievietot ļaunprātīgu kodu Jūsu tēmā. Spraudņu instalēšana joprojām ir iespējama; ja vēlaties aizliegt arī to (piemēram, tīmekļa vietnē, ko pārvaldāt klienta vārdā), ir pieejams DISALLOW_FILE_MODS, bet tad arī atjauninājumi caur paneli vairs nedarbosies.

Bez PHP augšupielāžu mapē, bez mapes satura saraksta

Mapē wp-content/uploads ir vieta attēliem un dokumentiem, nekad ne PHP failiem. Ielauzēji, kuri caur ievainojamību var augšupielādēt failu, tieši mēģina tur ievietot PHP failu un to pēc tam izsaukt. Bloķējiet to ar .htaccess failu augšupielāžu mapē (LiteSpeed un Apache gadījumā):

<Files *.php>
Require all denied
</Files>

Izslēdziet arī mapju satura rādīšanu. Bez index.php vai index.html faila mapē daži tīmekļa serveri rāda visu failu sarakstu ("Index of /wp-content/uploads/2026/11"). Tas ir izstādes logs ikvienam, kurš meklē rezerves kopijas vai sensitīvus dokumentus. Jūsu tīmekļa mapes failā .htaccess:

Options -Indexes

Daudziem mitināšanas pakalpojumu sniedzējiem šis jau pēc noklusējuma ir izslēgts. Šīs nodarbības uzdevums to pārbauda.

Bez atlikumiem tīmekļa mapē

Viss, kas atrodas tīmekļa mapē, ir pieejams caur tīmekli, izņemot to, ko serveris izpilda kā PHP vai bloķē. Bīstami ir:

  • wp-config.php kopijas (wp-config.php.bak, wp-config.old, wp-config.php~ no teksta redaktora): tajās ir Jūsu datubāzes parole un tās tiek nosūtītas kā teksts (1.3. nodarbība);
  • rezerves kopijas, piemēram, backup.zip, site.tar.gz vai database.sql tīmekļa mapē;
  • .git mape no izstrādātāja, ar kuras palīdzību kāds var lejupielādēt visu Jūsu kodu (un dažkārt arī paroles);
  • debug.log mapē wp-content (5.4. nodarbība);
  • veci instalācijas vai testa faili, piemēram, info.php ar phpinfo().

Glabājiet rezerves kopijas ārpus tīmekļa mapes vai ārpus servera, un sakopjiet atlikumus.

Versijas slēpšana: neliels ieguvums

WordPress pēc noklusējuma HTML kodā ievieto:

<meta name="generator" content="WordPress 7.1.4" />

un to pašu RSS plūsmā. Arī PHP dažkārt uzrāda sevi galvenē: X-Powered-By: PHP/8.3.14. To slēpt ir saprātīgi, bet negaidiet pārāk daudz: ielaušanās programmas vienkārši izmēģina ievainojamību neatkarīgi no rādītās versijas, un versijas bieži var noteikt arī no ?ver= aiz skriptu adresēm. Slēpšana ir sakopšana, nevis drošība. Tīmekļa vietne, kas slēpj savu versiju, bet netiek atjaunināta, ir tikpat neaizsargāta.

Tas ir izdarāms, izmantojot savu nelielu spraudni vai bērna tēmas (child theme) failu functions.php:

remove_action( 'wp_head', 'wp_generator' );
add_filter( 'the_generator', '__return_empty_string' );

Un PHP galveni ar expose_php = Off Jūsu mitināšanas pakalpojumu sniedzēja PHP iestatījumos (DirectAdmin gadījumā sadaļā Select PHP version, Options), vai ar Header unset X-Powered-By failā .htaccess.

Drošības galvenes

Ar dažām galvenes rindām Jūs pārlūkam pasakāt, kā rīkoties ar Jūsu tīmekļa vietni. Svarīgākās:

GalveneKas tā dara
Strict-Transport-SecurityTikai caur https (3.1. nodarbība)
X-Content-Type-Options: nosniffPārlūks nemēģina minēt, kāds ir faila veids; novērš, ka augšupielādēts "attēls" tiek izpildīts kā skripts
X-Frame-Options: SAMEORIGIN vai Content-Security-Policy: frame-ancestors 'self'Citas tīmekļa vietnes nedrīkst rādīt Jūsu tīmekļa vietni ietvarā (frame); novērš clickjacking (neredzamu pogu no Jūsu tīmekļa vietnes zem citas vietnes)
Referrer-Policy: strict-origin-when-cross-originNoklikšķinot uz saites uz citu tīmekļa vietni, tiek nosūtīts tikai domēna nosaukums, nevis pilna adrese
Permissions-PolicyIzslēdz pārlūka funkcijas, kuras Jūsu tīmekļa vietne neizmanto (kamera, mikrofons, atrašanās vieta)
Content-Security-PolicyPrecīzi nosaka, no kādiem avotiem drīkst nākt skripti un stili. Spēcīga, bet sarežģīti pareizi iestatāma WordPress un spraudņu gadījumā; sāciet ar režīmu Report-Only

Failā .htaccess (LiteSpeed un Apache gadījumā):

<IfModule mod_headers.c>
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=()"
</IfModule>

Pēc tam pārbaudiet, vai viss darbojas: iegultais saturs, maksājumu pogas, čata logrīks. Ārēji rīki, piemēram, securityheaders.com un internet.nl, parāda, ko Jūsu tīmekļa vietne patiesībā nosūta.

Drošības spraudņi, godīgi novērtēti

Ir daudz drošības spraudņu (piemēram, Wordfence, Solid Security, All-In-One Security, Sucuri). Tie bieži apvieno: ugunsmūri, ļaunprogrammatūras skeneri, pieteikšanās aizsardzību, divu faktoru autentifikāciju, paziņojumus un nostiprināšanas sarakstu. Noderīgi, bet ar ierobežojumiem:

  • Spraudņa ugunsmūris (WAF) sāk darboties tikai tad, kad PHP jau darbojas. Ļaunprātīgam pieprasījumam vispirms jāiziet cauri tīmekļa serverim un PHP, pirms spraudnis to ierauga. Ievainojamību failā, kas tiek izsaukts tieši, vai uzbrukumu, kas pats smagi noslogo PHP, tas ne vienmēr aptur. Ugunsmūris uz servera (piemēram, ModSecurity, Imunify360 vai Jūsu mitināšanas pakalpojumu sniedzēja ugunsmūris) atrodas ķēdē agrāk un aptur vairāk, bez tā, ka Jūsu pakete veic šo skaitļošanas darbu. Jautājiet savam mitināšanas pakalpojumu sniedzējam, kas darbojas uz servera.
  • Skeneris atklāj pēc fakta. Ļaunprogrammatūras skeneris pasaka, ka kaut kas ir nepareizi. Tas ir vērtīgi, bet nekas tādējādi netiek novērsts. Un skeneris, kas atrodas tajā pašā serverī, kur uzlauztā tīmekļa vietne, var pats arī būt ielaušanās veicēja pārveidots.
  • Tie neaizstāj atjauninājumus. Spraudnis ar zināmu ievainojamību paliek neaizsargāts, pat ar drošības spraudni blakus. Daži drošības pakalpojumi piedāvā "virtuālās ielāpus" (virtual patches), kas aptur zināmus uzbrukumus, kamēr neesat vēl atjauninājis; noderīgi kā pagaidu risinājums, ne kā aizstājējs.
  • Tie paši ir spraudnis. Vairāk koda, vairāk kas jāatjaunina, dažkārt arī paši satur ievainojamību. Un divi drošības spraudņi vienlaikus bieži konfliktē.
  • Tie patērē skaitļošanas jaudu, īpaši skeneri, kas darbojas uz Jūsu paša servera.

Saprātīga izvēle: vispirms apskatiet, ko jau dara Jūsu mitināšanas pakalpojumu sniedzējs (ugunsmūris, ļaunprogrammatūras skenēšana, pieteikšanās mēģinājumu bloķēšana). Papildiniet to, kas trūkst, parasti divu faktoru autentifikāciju un pieteikšanās mēģinājumu ierobežošanu. Plašs drošības spraudnis ir visnoderīgākais tad, ja pati mitināšana nenodrošina daudz.

Kopsavilkums

  • Nostiprināšana ierobežo kļūdas vai ievainojamības radīto kaitējumu; tā neaizstāj atjauninājumus un paroles.
  • Mapēm 755, failiem 644, failam wp-config.php stingrāk; nekad 777.
  • Ieslēdziet DISALLOW_FILE_EDIT, bloķējiet PHP augšupielāžu mapē, izslēdziet mapju satura sarakstus un sakopjiet rezerves kopijas, .git un debug.log no tīmekļa mapes.
  • Versijas slēpšana ir sakopšana, nevis drošība; drošības galvenes palīdz pārlūkam aizsargāt Jūsu apmeklētājus.
  • Ugunsmūris uz servera aptur vairāk nekā spraudnis; drošības spraudņi ir papildinājums, nevis aizstājējs.

Tests (quiz)

1. Kāda rokasgrāmata saka: "iestatiet wp-content mapei 777, ja augšupielāde nedarbojas." Ko Jūs par to domājat?



2. Ko dara DISALLOW_FILE_EDIT?



3. Kāpēc ugunsmūris uz servera atrodas ķēdē agrāk nekā ugunsmūris spraudnī?



4. Jūs esat noņēmis generator-tag. Vai Jūsu tīmekļa vietne tagad ir droša pret vecu versiju ievainojamībām?



5. Kura galvene novērš, ka cita tīmekļa vietne ielādē Jūsu tīmekļa vietni neredzamā ietvarā (frame)?



Uzdevums

Uzdevums A7.4: Ko Jūsu tīmekļa vietne rāda visiem? Ievadiet savas tīmekļa vietnes adresi. Programma nolasa sākumlapu un RSS plūsmu (/feed/) un pārbauda: vai HTML un plūsmas generator-tag nenorāda WordPress versiju, vai galvene X-Powered-By nerāda PHP versiju, un vai Jūsu tīmekļa vietne nosūta X-Content-Type-Options: nosniff, aizsardzību pret ietvariem (X-Frame-Options vai frame-ancestors) un Referrer-Policy? HSTS (3.1. nodarbība) un Permissions-Policy trūkums ir pieļaujams (oranžs).

Uzdevums A7.4: Ko Jūsu tīmekļa vietne rāda visiem?


To, ko ievadāt, un to, ko atrodam, mēs nesaglabājam. Jūsu pārlūkprogramma atceras Jūsu atbildes un to, vai esat izpildījuši uzdevumu. Ja esat pieteikušies, sadaļā Mani kursi saglabājam tikai to, ka uzdevums bija (gandrīz) pareizs; tur to varat arī dzēst.

Uzdevums A7.4b: Bez atlikumiem tīmekļa mapē. Pierādiet, ka tā ir Jūsu pašu tīmekļa vietne (TXT ieraksts vai fails ar uzdevuma kodu). Pēc tam programma pieprasa īsu, fiksētu sarakstu: mapi /wp-content/uploads/ (bez mapes satura saraksta), /.git/HEAD, /wp-content/debug.log un pāris biežāk sastopamus wp-config.php kopiju nosaukumus. Labi ir tad, ja neviens no tiem neatgriež saturu (404 vai 403). Programma neko citu neizmēģina un neko nemaina.

Uzdevums A7.4b: Bez atlikumiem tīmekļa mapē

Šī pārbaude pieprasa ceļus, kurus Jūs ļaujat pārbaudīt tikai savā tīmekļa vietnē. Vispirms noklikšķiniet uz "Rādīt manu kodu" un ievietojiet šo kodu kā TXT ierakstu _weboke-cursus.<jūsu domēns> vai kā failu savā tīmekļa vietnē (skatiet skaidrojumu pie koda).


To, ko ievadāt, un to, ko atrodam, mēs nesaglabājam. Jūsu pārlūkprogramma atceras Jūsu atbildes un to, vai esat izpildījuši uzdevumu. Ja esat pieteikušies, sadaļā Mani kursi saglabājam tikai to, ka uzdevums bija (gandrīz) pareizs; tur to varat arī dzēst.

Papildu lasāmviela

Šie raksti apraksta soļus WebOké paneļos; citos paneļos tie darbojas līdzīgi.

Lūdzu, uzgaidiet…

Iestatiet savus domēnus

Katram domēnam norādiet vārdu serverus, piesaisti hostingam un to, kurš būs turētājs.

Ielādē Jūsu domēnus…