SlideShare a Scribd company logo
1 of 38
Joomla! Security 101
    What to do before disaster strikes

http://akeeba.info/security-101
Hi, I’m
    Nicholas
    Dionysopoulos
    and I bet you can’t
    pronounce my last
    name




http://akeeba.info/me
What is site security?
And what Chuck Norris has to do with anything?!
Security is about...


   making it harder
     to infiltrate, not
  making it impossible
How do you do that?
What stands between your site and hackers?
Security comes in layers

  Incoming request

       Firewall

 Web Server (Global)

Web Server (.htaccess)

       Joomla!

     Extensions
Security comes in layers

  Incoming request
                         Always managed by your host
       Firewall

 Web Server (Global)

Web Server (.htaccess)

       Joomla!

     Extensions
Security comes in layers

  Incoming request

       Firewall
                         mod_security, suPHP, …
 Web Server (Global)

Web Server (.htaccess)

       Joomla!

     Extensions
Security comes in layers

  Incoming request

       Firewall

 Web Server (Global)
                         The most basic protection
Web Server (.htaccess)

       Joomla!

     Extensions
Security comes in layers

  Incoming request

       Firewall

 Web Server (Global)

Web Server (.htaccess)
                         Basic filtering
       Joomla!

     Extensions
Security comes in layers

  Incoming request

       Firewall

 Web Server (Global)

Web Server (.htaccess)

       Joomla!
                         These are ultimately responsible!
     Extensions
Security comes in layers

  Incoming request

       Firewall

 Web Server (Global)

Web Server (.htaccess)

       Joomla!

     Extensions
Our scope today

  Incoming request

       Firewall

 Web Server (Global)

Web Server (.htaccess)

       Joomla!

     Extensions
The basics
What we’re supposed to do and rarely do it
Frequent, tested backups
    Would you jump off a plane without a parachute?




http://akeeba.info/backup
Update, yesterday
     Yesterday’s code is tomorrow’s hack




http://akeeba.info/basic-security
Protect your backend
The login is not enough
777: The number of the beast
    Permissions are doors; don’t leave them open




http://akeeba.info/777
Sensible permissions
 Ask your host to enable suPHP or Apache’s mod_itk
 Site root 0755 or 0700
 Directories 0755
 Files 0644
 If you “must” use 0777 (don’t!) protect with .htaccess:

 order deny, allow
 deny from all
Don’t be a sitting duck
It’s duck season!
Mind your prefix
     Nobody wants to be a jos_




http://akeeba.info/prefix
62 reasons to fire your Super Administrator
    or 42, depending on Joomla! version...




http://akeeba.info/62-reasons
Security Kung-Fu
     You can’t kill a Ninja

http://akeeba.info/ninja
Visual fingerprinting
     Seeing is believing and then some

                                          tm
                                            pl=
                                                  offl
                                                      ine


    tp =1




http://akeeba.info/ninja             template =ja_purity
Visual fingerprinting
        RewriteCond %{QU
                         ERY_STRING} (^|
       &)tmpl=(componen
                        t|system) [NC]
       RewriteRule .* -
                          [L]
       RewriteCond %{QU
                        ERY_STRING} (^|&
                                         )t(p|emplate|
       mpl)= [NC]
       RewriteRule .* -
                        [F]




http://akeeba.info/ninja
PHP has a big mouth
     and that’s not water cooler gossip!




http://akeeba.info/ninja
PHP has a big mouth




http://akeeba.info/ninja
PHP has a big mouth
       RewriteCond %{QU
                        ERY_STRING} =PH
                                         P[a-f0-9]{8}-[a-
       f0-9]{4}-[a-f0-9
                        ]{4}-[a-f0-9]{4}
                                         -[a-f0-9]{12}
       [NC]
       RewriteRule .* -
                        [F]




http://akeeba.info/ninja
Blind Elephant
     Meet your supervillain




http://akeeba.info/ninja
Blind Elephant




