Consentire l'accesso a Dovecot da determinati indirizzi IP solo ad alcuni utenti

From RVM Wiki
Jump to navigation Jump to search

Si vuole che determinati utenti accedanoa dovecot solo dalla lan, ed altri anche dalla wan.

È possibile farlo solo autenticando

  • su una copia del file passwd, importata dagli utenti di sistema
  • su un db
  • su ldap

Non si può fare autenticando direttamente con pam o sul file /etc/passwd, perchè non gestiscono gli extra_fields

  • Installare dovecot
  • Installae john, per usare l'utility unshadow
sudo apt-get install john
  • Creare il file di autenticazione unshadowato:
sudo unshadow /etc/passwd /etc/shadow | sudo tee /etc/dovecot/shadow > /dev/null
  • Configurare l'autenticazione in dovecot:
sudoedit /etc/dovecot/dovecot.conf
cat /etc/dovecot/dovecot.conf | grep -v '^#\|  #\|^$'
protocols = imap imaps
disable_plaintext_auth = no
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_location = maildir:~/Maildir
namespace private {
   separator = .
   prefix = INBOX.
   inbox = yes
}
mail_privileged_group = mail
protocol imap {
}
  
protocol pop3 {
  pop3_uidl_format = %08Xu%08Xv
}
protocol managesieve {
  sieve=~/.dovecot.sieve
  sieve_storage=~/sieve
}
auth default {
  mechanisms = plain
  passdb passwd-file {
    args = /etc/dovecot/shadow
  }
  userdb passwd-file {
    args = /etc/dovecot/shadow
  }
  user = root
}
dict {
}
plugin {
}
  • aggiungere le limitazioni agli utenti, aggiungendo alla fine:
:allow_nets=192.169.22.0/24,1.2.3.4/16
 sudoedit /etc/dovecot/shadow
#Utente limitato:
cristina.guidi:$1$4Ny7ahZA$Jx/o994E/pDQKNTp.fPJG/:1047:100::/home/cristina.guidi:/bin/sh:allow_nets=192.169.22.0/24

#utente non limitato, standard
giancarlo.cattaneo:$1$a7tPtI8.$xZieFk9kJm682QFknLDUQ0:1060:100::/home/giancarlo.cattaneo:/bin/sh

Riferimenti