This document proposes a heuristic routing algorithm for shared firewall protection networks. It begins by outlining five constraints for such an algorithm: 1) the risk disjointing constraint, which requires that a main firewall and its protection firewall do not share any common risks; 2) both the main and protection firewalls must be routed successfully; 3) connections previously used by protection firewalls should be shared as much as possible to reduce the total number of connections; 4) protection firewalls that share connections should not activate concurrently; and 5) routing requests can either be processed one at a time or all at once. It then describes using risk IDs to represent different risks on network connections in order to determine firewall risk vectors and satisfy the risk disjointing