Magento security checklist PDF page with ticked checks for patches, two-factor authentication and admin accounts, and a download card

Magento Security Checklist: What to Check, How to Verify It, and How Often

You are the person who gets asked whether your online store is secure, and a Magento security checklist is what you reach for when “I think so” stops being an answer.

Sometimes the question follows the news. On September 7, 2026, SecurityWeek reported that attackers were using a zero-day, a flaw attacked before a fix exists, to backdoor Adobe Commerce and Magento Open Source stores. A board member who reads that asks about yours.

Other times it comes on a form. The self-assessment questionnaire (SAQ) a merchant fills in for PCI DSS, the card industry’s security standard, can ask who approved each script your checkout page loads.

Which parts of your store can you show are secure today, and when did anyone last check?

What do you check to know your Magento store is secure?

To know a Magento (Adobe Commerce) store is secure, check ten areas, with a way to verify each check and an interval. They follow the order of our Magento security best practices post, which explains how to set each one up.

  1. Patch level and supported version
  2. Admin access
  3. Extensions and custom code
  4. Payment page scripts
  5. Web application firewall and bot protection
  6. Malware scanning
  7. Encryption key, integration tokens, and AI agent access
  8. Server and hosting
  9. Backups and disaster recovery
  10. Logging and monitoring

Verifying, in our view, means dated evidence: a command’s output, an Admin screen, or a report. A setting someone remembers switching on does not count. Settings drift, and Adobe’s Security Scan Tool flags a disabled two-factor authentication module, the code that adds a second sign-in step.

Adobe’s security best practices trace most compromised sites to known flaws nobody patched, weak passwords, and loose file permissions. In our 2019 security study of about 13,000 stores on the now-retired Magento 1, 2.18% had their configuration file open to anyone and 1.65% had a customer export file reachable from the web.

Our Magento 2 security guide explains the risks and who owns each task.

๐Ÿš€ Quick takeaway

Pick one row you believe is done, such as two-factor authentication, and ask for its evidence today. If nobody can show it, the row is open.

Ten numbered tiles in two rows, from patches to logs, joined by a thin line in reading order
The ten Magento security checklist areas, numbered in the same order as the tables

The Magento security checklist, area by area

The Magento security checklist has 31 checks in ten tables, each with how to verify it and how often. In the last column, “(Adobe)” and “(PCI DSS)” mean that source sets the interval, and “(our advice)” marks scandiweb’s recommendation where neither gives one.

Downloads

Take the same 31 checks into your next review: print the PDF, or track owners, dates and results in the spreadsheet.

1. Patch level and supported version

Adobe’s monthly security patch policy calls for the latest -p (security-only) release plus every monthly patch since, and the Commerce Version Tool reports each CVE, a security hole’s public ID. Our guide covers Magento end of life dates.

CheckHow to verifyHow often
Your Magento version still gets security fixesRead the version in the bottom-right corner of any Admin page, or run bin/magento --version. Compare it with the end dates in Adobe’s lifecycle policy.Every quarter, and six months before your version’s end date (our advice)
The latest -p release and every monthly patch since are installedRun php vendor/bin/patch-status. The missing_patches list is empty and every CVE shows PROTECTED. On Adobe Commerce on cloud infrastructure, also check the Cloud Patches version.Monthly, after Patch Tuesday, the second Tuesday of the month (Adobe)
Emergency hotfixes are applied, and a named person hears about themA team inbox is subscribed to the Adobe Security Notification Service. Every hotfix bulletin since your last -p release matches a deployed patch.The day a hotfix bulletin arrives (our advice)
Magento security checklist, area 1: patch level and supported version

2. Admin access

Two-factor authentication (2FA) has been on by default in the Magento Admin since 2.4.0. With Adobe IMS sign-in on Adobe Commerce, the Adobe organization enforces 2FA instead.

CheckHow to verifyHow often
Two-factor authentication is on for every admin userRun bin/magento module:status Magento_TwoFactorAuth and confirm the module is enabled. Check the required providers at Stores > Settings > Configuration > Security > 2FA. With Adobe IMS sign-in, check 2FA in your Adobe organization instead.Monthly (our advice)
Every admin account belongs to one current person, with only the role they needSystem > Permissions > All Users: no shared or generic logins, no accounts of people who have left, and an expiration date on temporary users. Open each user’s User Role tab.Quarterly, and the day someone leaves (our advice)
Admin security settings have not driftedStores > Settings > Configuration > Advanced > Admin > Security: Admin Account Sharing is No, a lockout after failed logins is set, and Password Lifetime is set. Run bin/magento info:adminuri to confirm the Admin path is not the default.Quarterly (our advice). Adobe recommends changing passwords at least every 90 days.
Magento security checklist, area 2: admin access