http://akeeba.info/ninja
Blind Elephant
          nicholas@teapot:~/blindelephant$ ./BlindElephant.py mysite.com joomla
          Loaded /home/nicholas/projects/3rdparty/blindelephant/trunk/src/build/lib.linux-x86_64-2.6/blindelephant/
          dbs/joomla.pkl with 33 versions, 3696 differentiating paths, and 122 version groups.
          Starting BlindElephant fingerprint for version of joomla at http://joomla.ubuntu.web

          Hit http://joomla.ubuntu.web/media/system/js/validate.js
          Possible versions based on result: 1.5.17, 1.5.18

          Hit http://joomla.ubuntu.web/includes/js/joomla.javascript.js
          Possible versions based on result: 1.5.17, 1.5.18

          Hit http://joomla.ubuntu.web/media/system/js/caption.js
          Possible versions based on result: 1.5.17, 1.5.18

          Hit http://joomla.ubuntu.web/media/system/js/openid.js
          Possible versions based on result: 1.5.17, 1.5.18

          Hit http://joomla.ubuntu.web/templates/rhuk_milkyway/css/template.css
          Possible versions based on result: 1.5.17, 1.5.18

          Fingerprinting resulted in:
          1.5.17
          1.5.18

          Best Guess: 1.5.18

http://akeeba.info/ninja
Blind Elephant

        RewriteRule ^ima
                         ges/stories/.*.
                                         (jp(e?g|2)?|png|
       gif|bmp|css|js|s
                        wf|ico)$ - [L]
       RewriteCond %{HT
                        TP_REFERER} .
       RewriteCond %{HT
                        TP_REFERER} !^ht
                                         tps?://(www.)?
       example.com [NC]
      RewriteCond %{RE
                       QUEST_FILENAME}
                                        -f
      RewriteRule .(j
                       p(e?g|2)?|png|gi
                                        f|bmp|css|js|
      swf|ico)$ - [F]




http://akeeba.info/ninja
There are more threats
 Cross-site scripting (XSS)
 Remote file inclusion (RFI)
 Local file inclusion (LFI)
 SQL injection (SQLi)
 Cross-site request forgery (CSRF)
 Brute force password cracking
 Spamming & e-mail harvesting
More protection for you

f re e!                      2 0€ 10€
   The Master                  Admin Tools
    .htaccess                  Professional
http://akeeba.info/master-
                              http://akeeba.info/atpro
         htaccess

                               Use coupon code
                              JOSCAR for 50% off
One more thing...


 security is a
  process
Any questions?
That’s all folks!
Want the slides? http://akeeba.info/security-101

More Related Content

Viewers also liked

язык неба и земли,
язык неба и земли,язык неба и земли,
язык неба и земли,AlenaMihaylovna
 
DIPLOMA - young artists 2016
DIPLOMA - young artists 2016DIPLOMA - young artists 2016
DIPLOMA - young artists 2016Silvia Floares
 
Fat cat distr._master
Fat cat distr._masterFat cat distr._master
Fat cat distr._masterevtech
 
2009-02-18 Driving Action in Textbook Affordability (ACCCA Conference)
2009-02-18 Driving Action in Textbook Affordability (ACCCA Conference)2009-02-18 Driving Action in Textbook Affordability (ACCCA Conference)
2009-02-18 Driving Action in Textbook Affordability (ACCCA Conference)Nicole Allen
 
Activity 1
Activity 1Activity 1
Activity 1izadat
 
Tanjaouiates au Rallye Aicha des Gazelles
Tanjaouiates au Rallye Aicha des GazellesTanjaouiates au Rallye Aicha des Gazelles
Tanjaouiates au Rallye Aicha des GazellesSarah
 
Campaña Anti Tabaco
Campaña Anti TabacoCampaña Anti Tabaco
Campaña Anti Tabacospereirac
 
MFLA Launch
MFLA LaunchMFLA Launch
MFLA Launchcloud786
 
Azimut Yacht Club - May 2011 Issue - Azimut Yacht Brokerage & Charter
Azimut Yacht Club - May 2011 Issue - Azimut Yacht Brokerage & CharterAzimut Yacht Club - May 2011 Issue - Azimut Yacht Brokerage & Charter
Azimut Yacht Club - May 2011 Issue - Azimut Yacht Brokerage & CharterAzimut Yacht Club
 
School health webinar june 6th life secure draft 6.2.11 presentation
School health webinar june 6th   life secure draft 6.2.11 presentationSchool health webinar june 6th   life secure draft 6.2.11 presentation
School health webinar june 6th life secure draft 6.2.11 presentationLifeSecure
 
