SlideShare uma empresa Scribd logo
1 de 25
#MM17DE
Pavlo Okhrem
CEO at Elogic Commerce
12 Ways to Improve Magento 2
Security and Performance
OFTOPIC
Your Company logo
#MM17DE
 CEO and Co-Founder at eLogic Commerce
 Vice president of International affairs at
Cluster BIT
 Co-founder and chairman at Chernivtsi IT
CEO Club
 Participant in international business
programs in Sweden and Norway
 Not married
#MM17DE
Performance
1. Environment settings: PHP
2. Job Que
3. DB solutions: Scaling
4. Client side features
5. Advanced caching
6. Images compression, CDN
7. Profiling instruments for code optimization
8. Catalog search optimization
Agenda
Security
9. Permissions
10. Secure workflow/deployment
11. Server side logging configuration
12. Best practices of application configura
for security purposes
#MM17DE
Magento2 Performance tips
#MM17DE
Recommended list of extensions
Sufficient memory_limit 768MB
XDebug adds extra 20% to response time
OpCache with recommended settings:
- Enough memory portion to fit the code [512MB]
- Max_accelerated_files_count [60000]
- Timestamp validation / Consistency checks
Note: Max performance will be achieved only if
OpCache is enabled.
Environment Settings: PHP
php-bcmath
php-cli
php-common
php-gd | php-imagick
php-intl
php-mbstring
php-mcrypt
php-pdo
php-soap
php-xml
#MM17DE
Job Queue
Integration with RabbitMQ.
Available only in Enterprise Edition.
Asynchronus jobs execution
#MM17DE
DB Solutions: Scaling (EE)
Main (Catalog)Main (Catalog)
MasterMaster
Checkout
Master
Order MS
Master
Main
Slave
Catalog
Slave
Checkout
Slave
EAV
Slave
…
Available only in Magento 2
Enterprise Edition
#MM17DE
DB Solutions: Scaling (EE)
Adding a Slave database:
CLI: magento setup:db-schema:add-slave
Moving a separate part to a separate master database:
CLI: magento setup:db-schema:split-quote
CLI: magento setup:db-schema:split-sales
#MM17DE
Configuration: Client side features
Minification (CSS, JS, HTML)
JS resources bundling
Caching of static content
Images compression
CLI: magento catalog:images:resize
#MM17DE
Caching
#MM17DE
Caching
Can be used used as page
cache and session storing
#MM17DE
CDN and image compression
CDN will help you to
deliver content faster.
Reduce images size where possible.
Use JPEG format for catalog pictures.
#MM17DE
Code optimization
Using the Zend Z-Ray, you
can inspect, debug, and
optimize your pages, and
easily add additional
functionality.
#MM17DE
#MM17DE
Catalog search
Magento 2 EE provides the support for
Solr – a robust catalog search engine
option.
Elasticsearch utilizes the RESTful web
interface as well as uses schema-free
JSON documents. Merchants prefer this
search engine, because it offers real-time
search, high scalability, and enterprise-
level performance.
#MM17DE
One more useful thing
#MM17DE
Magento2 Security tips
#MM17DE
Permissions
The owner of the Magento file system: Must have full control (read/write/execute)
of all files and directories.
Must not be the web server user; it should be a different user.
The web server user must have write access to the following files and directories:
var app/etc pub
In addition, the web server's group must own the Magento file system so that the
Magento user (who is in the group) can share access to files with the web server user.
#MM17DE
Permissions
All directories have 770 permissions.
770 permissions give full control (that is, read/write/execute) to the owner and to the
group and no permissions to anyone else.
All files have 660 permissions.
660 permissions mean the owner and the group can read and write but other users
have no permissions.
#MM17DE
Workflow
Limit the access to the production server. Ideally, with the help of CI, so
nobody will have access to the live container
Limit admin access (use different roles)
Only 1 person should have the access to merging commits and deploying
them to the live environment
Purchase extensions from verified extensions providers
#MM17DE
Server logging
Configure the logging in a way that it detects all of the suspicious
activities on your server
Configure the firewall
Use Fail2Ban to ban all of the suspicious activities on your server
#MM17DE
Application configuration
Change the default admin url path
Change the default downloader url path
Use only secure communications protocol (SSH/SFTP/HTTPS)
Use strong, long, and unique passwords, and change them periodically.
Immediately install patches when new security issues are discovered.
#MM17DE
One more thing
Close all of the unnecessary ports on your server
Restrict SSH access by IP
Use password managers like LastPass, PassPack etc to
store password securely
#MM17DE
Useful resources
https://elogic.co/blog/ultimate-magento-performance-guide-nginxhttp2php-7-0-
8/ - How to configure Magento with http/2
https://elogic.co/blog/magento-security-lifehacks/ - Magento security
lifehacks
https://github.com/magento/magento2-zray - Magento2 z-ray plugin
https://www.linkedin.com/pulse/20141210024646-1143212-22-ways-to-
bulletproof-your-magento-security - 22 Ways to bulletproof your magento
security
#MM17DE
Contact me
Email: pavlo@elogic.co
Phone: +38(050)764-1000
Skype: okhrempavlo
LinkedIn: /paulokhrem
Facebook: /puncher