3. Extensions and custom code

Our post on choosing Magento security extensions covers vetting. Composer’s audit command checks packages against the Packagist.org advisory database, and we do not know how many Marketplace extensions have advisories there, so treat a clean result as a minimum.

CheckHow to verifyHow often
Every installed module is known and still neededRun bin/magento module:status --enabled and composer show. Match the output to a list your team approved, and remove what nobody can name.Monthly, with the patch slot (our advice)
No installed package has a known flaw or a pending security updateRun composer audit and composer outdated. For extensions that are not on Packagist, check the vendor’s release notes.Monthly, and when a vendor announces a fix (our advice)
Production code matches version controlA developer compares the code on the production server with the repository. Every file that differs is explained or removed.Monthly (our advice), and at once after a suspected break-in (Adobe)
Magento security checklist, area 3: extensions and custom code

4. Payment page scripts

The PCI Security Standards Council’s guidance explains requirements 6.4.3 and 11.6.1, and our PCI DSS SAQ guide shows which questionnaire applies to how your checkout takes card data. Adobe’s Content Security Policy developer guide covers CSP, the list of sources a browser may run scripts from. Subresource Integrity (SRI) is a fingerprint the browser checks before running a script.

CheckHow to verifyHow often
Content Security Policy is enforced and Magento’s scripts carry SRI hashes on checkoutOpen the checkout with the browser’s developer tools. The page response has a Content-Security-Policy header, not only Content-Security-Policy-Report-Only, and Magento’s script tags show an integrity attribute. Restrict mode on payment pages is the default since 2.4.7.After every deployment (our advice)
CSP violation reports reach someoneA Report URI is set at Stores > Settings > Configuration > Security > Content Security Policy, and a named person reads what arrives there.Weekly (our advice)
Every checkout script is listed, approved, and has a written reason (PCI DSS 6.4.3)Compare the scripts the checkout loads (developer tools, Network tab, JS filter) with your script inventory. Each script has an owner and a business or technical reason.Whenever a script is added or changed (PCI DSS)
A tamper alert covers the checkout’s headers and scripts (PCI DSS 11.6.1)A change- and tamper-detection tool checks the headers and scripts the browser receives on the payment page and alerts a named person. Make one test change and confirm the alert arrives.At least weekly, or at the interval in your targeted risk analysis (PCI DSS). Test the alert quarterly (our advice).
Magento security checklist, area 4: payment page scripts

5. Web application firewall and bot protection

A web application firewall (WAF) blocks known attack patterns. Adobe’s Fastly WAF page says the cloud WAF has no rate limiting (a cap on requests per visitor), and our Magento fraud prevention guide covers reCAPTCHA against card testing.

CheckHow to verifyHow often
A web application firewall filters traffic to the storeAdobe Commerce on cloud infrastructure: the Fastly WAF is active on production. Self-hosted: your host or CDN shows the active WAF policy and last week’s blocked requests.Monthly, and the day an exploited Magento flaw is announced (our advice)
Bots are rate-limited on login, checkout, and coupon codesYour CDN or WAF shows rate-limit rules for those pages. On cloud, the Fastly WAF has no bot mitigation or rate limiting, so confirm Adobe’s Advanced Security add-on or your own rules.Quarterly (our advice)
reCAPTCHA protects admin sign-in and the forms bots targetStores > Settings > Configuration > Security > Google reCAPTCHA Admin Panel (Admin Sign In, Forgot Password) and Google reCAPTCHA Storefront (Customer Login, Create New Customer Account, Checkout/Placing Order, Coupon Codes).Quarterly, and after any admin lockout is fixed (our advice)
Magento security checklist, area 5: web application firewall and bot protection

6. Malware scanning

Adobe’s Security Scan Tool is free for both editions and tests the store from outside, and our post explains what the scan checks and misses. A CMS block is content the store reuses across pages.

CheckHow to verifyHow often
The Security Scan Tool runs on every domain, and someone reads the reportIn your Commerce or Magento account, under Security Scan: every storefront domain is verified, a weekly scan is scheduled, and every Failed item in the latest report has an owner. Review anything marked Ignore.Weekly (Adobe)
A server-side scanner checks files and the databaseThe scanner’s latest report covers code, media folders, and database content such as CMS blocks, and its alerts reach a named person.Daily (our advice)
No unknown code where skimmers hideContent > Elements > Blocks, and Content > Design > Configuration for every store view (HTML Head > Scripts and Style Sheets, Footer > Miscellaneous HTML), hold only scripts your team added. pub/media holds no PHP files.Weekly (our advice)
Magento security checklist, area 6: malware scanning

7. Encryption key, integration tokens, and AI agent access

