What is a basic website security checklist for a business?

Keep everything updated, use strong unique passwords with two-factor authentication, serve the site over HTTPS, limit who has access and to what, back up regularly, remove what you do not use and watch for signs of trouble. Most compromises exploit basics that were skipped.

Serious attackers are rare; automated scanning for known weaknesses is constant. Most compromised sites were running outdated software or had weak access.

The checklist

  1. Update the platform, libraries and plugins promptly, and remove ones you do not use.
  2. Strong, unique passwords in a password manager, and two-factor authentication on hosting, domain, email and admin accounts.
  3. HTTPS everywhere, with the certificate renewal monitored.
  4. Least privilege. Each person and system has only the access it needs; remove accounts of people who have left.
  5. Backups stored elsewhere and tested.
  6. Protect forms against abuse and validate everything users send.
  7. Limit exposure. Keep admin areas non-obvious and rate-limited, and do not expose files and folders that do not need to be public.
  8. Security headers appropriate for your site.
  9. Logs and alerts so you notice unusual behaviour.
  10. A plan for what you will do if something is compromised, including whom to notify.

Personal data

If you hold personal data, a breach may carry legal duties to notify. Know your obligations and keep only what you need.

Be realistic

No checklist makes a site impregnable, but this one removes the common easy routes in. Applications with accounts and payments need a deeper review, discussed in the web application security question.

Sources

All questions