Mais conteúdo relacionado

Mais procurados

PSU Security Conference 2015 - LAPS Presentation
PSU Security Conference 2015 - LAPS PresentationPSU Security Conference 2015 - LAPS Presentation
PSU Security Conference 2015 - LAPS Presentation
Dan Barr
 

Mais procurados (15)

Make WordPress Fly With Virtual Server Hosting - WordCamp Sydney 2014
Make WordPress Fly With Virtual Server Hosting  - WordCamp Sydney 2014Make WordPress Fly With Virtual Server Hosting  - WordCamp Sydney 2014
Make WordPress Fly With Virtual Server Hosting - WordCamp Sydney 2014
 
How to install and configure lamp (linux,apache mysql mariadb,php) with jooml...
How to install and configure lamp (linux,apache mysql mariadb,php) with jooml...How to install and configure lamp (linux,apache mysql mariadb,php) with jooml...
How to install and configure lamp (linux,apache mysql mariadb,php) with jooml...
 
Microsoft LAPS - Local Administrator Password Solution
Microsoft LAPS - Local Administrator Password SolutionMicrosoft LAPS - Local Administrator Password Solution
Microsoft LAPS - Local Administrator Password Solution
 
How to Monitor IIS
How to Monitor IISHow to Monitor IIS
How to Monitor IIS
 
PHP Training Session 7
PHP Training Session 7PHP Training Session 7
PHP Training Session 7
 
Iis it-slideshares.blogspot.com
Iis it-slideshares.blogspot.comIis it-slideshares.blogspot.com
Iis it-slideshares.blogspot.com
 
WordPress MU 101
WordPress MU 101WordPress MU 101
WordPress MU 101
 
Nginx [engine x] and you (and WordPress)
Nginx [engine x] and you (and WordPress)Nginx [engine x] and you (and WordPress)
Nginx [engine x] and you (and WordPress)
 
10 Steps to Secure Wordpress Sites
10 Steps to Secure Wordpress Sites10 Steps to Secure Wordpress Sites
10 Steps to Secure Wordpress Sites
 
L2 tp i-psec vpn on windows server 2016 step by step
L2 tp i-psec vpn on windows server 2016 step by stepL2 tp i-psec vpn on windows server 2016 step by step
L2 tp i-psec vpn on windows server 2016 step by step
 
WordCamp Finland 2015 - WordPress Security
WordCamp Finland 2015 - WordPress SecurityWordCamp Finland 2015 - WordPress Security
WordCamp Finland 2015 - WordPress Security
 
PSU Security Conference 2015 - LAPS Presentation
PSU Security Conference 2015 - LAPS PresentationPSU Security Conference 2015 - LAPS Presentation
PSU Security Conference 2015 - LAPS Presentation
 
Iscsi storage in windows server 2016 step by step
Iscsi storage in windows server 2016 step by stepIscsi storage in windows server 2016 step by step
Iscsi storage in windows server 2016 step by step
 
