7 minutes reading time (1400 words)

13 tips voor een veiligere Joomla website

13 tips voor een veiligere Joomla website

Steeds meer particulieren en bedrijven gebruiken Joomla voor de website: 2,5 procent van alle websites draait al op dit open source content management systeem. De veiligheid van Joomla blijft echter een zorgenkindje.

Joomla is gratis en er zijn ruim 7.000 extensies beschikbaar waarmee alle mogelijkheden van een cms worden benut. Daarnaast is de opmars van het platform niet te stuiten vanwege de grote community van gebruikers. Die populariteit van Joomla heeft echter ook een keerzijde: kwaadwillende hackers loeren op je data.

Oude versies en extensies

Hackers kunnen op allerlei manieren proberen om je site over te nemen of plat te leggen: van remote file inclusion (RFI) tot cross-site scripting (XSS) en de nog immer populaire sql-injectie. Het beveiligen van je site is een volledige dagtaak geworden. Een correct geconfigureerde Joomla-applicatie op een correct beheerde server is ongeveer even veilig als andere kant-en-klare oplossingen. Waarom geniet Joomla dan zo'n slechte reputatie als kwetsbaarste oplossing? Om hierop antwoord te geven kun je het beste in de spiegel kijken.

Iedere infrastructuur is zo veilig als de zwakste schakel. Bij de meeste veiligheidsincidenten met Joomla is dat niet de broncode. De meeste problemen zijn te wijten aan oude, ongepatchte versies van Joomla of onveilige, gedateerde en slecht geschreven extensies van derde partijen.

Als systeembeheerder heb je de taak om je cms goed te patchen, te updaten en te beveiligen. Om dit doel te bereiken en de veiligheid van je Joomla-cms te verbeteren, kun je de volgende tips navolgen.

1. Servers en hosting

Besluiten over hosting en servers kunnen cruciaal zijn voor je beveiliging. Veel serverfouten worden veroorzaakt door ongepatchte servers, open poorten of zwakke shared hosting. Bij shared hosting kan je website goed zijn ingesteld maar alsnog worden gehackt via andere sites op de gedeelde server. Als je huidige host problemen heeft met de standaard serverinstellingen, dan kun je beter op zoek naar een vervanger. Stap 1 is dus: zorg voor een betrouwbare, veilige host en houd je server patches goed bij.

Host je site op een server die PHP 5.2 draait of liever nog in CGI mode met Su_PHP. Su_PHP is voor PHP scripts wat Su_Exec is voor Perl-bestanden: je kunt er scripts mee uitvoeren onder je eigen specifieke gebruikersaccount in plaats van het standaard Apache account. Hierdoor is het eenvoudiger veiligheidslekken te vinden en identificeren.

Zorg ervoor dat je de meest recentte Apache-versie hebt en dat je Apache-configuratie browsing/indexing onmogelijk maakt. IT-beheerders moeten ook de correcte instellingen vastleggen voor de .htaccess, serverconfig en php.ini-bestanden.

2. Gebruik het htaccess-bestand

Standaard is het htaccess-bestand niet in gebruik. Zorg ervoor de naam .htaccess.txt eerst te veranderen in .htaccess. Zet het bestand vervolgens in je root-map. Je kunt ook enkele rewrite rules toevoegen om de meest gangbare lekken te voorkomen. Hier kun je aanwijzingen vinden om het htaccess-bestand te bewerken en zo een extra veiligheidslaag voor je systeem te creëren.

3. Gebruikersaccounts en toegangsrechten

Joomla functioneert meteen uitstekend als je het installeert op een behoorlijk geconfigureerde webserver. Zet voor de zekerheid al je bestanden CHMOD op 644 en je mappen op 755. Er zijn echter uitzonderingen op deze regel, zoals configuration.php waarvan CHMOD op 640 moet staan. Niets mag op 777 worden ingesteld.

De standaard gebruikersnaam voor de systeembeheerder is "admin". Wijzig dit in iets anders. Hierdoor wordt het al lastiger voor hackers om gegevens over accounts te achterhalen.

 4. Back-ups en incident management

Je moet je incident management (IM) plan natuurlijk opstellen voordat je site is gekraakt en niet achteraf. Neem dus de tijd om uit te vinden wat er kan gebeuren als je site ten prooi valt aan hackers. Denk aan het gezegde: 'Back-up vroeg en vaak'. Als deze stap goed is uitgevoerd, valt er een last van je schouders indien je site wordt gekraakt. Zorg ervoor dat er dagelijks back-ups worden gemaakt zodat je de site kunt herstellen zonder al teveel downtime of dataverlies. Hierdoor kun je je aandacht volledig richten op het werkelijke probleem: op welke manier was je site aangevallen?

5. Beheer je extensies zorgvuldig

Mede vanwege de extensies van derde partijen is Joomla een groot succes. Toch zijn het meestal diezelfde extensies waardoor je site kan worden aangevallen. Iedere extensie moet je updaten en patchen, zodat het van belang is alleen de extensies te installeren die je echt nodig hebt. Neem de volgende stappen:
- Voer voor al je extensies een code review uit.
- Draai een testversie, waarvan er veel beschikbaar zijn, en evalueer de resultaten.
- Update of patch je code als dat nodig is.

