SlideShare une entreprise Scribd logo
1  sur  57
Hardening Drupal setup
 DrupalCamp Helsinki 27.9.2011
          Tero Alén
Backgrounds
CTO at Zeeland Group which is 5th biggest marketing company in Finland
Focus on Symfony and Drupal
Zeeland Group has team of 10 developers who has backgrounds in IT
Used Drupal from version 4
Agenda
Why should I care?
Know your enemies
Principles of security
Hardening your server
Hardening you Drupal
Why should I care
We don’t process money so we are not interesting target for crackers
Some possible uses for random websites
  Defacing
  Spreading malware for your visitors
  Using your box for spam delivery
Why should I care
We don’t process money so we are not interesting target for crackers
Some possible uses for random websites
  Defacing
  Spreading malware for your visitors
  Using your box for spam delivery
Why should I care
We don’t process money so we are not interesting target for crackers
Some possible uses for random websites
Why should I care
We don’t process money so we are not interesting target for crackers
Some possible uses for random websites
  Defacing
Why should I care
We don’t process money so we are not interesting target for crackers
Some possible uses for random websites
  Defacing
  Spreading malware for your visitors
Why should I care
We don’t process money so we are not interesting target for crackers
Some possible uses for random websites
  Defacing
  Spreading malware for your visitors
  Using your box for spam delivery
How they do it?
Common vulnerabilities: XSS, SQL injection, remote file inclusion, etc
  See more from OWASP - Open Web Application Security Project
Include (malware) code to page via XSS or SQL injection
Upload PHP shell via remote file inclusion or insecure file upload
Upload spam script via remote file inclusion or insecure file upload
Lot of other ways which you have hard to even imagine
Basics first
Keep it simple
Run only services which you really need




                                          Keep it simple
Run only services which you really need




                                           Enable only modules/extension you need (from Apache, PHP and Drupal)




                                          Keep it simple
Run only services which you really need




                                              Enable only modules/extension you need (from Apache, PHP and Drupal)




                                            Keep it simple




            Every new application in stack is new possibility for exploitation
Using phpMyAdmin?
/PMA2005/scripts/setup.php:
2
Time(s)                   /phpMyAdmin‐2.6.0‐rc3/scripts/setup.php:
1
Time(s)     /phpmy‐admin/scripts/setup.php:
2
Time(s)
/admin/phpmyadmin/scripts/setup.php:
1
Time(s)          /phpMyAdmin‐2.6.1‐pl1/scripts/setup.php:
2
Time(s)     /phpmyadmin/scripts/setup.php:
2
Time(s)
/admin/pma/scripts/setup.php:
2
Time(s)                 /phpMyAdmin‐2.6.1‐pl2/scripts/setup.php:
2
Time(s)     /phpmyadmin1/scripts/setup.php:
2
Time(s)
/admin/scripts/setup.php:
2
Time(s)                     /phpMyAdmin‐2.6.1‐pl3/scripts/setup.php:
1
Time(s)     /phpmyadmin2/scripts/setup.php:
2
Time(s)
/admm/scripts/setup.php:
2
Time(s)                      /phpMyAdmin‐2.6.1‐rc1/scripts/setup.php:
1
Time(s)     /pma/scripts/setup.php:
1
Time(s)
/admn/scripts/setup.php:
2
Time(s)                      /phpMyAdmin‐2.6.1/scripts/setup.php:
2
Time(s)         /pma2005/scripts/setup.php:
2
Time(s)
/databaseadmin/scripts/setup.php:
1
Time(s)             /phpMyAdmin‐2.6.2‐beta1/scripts/setup.php:
1
Time(s)   /scripts/setup.php:
2
Time(s)
/db/scripts/setup.php:
2
Time(s)                        /phpMyAdmin‐2.6.2‐pl1/scripts/setup.php:
2
Time(s)     /sqlmanager/scripts/setup.php:
2
Time(s)
/dbadmin/scripts/setup.php:
2
Time(s)                   /phpMyAdmin‐2.6.2‐rc1/scripts/setup.php:
1
Time(s)     /sqlweb/scripts/setup.php:
2
Time(s)
/myadmin/scripts/setup.php:
2
Time(s)                   /phpMyAdmin‐2.6.2/scripts/setup.php:
1
Time(s)         /typo3/phpmyadmin/scripts/setup.php:
1
Time(s)
/mysql‐admin/scripts/setup.php:
2
Time(s)               /phpMyAdmin‐2.6.3‐pl1/scripts/setup.php:
1
Time(s)     /web/scripts/setup.php:
1
Time(s)
/mysql/scripts/setup.php:
2
Time(s)                     /phpMyAdmin‐2.6.3‐rc1/scripts/setup.php:
2
Time(s)     /webadmin/scripts/setup.php:
2
Time(s)
/mysqladmin/scripts/setup.php:
4
Time(s)                /phpMyAdmin‐2.6.3/scripts/setup.php:
3
Time(s)         /webdb/scripts/setup.php:
1
Time(s)
/mysqlmanager/scripts/setup.php:
2
Time(s)              /phpMyAdmin‐2.6.4‐pl1/scripts/setup.php:
2
Time(s)     /websql/scripts/setup.php:
4
Time(s)
/p/m/a/scripts/setup.php:
2
Time(s)                     /phpMyAdmin‐2.6.4‐pl2/scripts/setup.php:
1
Time(s)     /xampp/phpmyadmin/scripts/setup.php:
2
Time(s)
/php‐my‐admin/scripts/setup.php:
4
Time(s)              /phpMyAdmin‐2.6.4‐pl3/scripts/setup.php:
1
Time(s)
/php‐myadmin/scripts/setup.php:
2
Time(s)               /phpMyAdmin‐2.6.4‐pl4/scripts/setup.php:
2
Time(s)
/phpMyAdmin‐2.2.3/scripts/setup.php:
2
Time(s)          /phpMyAdmin‐2.6.4‐rc1/scripts/setup.php:
2
Time(s)
/phpMyAdmin‐2.2.6/scripts/setup.php:
2
Time(s)          /phpMyAdmin‐2.6.4/scripts/setup.php:
2
Time(s)
/phpMyAdmin‐2.5.1/scripts/setup.php:
2
Time(s)          /phpMyAdmin‐2.7.0‐beta1/scripts/setup.php:
1
Time(s)
/phpMyAdmin‐2.5.4/scripts/setup.php:
2
Time(s)          /phpMyAdmin‐2.7.0‐pl1/scripts/setup.php:
2
Time(s)
/phpMyAdmin‐2.5.5‐pl1/scripts/setup.php:
2
Time(s)      /phpMyAdmin‐2.7.0‐pl2/scripts/setup.php:
1
Time(s)
/phpMyAdmin‐2.5.5‐rc1/scripts/setup.php:
2
Time(s)      /phpMyAdmin‐2.7.0‐rc1/scripts/setup.php:
1
Time(s)
/phpMyAdmin‐2.5.5‐rc2/scripts/setup.php:
1
Time(s)      /phpMyAdmin‐2.7.0/scripts/setup.php:
2
Time(s)
/phpMyAdmin‐2.5.5/scripts/setup.php:
1
Time(s)          /phpMyAdmin‐2.8.0‐beta1/scripts/setup.php:
2
Time(s)
/phpMyAdmin‐2.5.6‐rc1/scripts/setup.php:
1
Time(s)      /phpMyAdmin‐2.8.0‐rc1/scripts/setup.php:
1
Time(s)
/phpMyAdmin‐2.5.6‐rc2/scripts/setup.php:
1
Time(s)      /phpMyAdmin‐2.8.0‐rc2/scripts/setup.php:
1
Time(s)
/phpMyAdmin‐2.5.6/scripts/setup.php:
2
Time(s)          /phpMyAdmin‐2.8.0.1/scripts/setup.php:
2
Time(s)
/phpMyAdmin‐2.5.7‐pl1/scripts/setup.php:
1
Time(s)      /phpMyAdmin‐2.8.0.2/scripts/setup.php:
2
Time(s)
/phpMyAdmin‐2.5.7/scripts/setup.php:
2
Time(s)          /phpMyAdmin‐2.8.0.3/scripts/setup.php:
1
Time(s)
/phpMyAdmin‐2.6.0‐alpha/scripts/setup.php:
2
Time(s)    /phpMyAdmin‐2.8.0.4/scripts/setup.php:
2
Time(s)
/phpMyAdmin‐2.6.0‐alpha2/scripts/setup.php:
1
Time(s)   /phpMyAdmin‐2.8.0/scripts/setup.php:
1
Time(s)
/phpMyAdmin‐2.6.0‐beta1/scripts/setup.php:
2
Time(s)    /phpMyAdmin‐2.8.1‐rc1/scripts/setup.php:
2
Time(s)
/phpMyAdmin‐2.6.0‐beta2/scripts/setup.php:
1
Time(s)    /phpMyAdmin‐2.8.1/scripts/setup.php:
1
Time(s)
/phpMyAdmin‐2.6.0‐pl2/scripts/setup.php:
2
Time(s)      /phpMyAdmin‐2.8.2/scripts/setup.php:
2
Time(s)
/phpMyAdmin‐2.6.0‐pl3/scripts/setup.php:
1
Time(s)      /phpMyAdmin‐2/scripts/setup.php:
2
Time(s)
/phpMyAdmin‐2.6.0‐rc1/scripts/setup.php:
1
Time(s)      /phpMyAdmin/scripts/setup.php:
3
Time(s)
/phpMyAdmin‐2.6.0‐rc2/scripts/setup.php:
2
Time(s)      /phpadmin/scripts/setup.php:
2
Time(s)
                                                        /phpmanager/scripts/setup.php:
