49
Magento Security Best Practices Best practises and tools to improve the overall security of your Magento shops Anna Völkl / @rescueAnn #mm17de, Anna Völkl / @rescueAnn

Magento Security Best Practises - MM17DE

Embed Size (px)

Citation preview

Page 1: Magento Security Best Practises - MM17DE

Magento Security Best PracticesBest practises and tools to improve the overall security of your Magento shopsAnna Völkl / @rescueAnn

#mm17de, Anna Völkl / @rescueAnn

Page 2: Magento Security Best Practises - MM17DE

Anna Völkl! Lead Magento Developer! E-CONOMIX! Wels & Linz / Austria@rescueAnn

#mm17de, Anna Völkl / @rescueAnn

Page 3: Magento Security Best Practises - MM17DE

http://bouk.co/blog/hacking-developers/http://extractdata.club

#mm17de, Anna Völkl / @rescueAnn

Page 4: Magento Security Best Practises - MM17DE

Who is responsible for security?"I didn't know it had to be secure..."

#mm17de, Anna Völkl / @rescueAnn

Page 5: Magento Security Best Practises - MM17DE

Source: Zend - The State of PHP in 2017#mm17de, Anna Völkl / @rescueAnn

Page 6: Magento Security Best Practises - MM17DE

Magento Security Best Practises! https://magento.com/security! Sign up for Magento security alerts

• Be prepared

#mm17de, Anna Völkl / @rescueAnn

Page 7: Magento Security Best Practises - MM17DE

Magento Security Best Practises! https://magento.com/security! Sign up for Magento security alerts

• Be prepared• Patch early &• Use magereport.com

#mm17de, Anna Völkl / @rescueAnn

Page 8: Magento Security Best Practises - MM17DE

Magento Security Best Practises! https://magento.com/security! Sign up for Magento security alerts

• Be prepared• Patch early• Use magereport.com• Monitor for Signs of Attack

#mm17de, Anna Völkl / @rescueAnn

Page 9: Magento Security Best Practises - MM17DE

Magento Security Scan• very detailed report about security of a Magento shop• not public• Beta will begin in early June• multiple testing cycles throughout the summer• possible release in Q3-Q4 2017

Infos: ! [email protected]#mm17de, Anna Völkl / @rescueAnn

Page 10: Magento Security Best Practises - MM17DE

Recommended Extensions IPasswords & Login!

#mm17de, Anna Völkl / @rescueAnn

Page 11: Magento Security Best Practises - MM17DE

Recommended Extensions IPasswords & Login• EW_NativePasswords

#mm17de, Anna Völkl / @rescueAnn

Page 12: Magento Security Best Practises - MM17DE

Recommended Extensions IPasswords & Login• EW_NativePasswords• MageHackDay_TwoFactorAuth

#mm17de, Anna Völkl / @rescueAnn

Page 13: Magento Security Best Practises - MM17DE

Recommended Extensions IPasswords & Login• EW_NativePasswords• MageHackDay_TwoFactorAuth• BranchLabs_AdminPasswordStrength

#mm17de, Anna Völkl / @rescueAnn

Page 14: Magento Security Best Practises - MM17DE

Recommended Extensions IPasswords & Login• EW_NativePasswords• MageHackDay_TwoFactorAuth• BranchLabs_AdminPasswordStrength• Shopliebe_PasswordStrength

#mm17de, Anna Völkl / @rescueAnn

Page 15: Magento Security Best Practises - MM17DE

Recommended Extensions IPasswords & Login• EW_NativePasswords• MageHackDay_TwoFactorAuth• BranchLabs_AdminPasswordStrength• Shopliebe_PasswordStrength• Ikonoshirt_Pbkdf2

#mm17de, Anna Völkl / @rescueAnn

Page 16: Magento Security Best Practises - MM17DE

Recommended Extensions IIConfiguration & Monitoring!

#mm17de, Anna Völkl / @rescueAnn

Page 17: Magento Security Best Practises - MM17DE

Recommended Extensions IIConfiguration & Monitoring• Ikonoshirt_StrictTransportSecurity

#mm17de, Anna Völkl / @rescueAnn

Page 18: Magento Security Best Practises - MM17DE

Recommended Extensions IIConfiguration & Monitoring• Ikonoshirt_StrictTransportSecurity• ET_IpSecurity

#mm17de, Anna Völkl / @rescueAnn

Page 19: Magento Security Best Practises - MM17DE

Recommended Extensions IIConfiguration & Monitoring• Ikonoshirt_StrictTransportSecurity• ET_IpSecurity• FireGento_AdminMonitoring

#mm17de, Anna Völkl / @rescueAnn

Page 20: Magento Security Best Practises - MM17DE

Recommended Extensions IIConfiguration & Monitoring• Ikonoshirt_StrictTransportSecurity• ET_IpSecurity• FireGento_AdminMonitoring• Nexcessnet_Alarmbell

#mm17de, Anna Völkl / @rescueAnn

Page 21: Magento Security Best Practises - MM17DE

Recommended Extensions IIConfiguration & Monitoring• Ikonoshirt_StrictTransportSecurity• ET_IpSecurity• FireGento_AdminMonitoring• Nexcessnet_Alarmbell• Mhauri_Slack / Moogento_SlackCommerce

#mm17de, Anna Völkl / @rescueAnn

Page 22: Magento Security Best Practises - MM17DE

Recommended Extensions for M2!

#mm17de, Anna Völkl / @rescueAnn

Page 23: Magento Security Best Practises - MM17DE

Recommended Extensions for M2• creaminternet/module-secure-passwords

#mm17de, Anna Völkl / @rescueAnn

Page 24: Magento Security Best Practises - MM17DE