An integration is a connection another system or an AI agent uses to reach store data, and Adobe’s token documentation says its token works until revoked. The encryption key protects stored credentials such as payment and API keys.

CheckHow to verifyHow often
Every integration, including each AI agent, has an owner and only the access it needsSystem > Extensions > Integrations: every Active integration has a named owner and Resource Access set to Custom. Delete the ones nobody uses, because an integration token lasts until it is revoked.Monthly, and when a supplier or agent changes (our advice)
Token settings are still at their safe defaultsStores > Settings > Configuration > Services > OAuth: “Allow OAuth Access Tokens to be used as standalone Bearer tokens” is No, and the admin token lifetime under Access Token Expiration has not been raised above the 4-hour default.Quarterly (our advice)
The encryption key and credentials are rotated after any exposure, and keys stay out of codeYour change log shows when bin/magento encryption:key:change last ran (command line only since 2.4.8) and which credentials were rotated with it. A secret scan of the repository and of AI agent configuration files finds no keys.After any incident or suspected exposure (Adobe), and the secret scan monthly (our advice)
Magento security checklist, area 7: encryption key, integration tokens, and AI agent access

8. Server and hosting

By our reading of Adobe’s system requirements and PHP’s supported versions, a store on Magento 2.4.4, 2.4.5, or 2.4.6 running PHP 8.1 gets no PHP security fixes. Magento’s three modes are default, developer, and production.

CheckHow to verifyHow often
The store runs a PHP version that both Adobe and PHP still supportA developer confirms the PHP version the store runs and compares it with Adobe’s system requirements for your Magento version and PHP’s own end dates. PHP 8.1 lost security fixes on December 31, 2025, and PHP 8.2 loses them on December 31, 2026.Quarterly, and before each PHP end date (our advice)
Production runs in production modebin/magento deploy:mode:show returns production.After every deployment (our advice)
Code folders are read-only and env.php is closedSelf-hosted: vendor, app/code, app/etc, pub/static, generated/code, generated/metadata and var/view_preprocessed have no write access in production, and app/etc/env.php has no permissions for other users. On cloud infrastructure, environments are read-only by design.After every deployment (our advice)
No development leftovers are reachableFrom outside your network, request /.git/HEAD, any phpinfo file, database dumps, and log files. Each returns 403 or 404.Monthly (our advice)
Magento security checklist, area 8: server and hosting

9. Backups and disaster recovery

Magento’s built-in backup is deprecated, and Adobe warns that rolling back to a backup “can silently fail, resulting in incomplete data being written.”

CheckHow to verifyHow often
Backups run and are stored away from the store’s serverSelf-hosted: your backup tool’s log shows a recent successful database and media backup (Magento’s built-in backup is deprecated). Cloud: Pro staging and production get automatic backups, and on Starter and integration environments magento-cloud snapshot:list shows your own.Weekly look at the latest successful backup (our advice)
A restore works, and a written recovery plan names who does whatRestore the latest backup to a staging copy and place a test order. The disaster recovery plan names who restores and which credentials get rotated, and it notes how long the last restore took.Restore test quarterly and before every upgrade, plan review yearly (our advice)
Magento security checklist, area 9: backups and disaster recovery

10. Logging and monitoring

Adobe’s Action Logs report records each admin action with the time, IP address, username, and result. Only Adobe Commerce has Action Logs.

CheckHow to verifyHow often
Admin actions are logged and reviewedAdobe Commerce: System > Action Logs > Report, with Admin Actions Logging on. Magento Open Source has no Action Logs, so review the web server’s access logs for Admin URLs instead.Weekly (our advice)
No unknown or locked admin usersCompare System > Permissions > All Users with last week’s list, and check System > Permissions > Locked Users for lockouts that may point to password guessing.Weekly (our advice)
Alerts reach a named person, and logs go back far enough to trace an intrusionSend a test alert from the scanner, the CSP reports and the tamper tool, and confirm a person received each one. Check the date of your oldest available log.Quarterly (our advice)
Magento security checklist, area 10: logging and monitoring

๐Ÿš€ Quick takeaway

Write a name in the Owner column of the download before the first run. Rows without a name are the ones that get skipped.

How to check if your Magento store is secure, step by step

To check if your Magento store is secure, work from the outside in: the Security Scan Tool report first, then patches, admin access, integrations, the checkout, the server, backups, and logs. Admin rows need no developer, and command-line rows need one with server access.

  1. Read the latest Security Scan Tool report, which tests what the internet sees.
  2. To check Magento security patches, have a developer run php vendor/bin/patch-status. If the command is missing, the July 2026 patch is not installed, so apply a Magento security patch.
  3. Review admin accounts and confirm two-factor authentication is still on.
  4. Confirm every Active integration, AI agents included, has an owner.
  5. Compare the checkout’s headers and scripts with your script inventory.
  6. Give the server rows to a developer, and the firewall and backup rows to your host.
  7. Test that every alert reaches a named person.