2
Time(s)
Use checklists
Hardening Apache
Restrict information leakage
Restrict information leakage


       ServerTokens Prod
       ServerSignature Off
Load only modules really needed
Load only modules really needed


#LoadModule ldap_module modules/mod_ldap.so
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
#LoadModule include_module modules/mod_include.so
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
Start by restrictive rules
Start by restrictive rules


    <Directory / >
      Options None
      AllowOverride None
      Order allow,deny
    </Directory>
Hardening PHP
Use Suhosin
(both patch and extension)
Disable url_fopen
Don’t expose PHP
Don’t expose PHP


 expose_php = Off
Enable open_basedir
Do NOT display errors in any circumstances on production
Disable ‘dangerous’ functions
fpassthru




   Disable ‘dangerous’ functions
crack_*

fpassthru




   Disable ‘dangerous’ functions
crack_*

fpassthru                 psock-functions




   Disable ‘dangerous’ functions
crack_*

fpassthru                 psock-functions



                                        ini-functions
   Disable ‘dangerous’ functions
crack_*

fpassthru                 psock-functions



                                        ini-functions
   Disable ‘dangerous’ functions




                             shell_exec, exec, passthru, system
crack_*

fpassthru                        psock-functions



                                               ini-functions
   Disable ‘dangerous’ functions




                                    shell_exec, exec, passthru, system


            chown,hell-exec,dl
crack_*

                                   fpassthru                             psock-functions



                                                                                       ini-functions
                                      Disable ‘dangerous’ functions


popen, pclose, proc_open, proc_nice, proc_terminate, proc_get_status,proc_close

                                                                            shell_exec, exec, passthru, system


                                               chown,hell-exec,dl
crack_*

                                   fpassthru                             psock-functions


            posix_*
                                                                                       ini-functions
                                      Disable ‘dangerous’ functions


popen, pclose, proc_open, proc_nice, proc_terminate, proc_get_status,proc_close

                                                                            shell_exec, exec, passthru, system


                                               chown,hell-exec,dl
Hardening Drupal
Enable update module!
Make Drupal’s fingerprint less visible by removing files not needed
Make Drupal’s fingerprint less visible by removing files not needed


                         *.txt
                         install.php
Make Drupal’s fingerprint less visible by removing files not needed


                         *.txt            CHANGELOG.txt will tell if you lack by updates
                         install.php
Allow web server user to write only sites/[default]/files
Allow web server user to write only sites/[default]/files


Disable PHP interpreter if you haven’t enable .htaccess (as reccomened for Apache hardening)
Allow web server user to write only sites/[default]/files


Disable PHP interpreter if you haven’t enable .htaccess (as reccomened for Apache hardening)




SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006
Options None
Options +FollowSymLinks
Some security modules
Secure Pages
  redirect important pages to SSL version
Security Review
  one kind of checklist
Login Security or Flood Control
  login attempt limiter
Password Policy
  password constraints
Salt (for Drupal 6)
  salt password hashes
Some paranoia is good when selecting modules.
       Use only well known modules.
Some further reading
National Security Agency Hardening Guides
http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml

OWASP - Open Web Application Security Project
https://www.owasp.org/index.php/Main_Page

