SlideShare a Scribd company logo
JoomlaSecurityBare essentials to serious measuresBrendon HatcherTechnical DirectorPhoto: flickr.com/photos/carbonnyc
Understanding     hackers and                 hackingDefinitions of “hacker”Hacker’s motivationsEvidence of hacking
What is a hacker?Someone who deliberately seeks to bypass a server’s securityBlack, grey, white hatsA hacked site is a broken/compromised siteA skilled computer programmerA hacked site is a tweaked and improved siteA script kiddieJunior hacker using otherhacker’s tools and techniques
Hacker’s motivationsTo see if they canTo create mayhemFor social standing in the sub-cultureFor political reasons – hacktivismFor financial reasonsTheft – steal ebooks, videos, games, online services etcSell data – user profiles, credit card details etcIndustrial sabotage - paid to break competitor sitesSet up zombie farmsSteal bandwidthHost phishing pagesCollect passwords
Evidence of hackingNone!Site trashedHacking messageHigh bandwidth useChanged admin passwordNew user with admin rightsServer logs
Why be concernedabout security?No-one is safe Hacking is actually quite easyFixing hacked sites is trickyHacked sites are a big problem
No-one is safe
Why worry about hacking? Sites are targeted at randomHacking is actually quite easyVulnerable sites are easy to findVulnerable sites are easy to hackFixing hacked sites is quite trickyHacks can be invisibleClients may not notice a hacked site for some timeFinding a clean backup may be impossibleDetermining what has been done can be really hardMay be difficult to restoreHardening site to avoid future hacks requires skill and focus
Why worry about hacking? Hacked sites are a big problemBusiness reputationAngry clientsSite shutdown by hostLoss of businessData theftPhoto: flickr.com/photos/gaetanlee/
Hacking aJoomla siteIs Joomla less secure than other systems?The site must be vulnerable3 steps to hacking for fun and profit
Is Joomla less secure than other systems?Yes and NoJoomla has to strike a balance between security and ease of useJoomla an attractive target for hackersThe critical mass of sitesLarge amateur web developer user base Extensions have variable securityThe site must be vulnerable
3 steps to hacking for fun and profitFind a vulnerability (and instructions on how to exploit it)Find a vulnerable siteHack the siteThen, sit back and enjoy fame and fortune!
Find a vulnerabilitySecurity siteswww.exploit-db.com, www.secunia.comVarious hacking sites/forumsJoomlavulnerable extensions listdocs.joomla.org/Vulnerable_Extensions_List
Find a vulnerable siteGoogle Dork - a search phrase to find vulnerable sitesPHPInfointitle:phpinfo()Vulnerable extensionsallinurl:com_acajoom
Cut and paste hack codehttp://xxxxxxxxxxxxxxxxx/index.php?option=com_acajoom&act=mailing&task=view&listid=1&Itemid=1&mailingid=1/**/union/**/select/**/1,1,1,1,concat(username,0x3a,password),1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1/**/from/**/jos_users/**/LIMIT/**/1,1/*Photo: flickr.com/photos/tawheedmanzoor
Securityaction planWeb sites are like onionsLevels of securityWeb development toolsStrong, unique passwords everywhereContinuous attention
Web sites arelike onionsServer operating systemApachePHP + MySQLJoomla
Extensions
Users and their behaviourLevels of security[1] Basic actions[2] More complex actions[3] Actions that require significant modification rights on the server (unless already implemented by default)Image by echiner1
Web development toolsWHM – server administrationcPanel – hosting account administrationFileZilla – FTP appKeepass – password vault
General adviceStrong, unique passwords everywhereA password vault removes the need to have a single, simple passwordContinuous attention needed
Creating a safehome for JoomlaShared, VPS or dedicated servers?ApachePHPMySQL
Shared, VPS or dedicated servers?A shared serverYour site(s) live in the same hosting space as other sites that you do not administerThis is the cheapest hosting option.  No say over the security of the other sites on the serverOld shared server is the worst location for your hostingA Virtual Private ServerBetter than sharedStill can’t change many settings
Shared, VPS or dedicated servers?A dedicated serverStill a “shared” serverAllow you to upgrade and tweak all the settings on a dedicated serverHost retains responsibility for maintenance
Additional securitySuhosin – hardens PHPSamhain or TripwireConfigserver firewall
Apache[3] suExecCGI scripts run under the user of the website instead of the Apache user[3] Mod_securityIntrusion detection and prevention engine
PHP[2] PHP5, not PHP4[3] suPHPPHP files are run under the user of the website instead of the Apache userGlobally reset all filesOwner – AccountUsername:AccountUsernamechown -R user:group *Files – 644find . -type f -exec chmod 644 {} \;Folders – 755find . -type d -exec chmod 755 {} \;
Hosting account.htaccess files[1] Activate the htaccess file in the Joomla root[1] Use an .htpasswd for the /administrator/ folder[3] Advanced .htaccess filesA LOT more important detail in the manual
Keeping up to dateAvoiding the obviousHide, and be very, very quietSpam form submissionsInstall sh404SEFSecuring aJoomla site
Keeping up to dateMust update Joomla core and extensionsRemove unused extensions
Avoiding the obvious[1] The default database extension is jos_[1] The default admin username is admin[1] The default admin user ID is 62[1] Change administrator access URL
Hide, and be very, very quiet[1] SEF all URLs[1] Clear the default Joomlametatags[1] Clear the default Home page title[1] Remove generator tag[1] Change favicon[2] Hide component credits
Spam form submissionsTrying to inject spam content onto your siteTargets Joomla core forms and extension formsInstall a captcha system
Install sh404SEFSEF URLS hide from Google DorksFlood controlOther security settings
Creating a safe working environmentPC vulnerability to hacksFTP access hacksA note about users“Burglar bars, electric fences, alarms…and a key left under the doormat”
PC vulnerability to hacks[1] Install all operating system patches[1] Install all application system patches[1] Run comprehensive real-time protection apps[1] Install Secunia PSI[1] Secure your PC login[1] Secure your backup storage [2] Use a secure web browser
FTP access hacksIf a hacker can obtain your FTP password, they can login as you, bypassing almost every security barrier.FTP passwords are stored unencrypted in your FTP program!	FTP authentication details pass unencrypted to the server!There are several common FTP apps that store their passwords in a standard location with a standard name!
FTP configuration[1] cPanel setupMake sure that the FTP password is strong[1] PC setupPassword vault (LastPass , Keepass ) to store the strong passwordMake sure passwords are not stored anywhere else (including on a Post-It note on the side of the PC)[1] FileZillaCopy all passwords to the password vault Delete all passwords from the Site ManagerSet FileZilla to run in Kiosk mode
FTP configuration[2] JoomlaRemove the FTP details from the configuration file[3] WHMDisable FTP access and allow only SFTP accessA note about usersYou should ideally create separate user accounts for each staff member
Preparing forthe worstSite monitoringA disaster recovery planJoomla site backupsRestoring a hacked site
Site monitoringDiagnosticsSite downHome page content changesMod_security logs (shows attempts)Bandwidth useSpam blacklisting[3] Searching and browsing server logs
Disaster Recovery PlanDepending on how central your web site is to your business, you may need a DRPSee Tom Canavan’s presentationhttp://www.slideshare.net/coffeegroup/tom-canavan-joomla-security-and-disaster-recoveryPhoto: flickr.com/photos/28481088@N00
Joomla site backupsLong-cycle Joomla backups are criticalRedundant backups lead to restful sleepSee my Joomla for Web Developer talk for MUCH more detail
Restoring a hacked siteFixes the obvious problems Does not address:Hidden hacksShell scriptsBackdoorsZombiesContinuing vulnerabilitiesImpacts of data exposurePhoto: flickr.com/photos/andreweason

