Spam Blocking by filtering on username / id

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Spam Blocking by filtering on username / id

Dovecot mailing list
This is probably quite an easy question, but I haven't been able to find the answer. I'm running a server where all the email addresses are in the format "[hidden email]". I've noticed that a large number of fake login attempts use the format "user" eg. reception, service, root, admin.

Is it possible to prevent any such logins to these email users without an @domain.com? Or maybe ignore them. Or drop them from the logging.

P.
Reply | Threaded
Open this post in threaded view
|

Re: Spam Blocking by filtering on username / id

Dovecot mailing list
On 23/09/2019 07:29, Plutocrat via dovecot wrote:
> This is probably quite an easy question, but I haven't been able to
> find the answer. I'm running a server where all the email addresses
> are in the format "[hidden email]". I've noticed that a large number
> of fake login attempts use the format "user" eg. reception, service,
> root, admin.
> > Is it possible to prevent any such logins to these email users
> > without
an @domain.com? Or maybe ignore them. Or drop them from the logging.

It's not directly a solution within dovecot but "fail2ban" exists.

MfG,
        Bernd
--
Bernd Petrovitsch                  Email : [hidden email]
                     LUGA : http://www.luga.at

Reply | Threaded
Open this post in threaded view
|

Re: Spam Blocking by filtering on username / id

Dovecot mailing list
In reply to this post by Dovecot mailing list
On Sep 22, 2019, at 11:29 PM, Plutocrat <[hidden email]> wrote:
> This is probably quite an easy question, but I haven't been able to find the answer. I'm running a server where all the email addresses are in the format "[hidden email]". I've noticed that a large number of fake login attempts use the format "user" eg. reception, service, root, admin.
>
> Is it possible to prevent any such logins to these email users without an @domain.com?

Are users able to login without the @domain part?

> Or maybe ignore them. Or drop them from the logging.

As Bernd said, fail2ban will ban these Its from repeatedly trying to login, but they will still be logged.

There is also sshguard that will do the same thing.

One of these should probably be running anyway as they help mitigate issues where someone keep hammering on your system, however in the days of DDOS, they are less helpful than they used to be.




--
MEGAHAL: within my penguin lies a torrid story of hate and love.

Reply | Threaded
Open this post in threaded view
|

Re: Spam Blocking by filtering on username / id

Dovecot mailing list
In reply to this post by Dovecot mailing list


On 23 Sep 2019, at 8.29, Plutocrat via dovecot <[hidden email]> wrote:

This is probably quite an easy question, but I haven't been able to find the answer. I'm running a server where all the email addresses are in the format "[hidden email]". I've noticed that a large number of fake login attempts use the format "user" eg. reception, service, root, admin.

Is it possible to prevent any such logins to these email users without an @domain.com? Or maybe ignore them. Or drop them from the logging.

P.

you can add username_filter = *@domain.com

or deny-passdb before actual passdb with username_filter = !*@domain.com


feature has existed since dovecot 2.2.30

Sami

Reply | Threaded
Open this post in threaded view
|

Re: Spam Blocking by filtering on username / id

Dovecot mailing list
In reply to this post by Dovecot mailing list
Hi,

Sorry for the delay in replying. Been having a few mail problems ironically! Gmail smtp server stopped working!

On 23/09/2019 4:13 PM, Bernd Petrovitsch via dovecot wrote:
> It's not directly a solution within dovecot but "fail2ban" exists.

Yes, I have fail2ban, but that bans based on IP address. And most mail password attacks these days are distributed, and although fail2ban will try to spot them it doesn't do a very good job. I thought denying any logins without the @domain.com part would be an additional layer. I understand that there's no way these attempts could log in, its just that there are so many attempts logged, that it fills up 90% of my logs with noise, and prevents me from seeing the other important events.

> Are users able to login without the @domain part?

No. All valid mail accounts are in the form [hidden email]

> There is also sshguard that will do the same thing.
> One of these should probably be running anyway as they help mitigate issues where someone keep hammering on your system, however in the days of DDOS, they are less helpful than they used to be.

I'll take a look at sshguard, although it looks like its retroactive too: it waits for the events to be logged and then bans based on what it finds in the logs. I was intending to do something more proactive, at the dovecot layer, and ideally just silently drop them. Or throw the attempts into a different log perhaps. Just thinking out loud at this point.
For the sake of completeness, there's also my personal favourite, CSF, which in my opinion does a better job than fail2ban, but still not exactly what I envisaged.

> you can add username_filter = *@domain.com
> or deny-passdb before actual passdb with username_filter = !*@domain.com
> https://doc.dovecot.org/configuration_manual/authentication/password_databases_passdb/

This is more like what I had in mind. Let me try this out and I'll report back.

P.
Reply | Threaded
Open this post in threaded view
|

Re: Spam Blocking by filtering on username / id

Dovecot mailing list
On Wed, 25 Sep 2019, Plutocrat wrote:

> On 23/09/2019 4:13 PM, Bernd Petrovitsch via dovecot wrote:
>> It's not directly a solution within dovecot but "fail2ban" exists.
>
> Yes, I have fail2ban, but that bans based on IP address.  And most mail
> password attacks these days are distributed, and although fail2ban will
> try to spot them it doesn't do a very good job.  I thought denying any
> logins without the @domain.com part would be an additional layer.  I
> understand that there's no way these attempts could log in, its just
> that there are so many attempts logged, that it fills up 90% of my logs
> with noise, and prevents me from seeing the other important events.
>
>> Are users able to login without the @domain part?
>
> No.  All valid mail accounts are in the form [hidden email]
>
>> There is also sshguard that will do the same thing.  One of these
>> should probably be running anyway as they help mitigate issues where
>> someone keep hammering on your system, however in the days of DDOS,
>> they are less helpful than they used to be.
>
> I'll take a look at sshguard, although it looks like its retroactive
> too: it waits for the events to be logged and then bans based on what
> it finds in the logs.  I was intending to do something more proactive,
> at the dovecot layer, and ideally just silently drop them.  Or throw
> the attempts into a different log perhaps.  Just thinking out loud at
> this point.  For the sake of completeness, there's also my personal
> favourite, CSF, which in my opinion does a better job than fail2ban,
> but still not exactly what I envisaged.
>
>> you can add username_filter = *@domain.com or deny-passdb before
>> actual passdb with username_filter = !*@domain.com
>> https://doc.dovecot.org/configuration_manual/authentication/password_databases_passdb/

You have 2 distinct issues: security, and voluminous logging.

As you've already stated, it's not a security issue: adding dovecot
configuration won't make your system more resistant to brute
forcing.  It may also exacrabate the logging issue.

It seems to me from reading your description that you want to either 1)
find some way to squelch log enties, either by filtering, or perhaps by
aggregation, or 2) trigger a blocking upstream of dovecot (e.g. fail2ban
=> add IP block to local firewall) and relegating it to another access
control mechanism that you better handle voluminous logging.

For distributed BFD, you probably can't pre-empt them, so if even one
attempt per IP is too much to log, you may have to do both.

Joseph Tam <[hidden email]>