Sigurnost

Sigurnost Strukture WordPress Katalogâ: Kako Onemogućiti Pristup Katalogu "wp-includes"

  • 13 minuta čitanja
  • Hostragons tim
Sigurnost Strukture WordPress Katalogâ: Kako Onemogućiti Pristup Katalogu "wp-includes"

Sigurnost Strukture WordPress Katalogâ najsigurniji je kada se onemogući izravan pristup katalogu "wp-includes", umjesto da se cijeli katalog obustavi. Trebali bismo onemogućiti izvršavanje PHP datoteka izvan i prikazivanje popisa direktorija. Razlog tome je što wp-includes sadrži potrebne JavaScript, CSS i neke statičke datoteke za rad WordPress jezgre; onemogućavanje pristupa cijelom katalogu može ometati dizajn stranice, uređivanje ili funkcionalnosti dodataka. Ispravan pristup je, ako koristite Apache, onemogućiti izravni pristup PHP-u pomoću .htaccess pravila, a ako koristite Nginx, dodati pravilo unutar server bloka, te provjeriti stranicu s 403/404 odgovorima i testovima ključnih stranica.

Jedna od najčešćih grešaka u sigurnosti WordPressa je oslanjanje samo na jake lozinke ili sigurnosne dodatke. Napadači često skeniraju direktorije koji sadrže jezgru, stare dodatke, pogrešne dozvole datoteka i otvorene popise direktorija. Katalog wp-includes također je jedan od ciljeva takvih skeniranja. U ovom vodiču pronaći ćete korake koji se mogu primijeniti u stvarnim hosting okruženjima za ograničavanje pristupa wp-includes, koje pravilo može oštetiti stranicu, primjere konfiguracija za Apache i Nginx, metode testiranja i kontrolnu listu za održavanje. Također možete razmotriti WordPress hosting za sigurnije pokretanje vaše WordPress stranice i SSL certifikat kao opći sloj zaštite.

Što je Katalog wp-includes i Zašto Ga Treba Zaštititi?

Katalog wp-includes je jedan od glavnih direktorija koji sadrži osnovne biblioteke WordPress jezgre. U njemu se nalaze sustav tema, blok uređivač, REST API komponente, obrada medija, klase, funkcije i razne JavaScript datoteke. Ukratko, wp-includes je jedan od motora WordPressa; to nije područje sadržaja koje bi korisnici trebali izravno posjećivati.

Obični posjetitelj ne mora otvarati adresu site.com/wp-includes/. Međutim, u izvornoj kodu stranice mogu se vidjeti neki statički resursi unutar wp-includes. Na primjer, zadane skripte WordPressa, skripte za emojije ili komponente uređivača mogu se učitati iz ovog direktorija. Stoga je važno pravilno odrediti cilj prilikom poduzimanja sigurnosnih mjera: onemogućiti izravan web pristup PHP datotekama bez ometanja rada statičkih datoteka.

Ova razlika je temelj profesionalnog pristupa sigurnosti strukture WordPress katalogâ. Zatvaranje direktorija bez razmišljanja može naizgled izgledati sigurno na kratki rok, ali može izazvati probleme poput bijele stranice, pokvarenog administratorskog panela, neispravnog blok uređivača ili pogrešnog izgleda teme na aktivnoj stranici. Cilj je suziti površinu napada zadržavanjem datoteka potrebnih za rad WordPressa.

Što Donosi Onemogućavanje Pristupa wp-includes?

Onemogućavanje izravnog izvršavanja PHP-a u katalogu wp-includes samo po sebi ne zaustavlja sve napade, ali značajno smanjuje površinu napada. Posebno na zaraženim web stranicama, napadači će pokušati učitati zlonamjerne PHP datoteke u dostupne direktorije ili pozvati postojeće datoteke. Onemogućavanje izravnog izvršavanja PHP datoteka unutar wp-includes stvara dodatnu barijeru u ovom scenariju.