Drupal Security Advisories
http://drupal.org/security
Thank you


                  Tero Alén
            tero.alen@zeeland.fi
            twitter.com/teroalen

Contenu connexe

Tendances

SecZone 2011: Scrubbing SAP clean with SOAP
SecZone 2011: Scrubbing SAP clean with SOAPSecZone 2011: Scrubbing SAP clean with SOAP
SecZone 2011: Scrubbing SAP clean with SOAPChris John Riley
 
Ein Stall voller Trüffelschweine - (PHP-)Profiling-Tools im Überblick
Ein Stall voller Trüffelschweine - (PHP-)Profiling-Tools im ÜberblickEin Stall voller Trüffelschweine - (PHP-)Profiling-Tools im Überblick
Ein Stall voller Trüffelschweine - (PHP-)Profiling-Tools im Überblickrenebruns
 
Erp 2.50 openbravo environment installation openbravo-wiki
Erp 2.50 openbravo environment installation   openbravo-wikiErp 2.50 openbravo environment installation   openbravo-wiki
Erp 2.50 openbravo environment installation openbravo-wikiyaranusa
 
Training Slides: Basics 106: Tungsten Dashboard Overview, Installation and Ar...
Training Slides: Basics 106: Tungsten Dashboard Overview, Installation and Ar...Training Slides: Basics 106: Tungsten Dashboard Overview, Installation and Ar...
Training Slides: Basics 106: Tungsten Dashboard Overview, Installation and Ar...Continuent
 
Spraykatz installation & basic usage
Spraykatz installation & basic usageSpraykatz installation & basic usage
Spraykatz installation & basic usageSylvain Cortes
 
Datagrids with Symfony 2, Backbone and Backgrid
Datagrids with Symfony 2, Backbone and BackgridDatagrids with Symfony 2, Backbone and Backgrid
Datagrids with Symfony 2, Backbone and Backgrideugenio pombi
 
Introduction httpClient on Java11 / Java11時代のHTTPアクセス再入門
Introduction httpClient on Java11 / Java11時代のHTTPアクセス再入門Introduction httpClient on Java11 / Java11時代のHTTPアクセス再入門
Introduction httpClient on Java11 / Java11時代のHTTPアクセス再入門tamtam180
 
php drupal mysql MAMP
php drupal mysql MAMPphp drupal mysql MAMP
php drupal mysql MAMPJing Cheng
 
Alexander Reelsen - Seccomp for Developers
Alexander Reelsen - Seccomp for DevelopersAlexander Reelsen - Seccomp for Developers
Alexander Reelsen - Seccomp for DevelopersDevDay Dresden
 
Usage Note of Apache Thrift for C++ Java PHP Languages
Usage Note of Apache Thrift for C++ Java PHP LanguagesUsage Note of Apache Thrift for C++ Java PHP Languages
Usage Note of Apache Thrift for C++ Java PHP LanguagesWilliam Lee
 
The state of PHPUnit
The state of PHPUnitThe state of PHPUnit
The state of PHPUnitEdorian
 
Rampant.tech.press.using.the.oracle.oradebug.utility.debugging.oracle.applica...
Rampant.tech.press.using.the.oracle.oradebug.utility.debugging.oracle.applica...Rampant.tech.press.using.the.oracle.oradebug.utility.debugging.oracle.applica...
Rampant.tech.press.using.the.oracle.oradebug.utility.debugging.oracle.applica...raviranchi02
 
PHP & Performance
PHP & PerformancePHP & Performance
PHP & Performance毅 吕
 
How to Install JAVA 7 (JDK 7u79) on CentOS_RHEL 7_6_5
How to Install JAVA 7 (JDK 7u79) on CentOS_RHEL 7_6_5How to Install JAVA 7 (JDK 7u79) on CentOS_RHEL 7_6_5
How to Install JAVA 7 (JDK 7u79) on CentOS_RHEL 7_6_5TUSHAR VARSHNEY
 
On UnQLite
On UnQLiteOn UnQLite
On UnQLitecharsbar
 
Usage Note of PlayCap
Usage Note of PlayCapUsage Note of PlayCap
Usage Note of PlayCapWilliam Lee
 

Tendances (20)

SecZone 2011: Scrubbing SAP clean with SOAP
SecZone 2011: Scrubbing SAP clean with SOAPSecZone 2011: Scrubbing SAP clean with SOAP
SecZone 2011: Scrubbing SAP clean with SOAP
 
Ein Stall voller Trüffelschweine - (PHP-)Profiling-Tools im Überblick
Ein Stall voller Trüffelschweine - (PHP-)Profiling-Tools im ÜberblickEin Stall voller Trüffelschweine - (PHP-)Profiling-Tools im Überblick
Ein Stall voller Trüffelschweine - (PHP-)Profiling-Tools im Überblick
 
Erp 2.50 openbravo environment installation openbravo-wiki
Erp 2.50 openbravo environment installation   openbravo-wikiErp 2.50 openbravo environment installation   openbravo-wiki
Erp 2.50 openbravo environment installation openbravo-wiki
 
Php version 5
Php version 5Php version 5
Php version 5
 
Training Slides: Basics 106: Tungsten Dashboard Overview, Installation and Ar...
Training Slides: Basics 106: Tungsten Dashboard Overview, Installation and Ar...Training Slides: Basics 106: Tungsten Dashboard Overview, Installation and Ar...
Training Slides: Basics 106: Tungsten Dashboard Overview, Installation and Ar...
 
Spraykatz installation & basic usage
Spraykatz installation & basic usageSpraykatz installation & basic usage
Spraykatz installation & basic usage
 
Datagrids with Symfony 2, Backbone and Backgrid
Datagrids with Symfony 2, Backbone and BackgridDatagrids with Symfony 2, Backbone and Backgrid
Datagrids with Symfony 2, Backbone and Backgrid
 
Introduction httpClient on Java11 / Java11時代のHTTPアクセス再入門
Introduction httpClient on Java11 / Java11時代のHTTPアクセス再入門Introduction httpClient on Java11 / Java11時代のHTTPアクセス再入門
Introduction httpClient on Java11 / Java11時代のHTTPアクセス再入門
 
php drupal mysql MAMP
php drupal mysql MAMPphp drupal mysql MAMP
php drupal mysql MAMP
 
Alexander Reelsen - Seccomp for Developers
Alexander Reelsen - Seccomp for DevelopersAlexander Reelsen - Seccomp for Developers
Alexander Reelsen - Seccomp for Developers
 