More Related Content

PPTX
Seurity In Vista
PDF
201104 Best Practices For Keeping Your Home Network Secure
PPTX
Bootkits step by-step-slides-final-v1-release
PDF
Nsa best practices for keeping your home network secure
PPTX
How to Secure your WordPress Website - WordCamp UK 2014
PPTX
WordPress Security Presentation from South Florida WordPress Meetup
PDF
Rs firewall security
PDF
Website security systems
Seurity In Vista
201104 Best Practices For Keeping Your Home Network Secure
Bootkits step by-step-slides-final-v1-release
Nsa best practices for keeping your home network secure
How to Secure your WordPress Website - WordCamp UK 2014
WordPress Security Presentation from South Florida WordPress Meetup
Rs firewall security
Website security systems

Viewers also liked (14)

PDF
PDF
Leaked! Confessions of a Joomla DEV
PDF
Introducing Joomla! 3.2 - Something new for everyone! (Keynote)
PDF
Chris Rault - Content construction with ZOO
PPT
Primera guerra mundial
PDF
Implementing and running Joomla at a large South African university
PDF
Yellowfin Business Intelligence (BI) platform
PDF
Youtube Analytics Google+
PDF
Beck bob - take back your power
PDF
Number worksheets
PDF
Complexity Simplified? (Seblod CCK walk through)
PPTX
Rubab rauf mba from tuf
PPTX
Peter Van Westen - Mastering Module Magic
PDF
01 pengantar-tik
Leaked! Confessions of a Joomla DEV
Introducing Joomla! 3.2 - Something new for everyone! (Keynote)
Chris Rault - Content construction with ZOO
Primera guerra mundial
Implementing and running Joomla at a large South African university
Yellowfin Business Intelligence (BI) platform
Youtube Analytics Google+
Beck bob - take back your power
Number worksheets
Complexity Simplified? (Seblod CCK walk through)
Rubab rauf mba from tuf
Peter Van Westen - Mastering Module Magic
01 pengantar-tik
Ad