En onthoud: zelfs van één onveilige extensie kan je site plat gaan.

6. Verwijder versienummers van extensies

Dikwijls zijn exploits gericht op een bepaalde versie van een extensie. Daarom is het een goed idee om het versienummer van alle geïnstalleerde extensies te verwijderen. Dit kan een aanval op je site verijdelen.

Met een tool als Dreamweaver kun je je extensies bewerken en alleen de naam tonen. Doe een algemene zoek- en vervangopdracht in de extensiemap. Daarna kun je alle versienummers uit je code verwijderen.

7. Verwijder ongebruikte bestanden

Hoe vaak heb je een extensie geïnstalleerd en vervolgens nooit hebt gebruikt? Op een ongebruikte extensie zul je minder goed letten. Hierdoor kunnen er onvoorziene zwakke plekken in de beveiliging zitten. Haal deze extensies dus helemaal van je systeem af.

8. Wachtwoordbescherming

Aanvallen met brute kracht zijn zeer gebruikelijk en gericht op zwakke wachtwoorden. Joomla wachtwoorden zijn standaard MD5 versleuteld + SALTED, maar bedroevend weinig bedrijven hebben vaste regels voor het toekennen van wachtwoorden. Verzin een wachtwoord met cijfers, hoofd- en kleine letters en symbolen en wijzig dit maandelijks.

Alle belangrijke bedrijfsinformatie staat in je database. Een sql-injectie of andere kraak van je database kan je humeur grondig bederven. Zorg dat je database daarom is beschermd op MySQL niveau. Probeer eens tools als Nikto of NMap om je systeem te controleren op kwetsbare plekken. Op basis van deze informatie kun je de veiligheid van je database vergroten.

De beheerskant van Joomla moet je op mapniveau beveiligen met een wachtwoord. Dit geeft extra bescherming. Zorg dan wel dat je een andere gebruikersnaam en een verschillend wachtwoord instelt dan bij je Joomla waarmerkingkenmerken, anders verdoe je je tijd. Als beheerder moet je nu weliswaar twee keer inloggen, maar dat is de prijs van een goede beveiliging.

9. Verander de standaard prefix van je database table

De meeste sql-injecties dringen binnen via de jos_users database table. Zodra hackers dit bestand hebben gekraakt, dan kunnen ze al je gebruikersnamen en wachtwoorden achterhalen. Door een meer willekeurige naam te gebruiken, kun je de meeste database aanvallen al voorkomen.

Securityprofessionals zullen dit allang gedaan hebben bij het installeren van Joomla. Zo niet, dan moeten gebruikers van Joomla 1.5 dit doen met de DB admin component. Voor gebruikers van Joomla 1.6 is het minder eenvoudig. Meer details zijn te vinden in de SnagJag blog Change Joomla Table Prefix { http://www.snapjag.com/2009/07/change-joomla-table-prefix/}.

Bij andere Joomla-versies, waaronder Joomla 1.7, worden willekeurige table-namen gebruikt tijdens het installeren, ter bescherming tegen dergelijke aanvallen.

10. Gebruik ssl-certificaten

Gebruik ssl op je site en zet Joomla in de ssl-mode voor alle logins. Let er wel op dat je een goed geconfigureerd ssl-certificaat hebt voor je sitedomein, anders is het onmogelijk ssl probleemloos in Joomla te gebruiken. Gedeelde ssl-certificaten zullen bijvoorbeeld niet werken.

11. Schakel de Joomla ftp layer uit

De ftp layer moet meestal toch al worden uitgeschakeld, omdat bepaalde extensies van derde partijen anders niet functioneren. Bovendien gebruiken veel servers suEXEC, zodat de ftp layer niet meer nodig is. Schakel Joomla's ftp layer dus uit en let erop dat er geen inloggegevens zijn opgeslagen.

12. Register_globals uitschakelen

Zet ook register globals uit, maar let op dat je daarmee ook bepaalde php-scripts kunt uitschakelen, wat van invloed is op andere programma's. Om dit te doen, moet je het php.ini bestand van je site bewerken, te vinden in the rootdirectory van je domein.

13. Zoekmachine vriendelijke url's

Gebruik altijd zoekmachine vriendelijke url's. Dit helpt niet alleen voor je Google ranking, maar zal voorkomen dat hackers lekken vinden via Google search en ander tools.

Wees alert

Zoals je ziet, is de veiligheid van Joomla afhankelijk van verschillende factoren. Security is niet statisch maar continue in beweging. Een aantal zaken moet regelmatig worden geüpdate en onderhouden. Je kunt het programma niet simpelweg installeren en verder vergeten. Om overzicht te houden, moet je je site kennen en patches en extensies in de gaten houden en nu en dan grote schoonmaak houden. Veel succes en blijf altijd alert.
©webwereld

WMO raad Soest kiest voor Joomlapartner
Joomla 2.5.4 vrijgegeven

Gerelateerde berichten

 

Reacties

Er zijn nog geen reacties gegeven. Wees de eerste die een reactie geeft
Gast
maandag 19 augustus 2019

Captcha afbeelding