Getting Started with CloudScript
Getting Started with CloudScriptGetting Started with CloudScript
Getting Started with CloudScript
 
My SQL Replication and Scaling
My SQL Replication and ScalingMy SQL Replication and Scaling
My SQL Replication and Scaling
 

Semelhante a 12 Ways to Improve Magento 2 Security and Performance

Application depolyment
Application depolymentApplication depolyment
Application depolyment
shriikantL
 
MagentoECG-UsingRedisasaCacheBackendinMagento
MagentoECG-UsingRedisasaCacheBackendinMagentoMagentoECG-UsingRedisasaCacheBackendinMagento
MagentoECG-UsingRedisasaCacheBackendinMagento
Kirill Morozov
 
Optimizing Magento Performance with Zend Server
Optimizing Magento Performance with Zend ServerOptimizing Magento Performance with Zend Server
Optimizing Magento Performance with Zend Server
varien
 

Semelhante a 12 Ways to Improve Magento 2 Security and Performance (20)

Zendcon scaling magento
Zendcon scaling magentoZendcon scaling magento
Zendcon scaling magento
 
Joomla! Performance on Steroids
Joomla! Performance on SteroidsJoomla! Performance on Steroids
Joomla! Performance on Steroids
 
Application depolyment
Application depolymentApplication depolyment
Application depolyment
 
How to Improve Magento Performance | Tips to Speed up Magento eCommerce Site/...
How to Improve Magento Performance | Tips to Speed up Magento eCommerce Site/...How to Improve Magento Performance | Tips to Speed up Magento eCommerce Site/...
How to Improve Magento Performance | Tips to Speed up Magento eCommerce Site/...
 
Lonestar php scalingmagento
Lonestar php scalingmagentoLonestar php scalingmagento
Lonestar php scalingmagento
 
S903 palla
S903 pallaS903 palla
S903 palla
 
MagentoECG-UsingRedisasaCacheBackendinMagento
MagentoECG-UsingRedisasaCacheBackendinMagentoMagentoECG-UsingRedisasaCacheBackendinMagento
MagentoECG-UsingRedisasaCacheBackendinMagento
 
SAP Extended ECM by OpenText 10.5 - What's New?
SAP Extended ECM by OpenText 10.5 - What's New?SAP Extended ECM by OpenText 10.5 - What's New?
SAP Extended ECM by OpenText 10.5 - What's New?
 
Optimizing Magento Performance with Zend Server
Optimizing Magento Performance with Zend ServerOptimizing Magento Performance with Zend Server
Optimizing Magento Performance with Zend Server
 
Ecira CMS script
Ecira CMS scriptEcira CMS script
Ecira CMS script
 
Headless Magento - Meet Magento Poland 2017
Headless Magento - Meet Magento Poland 2017Headless Magento - Meet Magento Poland 2017
Headless Magento - Meet Magento Poland 2017
 
Beyond the Basics 1: Storage Engines
Beyond the Basics 1: Storage Engines	Beyond the Basics 1: Storage Engines
Beyond the Basics 1: Storage Engines
 
High performance PHP: Scaling and getting the most out of your infrastructure
High performance PHP: Scaling and getting the most out of your infrastructureHigh performance PHP: Scaling and getting the most out of your infrastructure
High performance PHP: Scaling and getting the most out of your infrastructure
 
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
AD113  Speed Up Your Applications w/ Nginx and PageSpeedAD113  Speed Up Your Applications w/ Nginx and PageSpeed
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
 
Profiling PHP with Xdebug / Webgrind
Profiling PHP with Xdebug / WebgrindProfiling PHP with Xdebug / Webgrind
Profiling PHP with Xdebug / Webgrind
 
21 05-2018
21 05-201821 05-2018
21 05-2018
 
MongoDB World 2018: Managing a Mission Critical eCommerce Application on Mong...
MongoDB World 2018: Managing a Mission Critical eCommerce Application on Mong...MongoDB World 2018: Managing a Mission Critical eCommerce Application on Mong...
MongoDB World 2018: Managing a Mission Critical eCommerce Application on Mong...
 