Ova mjera donosi sljedeće prednosti:

  • Ograničava izravno pozivanje osnovnih PHP datoteka putem URL-a.
  • Ako je lista direktorija otvorena, pomaže u sprječavanju prikazivanja sadržaja direktorija.
  • Smanjuje nepotrebno curenje informacija protiv automatskog skeniranja botova.
  • Osigurava zaštitu na razini web poslužitelja, čak i bez sigurnosnog dodatka.
  • Jača višeslojnu sigurnost uz WAF, SSL, ažuran PHP i dozvole datoteka.

Važna stvar ovdje je da je ova procedura dodatni sloj sigurnosti. Ako imate zastarjeli dodatak, slabu administrativnu lozinku ili kompromitiran FTP račun, samo pravilo wp-includes nije dovoljno. Sigurnost je kombinacija hosting infrastrukture, aplikacija, upravljanja korisnicima i redovitog održavanja. Za sigurnu osnovu možete se povezati na Siguran Web Hosting i dodatnu zaštitu u upravljanju domenama putem Sigurnost domene.

Najčešće Greške Prilikom Onemogućavanja wp-includes

Puno Zatvaranje Katalogâ

Najčešća greška je blokiranje svih HTTP zahtjeva za katalog wp-includes s 403. Ova metoda izgleda logično na prvi pogled, ali može izazvati neočekivane probleme jer WordPress učitava neke statičke resurse iz ovog direktorija. Na primjer, blok uređivač možda se neće otvoriti, neke JavaScript datoteke možda se neće učitati ili na prednjoj strani mogu se vidjeti male, ali kritične greške u dizajnu.

Primjena Pravila Bez Testiranja

Jedna pogreška u .htaccess ili Nginx konfiguraciji može uzrokovati 500 Internal Server Error. Osobito na stranicama s velikim prometom, primjena pravila izravno na aktivnu stranicu je rizična. Prvo je potrebno napraviti sigurnosnu kopiju datoteka, a ako je moguće, isprobati u staging okruženju, a zatim kontrolirano preći na aktivnu stranicu. Ako se u infrastrukturi Hostragons koriste opcije staging ili sigurnosne kopije, Backup web hostinga može se dodati kao prirodna interna veza.

Potpuno Oslanjanje na Sigurnosni Dodatak

Sigurnosni dodaci su korisni, ali pravila na razini web poslužitelja aktiviraju se ranije. Ako se zahtjev blokira od strane Apachea ili Nginxa prije nego dođe do PHP-a, smanjuje se potrošnja resursa. Stoga, čak i ako se koristi dodatak, osnovna pravila poslužitelja ne smiju se zanemariti.

Kontrolna Lista Prije Primjene

Kratka priprema prije ograničavanja pristupa wp-includes može značajno smanjiti rizik od prekida. Sljedeća kontrolna lista posebno se preporučuje za aktivne WordPress stranice:

  • Napravi sigurnosnu kopiju trenutne .htaccess ili Nginx konfiguracije.
  • Ažuriraj WordPress jezgru, teme i dodatke.
  • Provjeri je li verzija PHP-a koju koristiš podržana i sigurna.
  • Provjeri dozvole datoteka: direktoriji obično trebaju imati 755, a datoteke 644.
  • Ne ostavljaj nepotrebne dozvole za pisanje na kritičnim datotekama poput wp-config.php i .htaccess.
  • Ako koristiš cache, CDN ili sigurnosni dodatak, planiraj čišćenje cachea nakon promjene.
  • Izradi popis kritičnih područja koja ćeš testirati, uključujući administratorski panel, glavnu stranicu, stranicu objava, kontakt formu i stranicu za plaćanje.

Ove pripreme traju otprilike 10-15 minuta, ali sprječavaju prekid koji bi mogao trajati satima zbog pogrešnog pravila. Na korporativnim stranicama sigurnije je provesti promjenu tijekom razdoblja s niskim prometom.

Onemogućavanje PHP Pristupa wp-includes s .htaccess na Apache Poslužitelju

Najčešća metoda na dijeljenim hosting uslugama koje koriste Apache je dodavanje pravila u .htaccess datoteku. Pravilno dodana pravila u .htaccess datoteku koja se nalazi u glavnom direktoriju WordPressa mogu onemogućiti određena PHP pozivanja unutar wp-includes. Prije nego počnete, preuzmite kopiju datoteke na računalo ili napravite sigurnosnu kopiju putem upravitelja datoteka u hosting panelu.

