Thanks, yes I read the documentation several times. Thats why I
thought a tutorial would help as the documentation describes all the
pieces, but doesn't put together the puzzle. I think I'm getting this
together now, let me run this by you.
Assume that you accept/process mail for a set of customers, each
customer has one or more domains and one or more users. Each user has
one or more email addresses at the domains owned by the customer.
The default scenario is to greylist everything, i.e. opt-in. Each
customer can have a whitelist and a blacklist which would be the
default for all their domains. They can provide whitelists and
blacklists on a per domain basis which will override the settings at
the customer level. A subset of the email addresses within a domain
can have its own whitelist and blacklist which will override the
settings at the domain and customer level.
I believe the following needs to be done:
1. create a group per user, members are their email addresses
2. create a group per customer, members are the users
3. create an opt-in and an opt-out policy per customer, with the
customers/users based on their opt-in/opt-out choices
4. create a greylisting entry for opt-in and opt-out linked to the
policies above.
I'm not sure where to put the domain defaults (i.e. catch-all for
domains) Say I want the default for a domain is opt-in, but some
addresses within the domain want to opt-out.
As for pure whitelist/blacklist, I believe I need to create a group of
addresses/domains per user (one for user_whitelist and one for
user_blacklist) and add a policy for each specifying the users group of
email addresses as the destination with the user_whitelist group as the
source (or user_blacklist group as the source in the case of a
blacklist). And this should just go under Access Control.
Does this sound about right? If not, please correct me...
Tobias J Kreidl wrote:
It certain seems like all these wishes of yours are possible:
check
out the documentation at
http://policyd.org/tiki-index.php?page=documentation
Above all, one can decide what policies get nested together or if
something matches, to stop right there (see the "Accounting
Configuration" section).There is certainly more flexibility than in
V1 and we're seeing good performance with the limited scope we've had
so far with V2 vs V1.
You can start with a whitelist and a couple of basic policies that can
either filter or limit messages by origin, destination, or
quantity/size. We've been using policyd 1.82 for quite some time now
and have been very happy with it's performance. We get probably a good
million pieces of email a day and run a group of machines that deal
separately with internal and external email routing (and have two
customized versions of policyd, taylored to each specific case). Our
intention with "cluebringer" is to enhance what we already have by
imposing limits on what users can send in addition to machine-based
limits, but we're just at the point where we first want to make sure
things are running as they were under 1.82. Once in production for a
while, we'll experiment with out one non-production server and run
tests on sender limiting. Currently, we're more interested in what we
receive because of unsolicited spam more than anything else, but there
are also cases here we want to restrict how much is sent, as well.
While a tutorial with more detail would be great, it's possible to
figure out much of this by starting with simple cases and examining the
logs as you go. Some of the postfix tools for generating lots of email
are useful for testing, like smtp-source. Someone mentioned putting
togeter a tutorial a while back; I wish we could say more at this
point, but we're still figuring out the basic details in V2 ourselves.
Above all, I'm really interested in tracking who all is way over on a
regular basis (such as hourly) s we can (1) consider blocking te sender
altogether if it's an obvious DoS, and (2) if someone internally starts
sending huge numbers of messages, it could indicate a compromised
account or someone just doing something irresponsible. That's why we'd
really like to be able to get some numbers out of the DB. With policyd
1.82 now, we generate an hourly list that gets mailed out showing all
instances where the limits have been exceeded. I really would like to
see something like that possible in V2.
--Tobias
Brian Kolaci wrote:
The initial configuration is standard/stock.
Based on user preferences, they can opt-in or opt-out individual email
addresses. Domain administrators can opt-in or opt-out whole domains.
The user preference overrides the domain setting, i.e. the domains
could be set to opt-in, and specific email addresses can opt-out.
We also use the blacklist/whitelist a the global, domain and user
levels.
So I'd like to know if the new version is capable of that, and if so,
how to configure that.
I guess my questions are similar to yours. We have a sense of global,
client, domain and email address levels that need to be handled
separately. The preference needs to tend toward the more granular
control.
We don't use quotas, so I haven't used that feature. I am interested,
however as I'd like to offer another service that would have quota
limits attached.
Tobias J Kreidl wrote:
I would say it depends a lot on your initial configuration.
We're in the process of finishing up some tests that initially just
duplicate what we have now under 1.X. We have a special, isolated
mailgateway machine that we're using for testing, which helps a lot.
There is no greylisting used in our case and the blacklisting is handled
independently, so that keeps it simpler. We are tied in to amavisd-new,
however.
We entered in all our whitelist parameters, created trusted and
untrusted groups and set up limits. Other than the procedure on how to
do the initial install and configuration, the rest was pretty
straight-forward. The next step wil be to implement user limits.
Two issues have arisen on which I'd like to throw back questions.
First, since all policies are combined, there does not appear to be a
way that a single user on a specific machine can be given a higher limit
if the machine itself already has a lower limit, or will the
individual's setting override the global one?
Second, in policyd 1.X, I wrote a reporting tool that generates messages
telling when quotas have been exceeded, something like this:
# To check for _all_ the limits, one should really use this:
$sql = qq{SELECT * FROM throttle where _count_cur >= _count_max
or _rcpt_cur >= _rcpt_max or _quota_cur >= _quota_max
or _abuse_cur=1};
but in policyd2, there appears to be no tracking of how many attempts
were made for a particular sender, recipient or machine; the DB
apparently only compares the allowed value to the matching group
policy. This makes it very hard to come up with a simple way to query
what instances are over quota and makes it impossible to tell by how
much -- did the user try to send 5 messages over the limit or 500000 ?
I'm asking if anyone has written a reporting tool that can extract at
least what instances are over quota at a given moment. If nothing like
this exists, I'd like to ask the authors to at least consider storing
this information in the table so that an easy comparison can be made
to see if the user or machine is over the limit. When the time
limit has expired, the counter could be zeroed out.
Thoughts on this? Thanks for reading.
Regards,
--Tobias
Brian Kolaci wrote:
Hi,
Are there any tips to migrating from 1.8 to 2.x ?
I currently have scripts that populate the "whitelist_sender" table and
manipulate the policy table to allow domains or specific email users to
opt-in and opt-out of greylisting. So some users should be able to
bypass the policyd greylisting inbound mail to their addresses if they
choose, and there is a list of email addresses that I'd like to just
plain whitelist.
Can this be done using version 2.x? If so, how can I replicate that
functionality?
Thanks,
Brian
_______________________________________________
Users mailing list
[email protected]
http://lists.policyd.org/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected]
http://lists.policyd.org/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected]
http://lists.policyd.org/mailman/listinfo/users
|