Usage Note of Apache Thrift for C++ Java PHP Languages
Usage Note of Apache Thrift for C++ Java PHP LanguagesUsage Note of Apache Thrift for C++ Java PHP Languages
Usage Note of Apache Thrift for C++ Java PHP Languages
 
The state of PHPUnit
The state of PHPUnitThe state of PHPUnit
The state of PHPUnit
 
Rampant.tech.press.using.the.oracle.oradebug.utility.debugging.oracle.applica...
Rampant.tech.press.using.the.oracle.oradebug.utility.debugging.oracle.applica...Rampant.tech.press.using.the.oracle.oradebug.utility.debugging.oracle.applica...
Rampant.tech.press.using.the.oracle.oradebug.utility.debugging.oracle.applica...
 
Php version 7
Php version 7Php version 7
Php version 7
 
PHP & Performance
PHP & PerformancePHP & Performance
PHP & Performance
 
Learning Dtrace
Learning DtraceLearning Dtrace
Learning Dtrace
 
How to Install JAVA 7 (JDK 7u79) on CentOS_RHEL 7_6_5
How to Install JAVA 7 (JDK 7u79) on CentOS_RHEL 7_6_5How to Install JAVA 7 (JDK 7u79) on CentOS_RHEL 7_6_5
How to Install JAVA 7 (JDK 7u79) on CentOS_RHEL 7_6_5
 
On UnQLite
On UnQLiteOn UnQLite
On UnQLite
 
Usage Note of PlayCap
Usage Note of PlayCapUsage Note of PlayCap
Usage Note of PlayCap
 
My name is Trinidad
My name is TrinidadMy name is Trinidad
My name is Trinidad
 

En vedette

Tietoturvahyökkaysyritysten havaitseminen ja seuranta
Tietoturvahyökkaysyritysten havaitseminen ja seurantaTietoturvahyökkaysyritysten havaitseminen ja seuranta
Tietoturvahyökkaysyritysten havaitseminen ja seurantaOtto Kekäläinen
 
Miten teen tuloksellista B2B-markkinointia sosiaalisessa mediassa
Miten teen tuloksellista B2B-markkinointia sosiaalisessa mediassaMiten teen tuloksellista B2B-markkinointia sosiaalisessa mediassa
Miten teen tuloksellista B2B-markkinointia sosiaalisessa mediassaZeeland Family
 
6 Step Content Strategy
6 Step Content Strategy6 Step Content Strategy
6 Step Content StrategyZeeland Family
 
Marketing trends for 2012
Marketing trends for 2012Marketing trends for 2012
Marketing trends for 2012Zeeland Family
 
Sosiaalisen median sovellukset ja teknologiatrendit -aamiaistilaisuus Turussa...
Sosiaalisen median sovellukset ja teknologiatrendit -aamiaistilaisuus Turussa...Sosiaalisen median sovellukset ja teknologiatrendit -aamiaistilaisuus Turussa...
Sosiaalisen median sovellukset ja teknologiatrendit -aamiaistilaisuus Turussa...Zeeland Family
 
Sisällön merkitys tulevaisuudessa
Sisällön merkitys tulevaisuudessaSisällön merkitys tulevaisuudessa
Sisällön merkitys tulevaisuudessaZeeland Family
 
Social Media Slingshot
Social Media SlingshotSocial Media Slingshot
Social Media SlingshotZeeland Family
 
Sosiaalisen median aamiainen
Sosiaalisen median aamiainenSosiaalisen median aamiainen
Sosiaalisen median aamiainenZeeland Family
 
Facebook-tutkimus / Pelot
Facebook-tutkimus / PelotFacebook-tutkimus / Pelot
Facebook-tutkimus / PelotZeeland Family
 
How to widen your content reach?
How to widen your content reach?How to widen your content reach?
How to widen your content reach?Zeeland Family
 
Melt - materiaalinen ja immateriaalinen tuotteistus
Melt - materiaalinen ja immateriaalinen tuotteistusMelt - materiaalinen ja immateriaalinen tuotteistus
Melt - materiaalinen ja immateriaalinen tuotteistusZeeland Family
 
Sisältöaamiainen 020514
Sisältöaamiainen   020514Sisältöaamiainen   020514
Sisältöaamiainen 020514Zeeland Family
 
Zeeland dynamic content board (BETA)
Zeeland dynamic content board (BETA)Zeeland dynamic content board (BETA)
Zeeland dynamic content board (BETA)Zeeland Family
 
Kysely: SOSIAALINEN MEDIA JA VAIKUTTAJAT SYKSY 2013 - #ztalkshow
Kysely: SOSIAALINEN MEDIA JA VAIKUTTAJAT SYKSY 2013 - #ztalkshowKysely: SOSIAALINEN MEDIA JA VAIKUTTAJAT SYKSY 2013 - #ztalkshow
Kysely: SOSIAALINEN MEDIA JA VAIKUTTAJAT SYKSY 2013 - #ztalkshowZeeland Family
 

En vedette (19)

Tietoturvahyökkaysyritysten havaitseminen ja seuranta
Tietoturvahyökkaysyritysten havaitseminen ja seurantaTietoturvahyökkaysyritysten havaitseminen ja seuranta
Tietoturvahyökkaysyritysten havaitseminen ja seuranta
 
Miten teen tuloksellista B2B-markkinointia sosiaalisessa mediassa
Miten teen tuloksellista B2B-markkinointia sosiaalisessa mediassaMiten teen tuloksellista B2B-markkinointia sosiaalisessa mediassa
Miten teen tuloksellista B2B-markkinointia sosiaalisessa mediassa
 
6 Step Content Strategy
6 Step Content Strategy6 Step Content Strategy
6 Step Content Strategy
 
Finnet someseminaari
Finnet someseminaariFinnet someseminaari
Finnet someseminaari
 
Content Consigliere
Content ConsigliereContent Consigliere
Content Consigliere
 
Marketing trends for 2012
Marketing trends for 2012Marketing trends for 2012
Marketing trends for 2012
 
Sosiaalisen median sovellukset ja teknologiatrendit -aamiaistilaisuus Turussa...
Sosiaalisen median sovellukset ja teknologiatrendit -aamiaistilaisuus Turussa...Sosiaalisen median sovellukset ja teknologiatrendit -aamiaistilaisuus Turussa...
Sosiaalisen median sovellukset ja teknologiatrendit -aamiaistilaisuus Turussa...
 