Preporučeno .htaccess Pravilo

Sljedeći pristup fokusira se na onemogućavanje izravnog PHP pristupa unutar wp-includes, dok se očuvaju statičke datoteke:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^wp-includes/.*[.]php$ - [F,L]
</IfModule>

Logika ovog pravila je jednostavna: ako URL počinje s wp-includes i završava s .php, zahtjev je zabranjen. Tako se PHP datoteke unutar wp-includes ne mogu pozvati iz preglednika. S druge strane, pristup statičkim datotekama poput .js, .css, .png, .svg ostaje otvoren. Ovo je sigurnija ravnoteža za prednju stranu WordPressa i administrativni panel.

Onemogućavanje Popisa Direktorija

Još jedna kritična postavka je onemogućavanje popisa direktorija. Ako je popis direktorija otvoren na poslužitelju, korisnici mogu vidjeti sadržaj nekih mapa. Obično je dovoljno dodati sljedeći redak u svoju glavnu .htaccess datoteku:

Options -Indexes

Ovaj redak sprječava prikazivanje popisa datoteka u mapama koje nemaju indeksnu datoteku. Na modernim hosting uslugama obično je prema zadanim postavkama isključeno; ipak, dobro je provjeriti kao dobru sigurnosnu praksu.

Testiranje Nakon Promjena

Nakon dodavanja pravila, izvršite sljedeće testove:

  • Otvorite adresu siteadresiniz.com/wp-includes/; popis direktorija ne bi trebao biti vidljiv.
  • Pokušajte izravno pozvati poznatu PHP datoteku unutar wp-includes; trebali biste dobiti 403 ili 404 odgovor.
  • Provjerite glavnu stranicu, objavu i administrativni panel.
  • Provjerite ima li u alatima za razvoj preglednika pod Console i Network sekcijama 404/403 grešaka.
  • Ako koristite dodatak za cache ili CDN, očistite cache.

Ako su svi testovi uspješni, pravilo se može sigurno ostaviti u produkcijskom okruženju. Ako dobijete 500 grešku, najbrže rješenje je ukloniti dodane retke i vratiti sigurnosnu .htaccess datoteku.

Onemogućavanje PHP Pristupa wp-includes na Nginx Poslužitelju

Na VPS, dedicated ili upravljanim poslužiteljima koji koriste Nginx, .htaccess ne radi. Pravilo treba dodati u konfiguracijsku datoteku Nginx-a, obično unutar server bloka. Za ovo je potrebno imati SSH pristup i ovlasti za uređivanje konfiguracijskih datoteka. Ako niste sigurni, bolje je zatražiti pomoć od tehničke podrške hostinga.

Preporučeno Nginx location Pravilo

Osnovno pravilo može se primijeniti s ovom logikom:

location ~* ^/wp-includes/.*[.]php$ {
deny all;
}

Ovo pravilo blokira zahtjeve za PHP datoteke unutar wp-includes. Nakon promjena važno je testirati konfiguraciju:

nginx -t

Ako je test uspješan, Nginx se ponovo učitava:

systemctl reload nginx

Ovdje je reload naredba kontroliranija od restart naredbe; obnavlja konfiguraciju bez prekidanja aktivnih veza. Ipak, preporučuje se primjena promjena na kritičnim stranicama tijekom razdoblja s niskim prometom.

Što Treba Imajte na Umu prilikom Korištenja Nginxa

  • Provjerite jeste li dodali pravilo u ispravni server blok; na istoj poslužitelju može biti više stranica.
  • Ako koristite CDN ili reverse proxy, izvršite stvarna testiranja nakon čišćenja CDN cachea.
  • Provjerite da PHP-FPM konfiguracija obrađuje samo potrebne datoteke.
  • Provjerite log datoteke: access.log i error.log brzo prikazuju pogrešna pravila.