Contents page analysis
Contents page analysisContents page analysis
Contents page analysisyumm
 
albummostra
albummostraalbummostra
albummostraMRBJPA
 
AWWA/WEF Student Chapter Presentation
AWWA/WEF Student Chapter PresentationAWWA/WEF Student Chapter Presentation
AWWA/WEF Student Chapter PresentationZachary Collins
 

Viewers also liked (19)

Tokio,japon
Tokio,japonTokio,japon
Tokio,japon
 
язык неба и земли,
язык неба и земли,язык неба и земли,
язык неба и земли,
 
DIPLOMA - young artists 2016
DIPLOMA - young artists 2016DIPLOMA - young artists 2016
DIPLOMA - young artists 2016
 
Fat cat distr._master
Fat cat distr._masterFat cat distr._master
Fat cat distr._master
 
2009-02-18 Driving Action in Textbook Affordability (ACCCA Conference)
2009-02-18 Driving Action in Textbook Affordability (ACCCA Conference)2009-02-18 Driving Action in Textbook Affordability (ACCCA Conference)
2009-02-18 Driving Action in Textbook Affordability (ACCCA Conference)
 
Activity 1
Activity 1Activity 1
Activity 1
 
Superlative
SuperlativeSuperlative
Superlative
 
Tanjaouiates au Rallye Aicha des Gazelles
Tanjaouiates au Rallye Aicha des GazellesTanjaouiates au Rallye Aicha des Gazelles
Tanjaouiates au Rallye Aicha des Gazelles
 
Campaña Anti Tabaco
Campaña Anti TabacoCampaña Anti Tabaco
Campaña Anti Tabaco
 
MFLA Launch
MFLA LaunchMFLA Launch
MFLA Launch
 
Azimut Yacht Club - May 2011 Issue - Azimut Yacht Brokerage & Charter
Azimut Yacht Club - May 2011 Issue - Azimut Yacht Brokerage & CharterAzimut Yacht Club - May 2011 Issue - Azimut Yacht Brokerage & Charter
Azimut Yacht Club - May 2011 Issue - Azimut Yacht Brokerage & Charter
 
School health webinar june 6th life secure draft 6.2.11 presentation
School health webinar june 6th   life secure draft 6.2.11 presentationSchool health webinar june 6th   life secure draft 6.2.11 presentation
School health webinar june 6th life secure draft 6.2.11 presentation
 
Ion Gaina
Ion GainaIon Gaina
Ion Gaina
 
Comun.masa.rot
Comun.masa.rotComun.masa.rot
Comun.masa.rot
 
Comenius
ComeniusComenius
Comenius
 
Contents page analysis
Contents page analysisContents page analysis
Contents page analysis
 
albummostra
albummostraalbummostra
albummostra
 
AWWA/WEF Student Chapter Presentation
AWWA/WEF Student Chapter PresentationAWWA/WEF Student Chapter Presentation
AWWA/WEF Student Chapter Presentation
 
профессии
профессиипрофессии
профессии
 

Recently uploaded

Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 

Recently uploaded (20)

Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 