Similar to Brendon Hatcher Joomla Security (20)

PPTX
Joomla! security jday2015
PDF
Joomla! security jday2015
PPT
Joomla Security
PPT
Joomla Security
PPT
Avoid Getting Hacked! Presentation on Joomla! Web Security
PDF
OWASP Thailand 2016 - Joomla Security
PDF
8 Most Common Joomla! Hacks and How to Avoid Them
PPT
WordPress Security Hardening
PDF
8 Most Popular Joomla Hacks & How To Avoid Them
PPTX
Joomla spécialiste
PPTX
Joomla Security v3.0
PPTX
Neo word press meetup ehermits - how to keep your blog from being hacked 2012
PPTX
WordPress security
PDF
WordPress Security Presentation
ODP
Joomladay Netherlands - Security
PDF
Making Joomla Insecure - Explaining security by breaking it
PDF
Complete Wordpress Security By CHETAN SONI - Cyber Security Expert
PDF
Seven steps to better security
PPTX
Security misconfiguration
PDF
10 tips to improve your website security
Joomla! security jday2015
Joomla! security jday2015
Joomla Security
Joomla Security
Avoid Getting Hacked! Presentation on Joomla! Web Security
OWASP Thailand 2016 - Joomla Security
8 Most Common Joomla! Hacks and How to Avoid Them
WordPress Security Hardening
8 Most Popular Joomla Hacks & How To Avoid Them
Joomla spécialiste
Joomla Security v3.0
Neo word press meetup ehermits - how to keep your blog from being hacked 2012
WordPress security
WordPress Security Presentation
Joomladay Netherlands - Security
Making Joomla Insecure - Explaining security by breaking it
Complete Wordpress Security By CHETAN SONI - Cyber Security Expert
Seven steps to better security
Security misconfiguration
10 tips to improve your website security
Ad

More from Joomla Day South Africa (13)

