Po migracji poczty do usługi chmurowej zostaje w firmie warstwa, o której nikt nie pomyślał: aplikacje, urządzenia i skrypty, które wysyłają powiadomienia. System ERP wysyła potwierdzenia, drukarka wysyła skany, monitoring wysyła alerty, zadanie na serwerze wysyła raport. Wszystkie robią to tak, jak nauczono je w 2009 roku: port 25, bez szyfrowania, bez hasła, na adres serwera pocztowego, który już nie istnieje.
Dlaczego nie da się ich po prostu przepiąć
Usługa pocztowa w chmurze wymaga jednego z dwóch: uwierzytelnionego połączenia z szyfrowaniem na porcie 587 albo łącznika przyjmującego pocztę z określonych adresów publicznych, również z szyfrowaniem. Starsza aplikacja często nie obsługuje szyfrowania, nie ma pola na hasło albo ma, ale zapisuje je w pliku konfiguracyjnym w postaci jawnej. Drukarka z 2015 roku zna tylko przestarzałe wersje protokołu szyfrowania, których usługa już nie akceptuje.
Częsta reakcja: łącznik w chmurze z listą wyjątków, konto pocztowe z hasłem wpisane w dwadzieścia konfiguracji, uwierzytelnianie podstawowe włączone „tymczasowo” dla jednego konta. Każdy wyjątek jest osobnym ryzykiem i osobną rzeczą do zapamiętania przy rotacji hasła.
Przekaźnik wewnętrzny
Rozwiązanie znane od dekad: jeden serwer pocztowy w segmencie serwerów, którego jedynym zadaniem jest przyjmowanie poczty od systemów wewnętrznych i przekazywanie jej dalej w sposób, jakiego wymaga usługa w chmurze.
Od strony aplikacji przekaźnik przyjmuje połączenia:
- wyłącznie z listy wewnętrznych adresów IP, konkretnych serwerów i urządzeń, nie z całej sieci,
- na porcie 25 i 587, z szyfrowaniem opcjonalnym, bo część klientów go nie obsługuje,
- bez uwierzytelniania, bo lista adresów jest uwierzytelnieniem,
- z ograniczeniem domen nadawcy do własnych i limitem wiadomości na godzinę per adres źródłowy.
Od strony usługi w chmurze przekaźnik wychodzi jednym, poprawnie skonfigurowanym połączeniem: przez łącznik z publicznym adresem firmy i wymuszonym szyfrowaniem albo przez uwierzytelnione wysyłanie z jednym kontem serwisowym, którego hasło jest w jednym miejscu.
Co przekaźnik daje poza przepięciem
Kolejkę. Awaria łącza lub usługi w chmurze nie oznacza utraty powiadomień. Wiadomości czekają w kolejce i wychodzą po przywróceniu połączenia. Aplikacja, która wysyła bezpośrednio, dostaje błąd i zwykle nie próbuje ponownie.
Logi per aplikacja. Jeden plik dziennika odpowiada na pytanie, czy system ERP wysłał dziś fakturę i co się z nią stało. Bez przekaźnika odpowiedź wymaga przeszukania logów usługi w chmurze i logów aplikacji, o ile aplikacja jakieś ma.
Inwentaryzację. Po tygodniu logi przekaźnika pokazują pełną listę systemów wysyłających pocztę, w tym te, o których nikt nie wiedział. Ta lista jest podstawą do rekordu SPF i porządkowania.
Jedno miejsce na zmiany. Zmiana usługi pocztowej, rotacja hasła konta serwisowego, nowy wymóg szyfrowania: jedna konfiguracja zamiast dwudziestu.
Zasady wdrożenia
- Przekaźnik w segmencie serwerów, z polityką sieciową: przyjmuje z listy wewnętrznych adresów, wychodzi tylko do usługi pocztowej.
- Firewall blokuje ruch na port 25 z sieci wewnętrznej do internetu ze wszystkich adresów poza przekaźnikiem. Aplikacja, która omija przekaźnik, przestaje działać, co jest zamierzone i widoczne.
- Adres przekaźnika w DNS pod nazwą, która nie zmieni się przy wymianie serwera.
- Monitoring: długość kolejki, liczba odrzuconych połączeń, wiek najstarszej wiadomości w kolejce. Alert, gdy kolejka rośnie.
- Rekord SPF i podpisywanie DKIM uwzględniają ścieżkę przez przekaźnik, inaczej powiadomienia trafiają do spamu.
- Migracja aplikacji po kolei, według listy z inwentaryzacji, z wpisem w dokumentacji: system, adres źródłowy, domena nadawcy, kontakt do właściciela.
Podsumowanie
Poczta aplikacyjna nie zniknie i nie nauczy się nowych protokołów. Przekaźnik wewnętrzny przyjmuje ją taką, jaka jest, tylko z sieci wewnętrznej i tylko z listy adresów, a na zewnątrz wychodzi zgodnie z wymaganiami usługi w chmurze: z kolejką, logami i jednym miejscem na zmiany. Dwadzieścia wyjątków w chmurze zamienia się w jedną konfigurację, którą da się zaudytować.