Spoof defenses are complex, and only part of the spam filtering problem. If you don't have budget for email product support and a spam filtering subscription, you might be better served to switch to a hosting service that provides some defenses as part of the base product. Send me a private message if you want vendor suggestions.
To the specific question:
Divide the problem into these groups:
- incoming messages that impersonate of your own domain, and
- Incoming messages that impersonate some other organization, such as a bank.
Your own domain.
A lot of spoofed email will use your own domain, and this may be the easiest to block. There may have some senders who impersonate your domain for legitimate reasons, but if not (or if you have exceptions for them), you can start by blocking incoming messages from your domain. This needs to be done in the SMTP Filtering, and it will probably work only if (a) you have a separate incoming gateway server, or (b) you have no client connections using POP/SMTP or IMAP/SMTP to connect.
Other domains are more difficult because you need to figure out if the message is from the external domain, from a service bureau acting on behalf of the domain, a mailing list that relays messages for that domain, or a bad guy acting without authorization. DMARC is only a tiny part of the solution.
It also depends on DKIM signatures
and SPF
All of these are dependent on the specs for SMTP (RFC 5321) and Message Format (RFC 5322)
Even when you block a malicious impersonation, you have not solved the whole problem because you have not blocked the attacker. If he switches from impersonation to a non-impersonation attack, you are still vulnerable. So the best response to a malicious impersonation is to figure out the identifier which represents the attacker, and block that entity. Depending on the amount of spoofing and the attack source, the block may be based on the SMTP Mail From domain, the host name, or the IP address. You figure out which defense to use by reading the Raw Content version of the message.
RBLs and URIBLs are a way to benefit from data collected by others.
Good luck.