Multi-factor authentication (MFA) is the single most effective control against account compromise. Organisations that implement MFA reduce the risk of breaches by over 99%. This guide covers how to implement MFA across your organisation.
Why MFA matters
Before diving into implementation, understand why MFA is critical:
The statistics
- 80% of data breaches involve compromised credentials
- Password-only authentication is the weakest link
- MFA blocks 99.9% of automated attacks
- Credential stuffing attacks are automated and widespread
The attacker perspective
Attackers use various methods to obtain passwords:
- Phishing emails and websites
- Credential dumps from previous breaches
- Password spraying across services
- Keylogging and malware
MFA adds a layer that passwords alone can't provide—even if an attacker has your password, they need the second factor.
MFA methods: Understanding the options
Not all MFA methods are equal. Here's a breakdown:
Strong MFA methods (recommended)
FIDO2/WebAuthn:
- Hardware security keys (YubiKey, Titan)
- Most phishing-resistant
- Requires physical device
- Best for high-security accounts
Authenticator apps (TOTP):
- Google Authenticator, Microsoft Authenticator, Authy
- Generates time-based codes
- Phishing-resistant (codes change every 30 seconds)
- Good balance of security and usability
Push notifications:
- Approve login from mobile app
- Convenient for users
- Can be vulnerable to push fatigue attacks
- Acceptable with additional controls
Weaker MFA methods (avoid where possible)
SMS/text messages:
- Vulnerable to SIM-swapping attacks
- Interceptable via SS7 vulnerabilities
- Better than nothing, but not recommended
- Should be deprecated where possible
Email codes:
- Email accounts are often less secure
- Vulnerable to account takeover
- Avoid as primary MFA method
Phone call back:
- Similar vulnerabilities to SMS
- Limited protection
- Not recommended
Planning your MFA implementation
Step 1: Inventory your systems
Before implementing MFA, understand what you're protecting:
Identify authentication points:
- Email systems (Microsoft 365, Google Workspace)
- Cloud platforms (AWS, Azure, GCP)
- SaaS applications (CRM, HR, finance)
- VPN and remote access
- Internal applications
Assess current MFA status:
- Which systems already have MFA?
- What MFA methods are supported?
- Which users are enrolled?
Prioritise by risk:
- Highest priority: Email, cloud admin, VPN
- High priority: Cloud applications, internal tools
- Medium priority: Low-risk SaaS tools
Step 2: Define your policy
Create a clear MFA policy:
Scope: Which accounts require MFA?
- All users? Only administrators? Specific roles?
Methods: Which MFA methods are acceptable?
- Require phishing-resistant methods for sensitive access
- Allow authenticator apps as default
- Deprecate SMS within timeline
Exceptions: When are exceptions allowed?
- Document exception process
- Require approval for exceptions
- Set expiration on exceptions
- Review exceptions regularly
Step 3: Build your rollout plan
Phased rollout reduces risk:
Phase 1: Pilot (2-4 weeks)
- Select a small group of willing users
- Test enrollment processes
- Gather feedback
- Refine procedures
Phase 2: High-risk users (2-4 weeks)
- IT administrators
- Finance team members
- Executives and leadership
- Anyone with privileged access
Phase 3: All users (4-8 weeks)
- Roll out to entire organisation
- Provide support resources
- Enforce deadlines
- Monitor progress
Phase 4: Enforcement (ongoing)
- Full enforcement after grace period
- Regular compliance reporting
- Continuous monitoring
Technical implementation
Email systems
Microsoft 365 / Exchange Online:
- Sign in to Microsoft 365 admin centre
- Navigate to Users > Active users
- Select "Multi-factor authentication"
- Enable per-user MFA or use Conditional Access
- Configure Conditional Access policy requiring MFA
Google Workspace:
- Sign in to Google Admin console
- Navigate to Security > 2-Step Verification
- Enforce 2SV for your organisation
- Configure allowed methods
- Set up enforcement schedule
Cloud platforms
AWS:
- Enable MFA in IAM console
- Create IAM policy requiring MFA for privileged actions
- Use AWS SSO with MFA enforcement
- Enable MFA for root account (mandatory)
Azure AD:
- Configure Conditional Access policies
- Require MFA for: all admins, risky sign-ins, specific applications
- Use Azure AD Identity Protection
GCP:
- Enable 2-Step Verification in admin console
- Enforce for all users or specific OUs
- Use OAuth for application access
- Enable context-aware access policies
SaaS applications
Most SaaS applications support SAML or OAuth:
- Enable SSO integration with your IdP
- Enforce MFA through IdP
- Review each app's MFA settings
- Document any exceptions
VPN and remote access
For Cisco AnyConnect:
- Configure Duo or similar MFA integration
- Require MFA for all VPN connections
- Test with various client versions
For Microsoft Always On VPN:
- Deploy NPS extension for Azure AD MFA
- Configure authentication policies
- Test from multiple locations and devices
Internal applications
For custom applications:
Modern implementations:
- Integrate with OIDC/SAML
- Delegate authentication to IdP
- Enforce MFA through IdP
Legacy applications:
- Consider MFA gateway/proxy
- Evaluate application upgrades
- Implement where feasible
User enrollment
Communicate early and often
Pre-enrollment communications:
- Explain why MFA matters
- Describe enrollment process
- Provide self-service resources
- Set clear deadlines
During rollout:
- Send step-by-step guides
- Offer office hours for help
- Provide quick-start cards
- Create video tutorials
Make enrollment easy
Self-service enrollment:
- Allow users to enroll without IT assistance
- Provide clear instructions
- Use authenticator app (not SMS) by default
Support resources:
- Help desk availability
- FAQ documents
- Video tutorials
- In-person assistance sessions
Handle enrollment challenges
Common issues:
- Lost devices: Have backup methods and recovery processes
- New phones: Enable cloud backup or provide spare tokens
- Browser issues: Provide browser guidance
- Accessibility: Offer alternatives for users with disabilities
Ongoing management
Monitor compliance
Track MFA adoption:
- Enrolled vs. not enrolled
- Methods used
- Authentication events
- Exception requests and approvals
Handle exceptions
When MFA isn't possible:
- Document the business reason
- Require manager approval
- Set expiration date
- Implement compensating controls
- Review regularly
Respond to incidents
When MFA is compromised:
- Immediately disable affected accounts
- Investigate the incident
- Reset credentials
- Review access logs
- Update policies if needed
Measuring success
Track these metrics:
Adoption metrics
- Percentage of users enrolled
- MFA methods distribution
- Time to full enrollment
Security metrics
- Accounts compromised with MFA vs. without
- Phishing attempts detected
- Credential stuffing attacks blocked
Usability metrics
- Help desk tickets related to MFA
- User satisfaction scores
- Lockout and recovery incidents
Common pitfalls to avoid
Pitfall 1: Phased rollout without enforcement
Problem: Users delay enrollment indefinitely
Solution: Set clear deadlines and consequences
Pitfall 2: SMS as default
Problem: Weak MFA provides false sense of security
Solution: Require authenticator apps or hardware tokens
Pitfall 3: No exception process
Problem: Legitimate business needs can't be accommodated
Solution: Document exception process with controls
Pitfall 4: Ignoring legacy systems
Problem: Attackers target weak links
Solution: Inventory all systems and address gaps
Pitfall 5: No recovery process
Problem: Locked users create support burden
Solution: Document recovery procedures and test them
Quick reference: MFA implementation checklist
Planning
- [ ] Inventory all authentication points
- [ ] Assess current MFA status
- [ ] Define MFA policy
- [ ] Create rollout plan
Implementation
- [ ] Configure email MFA
- [ ] Configure cloud platform MFA
- [ ] Configure SaaS application MFA
- [ ] Configure VPN MFA
- [ ] Address legacy systems
Rollout
- [ ] Pilot with willing users
- [ ] Roll out to privileged users
- [ ] Roll out to all users
- [ ] Enforce deadlines
- [ ] Monitor compliance
Ongoing
- [ ] Track adoption metrics
- [ ] Handle exceptions
- [ ] Respond to incidents
- [ ] Review and improve
Conclusion
MFA implementation doesn't have to be complex. By following this guide, you can systematically protect your organisation's most valuable asset: user credentials.
Start with a clear plan, roll out progressively, and maintain focus on the goal: reducing the risk of account compromise.
The attackers are automating their attacks. Your defence should be automated too—and MFA is the foundation.