Piiri2012 Saarikko
Piiri2012 SaarikkoPiiri2012 Saarikko
Piiri2012 Saarikko
 
Sisällön merkitys tulevaisuudessa
Sisällön merkitys tulevaisuudessaSisällön merkitys tulevaisuudessa
Sisällön merkitys tulevaisuudessa
 
Social Media Slingshot
Social Media SlingshotSocial Media Slingshot
Social Media Slingshot
 
If-järjestotilaisuus
If-järjestotilaisuusIf-järjestotilaisuus
If-järjestotilaisuus
 
Sosiaalisen median aamiainen
Sosiaalisen median aamiainenSosiaalisen median aamiainen
Sosiaalisen median aamiainen
 
Facebook-tutkimus / Pelot
Facebook-tutkimus / PelotFacebook-tutkimus / Pelot
Facebook-tutkimus / Pelot
 
How to widen your content reach?
How to widen your content reach?How to widen your content reach?
How to widen your content reach?
 
Melt - materiaalinen ja immateriaalinen tuotteistus
Melt - materiaalinen ja immateriaalinen tuotteistusMelt - materiaalinen ja immateriaalinen tuotteistus
Melt - materiaalinen ja immateriaalinen tuotteistus
 
Sisältöaamiainen 020514
Sisältöaamiainen   020514Sisältöaamiainen   020514
Sisältöaamiainen 020514
 
Zeeland dynamic content board (BETA)
Zeeland dynamic content board (BETA)Zeeland dynamic content board (BETA)
Zeeland dynamic content board (BETA)
 
Some-klinikan alustus
Some-klinikan alustusSome-klinikan alustus
Some-klinikan alustus
 
Kysely: SOSIAALINEN MEDIA JA VAIKUTTAJAT SYKSY 2013 - #ztalkshow
Kysely: SOSIAALINEN MEDIA JA VAIKUTTAJAT SYKSY 2013 - #ztalkshowKysely: SOSIAALINEN MEDIA JA VAIKUTTAJAT SYKSY 2013 - #ztalkshow
Kysely: SOSIAALINEN MEDIA JA VAIKUTTAJAT SYKSY 2013 - #ztalkshow
 

Similaire à Hardening Drupal setup

Art of Web Backdoor - Pichaya Morimoto
Art of Web Backdoor - Pichaya MorimotoArt of Web Backdoor - Pichaya Morimoto
Art of Web Backdoor - Pichaya MorimotoPichaya Morimoto
 
2012 coscup - Build your PHP application on Heroku
2012 coscup - Build your PHP application on Heroku2012 coscup - Build your PHP application on Heroku
2012 coscup - Build your PHP application on Herokuronnywang_tw
 
Performance Profiling in Rust
Performance Profiling in RustPerformance Profiling in Rust
Performance Profiling in RustInfluxData
 
How to go the extra mile on monitoring
How to go the extra mile on monitoringHow to go the extra mile on monitoring
How to go the extra mile on monitoringTiago Simões
 
OSCP Preparation Guide @ Infosectrain
OSCP Preparation Guide @ InfosectrainOSCP Preparation Guide @ Infosectrain
OSCP Preparation Guide @ InfosectrainInfosecTrain
 
Node.js basics
Node.js basicsNode.js basics
Node.js basicsBen Lin
 
How I hack on puppet modules
How I hack on puppet modulesHow I hack on puppet modules
How I hack on puppet modulesKris Buytaert
 
PHP Backdoor: The rise of the vuln
PHP Backdoor: The rise of the vulnPHP Backdoor: The rise of the vuln
PHP Backdoor: The rise of the vulnSandro Zaccarini
 
Ruby and Rails Packaging to Production
Ruby and Rails Packaging to ProductionRuby and Rails Packaging to Production
Ruby and Rails Packaging to ProductionFabio Kung
 
Test-Driven Puppet Development - PuppetConf 2014
Test-Driven Puppet Development - PuppetConf 2014Test-Driven Puppet Development - PuppetConf 2014
Test-Driven Puppet Development - PuppetConf 2014Puppet
 
Lean Php Presentation
Lean Php PresentationLean Php Presentation
Lean Php PresentationAlan Pinstein
 
Vagrant for real codemotion (moar tips! ;-))
Vagrant for real codemotion (moar tips! ;-))Vagrant for real codemotion (moar tips! ;-))
Vagrant for real codemotion (moar tips! ;-))Michele Orselli
 
Virtualization and automation of library software/machines + Puppet
Virtualization and automation of library software/machines + PuppetVirtualization and automation of library software/machines + Puppet
Virtualization and automation of library software/machines + PuppetOmar Reygaert
 
Php through the eyes of a hoster phpbnl11
Php through the eyes of a hoster phpbnl11Php through the eyes of a hoster phpbnl11
Php through the eyes of a hoster phpbnl11Combell NV
 
How to Design a Great API (using flask) [ploneconf2017]
How to Design a Great API (using flask) [ploneconf2017]How to Design a Great API (using flask) [ploneconf2017]
How to Design a Great API (using flask) [ploneconf2017]Devon Bernard
 
A General Purpose Docker Image for PHP
A General Purpose Docker Image for PHPA General Purpose Docker Image for PHP
A General Purpose Docker Image for PHPRobert Lemke
 
Writing & Sharing Great Modules - Puppet Camp Boston
Writing & Sharing Great Modules - Puppet Camp BostonWriting & Sharing Great Modules - Puppet Camp Boston
Writing & Sharing Great Modules - Puppet Camp BostonPuppet
 

Similaire à Hardening Drupal setup (20)

Art of Web Backdoor - Pichaya Morimoto
Art of Web Backdoor - Pichaya MorimotoArt of Web Backdoor - Pichaya Morimoto
Art of Web Backdoor - Pichaya Morimoto
 
2012 coscup - Build your PHP application on Heroku
2012 coscup - Build your PHP application on Heroku2012 coscup - Build your PHP application on Heroku
2012 coscup - Build your PHP application on Heroku
 
PHP Development Tools
PHP  Development ToolsPHP  Development Tools
PHP Development Tools
 
Performance Profiling in Rust
Performance Profiling in RustPerformance Profiling in Rust
Performance Profiling in Rust
 
How to go the extra mile on monitoring
How to go the extra mile on monitoringHow to go the extra mile on monitoring
How to go the extra mile on monitoring
 