Securing Your Enterprise Web Apps with MongoDB Enterprise
Securing Your Enterprise Web Apps with MongoDB Enterprise Securing Your Enterprise Web Apps with MongoDB Enterprise
Securing Your Enterprise Web Apps with MongoDB Enterprise
 
Magento 2.2: It's Coming Right For You! | Colorado Magento Meetup
Magento 2.2: It's Coming Right For You! | Colorado Magento MeetupMagento 2.2: It's Coming Right For You! | Colorado Magento Meetup
Magento 2.2: It's Coming Right For You! | Colorado Magento Meetup
 
How to Set iRidium Server?
How to Set iRidium Server?How to Set iRidium Server?
How to Set iRidium Server?
 

Mais de Elogic Magento Development

Mais de Elogic Magento Development (16)

Magento Technical guidelines
Magento Technical guidelinesMagento Technical guidelines
Magento Technical guidelines
 
Миграция кода с Magento 1 на Magento 2
Миграция кода с Magento 1 на Magento 2Миграция кода с Magento 1 на Magento 2
Миграция кода с Magento 1 на Magento 2
 
Introduction to Magento Community
Introduction to Magento Community Introduction to Magento Community
Introduction to Magento Community
 
CQRS and Event-Sourcing in Magento2 by examples of MSI
CQRS and Event-Sourcing in Magento2 by examples of MSICQRS and Event-Sourcing in Magento2 by examples of MSI
CQRS and Event-Sourcing in Magento2 by examples of MSI
 
Chernivtsi Magento Meetup&Contribution day. Naida V.
Chernivtsi Magento Meetup&Contribution day. Naida V.Chernivtsi Magento Meetup&Contribution day. Naida V.
Chernivtsi Magento Meetup&Contribution day. Naida V.
 
Chernivtsi Magento Meetup&Contribution day. Miniailo.I.
Chernivtsi Magento Meetup&Contribution day. Miniailo.I. Chernivtsi Magento Meetup&Contribution day. Miniailo.I.
Chernivtsi Magento Meetup&Contribution day. Miniailo.I.
 
Chernivtsi Magento Meetup&Contribution day. V. Kublytskyi
 Chernivtsi Magento Meetup&Contribution day. V. Kublytskyi Chernivtsi Magento Meetup&Contribution day. V. Kublytskyi
Chernivtsi Magento Meetup&Contribution day. V. Kublytskyi
 
The process of a Lean Magento development
The process of a Lean Magento developmentThe process of a Lean Magento development
The process of a Lean Magento development
 
MMnl Pavlo Okhrem
MMnl Pavlo Okhrem MMnl Pavlo Okhrem
MMnl Pavlo Okhrem
 
LIOF 2016
LIOF 2016LIOF 2016
LIOF 2016
 
Payment integration patterns в Magento2
Payment integration patterns в Magento2Payment integration patterns в Magento2
Payment integration patterns в Magento2
 
Как благодаря композеру использовать сторонние компоненты в Magento 2
Как благодаря композеру использовать сторонние компоненты в Magento 2Как благодаря композеру использовать сторонние компоненты в Magento 2
Как благодаря композеру использовать сторонние компоненты в Magento 2
 
Magento 2 - the future of eCommerce
Magento 2 - the future of eCommerceMagento 2 - the future of eCommerce
Magento 2 - the future of eCommerce
 
RequireJS і Magento 2
RequireJS і Magento 2RequireJS і Magento 2
RequireJS і Magento 2
 
Як перехід на Magento допоміг нам стати лідером
Як перехід на Magento допоміг нам стати лідеромЯк перехід на Magento допоміг нам стати лідером
Як перехід на Magento допоміг нам стати лідером
 
Как переписать модуль с Magento 1 на Magento 2
Как переписать модуль с Magento 1 на Magento 2Как переписать модуль с Magento 1 на Magento 2
Как переписать модуль с Magento 1 на Magento 2
 

Último