Recommended Extensions for M2• creaminternet/module-secure-passwords• Git Status Security Report

#mm17de, Anna Völkl / @rescueAnn

Page 25: Magento Security Best Practises - MM17DE

Recommended Extensions for M2• creaminternet/module-secure-passwords• Git Status Security Report• MageSpecialist SecuritySuite

• Two Factor Auth, User lockout, reCaptcha, Admin IP restriction, Digest Auth

#mm17de, Anna Völkl / @rescueAnn

Page 26: Magento Security Best Practises - MM17DE

Who has access to your code?You.Your colleague.Your company.Your GitLab Server Server.An external developer.GitHub/BitbucketYour CodeClimate Integration.Your build/deployment tools.#mm17de, Anna Völkl / @rescueAnn

Page 27: Magento Security Best Practises - MM17DE

#mm17de, Anna Völkl / @rescueAnn

Page 28: Magento Security Best Practises - MM17DE

Isolate Development from Productionreduce unwanted errors,improve security

#mm17de, Anna Völkl / @rescueAnn

Page 29: Magento Security Best Practises - MM17DE

Dev vs. Testing/Staging vs. Production

#mm17de, Anna Völkl / @rescueAnn

Page 30: Magento Security Best Practises - MM17DE

No keys in your code, put them in settings files.Don't add the settings files (esp. production) into your repo.

#mm17de, Anna Völkl / @rescueAnn

Page 31: Magento Security Best Practises - MM17DE

#mm17de, Anna Völkl / @rescueAnn

Page 32: Magento Security Best Practises - MM17DE

#mm17de, Anna Völkl / @rescueAnn

Page 33: Magento Security Best Practises - MM17DE

Database dumps IBecause dumping big databases is boring

#mm17de, Anna Völkl / @rescueAnn

Page 34: Magento Security Best Practises - MM17DE

Remove log data$ n98-magerun.phar db:dump --strip="@stripped"

Available:@log, @dataflowtemp, @stripped

See: n98-magerun Stripped Database Dumps

#mm17de, Anna Völkl / @rescueAnn

Page 35: Magento Security Best Practises - MM17DE

Database dumps IIBecause you don't need thousands of orders, customers and logs in your dev-environment

#mm17de, Anna Völkl / @rescueAnn

Page 36: Magento Security Best Practises - MM17DE

Remove sales and customer data$ n98-magerun.phar db:dump --strip="@development"

Available:@log, @dataflowtemp, @stripped, @sales, @customers, @trade, @development

See: n98-magerun Stripped Database Dumps

#mm17de, Anna Völkl / @rescueAnn

Page 37: Magento Security Best Practises - MM17DE

Use an environment configuration toolBecause accidentally using the wrong environment is embarrassing

#mm17de, Anna Völkl / @rescueAnn

Page 38: Magento Security Best Practises - MM17DE

Environment Configuration• LimeSoda_EnvironmentConfiguration• n98-magerun Script• Cti_MagentoConfigurator• HarrisStreet ImpEx

#mm17de, Anna Völkl / @rescueAnn

Page 39: Magento Security Best Practises - MM17DE

Code analysis• CodeClimate• SensioLabs Insight• Scrutinizer

#mm17de, Anna Völkl / @rescueAnn

Page 40: Magento Security Best Practises - MM17DE

GrumPHPA PHP code-quality tool• Tests running via git hooks• improve codebase• write better code following best

practises

• Extra packages like sensiolabs/security-checker

! https://github.com/phpro/grumphp

#mm17de, Anna Völkl / @rescueAnn

Page 41: Magento Security Best Practises - MM17DE

#mm17de, Anna Völkl / @rescueAnn

Page 42: Magento Security Best Practises - MM17DE

Security advisorieshttps://github.com/FriendsOfPHP/security-advisories

Checking for Vulnerabilities• Upload composer.lock to https://security.sensiolabs.org• Use web service (curl)

• Use CLI tool php checker security:check composer.lock

#mm17de, Anna Völkl / @rescueAnn

Page 43: Magento Security Best Practises - MM17DE

Magento Malware Scannerwget git.io/mwscan.txtgrep -Erlf mwscan.txt /path/to/magento

https://github.com/gwillem/magento-malware-scanner

#mm17de, Anna Völkl / @rescueAnn

Page 44: Magento Security Best Practises - MM17DE

Magento Project Mess Detector

https://github.com/AOEpeople/mpmd#mm17de, Anna Völkl / @rescueAnn

Page 45: Magento Security Best Practises - MM17DE

Admin password cracking

#mm17de, Anna Völkl / @rescueAnn

Page 46: Magento Security Best Practises - MM17DE

Warnings on HTTP websites in Google Chrome 62As part of Google's quest to compel all websites to use the more secure HTTPS protocol, Chrome 62 will flash more warnings when you visit HTTP sites. A few months ago, Chrome 56 (rightly) started labeling unencrypted sites as "not secure" right next to their URLs in the address line if they're asking for passwords and credit card details.— engadget.com

! More Info#mm17de, Anna Völkl / @rescueAnn

Page 47: Magento Security Best Practises - MM17DE

To do! Read & apply Magento Security Best Practises! Sign up for Magento security alerts! Test & check your code and settings! Full HTTPS! Follow @piotrekkaminski, @gwillem, @_Talesh, @pete_cags, @PeterJaap, @Fabian_ikono, @RicTempesta

#mm17de, Anna Völkl / @rescueAnn

Page 48: Magento Security Best Practises - MM17DE

[email protected]/avoelkl

#mm17de, Anna Völkl / @rescueAnn

Page 49: Magento Security Best Practises - MM17DE

#mm17de, Anna Völkl / @rescueAnn