OSCP Preparation Guide @ Infosectrain
OSCP Preparation Guide @ InfosectrainOSCP Preparation Guide @ Infosectrain
OSCP Preparation Guide @ Infosectrain
 
Node.js basics
Node.js basicsNode.js basics
Node.js basics
 
PHP selber bauen
PHP selber bauenPHP selber bauen
PHP selber bauen
 
How I hack on puppet modules
How I hack on puppet modulesHow I hack on puppet modules
How I hack on puppet modules
 
PHP Backdoor: The rise of the vuln
PHP Backdoor: The rise of the vulnPHP Backdoor: The rise of the vuln
PHP Backdoor: The rise of the vuln
 
Ruby and Rails Packaging to Production
Ruby and Rails Packaging to ProductionRuby and Rails Packaging to Production
Ruby and Rails Packaging to Production
 
Test-Driven Puppet Development - PuppetConf 2014
Test-Driven Puppet Development - PuppetConf 2014Test-Driven Puppet Development - PuppetConf 2014
Test-Driven Puppet Development - PuppetConf 2014
 
Lean Php Presentation
Lean Php PresentationLean Php Presentation
Lean Php Presentation
 
Vagrant for real codemotion (moar tips! ;-))
Vagrant for real codemotion (moar tips! ;-))Vagrant for real codemotion (moar tips! ;-))
Vagrant for real codemotion (moar tips! ;-))
 
Puppi. Puppet strings to the shell
Puppi. Puppet strings to the shellPuppi. Puppet strings to the shell
Puppi. Puppet strings to the shell
 
Virtualization and automation of library software/machines + Puppet
Virtualization and automation of library software/machines + PuppetVirtualization and automation of library software/machines + Puppet
Virtualization and automation of library software/machines + Puppet
 
Php through the eyes of a hoster phpbnl11
Php through the eyes of a hoster phpbnl11Php through the eyes of a hoster phpbnl11
Php through the eyes of a hoster phpbnl11
 
How to Design a Great API (using flask) [ploneconf2017]
How to Design a Great API (using flask) [ploneconf2017]How to Design a Great API (using flask) [ploneconf2017]
How to Design a Great API (using flask) [ploneconf2017]
 
A General Purpose Docker Image for PHP
A General Purpose Docker Image for PHPA General Purpose Docker Image for PHP
A General Purpose Docker Image for PHP
 
Writing & Sharing Great Modules - Puppet Camp Boston
Writing & Sharing Great Modules - Puppet Camp BostonWriting & Sharing Great Modules - Puppet Camp Boston
Writing & Sharing Great Modules - Puppet Camp Boston
 

Plus de Zeeland Family

Sosiaaliset objektit ja sisältömarkkinointi
Sosiaaliset objektit ja sisältömarkkinointiSosiaaliset objektit ja sisältömarkkinointi
Sosiaaliset objektit ja sisältömarkkinointiZeeland Family
 
MAINEEN SUOJELU SOSIAALISEN MEDIAN AIKAKAUDELLA - Susanna Paloheimo
MAINEEN SUOJELU SOSIAALISEN MEDIAN AIKAKAUDELLA - Susanna PaloheimoMAINEEN SUOJELU SOSIAALISEN MEDIAN AIKAKAUDELLA - Susanna Paloheimo
MAINEEN SUOJELU SOSIAALISEN MEDIAN AIKAKAUDELLA - Susanna PaloheimoZeeland Family
 
Resistance is Futile: About the changes caused by digitalization @ eMBAForum ...
Resistance is Futile: About the changes caused by digitalization @ eMBAForum ...Resistance is Futile: About the changes caused by digitalization @ eMBAForum ...
Resistance is Futile: About the changes caused by digitalization @ eMBAForum ...Zeeland Family
 
Social object based content strategy
Social object based content strategySocial object based content strategy
Social object based content strategyZeeland Family
 
Social Media is Dead - the first wave of introducing the new Social Objects ...
Social Media is Dead - the first wave of  introducing the new Social Objects ...Social Media is Dead - the first wave of  introducing the new Social Objects ...
Social Media is Dead - the first wave of introducing the new Social Objects ...Zeeland Family
 
Kunta markkinointiviestintätoimiston kumppanina
Kunta markkinointiviestintätoimiston kumppaninaKunta markkinointiviestintätoimiston kumppanina
Kunta markkinointiviestintätoimiston kumppaninaZeeland Family
 
Ilmarinen Procomin lehtipäivässä
Ilmarinen Procomin lehtipäivässäIlmarinen Procomin lehtipäivässä
Ilmarinen Procomin lehtipäivässäZeeland Family
 
Markkinoinnin karu tila
Markkinoinnin karu tilaMarkkinoinnin karu tila
Markkinoinnin karu tilaZeeland Family
 
Uusiutuvan markkinointiviestinnän vaatimukset, Osa II
Uusiutuvan markkinointiviestinnän vaatimukset, Osa IIUusiutuvan markkinointiviestinnän vaatimukset, Osa II
Uusiutuvan markkinointiviestinnän vaatimukset, Osa IIZeeland Family
 
Markkinoinnin tehokkuus
Markkinoinnin tehokkuusMarkkinoinnin tehokkuus
Markkinoinnin tehokkuusZeeland Family
 
Markkinoinnin analytiikka
Markkinoinnin analytiikkaMarkkinoinnin analytiikka
Markkinoinnin analytiikkaZeeland Family
 
Digitaalinen palvelumuotoilu - miksi välittää? (MVV 2011)
Digitaalinen palvelumuotoilu - miksi välittää? (MVV 2011)Digitaalinen palvelumuotoilu - miksi välittää? (MVV 2011)
Digitaalinen palvelumuotoilu - miksi välittää? (MVV 2011)Zeeland Family
 

Plus de Zeeland Family (16)

Sosiaaliset objektit ja sisältömarkkinointi
Sosiaaliset objektit ja sisältömarkkinointiSosiaaliset objektit ja sisältömarkkinointi
Sosiaaliset objektit ja sisältömarkkinointi
 
MAINEEN SUOJELU SOSIAALISEN MEDIAN AIKAKAUDELLA - Susanna Paloheimo
MAINEEN SUOJELU SOSIAALISEN MEDIAN AIKAKAUDELLA - Susanna PaloheimoMAINEEN SUOJELU SOSIAALISEN MEDIAN AIKAKAUDELLA - Susanna Paloheimo
MAINEEN SUOJELU SOSIAALISEN MEDIAN AIKAKAUDELLA - Susanna Paloheimo
 