Kriva lokacija u Nginx okruženju može dovesti do neočekivanih rezultata. Stoga se uvjerite da pravilo ne kolidira s WordPress permalink i blokovima obrade PHP-a.

Usporedba Metoda

Sljedeća tabela sažima glavne metode korištene za ograničavanje pristupa wp-includes:

Usporedba Metoda
MetodaPrikladno OkruženjePrednostNa Što Obraćati Pažnju
.htaccess praviloApache i LiteSpeed hostingBrzo se primjenjuje, dostupno na dijeljenim hosting uslugamaPogrešna sintaksa može izazvati 500 grešku
Nginx location praviloVPS, dedicated, upravljani poslužiteljJaka je na razini poslužitelja i učinkovitaPotreban je SSH i znanje o konfiguraciji
Sigurnosni dodatakKorisnici s ograničenim tehničkim znanjemLako se upravlja putem sučeljaNeka pravila možda se ne mogu primijeniti na razini poslužitelja
WAF i CDNStranice s visokim prometom ili napadimaFiltrira botove, brute force i zlonamjerne zahtjeve unaprijedPogrešna pravila mogu blokirati stvarne korisnike
Dozvole datotekaSve WordPress straniceOsnovna sigurnosna higijenaNe onemogućava pristup URL-u samostalno

U praksi se najbolji rezultati postižu kombinacijom ovih metoda. Na primjer, na Apache hostingu, pravilo .htaccess, ispravne dozvole datoteka, ažurirana WordPress jezgra, SSL i redovito pravljenje sigurnosnih kopija zajedno stvaraju višeslojnu obranu. Budući da su sigurnosni zid i izolacija važni u infrastrukturi hostinga, Korporativni Hosting izbor može imati značajan utjecaj na kritične stranice.

Postavke Dozvola i Vlasništva Datoteka

Onemogućavanje pristupa wp-includes ne daje rezultate ako su dozvole datoteka pogrešne. Opće prihvaćene dozvole u WordPressu su 755 za direktorije i 644 za datoteke. Ove vrijednosti omogućuju web poslužitelju čitanje datoteka, dok smanjuju nepotrebna prava za pisanje. U nekim specifičnim hosting okruženjima mogu postojati različite konfiguracije korisnika i grupa; stoga, trebali biste uzeti u obzir preporuke vašeg panela.

Pogotovo, dozvola 777 predstavlja ozbiljan sigurnosni rizik. Omogućavanje svima da pišu u direktorij olakšava scenarije učitavanja zlonamjernih datoteka. Čak i u direktorijima koja trebaju biti pisiva, poput wp-content/uploads, trebalo bi onemogućiti izvršavanje PHP-a. Katalog wp-includes ne bi trebao biti pisiv osim tijekom ažuriranja WordPressa.

U sigurnosnoj provjeri, mogu se provjeriti sljedeće vrijednosti:

  • Katalog wp-includes: obično 755
  • PHP datoteke unutar wp-includes: obično 644
  • wp-config.php: ako je moguće, 600 ili strože dozvole prema strukturi hostinga
  • .htaccess: obično 644, bez nepotrebnih prava za pisanje nakon uređivanja

Ove postavke mogu se ponašati drugačije na svakom poslužitelju. Pogrešne dozvole mogu uzrokovati neuspjeh u ažuriranju stranice ili čitanju datoteka. Nakon promjena, trebali bi se provjeriti zdravstveni testovi WordPressa i logovi grešaka.

Radit će li Sigurnosni Dodaci Ovaj Proces?

Sigurnosni dodaci poput Wordfence ili iThemes Security mogu automatski predložiti neke hardening mjere. Ovi dodaci su korisni u zaštiti od brute force napada, praćenju promjena u datotekama, skeniranju zlonamjernog softvera i sigurnosti prijave. Međutim, treba provjeriti što dodatak radi kada je u pitanju onemogućavanje pristupa wp-includes.

Neki dodaci automatski dodaju pravila u .htaccess datoteku. Drugi nude zaštitu samo na razini aplikacije. Zaštita na razini aplikacije aktivira se tek nakon što zahtjev dođe do WordPressa, što nije tako rano kao blokada na razini poslužitelja. Stoga je profesionalni pristup zajedno razmatrati dodatak i konfiguraciju poslužitelja.

