RBLs are most often available via DNS, and will contain a list of IP addresses that are commonly used by spammers, open relays, systems that are non-conformant to RFC, or whatever criteria the people running them choose to use.
The first thing to consider when the desire to implement an RBL hits you is who is running the filter. By using an RBL, you are intrinsically trusting the owner/operator/admin of the RBL not to list hosts that are valid mail servers with whom you would want to communicate, and to remove hosts from their lists who correct their problems in a timely manner.
Each mail administrator has to make his/her own choice which RBLs are most appropriate to their system. There are hundreds of different RBLs, and the choice of which ones to implement can be difficult.
RBLs are implemented as part of smtpd restrictions. Please see the Main.cf Guide for more information on smtpd restrictions. Below are two examples of RBLs that can be added to the smtpd_*_restrictions lists:
If you ever need to remove an RBL from your list, simply add a # in front of the line on which it starts, save main.cf, and restart Postfix.
The reason you should not just use all of the RBLs you can find is primarily due to the extra bandwidth required (you will make at least one DNS query per RBL per message), and secondly due to valid IPs getting listed and not being removed in a timely manner from some. Some RBLs are also mirrors of others, and you should choose the one that gets updated most frequently.
Don’t forget to read the RHSBL Guide for DNS based domain name filtering.