If this is something you want regularly, you could also schedule a function with something like Netlify that uses the Ghost API to check email addresses and deletes any accounts with emails you’ve decided is unacceptable.
For preventing sign-ups, there’s nothing built into Ghost that filters by email address. It’d be possible to turn off new sign-ups in Ghost itself, then set up a cloud function or some other automation that takes a new sign-up request (much easier if we’re talking about free sign-ups than paid), checks it against a list of throwaway email domains, and then only makes an account and sends a magic link if the email submitted doesn’t match the throwaway pattern.
A simpler version of that (but easier to avoid) would be to turn off the portal links and use a custom membership page (provided in many premium theme), and add some javascript that does a client-side check of the email address being used. That won’t stop anyone determined, but it may deter less tech-savvy folks.
Outpost just released a unwanted/spam email address removal tool that works after someone has signed up and double-confirmed. It works on individual emails (e.g. ban someone), domains or word matching.
You can have the filter apply to only new sign-ups, or have it remove all email addresses matching the filter.