Ako koristite sigurnosni dodatak, provjerite sljedeće:

  • Provjerite dodaje li dodatak pravila u .htaccess ili Nginx.
  • Osigurajte da se ne sukobljavaju dva različita pravila koja rade istu stvar.
  • Provjerite da sigurnosne postavke nisu promijenjene nakon ažuriranja dodatka.
  • Pratite upotrebu cachea i resursa poslužitelja kako biste izmjerili utjecaj na performanse.

Korištenje više sigurnosnih dodataka istovremeno često nije dobra ideja. Sukobi između firewall, prijave i rewrite pravila mogu smanjiti performanse ili uzrokovati pogrešne blokade.

Testiranje Zaštite wp-includes: Praktični Scenarij

Da biste razumjeli je li primjena uspješna, samo otvaranje stranice nije dovoljno. Sljedećih 7 koraka praktičnog testiranja može se primijeniti na većinu WordPress instalacija, od malih poslovnih stranica do e-trgovine:

  • 1. Otvorite glavnu stranicu u privatnoj kartici i provjerite postoje li vizualna oštećenja.
  • 2. Posjetite stranicu bloga, kategorije i stranicu rezultata pretraživanja.
  • 3. Prijavite se u wp-admin panel; otvorite blok uređivač i knjižnicu medija.
  • 4. Provjerite sekciju Console u alatima za razvoj preglednika.
  • 5. U sekciji Network provjerite da statičke datoteke unutar wp-includes nisu nepotrebno blokirane.
  • 6. Pokušajte izravno pozvati PHP datoteku unutar wp-includes; očekujte 403 ili 404 odgovor.
  • 7. Provjerite postoje li nove i ponavljajuće greške u logovima poslužitelja.

Ovo testiranje traje otprilike 5 minuta i brzo otkriva pogrešne konfiguracije. Posebno na stranicama s procesima plaćanja poput WooCommerce-a, stranice za košaricu, plaćanje i korisnički račun također treba dodatno testirati. Na stranicama koje generiraju prihod, čak i mala blokada JavaScripta može utjecati na stopu konverzije.

Dodatne Mjere Sigurnosti Strukture WordPress Katalogâ

Zaštita wp-includes je dobar početak, ali sigurnost WordPressa treba razmatrati holistički. Sljedeće dodatne mjere dodatno smanjuju površinu napada:

  • Umjesto pokušaja skrivenja verzije WordPressa, redovito ažurirajte jezgru.
  • Potpuno uklonite neiskorištene teme i dodatke.
  • Teško pogodite korisničko ime administratora.
  • Koristite dvofaktorsku autentifikaciju.
  • Ograničite pristup XML-RPC ako ga ne koristite.
  • Primijenite ograničenje brzine ili dodatnu provjeru za wp-login.php.
  • Automatizirajte izradu sigurnosnih kopija i testiranje vraćanja.
  • Korištenje HTTPS-a na cijeloj stranici; bez SSL-a, podaci za prijavu su u riziku.

SSL ne onemogućava izravno pristup wp-includes; međutim, osigurava osnovnu sigurnost za korisničke sesije, podatke iz obrazaca i promet administrativnog panela. Stoga je SSL uvijek jedan od prvih slojeva u sigurnosnim vodičima za WordPress. U ovom trenutku, Kupite SSL certifikat i Instalacija besplatnog SSL-a mogu se prirodno smjestiti unutar sadržaja.

Kada Trebate Potražiti Profesionalnu Pomoć?

Dodavanje pravila .htaccess na jednostavnom Apache hostingu upravljivo je za većinu korisnika. Međutim, ako se radi o prilagođenoj Nginx konfiguraciji, mreži više stranica, WooCommerce trgovini, web stranici s visokim prometom ili korporativnom portalu, bolje je potražiti profesionalnu pomoć. Jer sigurnosno pravilo treba biti ne samo tehnički ispravno, već i sigurno primijenjeno s aspekta poslovne kontinuiteta.

