10 sikkerhetshacks for WordPress for å hindre deg i å bli hacket

14

WordPress er en enorm suksesshistorie, ikke bare når det gjelder globale tall, men også, i det som kan overraske noen, når det gjelder store navn som bruker plattformen.

På Internett når du har både en betydelig installert brukerbase og høyprofilerte brukere, kan du rett og slett ikke unngå å bli et mål for hackere og spammere. Fra salg av piller, til å fremme forvrengte ideologier, til å stjele data og ødelegge nettsteder bare fordi de kan, kan det å bli hacket lett være en stor hodepine for virksomheten din.

I denne artikkelen skal jeg ta en titt på noen av tipsene, triksene og hackingene du kan bruke for å gi deg selv mer beskyttelse mot den skumle underlivet på nettet.

Få tak i det grunnleggende

Selv om du kanskje synes noen av disse elementene burde være en selvfølge, bare tenk på hvor mange ganger du har sett ikke bare klienter, men andre utviklere, designere og byråer som burde vite bedre gjøre seg skyldige i noen av disse?

Start med å gjøre passordene dine vanskelige å gjette. Hvordan kan du gjøre det vanskelig for dem, men enkelt for deg? Kanskje du kan glemme tvilsomme bokstaverstatninger som ‘h3ll0’, blande store og små bokstaver og sette inn tegnsetting og i stedet bruke en mnemonikk. Ved å lenke tre eller fire ord sammen for å lage et morsomt bilde vil passordet ditt være mye lettere å huske enn ‘t3r%?9.Fq!G’ og størrelsesordener vanskeligere å knekke. Bare ikke bruk ‘CorrectHorseBatteryStaple’. For en fullstendig og morsom forklaring av dette prinsippet, sjekk ut XKCD 936.

Du bør også holde plugins og WordPress-kjernen oppdatert. Dette er nå lettere å gjøre med senere versjoner av WordPress. Fra WordPress 3.7 kan du konfigurere fire typer automatiske oppdateringer: kjernefiler, plugins, temaer og oversettelsesfiler. Et ord til forsiktighet – avhengig av oppsettet ditt vil du kanskje deaktivere noen av disse slik at du kan teste før du distribuerer oppdateringer. Selv om du lar dem være live og opplever problemer har du fortsatt daglige sikkerhetskopier å stole på, ikke sant?

Gjør det enklere å administrere flere nettsteder, plugins og sikkerhetskopier med noe som InfiniteWP. De grunnleggende funksjonene er gratis!

Dette er ikke påloggingsinformasjonen du leter etter

I tillegg til overlegen passordstyrke bør du også se på å flytte standard admin-URL og bruke noe annet enn ‘admin’ for brukernavnet ditt. Med mindre hackerne har et spesifikt mål i tankene, vil de vanligvis se etter å kjøre roboter for å automatisere prosessen. Disse robotene ser etter WordPress, prøv standardinnstillingene og de vanligste passordene – så la oss gå bort fra standardinnstillingene for å gjøre denne oppgaven vanskeligere.

Den kanskje enkleste måten å endre påloggings-url på er å ta en titt på plugins som HC Custom WP-Admin URL. Selvfølgelig – kjør en sikkerhetskopi først!

For å endre ditt admin-brukernavn er den enkleste måten å lage en ny admin-bruker med ditt valgte brukernavn og slette det gamle. Hvis du er utestengt fra admin fordi du ikke husker brukernavnet ditt, trenger du en litt mer drastisk løsning. Logg inn på phpMyAdmin og last opp WordPress-databasen din. Rull ned på venstre side og se etter tabellen ‘ks29so_users’. Finn brukernavnet du ønsket å endre, dvs. ‘admin’ og rediger user_login-verdien til å være ditt nye navn.

Et siste ord om påloggingsprosessen

Før vi går bort fra påloggingsprosessen er det et par oppgaver til å ta fatt på. Husker du de robotene som gjetter passord? La oss gjøre det vanskeligere for dem ved å si at du bare kan gjøre så mange forsøk innenfor en viss tidsramme, og at før du gjør det, må du transkribere en CAPTCHA på riktig måte. For Captcha kan du prøve å installere denne plugin-en og så er du i gang. Sidefordel – premiumversjonen integreres med BuddyPress og Contact Form 7 for å sikre kontaktskjemaene dine mot søppelpost.

For å begrense påloggingsforsøk kan du enten legge til plugins som Limit Login Attempts eller du kan spørre vertsleverandøren din som kan ha en løsning – Wpengine har for eksempel dette konfigurert som standard.

