W ubiegłym miesiącu witryna Linux Mint została zhackowana, a zmodyfikowana wersja ISO została załadowana do pobrania i zawierała backdoor. Problem został szybko naprawiony, ale pokazuje on znaczenie sprawdzenia pobranych plików systemu Linux w systemie Linux przed ich uruchomieniem i zainstalowaniem. Oto jak.
Dystrybucje systemu Linux publikują sumy kontrolne, dzięki czemu możesz potwierdzić, że pobierane pliki są tym, za co się podają, a te są często podpisywane, abyś mógł zweryfikować, czy sumy kontrolne nie zostały zmodyfikowane. Jest to szczególnie przydatne, jeśli pobierasz obraz ISO z innej witryny niż główna witryna, na przykład z zewnętrznego lustra lub za pomocą narzędzia BItTorrent, dzięki czemu łatwiej jest manipulować plikami.
Proces sprawdzania ISO jest nieco skomplikowany, więc zanim przejdziemy do dokładnych kroków, wyjaśnijmy dokładnie, co pociąga za sobą proces:
Proces może się nieco różnić dla różnych ISO, ale zwykle wynika to z ogólnego wzorca. Na przykład istnieje kilka różnych rodzajów sum kontrolnych. Tradycyjnie sumy MD5 są najbardziej popularne. Jednak sumy SHA-256 są obecnie częściej używane przez współczesne dystrybucje Linuksa, ponieważ SHA-256 jest bardziej odporny na ataki teoretyczne. Najpierw omówimy tutaj sumy SHA-256, chociaż podobny proces będzie działał dla sum MD5. Niektóre dystrybucje Linuksa mogą również dostarczać sumy SHA-1, chociaż są one jeszcze mniej popularne.
Podobnie, niektóre dystrybucje nie podpisują sum kontrolnych za pomocą PGP. Będziesz musiał tylko wykonać kroki 1, 2 i 5, ale proces jest znacznie bardziej podatny na ataki. W końcu, jeśli atakujący może zastąpić plik ISO do pobrania, może również zastąpić sumę kontrolną.
Używanie PGP jest dużo bezpieczniejsze, ale nie jest niezawodne. Atakujący może nadal zastąpić ten klucz publiczny swoim własnym, wciąż mogą cię podstępem przekonać, że ISO jest legalne. Jeśli jednak klucz publiczny jest hostowany na innym serwerze - tak jak w przypadku Mennicy Linuksa - jest to znacznie mniej prawdopodobne (ponieważ musiałoby zhackować dwa serwery zamiast jednego). Ale jeśli klucz publiczny jest przechowywany na tym samym serwerze, co ISO i suma kontrolna, tak jak ma to miejsce w przypadku niektórych dystrybucji, to nie zapewnia tak dużego bezpieczeństwa.
Mimo to, jeśli próbujesz zweryfikować podpis PGP w pliku sumy kontrolnej, a następnie sprawdzasz pobieranie za pomocą tej sumy kontrolnej, to wszystko, co możesz rozsądnie zrobić, jako użytkownik końcowy pobierający ISO systemu Linux. Nadal jesteś o wiele bezpieczniejszy niż ludzie, którzy nie zawracają sobie głowy.
Użyjemy Linux Mint jako przykładu tutaj, ale może być konieczne przeszukanie witryny dystrybucji Linuksa, aby znaleźć opcje weryfikacji, które oferuje. W systemie Linux Mint dostarczane są dwa pliki wraz z pobieraniem ISO w swoich serwerach lustrzanych. Pobierz plik ISO, a następnie pobierz pliki "sha256sum.txt" i "sha256sum.txt.gpg" na swój komputer. Kliknij pliki prawym przyciskiem myszy i wybierz "Zapisz element docelowy jako", aby je pobrać.
Na pulpicie systemu Linux otwórz okno terminala i pobierz klucz PGP. W tym przypadku klucz PGP Linux Mint jest hostowany na kluczowym serwerze Ubuntu i musimy uruchomić następujące polecenie, aby go uzyskać.
gpg --keyserver hkp: //keyserver.ubuntu.com --recv-keys 0FF405B2
Twoja strona internetowa dystrybucji Linuksa wskaże Ci klucz, którego potrzebujesz.
Mamy teraz wszystko, czego potrzebujemy: ISO, plik sumy kontrolnej, plik podpisu cyfrowego sumy kontrolnej i klucz PGP. Następnie przejdź do folderu, do którego zostały pobrane ...
cd ~ / Downloads
... i uruchom następujące polecenie, aby sprawdzić podpis pliku sumy kontrolnej:
gpg --verify sha256sum.txt.gpg sha256sum.txt
Jeśli polecenie GPG informuje, że pobrany plik sha256sum.txt ma "dobry podpis", możesz kontynuować. W czwartej linii ekranu poniżej GPG informuje nas, że jest to "dobry podpis", który twierdzi, że jest powiązany z Clementem Lefebvre, twórcą Linux Mint.
Nie martw się, że klucz nie jest certyfikowany "zaufanym podpisem". Dzieje się tak ze względu na sposób szyfrowania PGP - nie ustanowiłeś sieci zaufania poprzez importowanie kluczy od zaufanych osób. Ten błąd będzie bardzo powszechny.
Wreszcie, skoro wiemy, że suma kontrolna została utworzona przez opiekunów menadżerów Linuksa, uruchom następującą komendę, aby wygenerować sumę kontrolną z pobranego pliku .iso i porównaj ją z pobranym plikiem TXT z sumą kontrolną:
sha256sum - check sha256sum.txt
Zobaczysz wiele komunikatów "brak takiego pliku lub katalogu", jeśli pobierzesz tylko jeden plik ISO, ale powinieneś zobaczyć komunikat "OK" dla pobranego pliku, jeśli jest zgodny z sumą kontrolną.
Można również uruchamiać polecenia sumy kontrolnej bezpośrednio w pliku .iso. Zbada plik .iso i wypluje jego sumę kontrolną.Możesz po prostu sprawdzić, czy pasuje do poprawnej sumy kontrolnej, patrząc na oba oczy.
Na przykład, aby uzyskać sumę SHA-256 pliku ISO:
sha256sum /path/to/file.iso
Lub, jeśli masz wartość md5sum i potrzebujesz uzyskać sumę md5 pliku:
md5sum / ścieżka / do / plik.iso
Porównaj wynik z plikiem TXT sumy kontrolnej, aby sprawdzić, czy pasują.
Jeśli pobierasz ISO systemu Linux z komputera z systemem Windows, możesz również zweryfikować jego sumę kontrolną, chociaż system Windows nie ma wbudowanego niezbędnego oprogramowania. Musisz więc pobrać i zainstalować narzędzie Gpg4win o otwartym kodzie źródłowym.
Zlokalizuj plik kluczy podpisywania dystrybucji Linux i pliki sum kontrolnych. Użyjemy tutaj Fedory. Witryna Fedory zapewnia pobieranie sum kontrolnych i informuje nas, że możemy pobrać klucz podpisywania Fedory z https://getfedora.org/static/fedora.gpg.
Po pobraniu tych plików musisz zainstalować klucz podpisu przy użyciu programu Kleopatra dołączonego do Gpg4win. Uruchom Kleopatrę i kliknij Plik> Importuj certyfikaty. Wybierz pobrany plik .gpg.
Możesz teraz sprawdzić, czy pobrany plik sumy kontrolnej został podpisany przy użyciu jednego z zaimportowanych kluczowych plików. Aby to zrobić, kliknij Plik> Odszyfruj / Weryfikuj pliki. Wybierz pobrany plik sumy kontrolnej. Odznacz opcję "Plik wejściowy jest oddzielnym podpisem" i kliknij "Odszyfruj / weryfikuj".
Na pewno zobaczysz komunikat o błędzie, jeśli zrobisz to w ten sposób, ponieważ nie sprawiłeś kłopotu z potwierdzeniem, że te certyfikaty Fedory są autentyczne. To trudniejsze zadanie. W ten sposób PGP jest zaprojektowany do pracy - na przykład spotykamy się i wymieniamy klucze osobiście i dzielić sieć zaufania. Większość ludzi nie używa tego w ten sposób.
Możesz jednak wyświetlić więcej szczegółów i potwierdzić, że plik sumy kontrolnej został podpisany przy użyciu jednego z zaimportowanych kluczy. Jest to znacznie lepsze niż tylko ufanie pobranemu plikowi ISO bez sprawdzania.
Powinieneś teraz móc wybrać Plik> Weryfikuj pliki sum kontrolnych i potwierdzić, że informacje w pliku sumy kontrolnej pasują do pobranego pliku .iso. Nie zadziałało to jednak dla nas - może jest to po prostu sposób, w jaki konfiguruje się plik sumy kontrolnej Fedory. Kiedy próbowaliśmy tego z plikiem sha256sum.txt Linux Mint, zadziałało.
Jeśli to nie działa dla wybranej przez ciebie dystrybucji Linuksa, oto sposób obejścia tego problemu. Najpierw kliknij Ustawienia> Konfiguruj Kleopatra. Wybierz "Operacje kryptograficzne", wybierz "Operacje na plikach" i ustaw Kleopatra, aby używał programu kontrolnego "sha256sum", ponieważ właśnie z niego wygenerowano tę konkretną sumę kontrolną. Jeśli masz sumę kontrolną MD5, wybierz "md5sum" na liście tutaj.
Teraz kliknij Plik> Utwórz pliki sum kontrolnych i wybierz pobrany plik ISO. Kleopatra wygeneruje sumę kontrolną z pobranego pliku .iso i zapisze go w nowym pliku.
Możesz otworzyć oba te pliki - pobrany plik sum kontrolnych i ten, który właśnie wygenerowałeś - w edytorze tekstów, takim jak Notatnik. Potwierdź, że suma kontrolna jest identyczna na obu twoich oczach. Jeśli jest identyczny, potwierdziłeś, że pobrany plik ISO nie został zmieniony.
Te metody weryfikacji nie były pierwotnie przeznaczone do ochrony przed złośliwym oprogramowaniem. Zostały one zaprojektowane w celu potwierdzenia, że plik ISO został pobrany poprawnie i nie został uszkodzony podczas pobierania, więc można go nagrać i używać bez obaw. Nie są one całkowicie niezawodnym rozwiązaniem, ponieważ musisz ufać kluczowi PGP, które pobrałeś. Jednak nadal zapewnia to o wiele więcej niż tylko używanie pliku ISO bez sprawdzania go w ogóle.
Image Credit: Eduardo Quagliato na Flickr