Pereiti prie turinio

Slapukų nustatymai

Pasirinkite, kokių rūšių slapukus leidžiate. Pasirinkimą bet kada galite pakeisti per „Slapukų nustatymai“ kiekvieno puslapio apačioje. Privatumo pareiškimas

Būtinieji

Visada įjungti

Reikalingi prisijungti, išsaugoti krepšelį ir įsiminti Jūsų pasirinkimus. Jie visada įjungti.

Kokie slapukai?
  • weboke_sessie, weboke_klant, weboke_remember: Jūsų sesija ir prisijungimo išlaikymas
  • weboke_basket: Jūsų krepšelis
  • wkBtwIncl: kainų rodymas su PVM arba be PVM
  • wok_cookies: Jūsų slapukų pasirinkimas, 12 mėnesių

Matuoja, kuri reklama atveda prie apsilankymo ar užsakymo, kad nemokėtume už neveiksmingas reklamas.

Kokie slapukai?
  • Google Ads per Google Tag Manager (_gcl_au, _gcl_aw), iki 90 dienų
  • OpenAI Ads, reklamos ChatGPT
  • wok_aff: per kurį partnerį atėjote pas mus (partnerių programa), 60 dienų

4,6

Šalis ir kalba

Kiekviena šalis turi savo svetainę su tos šalies kainomis ir PVM.

Peržiūrėti

Svetainės apsaugos stiprinimas: teisės, antraštės ir saugumo įskiepiai

7 modulis: Saugumas · Skaitymo trukmė: 10 min.

Mokymosi tikslas: Po šios pamokos galėsite sustiprinti WordPress svetainės apsaugą naudodami teises, nustatymus ir saugumo antraštes, taip pat sąžiningai įvertinti saugumo įskiepių naudą.

Pagrindinės sąvokos: apsaugos stiprinimas (hardening), failų teisės (644, 755), DISALLOW_FILE_EDIT, jokio PHP uploads aplanke, aplankų sąrašo rodymas, versijos slėpimas, X-Powered-By, saugumo antraštės, atsarginių kopijų failai ir .git žiniatinklio aplanke, WAF serveryje, WAF įskiepyje, kenkėjiškų programų skaitytuvas

Kas yra apsaugos stiprinimas

Apsaugos stiprinimas (hardening) reiškia: taip sukonfigūruoti svetainę, kad klaida ar saugumo spraga padarytų kuo mažiau žalos. Tai nepakeičia atnaujinimų ir stiprių slaptažodžių (pamoka 7.2 ir 7.3), bet sumažina pasekmes. Pagalvokite apie namą: atnaujinimai yra spynos, o apsaugos stiprinimas tai užtikrinimas, kad įsilaužėlis, kuris vis dėlto pateko į vidų, negalėtų pasiekti seifo.

Failų teisės

Kiekvienas failas ir aplankas serveryje turi teises: kas gali skaityti, rašyti ir vykdyti. Jos užrašomos trimis skaitmenimis: savininkui, grupei ir visiems kitiems. WordPress dokumentacijoje pateikiama rekomendacija:

KasTeisėsReikšmė
Aplankai755Savininkas gali viską, kiti gali skaityti ir atverti
Failai644Savininkas gali skaityti ir rašyti, kiti tik skaityti
wp-config.phpgriežčiau, pavyzdžiui, 600 arba 640Skaityti gali tik savininkas (ir galbūt žiniatinklio serverio grupė)

Kokia reikšmė tinka wp-config.php, priklauso nuo to, kaip Jūsų talpinimo paslaugų teikėjas paleidžia PHP: daugumoje bendro talpinimo aplinkų PHP veikia kaip Jūsų paties naudotojas, ir tuomet pakanka 600. Išbandykite ir patikrinkite, ar svetainė vis dar veikia.

Niekada nenaudokite 777. Tai reiškia: visi serveryje gali rašyti. Instrukcija, kurioje rašoma „nustatykite aplankui 777, jei įkėlimas neveikia“, problemą sprendžia neteisingai. Kokybiškame talpinime to niekada nereikia.

Nustatymai faile wp-config.php

Kelios eilutės, kurios labai padeda (virš „Nebekeiskite!“):

