SlideShare a Scribd company logo
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

More Related Content

What's hot

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
Chris 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-wiki
yaranusa
 
Php version 5
Php version 5Php version 5
Php version 5
Mar Rubio Rubio
 
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 usage
Sylvain 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 Backgrid
eugenio 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 Developers
DevDay 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 Languages
William 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 version 7
Php version 7Php version 7
Php version 7
RANVIJAY GAUR
 
PHP & Performance
PHP & PerformancePHP & Performance
PHP & Performance
毅 吕
 
Learning Dtrace
Learning DtraceLearning Dtrace
Learning Dtrace
JeongHun Byeon
 
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 UnQLite
charsbar
 
Usage Note of PlayCap
Usage Note of PlayCapUsage Note of PlayCap
Usage Note of PlayCap
William Lee
 

What's hot (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
 

Viewers also liked

Tietoturvahyökkaysyritysten havaitseminen ja seuranta
Tietoturvahyökkaysyritysten havaitseminen ja seurantaTietoturvahyökkaysyritysten havaitseminen ja seuranta
Tietoturvahyökkaysyritysten havaitseminen ja seuranta
Otto 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 mediassa
Zeeland Family
 
6 Step Content Strategy
6 Step Content Strategy6 Step Content Strategy
6 Step Content Strategy
Zeeland Family
 
Finnet someseminaari
Finnet someseminaariFinnet someseminaari
Finnet someseminaari
Zeeland Family
 
Content Consigliere
Content ConsigliereContent Consigliere
Content Consigliere
Zeeland Family
 
Marketing trends for 2012
Marketing trends for 2012Marketing trends for 2012
Marketing trends for 2012
Zeeland 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
 
Piiri2012 Saarikko
Piiri2012 SaarikkoPiiri2012 Saarikko
Piiri2012 Saarikko
Zeeland Family
 
Sisällön merkitys tulevaisuudessa
Sisällön merkitys tulevaisuudessaSisällön merkitys tulevaisuudessa
Sisällön merkitys tulevaisuudessa
Zeeland Family
 
Social Media Slingshot
Social Media SlingshotSocial Media Slingshot
Social Media Slingshot
Zeeland Family
 
If-järjestotilaisuus
If-järjestotilaisuusIf-järjestotilaisuus
If-järjestotilaisuus
Zeeland Family
 
Sosiaalisen median aamiainen
Sosiaalisen median aamiainenSosiaalisen median aamiainen
Sosiaalisen median aamiainen
Zeeland Family
 
Facebook-tutkimus / Pelot
Facebook-tutkimus / PelotFacebook-tutkimus / Pelot
Facebook-tutkimus / Pelot
Zeeland 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 tuotteistus
Zeeland Family
 
Sisältöaamiainen 020514
Sisältöaamiainen   020514Sisältöaamiainen   020514
Sisältöaamiainen 020514
Zeeland Family
 
Zeeland dynamic content board (BETA)
Zeeland dynamic content board (BETA)Zeeland dynamic content board (BETA)
Zeeland dynamic content board (BETA)Zeeland Family
 
Some-klinikan alustus
Some-klinikan alustusSome-klinikan alustus
Some-klinikan alustus
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 - #ztalkshow
Zeeland Family
 

Viewers also liked (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
 

Similar to 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 Morimoto
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 Herokuronnywang_tw
 
PHP Development Tools
PHP  Development ToolsPHP  Development Tools
PHP Development Tools
Antony Abramchenko
 
Performance Profiling in Rust
Performance Profiling in RustPerformance Profiling in Rust
Performance Profiling in Rust
InfluxData
 
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
Tiago Simões
 
OSCP Preparation Guide @ Infosectrain
OSCP Preparation Guide @ InfosectrainOSCP Preparation Guide @ Infosectrain
OSCP Preparation Guide @ Infosectrain
InfosecTrain
 
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 modules
Kris 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 vuln
Sandro Zaccarini
 
Ruby and Rails Packaging to Production
Ruby and Rails Packaging to ProductionRuby and Rails Packaging to Production
Ruby and Rails Packaging to Production
Fabio Kung
 
Test-Driven Puppet Development - PuppetConf 2014
Test-Driven Puppet Development - PuppetConf 2014Test-Driven Puppet Development - PuppetConf 2014
Test-Driven Puppet Development - PuppetConf 2014
Puppet
 
Lean Php Presentation
Lean Php PresentationLean Php Presentation
Lean Php Presentation
Alan 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
 
Puppi. Puppet strings to the shell
Puppi. Puppet strings to the shellPuppi. Puppet strings to the shell
Puppi. Puppet strings to the shell
Alessandro Franceschi
 
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 PHP
Robert 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 Boston
Puppet
 

Similar to 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
 

More from 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 Paloheimo
Zeeland Family
 
Content breakfast
Content breakfastContent breakfast
Content breakfast
Zeeland 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 strategy
Zeeland 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 kumppanina
Zeeland Family
 
Ilmarinen Procomin lehtipäivässä
Ilmarinen Procomin lehtipäivässäIlmarinen Procomin lehtipäivässä
Ilmarinen Procomin lehtipäivässä
Zeeland Family
 
E3 strategy
E3 strategyE3 strategy
E3 strategy
Zeeland Family
 
Markkinoinnin karu tila
Markkinoinnin karu tilaMarkkinoinnin karu tila
Markkinoinnin karu tila
Zeeland Family
 
Uusiutuvan markkinointiviestinnän vaatimukset, Osa II
Uusiutuvan markkinointiviestinnän vaatimukset, Osa IIUusiutuvan markkinointiviestinnän vaatimukset, Osa II
Uusiutuvan markkinointiviestinnän vaatimukset, Osa II
Zeeland Family
 
Markkinoinnin tehokkuus
Markkinoinnin tehokkuusMarkkinoinnin tehokkuus
Markkinoinnin tehokkuus
Zeeland Family
 
Markkinoinnin analytiikka
Markkinoinnin analytiikkaMarkkinoinnin analytiikka
Markkinoinnin analytiikka
Zeeland Family
 
Social media grid
Social media gridSocial media grid
Social media grid
Zeeland 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
 
Everything Changes
Everything ChangesEverything Changes
Everything Changes
Zeeland Family
 

More from 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
 

Recently uploaded

LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 

Recently uploaded (20)

LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 

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

Editor's Notes

  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