I have crowdsec running on opnsense to block attacks
Crowdsec is a pretty good package. It does blocking, but is geared more to being an IDS. Opnsense supports Suricata which is a more aggressive, and all encompassing IDS/IPS. I don't think opnsense supports it's cousin Snort.