call Now 9811711561 Cash Payment乂 Call Girls in Dwarka
call Now 9811711561 Cash Payment乂 Call Girls in Dwarkacall Now 9811711561 Cash Payment乂 Call Girls in Dwarka
call Now 9811711561 Cash Payment乂 Call Girls in Dwarka
vikas rana
 
Indian Call Girl In Dubai #$# O5634O3O18 #$# Dubai Call Girl
Indian Call Girl In Dubai #$# O5634O3O18 #$# Dubai Call GirlIndian Call Girl In Dubai #$# O5634O3O18 #$# Dubai Call Girl
Indian Call Girl In Dubai #$# O5634O3O18 #$# Dubai Call Girl
AroojKhan71
 

Último (8)

Top Rated Pune Call Girls Talegaon Dabhade ⟟ 6297143586 ⟟ Call Me For Genuin...
Top Rated  Pune Call Girls Talegaon Dabhade ⟟ 6297143586 ⟟ Call Me For Genuin...Top Rated  Pune Call Girls Talegaon Dabhade ⟟ 6297143586 ⟟ Call Me For Genuin...
Top Rated Pune Call Girls Talegaon Dabhade ⟟ 6297143586 ⟟ Call Me For Genuin...
 
Digital Business Strategy - How Food Brands Compete Through Technology
Digital Business Strategy - How Food Brands Compete Through TechnologyDigital Business Strategy - How Food Brands Compete Through Technology
Digital Business Strategy - How Food Brands Compete Through Technology
 
Film= Dubai Call Girls O525547819 Call Girls Dubai Whsatapp
Film= Dubai Call Girls O525547819 Call Girls Dubai WhsatappFilm= Dubai Call Girls O525547819 Call Girls Dubai Whsatapp
Film= Dubai Call Girls O525547819 Call Girls Dubai Whsatapp
 
call Now 9811711561 Cash Payment乂 Call Girls in Dwarka
call Now 9811711561 Cash Payment乂 Call Girls in Dwarkacall Now 9811711561 Cash Payment乂 Call Girls in Dwarka
call Now 9811711561 Cash Payment乂 Call Girls in Dwarka
 
Call Girls In Dev kunj Delhi 9654467111 Short 1500 Night 6000
Call Girls In Dev kunj Delhi 9654467111 Short 1500 Night 6000Call Girls In Dev kunj Delhi 9654467111 Short 1500 Night 6000
Call Girls In Dev kunj Delhi 9654467111 Short 1500 Night 6000
 
Indian Call Girl In Dubai #$# O5634O3O18 #$# Dubai Call Girl
Indian Call Girl In Dubai #$# O5634O3O18 #$# Dubai Call GirlIndian Call Girl In Dubai #$# O5634O3O18 #$# Dubai Call Girl
Indian Call Girl In Dubai #$# O5634O3O18 #$# Dubai Call Girl
 
The 15 Minute Breakdown: 2024 Beauty Marketing Study
The 15 Minute Breakdown: 2024 Beauty Marketing StudyThe 15 Minute Breakdown: 2024 Beauty Marketing Study
The 15 Minute Breakdown: 2024 Beauty Marketing Study
 
Planting Seeds of Success and of Failure.pdf
Planting Seeds of Success and of Failure.pdfPlanting Seeds of Success and of Failure.pdf
Planting Seeds of Success and of Failure.pdf
 