For every Magento security check, we advise saving the output or screen with the date and the name of whoever ran it.

During StyleSmuggler in September 2026, our team backed up each store before any change, then ran the live exploit on every store twice, once to see it work and once after deploying a protective shield, to see it fail. The team’s post on how we responded to StyleSmuggler says: “The verification step is the one that’s easiest to skip under pressure and the one that matters most.” It adds that a missing warning sign is not proof a store is clean.

๐Ÿš€ Quick takeaway

Put the date in each evidence file’s name, so next quarter’s run starts with a comparison.

Three nested layers labeled what the internet sees, admin and server, and code, with an arrow pointing inward
Run the Magento security checklist from the outside in, ending with the code

How often to check Magento security

Check Magento security weekly for the Scan Tool report, the payment page tamper check, and admin users, and monthly after Patch Tuesday for patches, extensions, and integrations. Review access and test a restore quarterly, book a full audit yearly, and check at once after these events.

  • An Adobe hotfix bulletin arrives
  • Someone with Admin access leaves
  • A new extension or checkout script goes live
  • You suspect a break-in, in which case Adobe says to compare the code with version control (your code’s repository), reset all credentials, and keep monitoring
  • An upgrade or re-platforming is coming up
  • You take over a store from another team

For the tamper check, PCI DSS lets a targeted risk analysis, a documented risk assessment, replace the weekly default.

A clean result shows Magento store security on the day it was produced. Sansec’s CMS block loader research of October 24, 2026, describes a Magento 2.4.7-p10 store with no missing core patches, reinfected one hour after a clean scan by a skimmer loader in its CMS block table. Adobe’s incident guidance warns that many sites are compromised again within hours.

๐Ÿš€ Quick takeaway

Put the Scan Tool report and the payment page tamper alert in the same weekly slot, read by the same person.

Month grid with a marker on every week, the second Tuesday highlighted, and side markers for the quarter and the year
One calendar for the weekly, monthly, quarterly, and yearly Magento security checklist rows

When is a Magento security checklist not enough?

A Magento security checklist is not enough when the question is about custom code, a backdoor planted before a patch went on, or whether your customized store can be broken into. It can only confirm settings, versions, and whether controls are present.

Our Magento code audit guide recommends a full audit at least once a year, before any migration or upgrade, and when you inherit a store, plus a lighter security check after every major Adobe security bulletin.

Our Magento security audit reviews patch status and access controls and flags anything that exposes customer data. It takes one to two weeks on read-only access and ends in one written report ranking each finding by priority, with the cost to fix it.

๐Ÿš€ Quick takeaway

Book the yearly audit before your next upgrade or re-platforming decision, so its report can shape that budget.

Frequently asked questions

What should a Magento security checklist include?

A Magento security checklist should cover patch level, admin access, extensions, payment page scripts, the firewall, malware scanning, keys and tokens, the server, backups, and logs. Every check needs a way to verify it and an interval, and this page holds 31 checks.

How do I check if my Magento store is secure?

Start with the latest Security Scan Tool report, which shows what the internet sees of your Magento store. A developer then runs php vendor/bin/patch-status, and you review admin users, two-factor authentication, integrations, and checkout scripts. A store without a developer can still do every Admin row.

How often should I run a security check?

On a Magento store, read the scan report and the payment page tamper alert weekly, and verify patches monthly after the second Tuesday. Access reviews and a restore test are quarterly, a full audit yearly. A hotfix bulletin or a departing admin user means checking that day.

Does the checklist differ for Magento Open Source and Adobe Commerce?

Most rows are identical on Magento Open Source and Adobe Commerce. Action Logs and Adobe IMS sign-in are Adobe Commerce only, and the Fastly WAF comes only with Adobe Commerce on cloud infrastructure. Adobe’s October 2026 Open Source patch files cover 2.4.7 and later only.

Main takeaway

A Magento security checklist answers “is our store secure?” only for the day someone last ran it, so give it a schedule. Book the weekly, monthly, quarterly, and yearly rows as recurring slots, and agree who reacts when an event trigger happens.

Start from the ten tables above, or from the PDF and the spreadsheet if you want owner and date columns. Go through the 31 rows once and write down who owns each one and where its evidence is saved.

Some rows will have no owner yet. Close those first, because nobody has been verifying them. Once every row has a name and dated evidence, the next person who asks whether the store is secure gets an answer you can show.

If some rows have no owner or no evidence, send us your checklist with those rows marked, and we will tell you which ones to close first.

Share on:

Share on X Share on LinkedIn Share on Facebook

You may also like