Sikre WordPress med endringer i .htaccess

Jeg håper du er klar til å bli litt skitten når vi går videre til forslag som er litt vanskeligere enn å «installere en plugin»! Legg til disse forslagene etter #END WORDPRESS-linjen.

Det første elementet å legge til kommer til å bidra til å beskytte wp-config.php, denne filen ville være farlig i feil hender siden den inneholder viktig informasjon om nettstedet ditt og databasen.


orderallow,deny
deny from all

Det er en god start, hva annet kan vi gjøre? Vel, vi kan blokkere nysgjerrige folk fra å se rundt filene og mappene dine – jeg tror fordelene med dette er ganske selvforklarende!

Følgende er en kjeledress for å blokkere katalogsurfing:

# directory browsing
Options All -Indexes

Hvis du ønsket å blokkere én fil spesifikt, bruk følgende:


Order allow,deny
Deny from all

Nå begynner vi å gjøre fremskritt – fjerner tilgang fra de som ikke trenger det. For å ta dette til sin logiske konklusjon, la oss se på hvordan vi kan forby noen vi vet er en dårlig skuespiller fra å få tilgang til noe som helst på serveren din.

Når du kjenner IP-adressen, legg til disse linjene og erstatte 127.0.0.1 med den dårlige IP-en:

Order Deny,Allow
Deny from 127.0.0.1

For å oppdatere dette med nye IP-er er det bare å legge til nye ‘avslå fra’-linjer. Skulle du ha behov for å blokkere en hel rekkevidde, er det bare å utelate det aktuelle området. Med andre ord, for å blokkere alt fra 127.0.0.0 til 127.0.0.255, legger du til:

Deny from 127.0.0.

Det siste tipset i denne delen er å beskytte .htaccess selv. Det er ganske mange nettsteder som sirkulerer metoder som er gode, men ikke bra. Følgende metode kommer med tillatelse fra Jeff Starr på Perishable Press og er mye mer grundig:

# STRONG HTACCESS PROTECTION

 order allow,deny
 deny from all
 satisfy all
Databaseforbedringer

En annen fordel med WordPress for hackere er at de i en standard installasjon vet hva databasetabellene dine heter. WordPress bruker prefikset ‘ks29so_’ som standard, ved å endre dette beveger vi oss igjen bort fra hackernes forutsetninger.

Først vil vi fortelle wp-config.php at vi endrer tabellprefikset. Åpne den filen og rediger følgende:

$table_prefix = 'ks29so_';

Legg til noen tall eller bokstaver:

$table_prefix = ‘ks29so_3drt5_’;

Du må deretter gå gjennom og endre hvert av tabellnavnene i databasen. For hver av dine 11 tabeller, kjør en kommando i følgende form:

RENAME TABLE ‘ks29so_commentmeta‘ TO ‘ks29so_3drt5_commentmeta‘;

Det vil sannsynligvis være noen andre referanser til det gamle prefikset du må rydde opp i. Kjør denne spørringen for å liste opp alt fra alternativtabellen ved å bruke det gamle prefikset:

SELECT * FROM ` ks29so_3drt5_options` WHERE `option_name` LIKE'%ks29so_%'

Dessverre må du gå gjennom hver enkelt og oppdatere.

Deretter må vi se på UserMeta-tabellen, samme prosess som før:

SELECT * FROM ` ks29so_3drt5_usermeta` WHERE `meta_key` LIKE'%ks29so_%'

Til slutt kan du også begrense MySQL-databasebrukeren til kun å ha følgende lese- og skriverettigheter: SELECT, INSERT, UPDATE og DELETE. Dermed kan du tilbakekalle privilegier for databasestruktur og admin: DROP, ALTER og GRANT. Dette kan imidlertid gjøre det vanskelig å oppdatere kjernen og legge til nye plugins, da de virkelig kan trenge å endre databasestrukturen. Hvis du går denne ruten, må du være grundig med sikkerhetskopiering og testing.

Nye nøkler takk

Dine hemmelige nøkler er lagret i wp-config.php. De er imidlertid ikke så hemmelige hvis du lar dem være standardverdier! Forbedre sikkerheten din ved å endre disse – jeg anbefaler imidlertid at du ikke stoler på din egen følelse av tilfeldighet og kompleksitet. Bruk noe sånt som denne tjenesten – dette definerer ikke bare nøkler for deg, men det gjør dem alle samtidig i riktig format slik at du kan lime det direkte inn i filen din. Ved å trykke på oppdatering viser du at du får et nytt sett med nøkler hver gang du laster dette opp.

