1www.nbs-system.com 1 Magento Security Best practices 2015 Q4 2015 Grow your business safely http://goo.gl/MFpBWS
2www.nbs-system.com 2www.nbs-system.com e-Commerce: the 60% rules • >60% of web traffic is non-human • >60% of attempts to steal databases target e-Commerce sites • >60% of growth for identity theft over three years • A 2012 study showed Retailer websites are at risk 328 days/year • An IP address is scanned around 40 times per day
3www.nbs-system.com 3www.nbs-system.com The triple loot
5www.nbs-system.com 5www.nbs-system.com A different time scale Seconds Minutes Hours Days Weeks Months Years Time between compromising and discovery of it Time between attack launch and compromising Statistics made based on large corporations in 2012 (Verizon Databreach report)
6www.nbs-system.com 6 A *very* bad year www.nbs-system.com
7www.nbs-system.com 7www.nbs-system.com A *very* bad year#@%
8www.nbs-system.com 8www.nbs-system.com It all started with a big #fail (Shoplift)#@%
9www.nbs-system.com 9www.nbs-system.com It all started with a big #fail (RSS orders)#@%
10www.nbs-system.com 10www.nbs-system.com It all started with a big #fail (Magmi)#@%
11www.nbs-system.com 11www.nbs-system.com Other “SUrPrEEses#@%
12www.nbs-system.com 12www.nbs-system.com Magento cache leak#@%
13www.nbs-system.com 13 But there were other before www.nbs-system.com
14www.nbs-system.com 14www.nbs-system.com Did you took care of the previous ones?#@%
15www.nbs-system.com 15www.nbs-system.com Did you took care of the previous ones?#@%
16www.nbs-system.com 16www.nbs-system.com Did you took care of the previous ones?#@% The PayPal / Magento integration flaw (by NBS)
17www.nbs-system.com 17www.nbs-system.com NBS System will release a new vulnerability soon
18www.nbs-system.com 18www.nbs-system.com Or even the one that were not Magento specific?#@%
19www.nbs-system.com 19www.nbs-system.com PHP: two versions behind, really? 88% are outdated and not supported anymore… No security fixes. (and +12% to +40% performances to gain) PHP versions in use, in our parc:
20www.nbs-system.com 20 Easily exploitable things beyond classical vulnerabilities www.nbs-system.com
21www.nbs-system.com 21www.nbs-system.com Magento Support giving dangerous advices • “Chmod 777 your document root…” *REALLY* ? • “Magento is not compatible with Reverse proxies.” *Woot* ? • “Give me your root password so we can look” *NO KIDDING*? • Etc… When Magento support is being creative… Don’t go to a car dealer to fix a bad tooth…
22www.nbs-system.com 22www.nbs-system.com  Leaving your logs accessible, especially Debug one  Leaving payment gateway logs accessible to all  Not hiding Magento, PHP, Apache versions  Use a minimum of unaudited extensions, a lot are BAD  Weak passwords, along with no locking policies are a plague Classical mistakes that cost…
23www.nbs-system.com 23www.nbs-system.com  Leaving import/export scripts, reindexers, crontabs accessible  Try calling pages that load very slowly  Access directly the API to import / export  Etc. Applicative level D.o.S attacks
24www.nbs-system.com 24 Securing Magento Flaws www.nbs-system.com
25www.nbs-system.com 25www.nbs-system.com Securing Magento flaws • Update to versions CE > 1.9 or EE > 1.14.1 • Use PHP 5.6 • Shoplift, Magmi, XML-RPC-XEE : filter the access with a .htaccess file (or an nginx rule)
26www.nbs-system.com 26www.nbs-system.com Securing recent flaws Example with Magmi (using Apache) RewriteCond %{REQUEST_URI} ^/(index.php/)?magmi/ [NC] RewriteCond %{REMOTE_ADDR} !^192.168.0.1 RewriteRule ^(.*)$ http://%{HTTP_HOST}/ [R=302,L] Example with Magmi (using Nginx) location ~* ^/(index.php/)?magmi { allow 192.168.0.1; deny all; location ~* .(php) { include fastcgi_params; } }
27www.nbs-system.com 27www.nbs-system.com Protect your backoffice & updater Example using Apache <Location /wp-admin> AuthType Basic AuthName "Restricted Area" AuthUserFile /etc/apache2/access/htpasswd Require valid-user Order deny,allow Allow from [MY_IP] Satisfy any </Location> Then, just add a user: htpasswd –c /etc/apache2/access/htpasswd [user]
28www.nbs-system.com 28www.nbs-system.com Leveraging native Magento security • Use HTTPS in Backoffice & order tunnels access • Change your backoffice default URL • Do *NOT* use a weak password (no « tommy4242 » is not safe) • Put some limits to number of failed login attempts • Put a password expiration time and change it every 3 months • Enforce use of case sensitive password • Disable email password recovery
29www.nbs-system.com 29 Securing Web application www.nbs-system.com
30www.nbs-system.com 30www.nbs-system.com Organizational security • Get a security review • Keep track of vulnerabilities on Magento ecosystem • Have serious passwords, change them every 3 months • Do not keep informations unless they are needed • Pick a PCI/DSS certified hosting company • Use 3D secure • Keep up to date versions of Magento & PHP
31www.nbs-system.com 31www.nbs-system.com Infrastructure security • Keep a daily backup • Use a WAF, NAXSI is opensource, free and stable • Put rate limits on your Reverse Proxies • Filter your outgoing trafic It’s the job of your managed services provider.
32www.nbs-system.com 32www.nbs-system.com Host level security • Change default backoffice URL • Disable directory indexing • Have correct permissions : file=644, directory=755 • No follow, no index on preprod • Use the best practices mentioned before It’s the job of your managed services provider.
33www.nbs-system.com 33 High end security www.nbs-system.com
34www.nbs-system.com Hardware Operating system Network Applicative stack Database Website Humans Motivating wages Equipe SOC Security trainings Background checks N.A.X.S.I (web application firewall) ReqLimit (Anti applicative DoS) ExecVE killer File Upload checker PHP Suhosin V2 App scan Threadfix virtual patching MySQL Interceptor PHP Suhosin V2 Daemon hardening Anti DDoS Isolated Vlans Firewalling PAX GrSec Watch Folder PHP Malware finder Redundant hardware Redundant datacenters Redundant data storage Redundant telecom uplinks Log central Security Event Manager Flex Dynamic Firewall Ban Commander 9 CerberHost
35www.nbs-system.com Contact Grow your business safely contact@nbs-system.com +33.1.58.56.60.80 www.nbs-system.com Twitter : @nbs_system www.nbs-system.com

Magento security best practices 2015