Most such functions would need to be custom. You need to write a custom login script, which also accepts the user's IP as input to a function, which then checks if password is right. And then it returns that password is invalid if IP isn't approved.
Then you just need to write some custom functions in roundcube or similiar to have the webmail insert the IP into a database.
Or just match it against a GeoIP database and save the latest country the webmail was logged in from, and then SMTP/IMAP is only approved for that country. That reduces the attack surface greatly.
-----Ursprungligt meddelande----- Från: dovecot-bounces@dovecot.org dovecot-bounces@dovecot.org För White, Daniel E. (GSFC-770.0)[NICS] Skickat: den 15 juli 2021 12:21 Till: Dovecot Mailing List dovecot@dovecot.org Ämne: function for whitelisting IPs
Sebastian,
Do you have any examples of such a function and how/where it is used ?
-----Original Message----- From: dovecot dovecot-bounces@dovecot.org on behalf of Sebastian sebastian@sebbe.eu Reply-To: Dovecot Mailing List dovecot@dovecot.org Date: Thursday, July 15, 2021 at 01:19 To: 'Mailing List' dovecot@dovecot.org Subject: [EXTERNAL] Sv: 2FA/MFA with IMAP & postfix/submission
Main problem is that not many clients do natively support multifactor.
Some clients, do popup a login dialog if the server rejects the password as invalid, which can be used to create a "cheaty variant" of multifactor, but some clients just popup an error dialog and tell the user to just correct password in settings.
Some clients even go as long as requiring the user to delete the account with wrong password and set up a new connection.
So no, it cannot be relied upon.
I have a better idea:
Have a function for whitelisting IPs, possible /24's or similiar, where a login to roundcube or other webmail client (with 2FA) will add the IP onto a whitelist for that account.
Or perhaps, just "set" the country of the account based on GeoIP.
When an account tries to login via IMAP or SMTP, you just check if IP and/or GeoIP country is right, and reject the login as invalid if so not.
The only thing a client needs to do to get his IMAP or SMTP client to work again if it stops working, is to login once via the web client.
-----Ursprungligt meddelande-----
Från: dovecot-bounces@dovecot.org <dovecot-bounces@dovecot.org> För Alex
Skickat: den 15 juli 2021 02:10
Till: dovecot@dovecot.org
Ämne: 2FA/MFA with IMAP & postfix/submission
Hi, I have a dovecot-2.3.13 system on fedora34 with a few hundred
IMAP4 accounts, as well as postfix users using submission. Clients are
using primarily Outlook on Windows and old squirrelmail.
Are there multi-factor options available?
If it is not available, do you have any recommendations on where I
should look to do this?
All of the links related to this topic appear to be very old, or
limited to Linux PAM users.