12 Ways to Improve Magento 2 Security and Performance

  • 1. #MM17DE Pavlo Okhrem CEO at Elogic Commerce 12 Ways to Improve Magento 2 Security and Performance OFTOPIC Your Company logo
  • 2. #MM17DE  CEO and Co-Founder at eLogic Commerce  Vice president of International affairs at Cluster BIT  Co-founder and chairman at Chernivtsi IT CEO Club  Participant in international business programs in Sweden and Norway  Not married
  • 3. #MM17DE Performance 1. Environment settings: PHP 2. Job Que 3. DB solutions: Scaling 4. Client side features 5. Advanced caching 6. Images compression, CDN 7. Profiling instruments for code optimization 8. Catalog search optimization Agenda Security 9. Permissions 10. Secure workflow/deployment 11. Server side logging configuration 12. Best practices of application configura for security purposes
  • 5. #MM17DE Recommended list of extensions Sufficient memory_limit 768MB XDebug adds extra 20% to response time OpCache with recommended settings: - Enough memory portion to fit the code [512MB] - Max_accelerated_files_count [60000] - Timestamp validation / Consistency checks Note: Max performance will be achieved only if OpCache is enabled. Environment Settings: PHP php-bcmath php-cli php-common php-gd | php-imagick php-intl php-mbstring php-mcrypt php-pdo php-soap php-xml
  • 6. #MM17DE Job Queue Integration with RabbitMQ. Available only in Enterprise Edition. Asynchronus jobs execution
  • 7. #MM17DE DB Solutions: Scaling (EE) Main (Catalog)Main (Catalog) MasterMaster Checkout Master Order MS Master Main Slave Catalog Slave Checkout Slave EAV Slave … Available only in Magento 2 Enterprise Edition
  • 8. #MM17DE DB Solutions: Scaling (EE) Adding a Slave database: CLI: magento setup:db-schema:add-slave Moving a separate part to a separate master database: CLI: magento setup:db-schema:split-quote CLI: magento setup:db-schema:split-sales
  • 9. #MM17DE Configuration: Client side features Minification (CSS, JS, HTML) JS resources bundling Caching of static content Images compression CLI: magento catalog:images:resize
  • 11. #MM17DE Caching Can be used used as page cache and session storing
  • 12. #MM17DE CDN and image compression CDN will help you to deliver content faster. Reduce images size where possible. Use JPEG format for catalog pictures.
  • 13. #MM17DE Code optimization Using the Zend Z-Ray, you can inspect, debug, and optimize your pages, and easily add additional functionality.
  • 15. #MM17DE Catalog search Magento 2 EE provides the support for Solr – a robust catalog search engine option. Elasticsearch utilizes the RESTful web interface as well as uses schema-free JSON documents. Merchants prefer this search engine, because it offers real-time search, high scalability, and enterprise- level performance.
  • 18. #MM17DE Permissions The owner of the Magento file system: Must have full control (read/write/execute) of all files and directories. Must not be the web server user; it should be a different user. The web server user must have write access to the following files and directories: var app/etc pub In addition, the web server's group must own the Magento file system so that the Magento user (who is in the group) can share access to files with the web server user.
  • 19. #MM17DE Permissions All directories have 770 permissions. 770 permissions give full control (that is, read/write/execute) to the owner and to the group and no permissions to anyone else. All files have 660 permissions. 660 permissions mean the owner and the group can read and write but other users have no permissions.
  • 20. #MM17DE Workflow Limit the access to the production server. Ideally, with the help of CI, so nobody will have access to the live container Limit admin access (use different roles) Only 1 person should have the access to merging commits and deploying them to the live environment Purchase extensions from verified extensions providers
  • 21. #MM17DE Server logging Configure the logging in a way that it detects all of the suspicious activities on your server Configure the firewall Use Fail2Ban to ban all of the suspicious activities on your server
  • 22. #MM17DE Application configuration Change the default admin url path Change the default downloader url path Use only secure communications protocol (SSH/SFTP/HTTPS) Use strong, long, and unique passwords, and change them periodically. Immediately install patches when new security issues are discovered.
  • 23. #MM17DE One more thing Close all of the unnecessary ports on your server Restrict SSH access by IP Use password managers like LastPass, PassPack etc to store password securely
  • 24. #MM17DE Useful resources https://elogic.co/blog/ultimate-magento-performance-guide-nginxhttp2php-7-0- 8/ - How to configure Magento with http/2 https://elogic.co/blog/magento-security-lifehacks/ - Magento security lifehacks https://github.com/magento/magento2-zray - Magento2 z-ray plugin https://www.linkedin.com/pulse/20141210024646-1143212-22-ways-to- bulletproof-your-magento-security - 22 Ways to bulletproof your magento security
  • 25. #MM17DE Contact me Email: pavlo@elogic.co Phone: +38(050)764-1000 Skype: okhrempavlo LinkedIn: /paulokhrem Facebook: /puncher