JaB11 - Joomla! Security 101

  • 1. Joomla! Security 101 What to do before disaster strikes http://akeeba.info/security-101
  • 2. Hi, I’m Nicholas Dionysopoulos and I bet you can’t pronounce my last name http://akeeba.info/me
  • 3. What is site security? And what Chuck Norris has to do with anything?!
  • 4. Security is about... making it harder to infiltrate, not making it impossible
  • 5. How do you do that? What stands between your site and hackers?
  • 6. Security comes in layers Incoming request Firewall Web Server (Global) Web Server (.htaccess) Joomla! Extensions
  • 7. Security comes in layers Incoming request Always managed by your host Firewall Web Server (Global) Web Server (.htaccess) Joomla! Extensions
  • 8. Security comes in layers Incoming request Firewall mod_security, suPHP, … Web Server (Global) Web Server (.htaccess) Joomla! Extensions
  • 9. Security comes in layers Incoming request Firewall Web Server (Global) The most basic protection Web Server (.htaccess) Joomla! Extensions
  • 10. Security comes in layers Incoming request Firewall Web Server (Global) Web Server (.htaccess) Basic filtering Joomla! Extensions
  • 11. Security comes in layers Incoming request Firewall Web Server (Global) Web Server (.htaccess) Joomla! These are ultimately responsible! Extensions
  • 12. Security comes in layers Incoming request Firewall Web Server (Global) Web Server (.htaccess) Joomla! Extensions
  • 13. Our scope today Incoming request Firewall Web Server (Global) Web Server (.htaccess) Joomla! Extensions
  • 14. The basics What we’re supposed to do and rarely do it
  • 15. Frequent, tested backups Would you jump off a plane without a parachute? http://akeeba.info/backup
  • 16. Update, yesterday Yesterday’s code is tomorrow’s hack http://akeeba.info/basic-security
  • 17. Protect your backend The login is not enough
  • 18. 777: The number of the beast Permissions are doors; don’t leave them open http://akeeba.info/777
  • 19. Sensible permissions Ask your host to enable suPHP or Apache’s mod_itk Site root 0755 or 0700 Directories 0755 Files 0644 If you “must” use 0777 (don’t!) protect with .htaccess: order deny, allow deny from all
  • 20. Don’t be a sitting duck It’s duck season!
  • 21. Mind your prefix Nobody wants to be a jos_ http://akeeba.info/prefix
  • 22. 62 reasons to fire your Super Administrator or 42, depending on Joomla! version... http://akeeba.info/62-reasons
  • 23. Security Kung-Fu You can’t kill a Ninja http://akeeba.info/ninja
  • 24. Visual fingerprinting Seeing is believing and then some tm pl= offl ine tp =1 http://akeeba.info/ninja template =ja_purity
  • 25. Visual fingerprinting RewriteCond %{QU ERY_STRING} (^| &)tmpl=(componen t|system) [NC] RewriteRule .* - [L] RewriteCond %{QU ERY_STRING} (^|& )t(p|emplate| mpl)= [NC] RewriteRule .* - [F] http://akeeba.info/ninja
  • 26. PHP has a big mouth and that’s not water cooler gossip! http://akeeba.info/ninja
  • 27. PHP has a big mouth http://akeeba.info/ninja
  • 28. PHP has a big mouth RewriteCond %{QU ERY_STRING} =PH P[a-f0-9]{8}-[a- f0-9]{4}-[a-f0-9 ]{4}-[a-f0-9]{4} -[a-f0-9]{12} [NC] RewriteRule .* - [F] http://akeeba.info/ninja
  • 29. Blind Elephant Meet your supervillain http://akeeba.info/ninja
  • 31. Blind Elephant nicholas@teapot:~/blindelephant$ ./BlindElephant.py mysite.com joomla Loaded /home/nicholas/projects/3rdparty/blindelephant/trunk/src/build/lib.linux-x86_64-2.6/blindelephant/ dbs/joomla.pkl with 33 versions, 3696 differentiating paths, and 122 version groups. Starting BlindElephant fingerprint for version of joomla at http://joomla.ubuntu.web Hit http://joomla.ubuntu.web/media/system/js/validate.js Possible versions based on result: 1.5.17, 1.5.18 Hit http://joomla.ubuntu.web/includes/js/joomla.javascript.js Possible versions based on result: 1.5.17, 1.5.18 Hit http://joomla.ubuntu.web/media/system/js/caption.js Possible versions based on result: 1.5.17, 1.5.18 Hit http://joomla.ubuntu.web/media/system/js/openid.js Possible versions based on result: 1.5.17, 1.5.18 Hit http://joomla.ubuntu.web/templates/rhuk_milkyway/css/template.css Possible versions based on result: 1.5.17, 1.5.18 Fingerprinting resulted in: 1.5.17 1.5.18 Best Guess: 1.5.18 http://akeeba.info/ninja
  • 32. Blind Elephant RewriteRule ^ima ges/stories/.*. (jp(e?g|2)?|png| gif|bmp|css|js|s wf|ico)$ - [L] RewriteCond %{HT TP_REFERER} . RewriteCond %{HT TP_REFERER} !^ht tps?://(www.)? example.com [NC] RewriteCond %{RE QUEST_FILENAME} -f RewriteRule .(j p(e?g|2)?|png|gi f|bmp|css|js| swf|ico)$ - [F] http://akeeba.info/ninja
  • 33. There are more threats Cross-site scripting (XSS) Remote file inclusion (RFI) Local file inclusion (LFI) SQL injection (SQLi) Cross-site request forgery (CSRF) Brute force password cracking Spamming & e-mail harvesting
  • 34. More protection for you f re e! 2 0€ 10€ The Master Admin Tools .htaccess Professional http://akeeba.info/master- http://akeeba.info/atpro htaccess Use coupon code JOSCAR for 50% off
  • 35. One more thing... security is a process
  • 38. Want the slides? http://akeeba.info/security-101