PDF
Joomla! 101 - Getting started & Finding help (level: Beginner)
PDF
Case Study: AGOA.info - Planning and Execution, then disaster... / SEEDINIT.o...
PDF
Case Study Upgrading Joomlagov.info to Joomla 2.5 with responsive design
PDF
Streamlining Joomla Template Deployment and Updates across multiple installat...
PPTX
Welcome to JoomlaDay Cape Town 2012
ODP
Successful Joomla migrations that don't hurt Search Engine Rankings
PPTX
Peter Van Westen - No Number Power Squared
PDF
Simon Dowdles - Seblod CCK
PPTX
Brendon Hatcher Joomla for web developers
PPTX
Brendon Hatcher Joomla Distros
PPT
Yannick Gaultier - sh404SEF SEO and Analytics
PDF
Case Study: How we Built Joomlagov.info
Joomla! 101 - Getting started & Finding help (level: Beginner)
Case Study: AGOA.info - Planning and Execution, then disaster... / SEEDINIT.o...
Case Study Upgrading Joomlagov.info to Joomla 2.5 with responsive design
Streamlining Joomla Template Deployment and Updates across multiple installat...
Welcome to JoomlaDay Cape Town 2012
Successful Joomla migrations that don't hurt Search Engine Rankings
Peter Van Westen - No Number Power Squared
Simon Dowdles - Seblod CCK
Brendon Hatcher Joomla for web developers
Brendon Hatcher Joomla Distros
Yannick Gaultier - sh404SEF SEO and Analytics
Case Study: How we Built Joomlagov.info

Recently uploaded (20)

PDF
A novel scalable deep ensemble learning framework for big data classification...
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
August Patch Tuesday
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
Web App vs Mobile App What Should You Build First.pdf
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
Tartificialntelligence_presentation.pptx
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Getting started with AI Agents and Multi-Agent Systems
PDF
Enhancing emotion recognition model for a student engagement use case through...
PPTX
1. Introduction to Computer Programming.pptx
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PPTX
observCloud-Native Containerability and monitoring.pptx
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
A novel scalable deep ensemble learning framework for big data classification...
A contest of sentiment analysis: k-nearest neighbor versus neural network
Final SEM Unit 1 for mit wpu at pune .pptx
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
NewMind AI Weekly Chronicles – August ’25 Week III
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
August Patch Tuesday
1 - Historical Antecedents, Social Consideration.pdf
Web App vs Mobile App What Should You Build First.pdf
NewMind AI Weekly Chronicles - August'25-Week II
Tartificialntelligence_presentation.pptx
Univ-Connecticut-ChatGPT-Presentaion.pdf
Getting started with AI Agents and Multi-Agent Systems
Enhancing emotion recognition model for a student engagement use case through...
1. Introduction to Computer Programming.pptx
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
observCloud-Native Containerability and monitoring.pptx
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
Zenith AI: Advanced Artificial Intelligence
Profit Center Accounting in SAP S/4HANA, S4F28 Col11