Content breakfast
Content breakfastContent breakfast
Content breakfast
 
Resistance is Futile: About the changes caused by digitalization @ eMBAForum ...
Resistance is Futile: About the changes caused by digitalization @ eMBAForum ...Resistance is Futile: About the changes caused by digitalization @ eMBAForum ...
Resistance is Futile: About the changes caused by digitalization @ eMBAForum ...
 
Social object based content strategy
Social object based content strategySocial object based content strategy
Social object based content strategy
 
Social Media is Dead - the first wave of introducing the new Social Objects ...
Social Media is Dead - the first wave of  introducing the new Social Objects ...Social Media is Dead - the first wave of  introducing the new Social Objects ...
Social Media is Dead - the first wave of introducing the new Social Objects ...
 
Kunta markkinointiviestintätoimiston kumppanina
Kunta markkinointiviestintätoimiston kumppaninaKunta markkinointiviestintätoimiston kumppanina
Kunta markkinointiviestintätoimiston kumppanina
 
Ilmarinen Procomin lehtipäivässä
Ilmarinen Procomin lehtipäivässäIlmarinen Procomin lehtipäivässä
Ilmarinen Procomin lehtipäivässä
 
E3 strategy
E3 strategyE3 strategy
E3 strategy
 
Markkinoinnin karu tila
Markkinoinnin karu tilaMarkkinoinnin karu tila
Markkinoinnin karu tila
 
Uusiutuvan markkinointiviestinnän vaatimukset, Osa II
Uusiutuvan markkinointiviestinnän vaatimukset, Osa IIUusiutuvan markkinointiviestinnän vaatimukset, Osa II
Uusiutuvan markkinointiviestinnän vaatimukset, Osa II
 
Markkinoinnin tehokkuus
Markkinoinnin tehokkuusMarkkinoinnin tehokkuus
Markkinoinnin tehokkuus
 
Markkinoinnin analytiikka
Markkinoinnin analytiikkaMarkkinoinnin analytiikka
Markkinoinnin analytiikka
 
Social media grid
Social media gridSocial media grid
Social media grid
 
Digitaalinen palvelumuotoilu - miksi välittää? (MVV 2011)
Digitaalinen palvelumuotoilu - miksi välittää? (MVV 2011)Digitaalinen palvelumuotoilu - miksi välittää? (MVV 2011)
Digitaalinen palvelumuotoilu - miksi välittää? (MVV 2011)
 
Everything Changes
Everything ChangesEverything Changes
Everything Changes
 

Dernier

What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 

Dernier (20)

What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 

Hardening Drupal setup

  • 1. Hardening Drupal setup DrupalCamp Helsinki 27.9.2011 Tero Alén
  • 2. Backgrounds CTO at Zeeland Group which is 5th biggest marketing company in Finland Focus on Symfony and Drupal Zeeland Group has team of 10 developers who has backgrounds in IT Used Drupal from version 4
  • 3. Agenda Why should I care? Know your enemies Principles of security Hardening your server Hardening you Drupal
  • 4. Why should I care We don’t process money so we are not interesting target for crackers Some possible uses for random websites Defacing Spreading malware for your visitors Using your box for spam delivery
  • 5. Why should I care We don’t process money so we are not interesting target for crackers Some possible uses for random websites Defacing Spreading malware for your visitors Using your box for spam delivery
  • 6. Why should I care We don’t process money so we are not interesting target for crackers Some possible uses for random websites
  • 7. Why should I care We don’t process money so we are not interesting target for crackers Some possible uses for random websites Defacing
  • 8. Why should I care We don’t process money so we are not interesting target for crackers Some possible uses for random websites Defacing Spreading malware for your visitors
  • 9. Why should I care We don’t process money so we are not interesting target for crackers Some possible uses for random websites Defacing Spreading malware for your visitors Using your box for spam delivery
  • 10.
  • 11. How they do it? Common vulnerabilities: XSS, SQL injection, remote file inclusion, etc See more from OWASP - Open Web Application Security Project Include (malware) code to page via XSS or SQL injection Upload PHP shell via remote file inclusion or insecure file upload Upload spam script via remote file inclusion or insecure file upload Lot of other ways which you have hard to even imagine
  • 13.
  • 15. Run only services which you really need Keep it simple
  • 16. Run only services which you really need Enable only modules/extension you need (from Apache, PHP and Drupal) Keep it simple
  • 17. Run only services which you really need Enable only modules/extension you need (from Apache, PHP and Drupal) Keep it simple Every new application in stack is new possibility for exploitation
  • 18. Using phpMyAdmin? /PMA2005/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.6.0‐rc3/scripts/setup.php:
