Postfix, Exchange - wysyłka w imieniu innego użytkownika
Jednym ze sposobów zabezpieczenia serwera pocztowego jest uniemożliwienie użytkownikom wysyłki poczty pod zmienionym adresem nadawcy. Istnieją jednak od tej zasady odstępstwa np. sytuacja, w której sekretarka ma mieć możliwość odpowiedzi na pocztę w imieniu swojego przełożonego. Zatem jak osiągnąć zakładana funkcjonalność na przykładzie Postfix’a oraz MS Exchange 2010.
W przypadku serwera pocztowego Postfix w sekcji smtpd_sender_restrictions dopisujemy parametr reject_sender_login_mismatch. Następnie dodajemy jeszcze wpis:
smtpd_sender_login_maps = hash:/etc/postfix/sender_login_maps
gdzie w /etc/postfix/sender_login_maps mapujemy to co znajduje się w nagłówku mail from z loginem jaki posłużył użytkownikowi w nawiązaniu połączenia smtp-auth np:
:::bash
witalis@foo.bar witalis
witalis2@foo.bar witalis
użytkownik witalis, może podać się za osobę uprawnioną do wysyłki poczty z adresów witalis@foo.bar witalis2@foo.bar.
Na sam koniec należy poleceniem:
:::bash
postmap /etc/postfix/sender_login_maps
wygenerować bazę danych. Baza ta nie koniecznie musi mieć postać pliku tekstowego, możemy dołączyć do naszego systemu bazę SQL. Więcej informacji pod adresem [1].
W przypadku MS Exchange 2010 systemu mającego szersze zastosowanie niż tylko zwykły serwery pocztowy, postawione zadanie możemy zrealizować na dwa sposoby z poziomu konsoli serwera. Pierwszy ze sposobów to skorzystanie z opcji SendOnBehalf, otrzymujemy w zamian możliwość wysyłki jako ktoś inny, przy czym w temacie nadawanej wiadomości znajdzie się w następująca przykładowa wzmianka:
:::bash
witalis <witalis@foo.bar>; on behalf of; wit <wit@foo.bar>
Do konfiguracji tego ustawienia możemy użyć zarówno Exchange Management Console jak i Exchange Management Shell. Ilustracja ustawienia tego parametru w tym drugim wymienionym narzędziu de facto powershell' u wygląda następująco:
:::bash
Set-Mailbox wit -GrantSendOnBehalfTo witalis@foo.bar
dla mailbox’a wit użytkownik witalis@foo.bar jest uprawniony do wysyłki, sprawdzenie ustawień:
Get-Mailbox -identity wit | Select-Object GrantSendOnBehalfTo
Druga opcja dostępna w Exchange’u to Send As Permission, tym razem nie mamy już wzmianki o tym, że wysłana wiadomość jest w imieniu innej osoby. W celu ustawienia tej opcji korzystamy z polecenia:
:::bash
Add-ADPermission wit -ExtendedRights Send-As -user witalis@foo.bar
podobnie jak w poprzedniej wersji użytkownik witalis@foo.bar wysyła pocztę w imieniu właściciela mailbox’a wit. Zmiana ta jednak nie jest widoczna od razu, wymagana jest jej replikacja lub restart usługi Microsoft Exchange Information Store:
sc stop "MSExchangeIS"
sc start "MSExchangeIS"
sprawdzenie dostępności tego parametru, dla konkretnego konta to polecenie:
:::bash
Get-ADPermission -identity wit1 | Select-Object identity,user,extendedrights |
? {$_.extendedrights -like "Send-As" }
Dodatkowo opcję delegowania send-as dla danego mailbox’a możemy wykonać z poziomu samego MS Outlook’a.
[1] http://www.postfix.org/postconf.5.html#smtpd_sender_login_maps
powered by Hugo and Noteworthy theme