Preporučuje se stručna pomoć u sljedećim situacijama:

  • Ako na poslužitelju hostujete više WordPress stranica.
  • Ako koristite Nginx, Varnish, CDN i WAF zajedno.
  • Ako nakon posljednjih promjena raste broj 403, 404 ili 500 grešaka.
  • Ako je stranica prethodno imala zaraženih malware-om.
  • Ako upravljate sustavom koji obrađuje plaćanja, članstva ili osobne podatke.

Sigurna hosting infrastruktura, ispravna izolacija, redovito pravljenje sigurnosnih kopija i stručna podrška ključni su, ali nevidljivi dijelovi sigurnosti WordPressa. Prilikom odabira infrastrukture treba obratiti pažnju ne samo na prostor na disku, već i na izradu sigurnosnih kopija, firewall, podršku verzije PHP-a, upravljanje SSL-om i kvalitetu tehničke podrške. U tom kontekstu, Hostragons paketi hostinga i Premještanje WordPress stranice sadržaji mogu biti korisni za čitatelja.

Zaključak

Ispravan način onemogućavanja pristupa katalogu wp-includes u kontekstu sigurnosti strukture WordPress katalogâ nije potpuno zatvaranje direktorija, već onemogućavanje izravnog web pristupa PHP datotekama unutar wp-includes i onemogućavanje popisa direktorija. Ova operacija može se brzo primijeniti putem .htaccess za Apache i location pravila za Nginx. Međutim, prije svake promjene potrebno je napraviti sigurnosnu kopiju i kasnije testirati administrativni panel i prednju stranu.

Kratko rečeno: ne ometajte statičke datoteke, ograničite pristup PHP-u, onemogućite popis direktorija, provjerite dozvole datoteka i redovito ažurirajte. Za sigurniju i upravljivu WordPress infrastrukturu možete istražiti Hostragonsove ponude za hosting, domene i SSL rješenja; i zatražiti podršku za konfiguraciju koja odgovara vašim potrebama.

Često Postavljana Pitanja

Je li sigurno potpuno zatvoriti katalog wp-includes?

Općenito, to se ne preporučuje. U katalogu wp-includes mogu se nalaziti JavaScript, CSS i statičke datoteke potrebne WordPressu. Potpuno zatvaranje može ometati izgled stranice ili administrativni panel. Sigurniji pristup je onemogućavanje izravnog pristupa PHP datotekama unutar ovog direktorija.

Što učiniti ako nakon dodavanja .htaccess pravila dobijem 500 grešku?

Prvo uklonite posljednja dodana pravila ili vratite sigurnosnu .htaccess datoteku. Zatim provjerite pravilo zbog sintaktičkih grešaka. Ako greška i dalje postoji, pregledajte logove grešaka hostinga ili zatražite pomoć od tehničke podrške.

Radi li .htaccess na Nginx poslužitelju?

Ne. .htaccess se koristi u Apache i LiteSpeed okruženjima. Na Nginx poslužiteljima slična ograničenja postavljaju se putem location pravila unutar server bloka, a nakon promjene treba testirati konfiguraciju pomoću nginx -t.

Hoće li ovaj postupak potpuno osigurati moju WordPress stranicu?

Ne. Onemogućavanje pristupa wp-includes PHP-u je važan sloj sigurnosti, ali samo po sebi nije dovoljno. Ažuriranja, jake lozinke, dvofaktorska autentifikacija, SSL, sigurnosne kopije, firewall i pravilne dozvole datoteka moraju se primijeniti zajedno.

Ako koristim sigurnosni dodatak, trebam li dodati pravilo za wp-includes?

To ovisi o tome koje pravila dodatak primjenjuje. Neki dodaci dodaju pravila u .htaccess, dok drugi nude zaštitu samo na razini aplikacije. Ograničavanje pristupa PHP-u na razini poslužitelja bez sukoba obično je jače rješenje.

Podijelite ovaj post:

Hostragons tim

Aktualni vodiči našeg stručnog tima za hosting, poslužitelje i domene. Pronađimo zajedno pravo rješenje za vaš projekt.

Kontaktirajte nas