1
Time(s) /phpmy‐admin/scripts/setup.php:
2
Time(s) /admin/phpmyadmin/scripts/setup.php:
1
Time(s) /phpMyAdmin‐2.6.1‐pl1/scripts/setup.php:
2
Time(s) /phpmyadmin/scripts/setup.php:
2
Time(s) /admin/pma/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.6.1‐pl2/scripts/setup.php:
2
Time(s) /phpmyadmin1/scripts/setup.php:
2
Time(s) /admin/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.6.1‐pl3/scripts/setup.php:
1
Time(s) /phpmyadmin2/scripts/setup.php:
2
Time(s) /admm/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.6.1‐rc1/scripts/setup.php:
1
Time(s) /pma/scripts/setup.php:
1
Time(s) /admn/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.6.1/scripts/setup.php:
2
Time(s) /pma2005/scripts/setup.php:
2
Time(s) /databaseadmin/scripts/setup.php:
1
Time(s) /phpMyAdmin‐2.6.2‐beta1/scripts/setup.php:
1
Time(s) /scripts/setup.php:
2
Time(s) /db/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.6.2‐pl1/scripts/setup.php:
2
Time(s) /sqlmanager/scripts/setup.php:
2
Time(s) /dbadmin/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.6.2‐rc1/scripts/setup.php:
1
Time(s) /sqlweb/scripts/setup.php:
2
Time(s) /myadmin/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.6.2/scripts/setup.php:
1
Time(s) /typo3/phpmyadmin/scripts/setup.php:
1
Time(s) /mysql‐admin/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.6.3‐pl1/scripts/setup.php:
1
Time(s) /web/scripts/setup.php:
1
Time(s) /mysql/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.6.3‐rc1/scripts/setup.php:
2
Time(s) /webadmin/scripts/setup.php:
2
Time(s) /mysqladmin/scripts/setup.php:
4
Time(s) /phpMyAdmin‐2.6.3/scripts/setup.php:
3
Time(s) /webdb/scripts/setup.php:
1
Time(s) /mysqlmanager/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.6.4‐pl1/scripts/setup.php:
2
Time(s) /websql/scripts/setup.php:
4
Time(s) /p/m/a/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.6.4‐pl2/scripts/setup.php:
1
Time(s) /xampp/phpmyadmin/scripts/setup.php:
2
Time(s) /php‐my‐admin/scripts/setup.php:
4
Time(s) /phpMyAdmin‐2.6.4‐pl3/scripts/setup.php:
1
Time(s) /php‐myadmin/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.6.4‐pl4/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.2.3/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.6.4‐rc1/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.2.6/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.6.4/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.5.1/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.7.0‐beta1/scripts/setup.php:
1
Time(s) /phpMyAdmin‐2.5.4/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.7.0‐pl1/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.5.5‐pl1/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.7.0‐pl2/scripts/setup.php:
1
Time(s) /phpMyAdmin‐2.5.5‐rc1/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.7.0‐rc1/scripts/setup.php:
1
Time(s) /phpMyAdmin‐2.5.5‐rc2/scripts/setup.php:
1
Time(s) /phpMyAdmin‐2.7.0/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.5.5/scripts/setup.php:
1
Time(s) /phpMyAdmin‐2.8.0‐beta1/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.5.6‐rc1/scripts/setup.php:
1
Time(s) /phpMyAdmin‐2.8.0‐rc1/scripts/setup.php:
1
Time(s) /phpMyAdmin‐2.5.6‐rc2/scripts/setup.php:
1
Time(s) /phpMyAdmin‐2.8.0‐rc2/scripts/setup.php:
1
Time(s) /phpMyAdmin‐2.5.6/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.8.0.1/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.5.7‐pl1/scripts/setup.php:
1
Time(s) /phpMyAdmin‐2.8.0.2/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.5.7/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.8.0.3/scripts/setup.php:
1
Time(s) /phpMyAdmin‐2.6.0‐alpha/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.8.0.4/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.6.0‐alpha2/scripts/setup.php:
1
Time(s) /phpMyAdmin‐2.8.0/scripts/setup.php:
1
Time(s) /phpMyAdmin‐2.6.0‐beta1/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.8.1‐rc1/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.6.0‐beta2/scripts/setup.php:
1
Time(s) /phpMyAdmin‐2.8.1/scripts/setup.php:
1
Time(s) /phpMyAdmin‐2.6.0‐pl2/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.8.2/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.6.0‐pl3/scripts/setup.php:
1
Time(s) /phpMyAdmin‐2/scripts/setup.php:
2
Time(s) /phpMyAdmin‐2.6.0‐rc1/scripts/setup.php:
1
Time(s) /phpMyAdmin/scripts/setup.php:
3
Time(s) /phpMyAdmin‐2.6.0‐rc2/scripts/setup.php:
2
Time(s) /phpadmin/scripts/setup.php:
2
Time(s) /phpmanager/scripts/setup.php:
2
Time(s)
  • 19.
  • 21.
  • 24. Restrict information leakage ServerTokens Prod ServerSignature Off
  • 25. Load only modules really needed
  • 26. Load only modules really needed #LoadModule ldap_module modules/mod_ldap.so #LoadModule authnz_ldap_module modules/mod_authnz_ldap.so #LoadModule include_module modules/mod_include.so #LoadModule dav_module modules/mod_dav.so #LoadModule dav_fs_module modules/mod_dav_fs.so
  • 28. Start by restrictive rules <Directory / > Options None AllowOverride None Order allow,deny </Directory>
  • 30. Use Suhosin (both patch and extension)
  • 33. Don’t expose PHP expose_php = Off
  • 35. Do NOT display errors in any circumstances on production
  • 37. fpassthru Disable ‘dangerous’ functions
  • 38. crack_* fpassthru Disable ‘dangerous’ functions
  • 39. crack_* fpassthru psock-functions Disable ‘dangerous’ functions
  • 40. crack_* fpassthru psock-functions ini-functions Disable ‘dangerous’ functions
  • 41. crack_* fpassthru psock-functions ini-functions Disable ‘dangerous’ functions shell_exec, exec, passthru, system
  • 42. crack_* fpassthru psock-functions ini-functions Disable ‘dangerous’ functions shell_exec, exec, passthru, system chown,hell-exec,dl
  • 43. crack_* fpassthru psock-functions ini-functions Disable ‘dangerous’ functions popen, pclose, proc_open, proc_nice, proc_terminate, proc_get_status,proc_close shell_exec, exec, passthru, system chown,hell-exec,dl
  • 44. crack_* fpassthru psock-functions posix_* ini-functions Disable ‘dangerous’ functions popen, pclose, proc_open, proc_nice, proc_terminate, proc_get_status,proc_close shell_exec, exec, passthru, system chown,hell-exec,dl
  • 47.
  • 48. Make Drupal’s fingerprint less visible by removing files not needed
  • 49. Make Drupal’s fingerprint less visible by removing files not needed *.txt install.php
  • 50. Make Drupal’s fingerprint less visible by removing files not needed *.txt CHANGELOG.txt will tell if you lack by updates install.php
  • 51. Allow web server user to write only sites/[default]/files
  • 52. Allow web server user to write only sites/[default]/files Disable PHP interpreter if you haven’t enable .htaccess (as reccomened for Apache hardening)
  • 53. Allow web server user to write only sites/[default]/files Disable PHP interpreter if you haven’t enable .htaccess (as reccomened for Apache hardening) SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006 Options None Options +FollowSymLinks
  • 54. Some security modules Secure Pages redirect important pages to SSL version Security Review one kind of checklist Login Security or Flood Control login attempt limiter Password Policy password constraints Salt (for Drupal 6) salt password hashes
  • 55. Some paranoia is good when selecting modules. Use only well known modules.
  • 56. Some further reading National Security Agency Hardening Guides http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml OWASP - Open Web Application Security Project https://www.owasp.org/index.php/Main_Page Drupal Security Advisories http://drupal.org/security
  • 57. Thank you Tero Alén tero.alen@zeeland.fi twitter.com/teroalen

Notes de l'éditeur

  1. \n
  2. \n
  3. \n
  4. \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. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n