Implementation Plan
Phase 1: Infrastructure Setup (Week 1)
Section titled “Phase 1: Infrastructure Setup (Week 1)”- Deploy Azure B2s VM (2 vCPU, 4 GB RAM, Ubuntu 24.04 LTS, West US 2)
- Configure NSG: TCP 80/443 + UDP 3478 inbound
- Point
netbird.gsisg.comDNS A record to VM public IP - Install Docker + docker-compose, deploy NetBird stack
- Create local break-glass admin accounts
- Configure Entra ID as external OIDC provider (App Registration with
User.Read.All,Group.Read.All) - Enable JWT group sync in NetBird settings
- Test admin login via both local and Entra ID SSO
Phase 2: Site Routing Peers (Week 1-2)
Section titled “Phase 2: Site Routing Peers (Week 1-2)”Boulder — Netgate 6100 pfSense+ (Intel Atom C3558, AMD64):
- SSH into pfSense, download x86_64 NetBird packages (v0.66.4) from GitHub releases
- Install:
pkg add -f netbird-*.pkg && pkg add -f pfSense-pkg-NetBird-*.pkg - Configure via Web UI (
VPN > NetBird): setup key + management URL - Assign
wt0interface, add firewall rules, configure outbound NAT with static port - Configure as routing peer for
10.15.0.0/24with masquerading enabled
Honolulu — Linux VM on Hyper-V (DATA003 or DATA004):
- Create Ubuntu 24.04 VM (1 vCPU, 1 GB RAM, 20 GB disk) on 10.100.7.0/24
- Install NetBird agent:
curl -fsSL https://pkgs.netbird.io/install.sh | sudo bash - Connect with setup key, enable IP forwarding, enable systemd service
- Configure as routing peer for
10.100.7.0/24with masquerading enabled
Access Control Policies:
| Policy | Source Group | Destination | Protocols |
|---|---|---|---|
| All Staff - DC Access | All Users | DCs at both sites | TCP/UDP 53, 88, 123, 135, 389, 445, 464, 636, 3268, 3269 |
| Hawaii Engineers | Hawaii-Engineers | Honolulu network | All |
| Boulder Engineers | Boulder-Engineers | Boulder network | All |
| IT Full Access | IT-Admins | All networks | All |
Phase 3: Enable Microsoft SSPR (Week 2-3, parallel)
Section titled “Phase 3: Enable Microsoft SSPR (Week 2-3, parallel)”- Enable SSPR in Entra ID portal (Authentication methods > Password reset)
- Enable password writeback in Entra Connect configuration
- Configure MFA methods (Authenticator app, phone)
- Test end-to-end: reset password off-network with NetBird connected, verify cached credentials update
Phase 4: TacticalRMM Deployment (Week 3)
Section titled “Phase 4: TacticalRMM Deployment (Week 3)”- Create setup key for “Company Laptops” group in NetBird dashboard
- Add TRMM deployment script (see TacticalRMM Deployment Script)
- Critical: Include
--network-monitor=falseflag during parallel operation with GlobalProtect - Add AV/EDR exclusion for
C:\Program Files\NetBird\via TRMM before deployment - Deploy to 3-5 IT machines, verify DC access, SSPR, SMB shares, RDP
- Add GPO firewall rules for NetBird
wt0interface (prevents GPO from overriding NetBird’s auto-created rules)
Phase 5: Phased Rollout (Week 4-8)
Section titled “Phase 5: Phased Rollout (Week 4-8)”| Wave | Week | Target | Count | Notes |
|---|---|---|---|---|
| Pilot | 3-4 | IT team | 5-10 | Full validation of all use cases |
| Wave 1 | 4-5 | Office workers (Honolulu) | 30-40 | Primary site first |
| Wave 2 | 5-6 | Office workers (Boulder) | 20-30 | Secondary site |
| Wave 3 | 6-7 | Remote/home workers | 20-30 | |
| Wave 4 | 7-8 | Field/cellular workers | 5-10 | Monitor relay usage |
During this phase:
- GlobalProtect remains installed and functional — users can fall back if needed
- All clients run with
--network-monitor=false(GP coexistence workaround) - Monitor NetBird dashboard for connectivity issues
- Communicate SSPR instructions to all users
- Helpdesk team briefed with troubleshooting guide
Phase 6: Decommission GlobalProtect (Week 8-10+)
Section titled “Phase 6: Decommission GlobalProtect (Week 8-10+)”- After 2+ weeks of stable operation with all users on NetBird:
- Disable GP auto-connect on endpoints (do NOT uninstall yet)
- Remove
--network-monitor=falseflag (GP removal eliminates the trigger) - Continue monitoring for 30 days of sole NetBird operation
- Uninstall GlobalProtect client from all endpoints via TacticalRMM
- Back up PA-2020 configuration, power down (retain 90 days before disposal)
- Remove
vpn.gsisg.comDNS record - Notify cyber insurance broker of migration to ZTNA
- Document final architecture
Timeline Summary
Section titled “Timeline Summary”| Week | Phase | Milestone |
|---|---|---|
| 1 | Phase 1 | Azure VM + NetBird Management Server |
| 1-2 | Phase 2 | Routing Peers (Hawaii VM + Boulder pfSense) |
| 2-3 | Phase 3 | SSPR + Entra Connect (parallel) |
| 3 | Phase 4 | TRMM Deployment Script + IT Testing |
| 3-4 | Phase 5a | Pilot (IT team, 5-10 machines) |
| 4-5 | Phase 5b | Office workers Honolulu (30-40) |
| 5-6 | Phase 5c | Office workers Boulder (20-30) |
| 6-7 | Phase 5d | Remote workers (20-30) |
| 7-8 | Phase 5e | Field workers (5-10) |
| 8-10 | Phase 6 | GP deactivation + 30-day parallel |
| 10+ | Decommission | Decommission GlobalProtect |
Total implementation time: ~10 weeks (conservative, with 30-day parallel operation)