// Jokio failų redagavimo iš Skydelio (Išvaizda > Temos redaktorius ir Įskiepiai > Įskiepio redaktorius).
define( 'DISALLOW_FILE_EDIT', true );

// Klaidų pranešimai niekada nerodomi lankytojų ekrane (pamoka 5.4).
define( 'WP_DEBUG', false );

Su DISALLOW_FILE_EDIT iš Skydelio dingsta redaktorius, kuriuo galima keisti temų ir įskiepių PHP failus. Įsilaužėlis, kuris perima administratoriaus paskyrą, tuomet negalės dviem paspaudimais įterpti kenkėjiško kodo į Jūsų temą. Įskiepius diegti vis dar bus galima; jei norite uždrausti ir tai (pavyzdžiui, svetainėje, kurią administruojate kliento vardu), yra DISALLOW_FILE_MODS, tačiau tada ir atnaujinimai per Skydelį nebeveiks.

Jokio PHP uploads aplanke, jokio aplankų sąrašo

Aplanke wp-content/uploads turi būti paveikslėliai ir dokumentai, niekada ne PHP failai. Įsilaužėliai, kurie per saugumo spragą gali įkelti failą, kaip tik bando ten patalpinti PHP failą ir jį iškviesti. Užblokuokite tai su .htaccess failu uploads aplanke (su LiteSpeed ir Apache):

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

Taip pat išjunkite aplankų turinio rodymą. Jei aplanke nėra index.php ar index.html, kai kurie žiniatinklio serveriai parodo visų failų sąrašą („Index of /wp-content/uploads/2026/11“). Tai lyg vitrina tiems, kas ieško atsarginių kopijų ar jautrių dokumentų. Žiniatinklio aplanko .htaccess faile:

Options -Indexes

Daugelis talpinimo paslaugų teikėjų tai jau standartiškai išjungę. Šios pamokos užduotis tai patikrina.

Jokių likučių žiniatinklio aplanke

Viskas, kas yra žiniatinklio aplanke, gali būti pasiekiama per internetą, išskyrus tai, ką serveris vykdo kaip PHP arba blokuoja. Pavojinga yra:

  • wp-config.php kopijos (wp-config.php.bak, wp-config.old, wp-config.php~ iš teksto redaktoriaus): jose yra Jūsų duomenų bazės slaptažodis, ir jos siunčiamos kaip tekstas (pamoka 1.3);
  • atsarginės kopijos, pavyzdžiui, backup.zip, site.tar.gz ar database.sql žiniatinklio aplanke;
  • .git aplankas iš kūrėjo, su kuriuo kas nors gali atsisiųsti visą Jūsų kodą (o kartais ir slaptažodžius);
  • debug.log aplanke wp-content (pamoka 5.4);
  • seni diegimo ar testiniai failai, pavyzdžiui, info.php su phpinfo().

Atsargines kopijas laikykite už žiniatinklio aplanko ribų arba už serverio ribų, o likučius pašalinkite.

Versijos slėpimas: nedidelė nauda

WordPress standartiškai įterpia į HTML:

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

ir tą patį RSS kanale. Kartais PHP taip pat prisistato antraštėje: X-Powered-By: PHP/8.3.14. Tai paslėpti yra prasminga, bet nesitikėkite per daug: įsilaužėlių programos saugumo spragą tiesiog bando, nepriklausomai nuo rodomos versijos, o versiją dažnai galima nustatyti ir iš ?ver= parametro po skriptų nuorodomis. Slėpimas yra sutvarkymas, o ne apsauga. Svetainė, kuri slepia savo versiją, bet neatnaujinama, yra lygiai taip pat pažeidžiama.

Štai kaip tai padaryti, nuosavame mažame įskiepyje arba vaikinės temos (child theme) faile functions.php:

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

O PHP antraštę pašalinkite nustatydami expose_php = Off talpinimo paslaugų teikėjo PHP nustatymuose (su DirectAdmin: Select PHP version, Options), arba su Header unset X-Powered-By faile .htaccess.

Saugumo antraštės

Keliomis antraštėmis pasakote naršyklei, kaip ji turėtų elgtis su Jūsų svetaine. Svarbiausios:

