Jak określa się odciski palców smarthost ? Czy zależy to tylko od smarthosta lub klienta?
Skonfigurowałem mój odcisk palca smarthost Gmaila jakiś czas temu w moim starym Ubuntu i działało dobrze. Jednak podczas ponownej konfiguracji w moim nowym Ubuntu 18.04 okazało się, że stare ustawienie już nie działa.
Ponieważ nie korzystałem z mojego hosta Gmail Gmail, ale mojego usługodawcy internetowego, więc nie wiem, kiedy się zepsuje. Więc teraz moje pytanie brzmi: czy to się zepsuło, ponieważ gmail zmienił swój odcisk palca smarthost (bardzo mało prawdopodobne), czy odciski palców smarthost są różne na każdym komputerze? Nie mogę ślepo skopiować tego, co działało, nawet do nowego systemu operacyjnego na tym samym komputerze, prawda?
Próbowałem również w poprzedni sposób, aby uzyskać odciski palców smarthost , jak w artykule, ale teraz to nie działa. Jaki jest prawidłowy sposób pobierania odcisków palców smarthost?
Dzięki.
Odpowiedzi:
Nie ma czegoś takiego jak „odcisk palca smarthost”. Są to odciski palców certyfikatów TLS, które w tym kontekście należą do serwerów przekaźnikowych SMTP (smarthosts) - ale wszystko tutaj dotyczy w równym stopniu IMAPS, HTTPS, FTPS ... wszystkiego, co używa TLS.
Odciski palców certyfikatów TLS zwykle nie zależą od klienta: są skrótem SHA1 (lub SHA256) certyfikatu serwera i ogólnie serwery używają tego samego certyfikatu dla wszystkich.
Ale jednym wyjątkiem mogą być serwery równoważące obciążenie: duże witryny mogą mieć kilka serwerów pod jedną nazwą i chociaż mogą one współdzielić jeden certyfikat, nie jest to prawie wcale gwarantowane - mogą również z łatwością korzystać z 20 lub 50 certyfikatów jednocześnie.
Nawet w przypadku tego samego serwera jest bardzo prawdopodobne, że odcisk palca zmieni się - będzie różny za każdym razem, gdy certyfikat zostanie odnowiony (ponieważ zmieniają się daty ważności) lub zostanie wydany ponownie z jakiegokolwiek innego powodu (nowy klucz prywatny lub nowy wystawca, lub nowa nazwa domeny ...)
Podczas gdy certyfikaty były wydawane przez 3–5 lat w przeszłości (i instalowane ręcznie), nową praktyką jest automatyzacja procesu i stosowanie krótkoterminowych certyfikatów, zwykle 90, a nawet 45 dni. Google robi to od ok. 2014 i tak działa Let's Encrypt od pierwszego dnia. (Zgodnie z regulaminem forum CA / B nawet „standardowe” długoterminowe certyfikaty TLS są teraz ograniczone do 2 lat).
Tak więc
tls_fingerprint
opcja ta jest przydatna tylko wtedy , gdy dokładnie wiesz , kiedy certyfikat ma się zmienić (np. Jeśli jesteś osobą, która go zmienia). W przeciwnym razie po prostu zepsuje konfigurację co miesiąc lub dwa.W praktyce przynajmniej dystrybucje Linuksa dość szybko aktualizują swoje pakiety certyfikatów CA. (Jeśli tak nie jest, czy na pewno w ogóle chcesz uruchomić ten system operacyjny na komputerze?)
Powiedziałbym więc, że artykuł próbuje przestraszyć czytelników niewłaściwymi problemami. Dużo większym problemem jest to, że pakiety certyfikatów urzędów certyfikacji często zawierają kilka podejrzanych, kontrolowanych przez rząd urzędów certyfikacji z różnych krajów.
Alternatywa 1: Jeśli chcesz, możesz stworzyć niestandardowy
tls_trust_file
zawierający tylko jeden urząd certyfikacji, z którego korzysta dostawca: np. Powiedz msmtp, aby ufał tylko DigiCert i nic więcej. Jest to powszechna metoda zwana „pin pin CA”. Ale nadal ma pewne szanse na uszkodzenie, ponieważ administratorzy serwerów mogą swobodnie wybierać, z którymi urzędami certyfikacji będą współpracować.Alternatywa 2: Niektóre programy obsługują inny typ odcisków palców - odciski palców SPKI (skróty podmiotuPublicKeyInfo). Są to tylko surowe pary kluczy i nie zawierają żadnych dodatkowych metadanych certyfikatów. Serwer może okresowo odnawiać swój certyfikat, zachowując tę samą parę kluczy, a zatem ten sam odcisk palca SPKI.
(Jednak nawet jeśli twój klient obsługuje odciski palców SPKI (msmtp nie), będzie to miało tę zaletę, tylko jeśli wiesz, że administratorzy serwera odnawiają w ten sposób swoje certyfikaty. W większości przypadków nie.)
źródło
msmtp --serverinfo ...
) W przypadku innych protokołów powiedziałbym, że zasługuje na własny wątek.