Brendon Hatcher Joomla Security

  • 1. JoomlaSecurityBare essentials to serious measuresBrendon HatcherTechnical DirectorPhoto: flickr.com/photos/carbonnyc
  • 2. Understanding hackers and hackingDefinitions of “hacker”Hacker’s motivationsEvidence of hacking
  • 3. What is a hacker?Someone who deliberately seeks to bypass a server’s securityBlack, grey, white hatsA hacked site is a broken/compromised siteA skilled computer programmerA hacked site is a tweaked and improved siteA script kiddieJunior hacker using otherhacker’s tools and techniques
  • 4. Hacker’s motivationsTo see if they canTo create mayhemFor social standing in the sub-cultureFor political reasons – hacktivismFor financial reasonsTheft – steal ebooks, videos, games, online services etcSell data – user profiles, credit card details etcIndustrial sabotage - paid to break competitor sitesSet up zombie farmsSteal bandwidthHost phishing pagesCollect passwords
  • 5. Evidence of hackingNone!Site trashedHacking messageHigh bandwidth useChanged admin passwordNew user with admin rightsServer logs
  • 6. Why be concernedabout security?No-one is safe Hacking is actually quite easyFixing hacked sites is trickyHacked sites are a big problem
  • 8. Why worry about hacking? Sites are targeted at randomHacking is actually quite easyVulnerable sites are easy to findVulnerable sites are easy to hackFixing hacked sites is quite trickyHacks can be invisibleClients may not notice a hacked site for some timeFinding a clean backup may be impossibleDetermining what has been done can be really hardMay be difficult to restoreHardening site to avoid future hacks requires skill and focus
  • 9. Why worry about hacking? Hacked sites are a big problemBusiness reputationAngry clientsSite shutdown by hostLoss of businessData theftPhoto: flickr.com/photos/gaetanlee/
  • 10. Hacking aJoomla siteIs Joomla less secure than other systems?The site must be vulnerable3 steps to hacking for fun and profit
  • 11. Is Joomla less secure than other systems?Yes and NoJoomla has to strike a balance between security and ease of useJoomla an attractive target for hackersThe critical mass of sitesLarge amateur web developer user base Extensions have variable securityThe site must be vulnerable
  • 12. 3 steps to hacking for fun and profitFind a vulnerability (and instructions on how to exploit it)Find a vulnerable siteHack the siteThen, sit back and enjoy fame and fortune!
  • 13. Find a vulnerabilitySecurity siteswww.exploit-db.com, www.secunia.comVarious hacking sites/forumsJoomlavulnerable extensions listdocs.joomla.org/Vulnerable_Extensions_List
  • 14. Find a vulnerable siteGoogle Dork - a search phrase to find vulnerable sitesPHPInfointitle:phpinfo()Vulnerable extensionsallinurl:com_acajoom
  • 15. Cut and paste hack codehttp://xxxxxxxxxxxxxxxxx/index.php?option=com_acajoom&act=mailing&task=view&listid=1&Itemid=1&mailingid=1/**/union/**/select/**/1,1,1,1,concat(username,0x3a,password),1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1/**/from/**/jos_users/**/LIMIT/**/1,1/*Photo: flickr.com/photos/tawheedmanzoor
  • 16. Securityaction planWeb sites are like onionsLevels of securityWeb development toolsStrong, unique passwords everywhereContinuous attention
  • 17. Web sites arelike onionsServer operating systemApachePHP + MySQLJoomla
  • 19. Users and their behaviourLevels of security[1] Basic actions[2] More complex actions[3] Actions that require significant modification rights on the server (unless already implemented by default)Image by echiner1
  • 20. Web development toolsWHM – server administrationcPanel – hosting account administrationFileZilla – FTP appKeepass – password vault
  • 21. General adviceStrong, unique passwords everywhereA password vault removes the need to have a single, simple passwordContinuous attention needed
  • 22. Creating a safehome for JoomlaShared, VPS or dedicated servers?ApachePHPMySQL
  • 23. Shared, VPS or dedicated servers?A shared serverYour site(s) live in the same hosting space as other sites that you do not administerThis is the cheapest hosting option. No say over the security of the other sites on the serverOld shared server is the worst location for your hostingA Virtual Private ServerBetter than sharedStill can’t change many settings
  • 24. Shared, VPS or dedicated servers?A dedicated serverStill a “shared” serverAllow you to upgrade and tweak all the settings on a dedicated serverHost retains responsibility for maintenance
  • 25. Additional securitySuhosin – hardens PHPSamhain or TripwireConfigserver firewall
  • 26. Apache[3] suExecCGI scripts run under the user of the website instead of the Apache user[3] Mod_securityIntrusion detection and prevention engine
  • 27. PHP[2] PHP5, not PHP4[3] suPHPPHP files are run under the user of the website instead of the Apache userGlobally reset all filesOwner – AccountUsername:AccountUsernamechown -R user:group *Files – 644find . -type f -exec chmod 644 {} \;Folders – 755find . -type d -exec chmod 755 {} \;
  • 28. Hosting account.htaccess files[1] Activate the htaccess file in the Joomla root[1] Use an .htpasswd for the /administrator/ folder[3] Advanced .htaccess filesA LOT more important detail in the manual
  • 29. Keeping up to dateAvoiding the obviousHide, and be very, very quietSpam form submissionsInstall sh404SEFSecuring aJoomla site
  • 30. Keeping up to dateMust update Joomla core and extensionsRemove unused extensions
  • 31. Avoiding the obvious[1] The default database extension is jos_[1] The default admin username is admin[1] The default admin user ID is 62[1] Change administrator access URL
  • 32. Hide, and be very, very quiet[1] SEF all URLs[1] Clear the default Joomlametatags[1] Clear the default Home page title[1] Remove generator tag[1] Change favicon[2] Hide component credits
  • 33. Spam form submissionsTrying to inject spam content onto your siteTargets Joomla core forms and extension formsInstall a captcha system
  • 34. Install sh404SEFSEF URLS hide from Google DorksFlood controlOther security settings
  • 35. Creating a safe working environmentPC vulnerability to hacksFTP access hacksA note about users“Burglar bars, electric fences, alarms…and a key left under the doormat”
  • 36. PC vulnerability to hacks[1] Install all operating system patches[1] Install all application system patches[1] Run comprehensive real-time protection apps[1] Install Secunia PSI[1] Secure your PC login[1] Secure your backup storage [2] Use a secure web browser
  • 37. FTP access hacksIf a hacker can obtain your FTP password, they can login as you, bypassing almost every security barrier.FTP passwords are stored unencrypted in your FTP program! FTP authentication details pass unencrypted to the server!There are several common FTP apps that store their passwords in a standard location with a standard name!
  • 38. FTP configuration[1] cPanel setupMake sure that the FTP password is strong[1] PC setupPassword vault (LastPass , Keepass ) to store the strong passwordMake sure passwords are not stored anywhere else (including on a Post-It note on the side of the PC)[1] FileZillaCopy all passwords to the password vault Delete all passwords from the Site ManagerSet FileZilla to run in Kiosk mode
  • 39. FTP configuration[2] JoomlaRemove the FTP details from the configuration file[3] WHMDisable FTP access and allow only SFTP accessA note about usersYou should ideally create separate user accounts for each staff member
  • 40. Preparing forthe worstSite monitoringA disaster recovery planJoomla site backupsRestoring a hacked site
  • 41. Site monitoringDiagnosticsSite downHome page content changesMod_security logs (shows attempts)Bandwidth useSpam blacklisting[3] Searching and browsing server logs
  • 42. Disaster Recovery PlanDepending on how central your web site is to your business, you may need a DRPSee Tom Canavan’s presentationhttp://www.slideshare.net/coffeegroup/tom-canavan-joomla-security-and-disaster-recoveryPhoto: flickr.com/photos/28481088@N00
  • 43. Joomla site backupsLong-cycle Joomla backups are criticalRedundant backups lead to restful sleepSee my Joomla for Web Developer talk for MUCH more detail
  • 44. Restoring a hacked siteFixes the obvious problems Does not address:Hidden hacksShell scriptsBackdoorsZombiesContinuing vulnerabilitiesImpacts of data exposurePhoto: flickr.com/photos/andreweason
  • 45. Credits/DisclaimerBrendon Hatcher is the compiler of this presentationThe presentation is released under the Creative Commons Licence – Attribution, Non-commercial, No derivativesIf you don’t know what this licence means, go to creativecommons.orgThe content is provided without warranty. It is a work in progress and represents my current understanding of Joomla security.

Editor's Notes

  • #3: Balaclava - http://www.flickr.com/photos/vladus/1933814881/
  • #7: Pickpocket - http://www.flickr.com/photos/dullhunk/4575707721/
  • #18: Onion - http://www.flickr.com/photos/10460483@N02/5448093522/
  • #32: Shhh - http://www.flickr.com/photos/42918851@N00/5905346604/sizes/l/in/photostream/
  • #33: http://www.flickr.com/photos/philliecasablanca/6011248010/