
Det finns många som vill ta sig in i din Worpress installation av många olika skäl.
Det kan vara att de vill lägga in kod för att du skall driva trafik till deras sidor.
Någon kanske vill installera en tjänst som hjälper till vid en attack för ett större mål.
Det kan t.o.m vara så att någon vill gömma olagligt och stötande material på era servrar som t.e.x bilder och filmer med sexuellt innehåll och värre.
Ni är ansvariga för innehållet på era sidor
Det är ni som utgivare som har ansvaret för vad man kan hitta på era sidor och därför är det enormt viktigt att se över säkerheten på sin webb.
En crackad hemsida kan få många negativa effekter som han skada ert bolag och er synlighet på webben. Dessutom hanske er webbsida stödjer verksamheter som ni ej vill bli förknippade med som t.ex försäljning av potensmedel och dirtributionen av sexuellt innehåll.
Det är svårt att helt förhindra att en
Cracker tar sig in på sidan, men man kan förhindra de flesta attackerna och t.o.m försöken igenom rätt enkla medel.
1. Byt namn på admin kontot
De flesta som försöker ta sig in gör det via s.k
brute force attacker dvs att man försöker gissa sig till lösenordet.
En bra vana att ta till sig är att alltid byta admin användarens inlogg till något som är svårgissat.
Har den som attakerar er tillgång till användarnamnet blir det c:a 80% enklare att ta sig in.
2. Flytta upp wp-config.php upp en nivå
En rätt okänd sak man kan göra med WordPress är att flytta upp wp-config.php upp en nivå, utanför webbrooten.
Genom att flytta upp er wp-config.php en nivå kan inte en cracker hämta upp den lika enkelt. I wp-config.php står nämligen databasens användarnamn och lösenord i klartext, får man tag på dessa kan man radera allt innehåll med en enkel sql fråga.
Och ännu värre, man kan lägga in dold kod som kan lura sökmotorer och användare.
3. Använd ett slumpmässigt prefix på er WordPress databas
Vid en s.k
SQL-injection är det enklare att skriva skadliga databasfrågor om man känner till databasfältens namn, men om man däremot har ändrat sitt SQL-prefix blir det genast svårare att få den skadliga koden att ge förväntat resultat.
Observera att vid en SQL-injection attack behöver inte Crackern känna till ert lösenord, han använder helt enkelt er WP-installations rättigheter.
4. Dölj dina inlogningssidor
Se till att er inlogningssida inte blir indexerad av någon sökmotor.
Enkelt exempel, om jag vill hitta siter som har minsite.se/administrator som inlogningssida kan jag enkelt hitta dem igenom en Googlefråga
http://www.google.se/search?q=inurl:administrator detta kan man automatisera och på så sätt hitta massa sidor som jag kan lansera en ”brute force” attack emot.
WordPress verkar vara rätt bra på just denna front, men jag forskar just nu i möjligheten att byta namn helt på inlogningssidan, då wp-admin är välkänt, hittar man bara att det är en wp-sida så vet man vart inloggningssidan finns.
Som extra skydd kan man lägga dit en ”basic auth” framför inlogningssidan, detta görs igenom servern eller .htaccess
5. Håll din installation och dina plugins uppdaterade
Se till att alltid uppdatera dina plugins och din wp-installation.
Jag vet att det plugin eller tema som du älskar kan sluta fungera vid en uppdatering, byt isf plug-in / tema eller hitta en programmerare som kan få det att fungera, Crackers älskar gamla installationer med många sårbarheter.
6. Dölj din teknologi
Grundregel för att undvika attacker är att aldrig visa sin plattform, desto mer du kan dölja desto bättre.
Ta bort alla meta generator och alla saker som kan avslöja vilka plug-ins ni använder.
Tyvärr så har vi ofta strängar i koden som avslöjar vad vi använder, t.ex sökvägen till vårt wp-tema ”/wp-content/temanamn” eller till våra includes filer ”/wp-includes/js/whatever” kan man dölj detta skall man göra det.
Enkla grundregler
Att knäcka en webbsida handlar till en stor del av att ta reda på så mycket som möjligt om ditt offer, vad är sidan byggd på? Vilka plugins avänds? Vad har du för version an mjukvara?
Det är inte bara teknisk information som kan hjälpa en cracker, även information som, vad heter ägaren? har han något smeknamn? vad heter katten/hunden?
Man får aldrig glömma att många cracker är mästare på ”social engineering” och ofta är myclet duktiga på att lura av er eller era medarbetare på information som kan användas vid en attack.
Ha starka riktlinjer om informationshantering inom företaget.
/Cristian Herrera – Internetkonsult
1. Använd gärna oxo http://wordpress.org/extend/plugins/login-lockdown/
2. Kan man inte flytta ut den ur webrooten så kan man oxo lösa det med en rewriteregel som alltid nekar tillgång till filen:
Ex. i .htaccess-filen
order allow,deny
deny from all
Om man inte använder sig av xmlrpc.php så bör man även neka tillgång till den filen, eftersom många exploits är mot just den filen:
order allow,deny
deny from all
En annan bra grej att ha sin .htaccess är:
# Block the include-only files.
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
Detta förhindrar att filer som är tänka att bara inkluderas av andra phpfiler kan köras i webbläsaren.
3. Är delvis sant, kan man sql-injecta så kan man enkelt ta reda på vad tabellerna heter i alla fall. Här bör man titta på helt andra strategier eftersom det inte är någon som helst garanti att det ger något skydd, men det skadar inte att göra det.
4. En bra plugin för detta: http://wordpress.org/extend/plugins/lockdown-wp-admin/
5. Utmärkt tips! kör du egen server eller VPS, glöm inte heller att uppdatera din servermjukvara…
6. Är inte en magisk lösning som automatiskt ger ett skydd, det finns många sätt att ta reda på vad man kör för mjukvara i alla fall. Man måste jobba med säkerheten ur alla synpunkter.
Ett annat bra tips för att skydda sin website mot väldigt många typer av attacker är att använda cloudflare.com … Man lägger på det framför sin website, och det är ingenting man installerar på sin webbserver eller i sin kod. Det är väldigt enkelt att jobba med och ger ett väldigt bra skydd, även om man inte har kunskapen om att jobba med webbplatssäkerhet.
Eftersom mina .htaccess exempel gick sönder ovan så skickar jag med dom här: https://gist.github.com/1740092
Hej Plux, Tack för er kommentar.
1.
Tack för tipset på plug-in, dock verkar det vara ett bra komplement, om det gör det som utlovas.
Men som jag sa, att bara eliminera ”admin” tar bot upp till 80% av attackerna…
När man tittar på loggor i olika system ser man ofta ”root”, ”admin”, ”administrator” + alla vanliga namn ”jim”, ”adam”, etc så när man buter admin inlogg bör man göra ett icke vanligt namn, räcker ofta med att lägga till ett par tecken på sitt namn, ”!x1Mickee” t.ex
2.
Deny, allow direktiven stämmer mycket riktigt att de hjälper en del, hänvisar till din andra kommentar.
Rewritereglerna ser ut att spärra av /wp-includes för externa klienter, en vettig tanke. Dock kan jag inte verifiera att det fungerar just nu. Lördag kväll efter ett par goda öl och en heldags havsöringsfiske. Lovar att titta mer på det sen.
3.
Stämmer som ni säger, dock är denna guide på en grund nivå. och de flesta attacker lanseras av personer som inte riktigt vet vad de gör, använder script som de hittat.
Desto mindre din attakerare vet om di och ditt system desto bättre, och ett enkelt sätt att slippa de enklaste attackerna är att inte använda standard värden.
4.
Tack för tipset.
5.
Tack och en upp till dig, servrarna är även de viktiga att uppdatera, något som många webbhotell missar att göra.
risken med att uppdatera (för stora webbhotell) är att gammal mjukvara (script) kan sluta fungera, särskilt då många system därute är övergivna och är baserade på gammal kod och standards, webben bör egentligen rensas på gammal kod.
6.
Nej, det finns inga magiska lösningar, men jag vet att en attack kan komma på många nivåer, men man rensar bort det värsta bara igenom att inte avslöja för mycket.
När det gäller säkerhet är det många bäckar små som gäller och systemet är inte säkrare än den svagaste länken, ofta den mänskliga med kassa lösenord.
Ang de generella riktlinjerna, vilka är de vanligaste lösenorden? (förutom ”sommar”)
Gamla telefonnummer, hundens namn, barnets namn, kombination av dessa…
sen, ofta samma lösenord på flera tjänster, det är inte ovanligt att man fiskar lösenordet på en osäker tjänst och sprar personens övriga konton.
Bra grundregel, mata aldrig in ert lösenord där det inte skall vara, inte ens på ”vi söker igenom ditt (msn) nätverk på kontakter” grejjer. Tänk å att du ger bort din säkerhet och att med stor sannolikhet har du samma lösenord på flera, viktigare ställen. det är rätt enkelt att spåra en person idag.
/C