AntraštėKą ji daro
Strict-Transport-SecurityTik per https (pamoka 3.1)
X-Content-Type-Options: nosniffNaršyklė nebespėlioja, koks tai failo tipas; neleidžia, kad įkeltas „paveikslėlis“ būtų vykdomas kaip skriptas
X-Frame-Options: SAMEORIGIN arba Content-Security-Policy: frame-ancestors 'self'Kitos svetainės negali rodyti Jūsų svetainės kadre (frame); apsaugo nuo clickjacking (nematomo mygtuko iš Jūsų svetainės po svetimos svetainės turiniu)
Referrer-Policy: strict-origin-when-cross-originNuspaudus nuorodą į kitą svetainę, perduodamas tik domenas, o ne visas adresas
Permissions-PolicyIšjungia naršyklės funkcijas, kurių Jūsų svetainė nenaudoja (kamera, mikrofonas, vieta)
Content-Security-PolicyTiksliai nustato, iš kokių šaltinių gali būti kraunami skriptai ir stiliai. Galingas, bet su WordPress ir įskiepiais sunku teisingai sukonfigūruoti; pradėkite nuo Report-Only režimo

Faile .htaccess (su LiteSpeed ir Apache):

<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>

Po to patikrinkite, ar viskas veikia: įterptas turinys, mokėjimo mygtukai, pokalbių valdiklis (chat widget). Išoriniai įrankiai, tokie kaip securityheaders.com ir internet.nl, parodo, ką Jūsų svetainė siunčia.

Saugumo įskiepiai, sąžiningai įvertinti

Yra daug saugumo įskiepių (pavyzdžiui, Wordfence, Solid Security, All-In-One Security, Sucuri). Jie dažnai apjungia: ugniasienę (firewall), kenkėjiškų programų skaitytuvą, prisijungimo apsaugą, dviejų veiksnių autentifikavimą, pranešimus ir apsaugos stiprinimo sąrašą. Naudinga, bet turi ribas:

  • Ugniasienė įskiepyje (WAF) pradeda veikti tik tada, kai jau veikia PHP. Kenkėjiška užklausa pirmiausia turi praeiti per žiniatinklio serverį ir PHP, kol įskiepis ją pamato. Saugumo spraga PHP faile, kuris iškviečiamas tiesiogiai, arba ataka, kuri stipriai apkrauna patį PHP, ne visada bus sustabdyta. Ugniasienė serveryje (pavyzdžiui, ModSecurity, Imunify360 ar Jūsų talpinimo paslaugų teikėjo ugniasienė) yra anksčiau grandinėje ir sustabdo daugiau, be to, Jūsų įskiepiui nereikia atlikti šio skaičiavimo darbo. Paklauskite savo talpinimo paslaugų teikėjo, kas veikia serveryje.
  • Skaitytuvas randa po fakto. Kenkėjiškų programų skaitytuvas praneša, kad kažkas negerai. Tai vertinga, bet nieko neužkerta kelio. O skaitytuvas tame pačiame serveryje, kaip ir nulaužta svetainė, gali ir pats būti įsilaužėlio pakeistas.
  • Jie nepakeičia atnaujinimų. Įskiepis su žinoma saugumo spraga lieka pažeidžiamas, net ir su greta veikiančiu saugumo įskiepiu. Kai kurios saugumo paslaugos siūlo „virtualius pataisymus“ (virtual patches), kurie sustabdo žinomas atakas, kol atnaujinsite; naudinga kaip laikinas sprendimas, bet ne kaip pakaitalas.
  • Jie patys yra įskiepis. Daugiau kodo, daugiau ką atnaujinti, kartais ir patys turi saugumo spragą. Du saugumo įskiepiai vienu metu dažnai konfliktuoja.
  • Jie reikalauja skaičiavimo galios, ypač skaitytuvai, veikiantys Jūsų paties serveryje.

Pagrįstas pasirinkimas: pirmiausia pažiūrėkite, ką jau daro Jūsų talpinimo paslaugų teikėjas (ugniasienė, kenkėjiškų programų nuskaitymas, prisijungimo bandymų blokavimas). Papildykite tai, ko trūksta, dažniausiai dviejų veiksnių autentifikavimą ir prisijungimo bandymų ribojimą. Išsamus saugumo įskiepis ypač naudingas, kai pats talpinimas siūlo nedaug.

