Aby ograniczyć liczbę systemów, które mogą wysyłać nieuwierzytelnioną pocztę wychodzącą przez serwer MTA Zimbra, ustaw atrybut tego serwera zimbraMtaMyNetworksna krótką listę dozwolonych zaufanych adresów IP lub sieci CIDR. Zachowaj pętlę zwrotną na liście, zachowaj wszystkie istniejące zaufane hosty, które nadal wymagają przekaźnika, i usuń szerokie zakresy, którym nie zamierzasz już ufać. Następnie przeładuj Postfixa i przetestuj zarówno zatwierdzone, jak i niezatwierdzone źródło.
To ustawienie kontroluje zaufanych klientów SMTP, którzy mogą przekazywać wiadomości bez uwierzytelniania SMTP. Nie blokuje ono każdej wiadomości wychodzącej od uwierzytelnionego użytkownika Zimbra i nie ustawia serwera poczty następnego przeskoku. Jeśli chcesz wymagać uwierzytelniania dla mobilnych klientów poczty lub ograniczyć konta konkretnych użytkowników, użyj zamiast tego odpowiednich mechanizmów uwierzytelniania lub zasad poczty.
Co kontroluje lista dozwolonych adresów IP?
MTA Zimbry korzysta z Postfixa. W Postfixie klient, którego adres źródłowy jest zgodny, mynetworksjest traktowany jako zaufany do przekazywania. Zimbra udostępnia tę listę za pośrednictwem zimbraMtaMyNetworks. Host wymieniony na liście może przesyłać pocztę do odbiorców zewnętrznych bez uwierzytelniania, więc każdy wpis stanowi istotną decyzję o zaufaniu.
Nie należy mylić listy dozwolonych z zimbraMtaRelayHost. Lista dozwolonych decyduje, którzy klienci SMTP mogą przekazywać wiadomości przez ten serwer MTA. Host przekaźnikowy to serwer nadrzędny, do którego serwer MTA przekazuje wiadomości nielokalne, na przykład gdy dostawca sieci wymaga hosta inteligentnego. Zmiana jednego nie powoduje zmiany drugiego.
Strony Centrum Technicznego Zimbra opisują ten atrybut i odpowiednie polecenia, ale niektóre materiały są oznaczone jako prace w toku lub archiwalna dokumentacja. Przed zastosowaniem zmian należy sprawdzić działanie w odniesieniu do zainstalowanej wersji i projektu wdrożenia Zimbra. Poniższe przykłady wykorzystują narzędzia wiersza poleceń Zimbra jako zimbrakonto usługi, zgodnie z wytycznymi MTA Zimbra.
Przed zmianą ustawień
- Zidentyfikuj hosta MTA, który odbiera zgłoszenia SMTP z systemów, na które chcesz zezwolić. W środowisku z wieloma serwerami MTA określ, które serwery MTA obsługują te połączenia i zaplanuj zmianę na każdym odpowiednim serwerze.
- Znajdź stały źródłowy adres IP, który faktycznie widzi MTA. Jeśli aplikacja znajduje się za NAT-em, użyj jej publicznego adresu wyjściowego, a nie prywatnego adresu LAN. Jeśli adres IP często się zmienia, lista dozwolonych adresów IP będzie wymagała ciągłej aktualizacji.
- Zapisz aktualny atrybut Zimbra i obowiązującą wartość Postfix. Nie zastępuj istniejącej listy samym nowym adresem, dopóki nie sprawdzisz, które usługi zależą od bieżących wpisów.
- Zorganizuj okno konserwacyjne lub okno zmian odpowiednie dla Twojej usługi pocztowej i zachowaj kopię zapasową dokładnej oryginalnej wartości.
Użyj CIDR pojedynczego hosta, takiego jak /32adres IPv4. Na przykład, 198.51.100.25/32reprezentuje jeden host IPv4; ten adres dostępny tylko w dokumentacji jest przykładem i nie należy go kopiować jako rzeczywistego adresu serwera. Szerszy zakres, taki jak adres, /24ufa każdemu adresowi w danej podsieci. Nie dodawaj sieci publicznych ani dużych zakresów dostawców tylko po to, aby test zakończył się sukcesem.
Jak ustawić listę dozwolonych przekaźników Zimbra
1. Sprawdź skonfigurowane i skuteczne wartości
Zaloguj się do hosta MTA i przełącz się na konto usługi Zimbra. Zastąp je mta.example.comdokładną nazwą serwera zwróconą przez polecenie instalacji zmhostname.
su - zimbra
zmhostname
zmprov gs mta.example.com zimbraMtaMyNetworks
postconf mynetworks
Pierwsze zapytanie odczytuje wartość zapisaną dla obiektu serwera Zimbra i postconfpokazuje efektywne ustawienie Postfix. Zapisz oba wyniki. Jeśli atrybut LDAP jest nieustawiony, Postfix może używać wartości domyślnej, więc nie zakładaj, że puste zapytanie oznacza brak zaufanych sieci. Przed kontynuowaniem sprawdź efektywną wartość i zachowanie konfiguracji swojej wersji.
2. Zbuduj najmniejszą kompletną listę
Utwórz listę zawierającą pętlę zwrotną i każde źródło, które rzeczywiście potrzebuje nieuwierzytelnionego przekaźnika. Dla serwera, który powinien akceptować przekaźnik tylko z hosta lokalnego i jednego stałego hosta aplikacji, lista wyglądałaby następująco:
127.0.0.0/8 198.51.100.25/32
Zastąp przykład rzeczywistym adresem widocznym dla MTA. Uwzględnij niezbędne lokalne interfejsy serwera lub dodatkowe zaufane usługi dopiero po potwierdzeniu ich potrzeby. Unikaj pozostawiania rozległej podsieci biurowej, jeśli tylko jeden serwer powinien być zaufany; w miarę możliwości ogranicz ją do wpisu hosta.
3. Ustaw wartość na właściwym MTA
Użyj zmprov ms, aby ustawić atrybut na poziomie serwera. To polecenie zastępuje wartość, więc uwzględnij każdy wpis, który chcesz zachować, w tym pętlę zwrotną:
zmprov ms mta.example.com zimbraMtaMyNetworks '127.0.0.0/8 198.51.100.25/32'
W przypadku wielu adresów IP, wpisz pełną listę zatwierdzonych adresów w cudzysłów, rozdzielając je spacjami. Nie uruchamiaj przykładowego polecenia bez zmian. Jeśli Twoja konfiguracja opiera się na wartości globalnej, nadpisaniach na poziomie serwera, IPv6, wielu MTA lub zachowaniu specyficznym dla wersji, przed ustawieniem atrybutu sprawdź, jak dziedziczenie i wygenerowana konfiguracja Postfix działają w danym wdrożeniu.
4. Ponownie załaduj Postfix i potwierdź aktywne ustawienie
Po zmianie konfiguracji Zimbra załaduj ponownie Postfix jako konto usługi Zimbra, a następnie ponownie zapytaj o wartość efektywną:
postfix reload
postconf mynetworks
zmprov gs mta.example.com zimbraMtaMyNetworks
Wynik powinien być zgodny z zamierzoną listą dozwolonych, w tym z funkcją pętli zwrotnej. Jeśli Postfix zgłosi nieprawidłową sieć lub wartości będą się różnić, należy przerwać testowanie i rozwiązać problem z konfiguracją przed jego przetestowaniem. Wpisy CIDR muszą używać prawidłowej granicy sieci; w przypadku pojedynczego hosta należy użyć adresu hosta z /32, a nie maski sieci obejmującej sąsiednie hosty.
Jak sprawdzić, czy ograniczenie działa
Przeprowadź test z kontrolowanego, autoryzowanego systemu, używając tej samej ścieżki sieciowej i nasłuchiwacza SMTP, co prawdziwa aplikacja. Wyślij wiadomość do kontrolowanej skrzynki pocztowej poza domenami Zimbra. Sprawdź, czy zatwierdzony host może ją wysłać i czy logi MTA wskazują na pomyślne przyjęcie lub dostarczenie. Aktywność MTA Zimbra jest często rejestrowana /var/log/zimbra.log; sprawdź odpowiedni znacznik czasu i źródłowy adres IP, zamiast polegać wyłącznie na komunikacie o pomyślnym dostarczeniu przez klienta poczty.
Następnie przetestuj z hosta, który nie znajduje się na liście dozwolonych i nie jest uwierzytelniony. Oczekiwanym rezultatem jest odmowa przekaźnika przy próbie wysłania wiadomości do odbiorcy spoza lokalizacji. Sprawdź dziennik MTA pod kątem odrzuconych połączeń i adresu źródłowego zaobserwowanego przez Postfix. Nieuwierzytelniony klient może nadal mieć możliwość wysyłania wiadomości do lokalnych odbiorców Zimbra; jest to normalne odbieranie poczty i nie dowodzi, że może przekazywać pocztę wychodzącą.
Przetestuj również każdą legalną aplikację, która znajdowała się na starej liście. Nieudane przesłanie aplikacji zazwyczaj oznacza, że na liście dozwolonych adresów pojawił się niewłaściwy adres źródłowy, usunięto starą, zaufaną zależność lub aplikacja wymaga uwierzytelnienia SMTP. Jeśli klienci przemieszczają się między sieciami lub ich wyjściowy adres IP jest niestabilny, uwierzytelnianie SMTP przez TLS jest zazwyczaj łatwiejsze w zarządzaniu niż wielokrotne zmienianie listy dozwolonych adresów IP.
Jak cofnąć zmiany lub rozwiązać problemy
Jeśli zatwierdzone aplikacje przestaną wysyłać, przywróć dokładną zapisaną wartość zamiast dodawać zgadniętą podsieć. Zastosuj ją za pomocą zmprov ms, przeładuj Postfix i potwierdź wartość poprawną za pomocą postconf mynetworks. Sprawdź, czy moduł równoważenia obciążenia, brama NAT, host kontenera lub serwer proxy wychodzący nie zmieni adresu źródłowego przed dotarciem do MTA.
Odpowiedź Relay access deniedmoże również oznaczać, że klient nie jest uwierzytelniony, a jego źródłowy adres IP nie znajduje się na liście zaufanych. W przypadku zwykłych użytkowników poczty e-mail należy skonfigurować wysyłanie SMTP z uwierzytelnianiem, zamiast dodawać wszystkie sieci użytkowników do listy zimbraMtaMyNetworks. Szerokie listy dozwolonych adresów tworzą większą powierzchnię przekaźnikową bez uwierzytelniania i mogą narazić serwer na nadużycia, jeśli zaufana sieć zawiera niezarządzane urządzenia.
Jeśli wartość MTA wydaje się prawidłowa, ale zachowanie się nie zmienia, sprawdź, czy edytowałeś serwer, który zaakceptował połączenie, czy przeładowanie zakończyło się powodzeniem i czy żadna inna instancja Postfix ani urządzenie sieciowe nie obsługuje SMTP. Nie edytuj plików Postfix wygenerowanych przez Zimbra bezpośrednio w celu trwałej naprawy; zarządzanie konfiguracją może je ponownie wygenerować. Sprawdź dokumentację administracyjną Zimbra lub kanał wsparcia dla swojej wersji, aby poznać procedury specyficzne dla danej wersji, gdy wartość LDAP i konfiguracja środowiska wykonawczego się nie zgadzają.
Jak wygląda udany wynik
postconf mynetworkswyświetla tylko pętlę zwrotną i docelowe zaufane adresy źródłowe lub sieci.
- Zatwierdzona, nieuwierzytelniona aplikacja może wysłać wiadomość na zewnętrzną skrzynkę testową.
- Niezatwierdzony i niezweryfikowany host otrzymuje odmowę przekazania sygnału do zewnętrznego odbiorcy.
- Uwierzytelnieni użytkownicy i lokalna poczta przychodząca nadal działają prawidłowo.
- Zapisana wartość wycofania i lista usług zależnych są zachowywane na potrzeby przyszłych zmian.
Ta metoda zawęża nieuwierzytelnione przekierowanie według źródłowego adresu IP. Nie zastępuje uwierzytelniania SMTP, TLS, kontroli prędkości, zabezpieczeń kont ani monitorowania i nie rozróżnia poszczególnych aplikacji współdzielących jeden publiczny adres NAT. Używaj jej jako jednej, skoncentrowanej kontroli i sprawdzaj listę dozwolonych za każdym razem, gdy zmienia się ruch wychodzący z sieci lub role MTA.
Źródła