[pmg-devel] [PATCH pmg-api/gui] add quarantine self service button

Dominik Csapak d.csapak at proxmox.com
Tue Nov 17 16:53:05 CET 2020


On 11/17/20 4:29 PM, Thomas Lamprecht wrote:
> On 17.11.20 15:57, Dominik Csapak wrote:
>> adds an option/api call to request an quarantine link for an
>> email whose domain is in the relay domains
>>
>> for now, we do not expose that option to the ui, but this can easily be
>> added if wanted
>>
>> NOTES on security:
>>
>> this adds a world reachable api call, that can potentially send e-mails
>> to users that belong to a relay domain
>>
>> this is ok, since anybody can already send e-mails to the users
>> via normal smtp, and since the content of the e-mail cannot be
>> controlled, the only thing a potential attacker can do is a dos attack
>> (which can always be done via resource exhaustion, e.g. send a lot of mail)
> 
> But, isn't the difference that here the server does it for me, no
> greylisting or similar involved? Also possible lower payload required
> vs. doing the SMTP myself.

sure, but it is basically the same as a 'forgot password' link on any 
website

also i am not sure about the cost of an tls+http call vs plain smtp...
(i guess that this difference will not stop an attacker...)

in general you can always dos a system, given enough network bandwidth...

> 
> 
>>
>> we could add more checks to make it more secure, but not so convenient:
> 
> why not rate limit it to three per day or so? not convenience reducing,
> we would need to safe the usage count somewhere though.

i thought of this, but would take a little more time to develop ;)
if wanted, i can of course implement something like this, though
i am not sure where we would want to save that info, and how much
time i'd need

> 
>> * add an option for a admin-settable shared secret that users must enter
>>    (makes it harder for the user to self-service, since the user has to
>>    know the secret)
>> * only allow it from 'trusted networks' (this makes probably no sense)
>> * add an option to allow it from a specific subnet (similar to above,
>>    but seperate from mail flow, which could make sense, but is also
>>    not as convenient)
>>
>> for now all text is hardcoded, templates could be used later on
>> (if users want that)
>>
>> also i am open for alternate wordings for all texts, i basically chose
>> what came to mind first...
>>
>> changes from v1:
>> * move config to 'spamquar' section
>> * show button also on admin interface
>>
>> pmg-api:
>>
>> Dominik Csapak (3):
>>    refactor domain_regex to Utils
>>    add 'quarantinelink' to spamquar config
>>    api2/quarantine: add global sendlink api call
>>
>>   src/PMG/API2/Quarantine.pm  | 87 +++++++++++++++++++++++++++++++++++++
>>   src/PMG/CLI/pmgqm.pm        | 29 +------------
>>   src/PMG/Config.pm           |  6 +++
>>   src/PMG/HTTPServer.pm       |  1 +
>>   src/PMG/Service/pmgproxy.pm |  4 ++
>>   src/PMG/Utils.pm            | 26 +++++++++++
>>   6 files changed, 126 insertions(+), 27 deletions(-)
>>
>> pmg-gui:
>>
>> Dominik Csapak (1):
>>    add 'Request Quarantine Link' Button to LoginView
>>
>>   js/LoginView.js   | 31 +++++++++++++++++++++++++++++++
>>   pmg-index.html.tt |  3 ++-
>>   2 files changed, 33 insertions(+), 1 deletion(-)
>>
> 
> 





More information about the pmg-devel mailing list