Editor's Notes

  1. Scratches the surface\nImperative everyone follows this advice\n\nNext: Me\n
  2. 30-y.o. Mech Engineer turned web dev\nInto PHP for > 10 years\nLead dev of Akeeba Backup and Admin Tools\n\nNext: Basic Security\n
  3. What is it?\nIs it Chuck Norris on your site?\nMaking site unhackable?\n
  4. Make it harder, not impossible\n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. Everyone knows these things have to be done\nWe rarely do them because we’re bored\n\nNext: Backups\n
  18. Use Akeeba Backup or any other tool for at least daily backups\nTest restore backups every week or after installing a new release\n\nNext: Updates\n
  19. Always update on the same day\nKeep an eye on JVEL\nSubscribe to ahead warning service like SalvusAlerting\n\nNext: backend protection\n
  20. Password-protect administrator\nAdd secret key to administrator (jSecure, Admin Tools Professional, etc)\n\nNext: 777\n
  21. Why 0777 is a bad idea (hack from the inside)\nSane perms on next slide\n\nNext: perms\n
  22. Use suPHP/mod_itk if possible\nRoot 0755 / 0700 (disables 0777)\nDirs 0755, Files 0644\nYou never “must” use 0777. If you do, use .htaccess\n\nNext: sitting duck\n
  23. Default Joomla! settings = sitting duck\nIt’s duck hunting season; you don’t want to be a duck\n\nNext: prefix\n
  24. Prefix has nothing to do with telephony\nDefault jos_ table prefix is evil\nUse something random; use Admin Tools for easy change\nDanger, Will Robinson: some extensions might break\n\nNext: Super Admin ID\n
  25. Default SA ID is 62/42. Used in direct SQLi attacks.\nDo not just create a new user, equally unsafe.\nCreate a “low ID” user; use Admin Tools\n\nNext: Ninja!\n
  26. How the big boys deal with security\nSome tips are over the top\nYou can never be too paranoid w/ security\n\nNext: Visual fingerprinting\n
  27. Appending parameters can reveal too much\nUsed to identify your site as a Joomla! site = potential target\nSecurity through obscurity; not THE solution, but it helps\n\nNext: solution\n
  28. These rules in my Master .htaccess\n\nNext: PHP has a big mouth\n
  29. Appending parameters can reveal too much\nUsed to identify your PHP version\nCan deliver non-Joomla! specific exploits\n\nNext: demonstration\n
  30. This is what it looks like\nEach version has a different image!\n\nNext: solution\n
  31. These rules are in my master .htaccess\n\nNext: Blind Elephant\n
  32. No, you’re not going to the circus; or a safari.\nA blind elephant is after you and will stomp you.\nSee for yourself! (next slide)\n\nNext: BlindElephant run\n
  33. Typical blind elephant run\nIt’s not the only fingerprinting script\nThey’re moderately to very accurate\n\nNext: solution\n
  34. These rules are in my master .htaccess\n\nNext: More protection\n
  35. \n
  36. My master .htaccess is free, reqs expert knowledge, no support\nATPro is easier for site builders, has docs, support\n\nNext: security is a process\n
  37. It’s not fire and forget. You have to work on it continuously as your site evolves.\n\nNext: questions\n
  38. Ask your questions!\n\nNext: the end\n
  39. Thank you for listening\nVisit the URL for the slides in PDF format\n\nTHE END\n
  40. Thank you for listening\nVisit the URL for the slides in PDF format\n\nTHE END\n