Original oppskriftskilde

Plugins er en stor nok angrepsvektor når utnyttelser oppdages og distribueres blant hackere, så du bør i det minste sikre at du stoler på kilden til plugin. Ellers kan du være den som plasserer utnyttelsen på din egen side ved å legge til en tvilsom plugin som inneholder skadelig programvare.

Vårrengjøring

Fordi temaer og plugins er en potensiell sårbarhet, holder vi dem oppdatert når vi kan. Hvis du har sluttet å bruke en plugin/tema, slett den fullstendig. Deaktivering er ikke godt nok – bare bli kvitt det! Hvis en plugin har blitt forlatt av utvikleren, vil det også være en god idé å finne noe nytt og slette det gamle – hvis det oppdages en sikkerhetssårbarhet, vil den ikke bli lappet, og det vil sannsynligvis være svært kostbart å få en tilpasset reparasjon gjort.

På samme måte sletter du alle pålogginger du ikke lenger trenger. Kanskje du stoler på dine tidligere ansatte, og det er greit, men dette handler ikke helt om tillit. Det handler også om å redusere det tilgjengelige angrepsområdet der du kan, og begrense folk til minimumsnivået av tilgang de trenger. Vanligvis trenger en tidligere ansatt eller forfatter ingen tilgang – jeg er sikker på at de vil forstå!

Inngangspolicy gjelder – Tillat kun ATrusted Admin IP

Jeg har skilt dette fra de andre .htaccess-tipsene, da dette potensielt er et litt mer seriøst skritt å vurdere. I motsetning til det tidligere trinnet med å forby kjente dårlige IP-er, handler dette om å tillate bare kjente gode. Det forbedrer sikkerheten din, men til en kostnad for din bekvemmelighet, da du vil være begrenset til hvor du kan logge på for å jobbe på nettstedet ditt. Fortsett med det hvis du ikke vil bevege deg mye, hvis du har vært under konsekvente angrepsforsøk eller bare hvis du synes det er verdt den ekstra tryggheten.

orderdeny,allow
allow from 127.0.0.1
deny from all

(igjen, bytt ut 127.0.0.1 med din IP).

SSL

Du bør ikke få tilgang til administratoren din på en offentlig Wi-Fi-tjeneste – hvis du gjør det, sendes legitimasjonen gjennom luften i ren tekst. Den ondsinnede hackeren kan sitte ved siden av deg, nippe til en latte og i all hemmelighet utføre en mann i midten for å få tak i passordene dine og andre sensitive detaljer.

Men hvis du må, kan du i det minste tilby deg selv litt mer beskyttelse ved å aktivere SSL. Sørg først for at serveren din støtter det, åpne deretter wp-config.php-filen og legg til følgende linje:

define('FORCE_SSL_ADMIN', true);
Andre ting å se på

Det er det for mitt hovedsett med tips, men det er andre aspekter å se på. Du kan forsterke .htaccess ytterligere, for eksempel ved å stoppe php-skript som kjører der de ikke burde være. Du kan også sørge for at filtillatelsene dine er riktig angitt – ikke bare i WordPress-filene dine, men på hele serveren.

Mitt siste viktige tips er imidlertid å ta en sikkerhetskopi. Hele denne artikkelen er basert på ideen om at forebygging er bedre enn kur, men vanlige, brukbare, testede sikkerhetskopier bør være der bare i tilfelle du trenger dem. La meg understreke både vanlig og testet – en sikkerhetskopi fra et år siden er i hovedsak ingen sikkerhetskopi for de fleste nettsteder som vil ha vokst kraftig på den tiden. Hvis sikkerhetskopiene ikke er testet, har du ingen sikkerhetskopi. Du vil seriøst ikke komme til det punktet hvor en backup er nødvendig og må bare krysse fingrene og håpe det fungerer!

Hva har du gjort for å sikre WordPress-nettstedet ditt? Hvor trekker du grensen mellom sikkerhet og tilgjengelighet/brukervennlighet? Gi meg beskjed i kommentarene.

Opptakskilde: instantshift.com

Dette nettstedet bruker informasjonskapsler for å forbedre din opplevelse. Vi antar at du er ok med dette, men du kan velge bort det hvis du ønsker det. jeg aksepterer Mer informasjon