Santrauka

  • Apsaugos stiprinimas sumažina klaidos ar saugumo spragos padaromą žalą; tai nepakeičia atnaujinimų ir slaptažodžių.
  • Aplankai 755, failai 644, wp-config.php griežčiau; niekada 777.
  • Įjunkite DISALLOW_FILE_EDIT, užblokuokite PHP uploads aplanke, išjunkite aplankų sąrašo rodymą ir pašalinkite atsargines kopijas, .git ir debug.log iš žiniatinklio aplanko.
  • Versijos slėpimas yra sutvarkymas, o ne apsauga; saugumo antraštės padeda naršyklei apsaugoti Jūsų lankytojus.
  • Ugniasienė serveryje sustabdo daugiau nei įskiepis; saugumo įskiepiai yra papildymas, o ne pakaitalas.

Testas (quiz)

1. Instrukcijoje rašoma: „nustatykite wp-content aplankui 777, jei įkėlimas neveikia.“ Ką apie tai manote?



2. Ką daro DISALLOW_FILE_EDIT?



3. Kodėl ugniasienė serveryje yra anksčiau grandinėje nei ugniasienė įskiepyje?



4. Pašalinote generator žymą. Ar dabar Jūsų svetainė apsaugota nuo senų versijų saugumo spragų?



5. Kuri antraštė neleidžia kitai svetainei įkelti Jūsų svetainės nematomame kadre?



Užduotis

Užduotis A7.4: Ką Jūsų svetainė rodo visiems? Įveskite savo svetainės adresą. Programa nuskaito pagrindinį puslapį ir RSS kanalą (/feed/) bei patikrina: ar HTML ir kanalo generator žymoje nėra WordPress versijos, ar antraštė X-Powered-By nerodo PHP versijos, ir ar Jūsų svetainė siunčia X-Content-Type-Options: nosniff, apsaugą nuo kadrų (X-Frame-Options arba frame-ancestors) ir Referrer-Policy? HSTS (pamoka 3.1) ir Permissions-Policy trūkumas leidžiamas (oranžinė spalva).

Užduotis A7.4: Ką Jūsų svetainė rodo visiems?


Ko, ką įvedate ir ką randame, nesaugome. Jūsų naršyklė atsimena Jūsų atsakymus ir tai, ar užduotį atlikote. Jei esate prisijungę, skiltyje Mano kursai išsaugome tik tai, kad užduotis buvo atlikta (ar beveik atlikta); ten tai galite ir pašalinti.

Užduotis A7.4b: Jokių likučių žiniatinklio aplanke. Įrodykite, kad tai Jūsų pačių svetainė (TXT įrašas arba failas su užduoties kodu). Tuomet programa patikrina trumpą fiksuotą sąrašą: aplanką /wp-content/uploads/ (jokio aplankų sąrašo), /.git/HEAD, /wp-content/debug.log ir kelis dažniausiai pasitaikančius wp-config.php kopijų pavadinimus. Gerai, jei nė vienas iš jų negrąžina turinio (404 arba 403). Programa nieko daugiau nebando ir nieko nekeičia.

Užduotis A7.4b: Jokių likučių žiniatinklio aplanke

Ši patikra prašo pateikti kelius, kuriuos leidžiate tikrinti tik savo pačių svetainėje. Pirmiausia spustelėkite „Rodyti mano kodą“ ir įrašykite tą kodą kaip TXT įrašą adresu _weboke-cursus.<jūsų domenas> arba kaip failą savo svetainėje (žr. paaiškinimą prie kodo).


Ko, ką įvedate ir ką randame, nesaugome. Jūsų naršyklė atsimena Jūsų atsakymus ir tai, ar užduotį atlikote. Jei esate prisijungę, skiltyje Mano kursai išsaugome tik tai, kad užduotis buvo atlikta (ar beveik atlikta); ten tai galite ir pašalinti.

Papildoma literatūra

Šiuose straipsniuose aprašyti žingsniai WebOké valdymo skydeliuose; kituose skydeliuose jie veikia panašiai.

Akimirką…

Nustatykite domenus

Kiekvienam domenui nustatykite vardų serverius, susiejimą su talpinimu ir tai, kas taps valdytoju.

Įkeliami Jūsų domenai…