Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
Systemowe utwardzenie (hardening) Linuksa – narzędzia: Lynis / Tiger
Jednym ze sposobów pozyskania kontroli nad atakowanym celem jest wykorzystanie dobrze opisanych błędów w przestarzałych wersjach oprogramowania lub domyślnych ustawień poszczególnych usług działających na atakowanej maszynie. Ten artykuł przedstawi, czym jest proces utwardzania, oraz opisze narzędzia pozwalające w szybki sposób zidentyfikować niepoprawnie skonfigurowane usługi w systemie.
Pierwsze kroki
Rozpoczęcie wprowadzania zmian na systemie w celu poprawienia jego poziomu bezpieczeństwa powinno rozpocząć się od identyfikacji działających na nim usług oraz ich ustawień konfiguracyjnych. Aby tego dokonać, trzeba ustalić, wedle jakiego profilu/standardu chcemy przeprowadzić audyt konfiguracji. Inaczej utwardzać trzeba maszynę, która jest serwerem stron internetowych, a inaczej maszynę, która wykorzystywana jest w domu przez typowego Kowalskiego.
Na potrzeby tego artykułu zaprezentuję, w jaki sposób za pomocą narzędzi Lynis oraz Tiger można zidentyfikować problemy bezpieczeństwa na dowolnej Linuxowej maszynie. Należy pamiętać, że domyślne polityki wykorzystywane w skanerach mogą być niewystarczające do wykrycia wszystkich niepoprawnie skonfigurowanych usług na audytowanej maszynie.
Lynis
Lynis jest narzędziem audytorskim z otwartym kodem źródłowym tworzonym przez firmę CISOfy dla różnych odłamów systemów UNIX’owych, takich jak Linux, macOS, BSD i inne. Wykorzystywany jest do testowania bezpieczeństwa konfiguracji systemu operacyjnego oraz usług w nim działających. Podczas swojego działania przeprowadza serie predefiniowanych testów o różnej punktacji. W rezultacie użytkownik otrzymuje szczegółowy raport o stanie maszyny wraz z numerycznym wynikiem – indeksem utwardzenia pozwalającym w szybki sposób określić trend zmian. Dodatkowo program umożliwia definiowanie własnych profili testów przez użytkownika.
Aby uruchomić program, należy najpierw pobrać repozytorium z najnowszą wersją za pomocą polecenia:
git clone https://github.com/CISOfy/lynis.git
Następnie należy przejść do nowoutworzonego folderu i uruchomić program za pomocą polecenia:
cd lynis && sh lynis
Poniżej znaleźć można znaleźć rezultat uruchomienia programu:
Aby przeprowadzić audyt systemu bazującego na domyślnym profilu dostarczonym przez producenta, należy wykonać komendę:
sh lynis audit system --report-file report.txt --log-file lynis_rep.log --profile default.prf
Rezultat takiego testu dla maszyny wirtualnej ze standardową instalacją systemu Debian, w którym znaleźć można np.:
- informacje o braku skonfigurowanego modułu iptables:
- sugestie związane z konfiguracją usługi SSH:
Warto zauważyć, że sugestie naprawy zawierają w sobie odnośniki do bazy wiedzy dostarczonej przez producenta narzędzia. Z góry nadmienię, iż nie jest ona kompletna i potrafią się w niej znaleźć tematy opisane po macoszemu.
- informacje o braku polityki haseł dla użytkowników testowanego systemu:
Wyniki jasno pokazują, że domyślna instalacja pozostawia użytkownikowi duże pole do popisu, jeżeli chodzi o jej bezpieczeństwo. Z doświadczenia mogę dodać, iż nie spotkałem jeszcze żadnej dystrybucji systemu Linux, której domyślna instalacja osiągnęłaby satysfakcjonujący mnie wynik.
Tiger
Drugim narzędziem, które chciałbym opisać, jest program Tiger, który, podobnie jak Lynis, może zostać wykorzystany do przeprowadzenia audytu konfiguracji lub wykrywania potencjalnego intruza w systemie. Aby go zainstalować, użytkownik może skorzystać z gotowych paczek dostępnych w repozytorium Debiana lub z otwartego kodu źródłowego udostępnianego w repozytorium producenta. Poniżej umieściłem polecenie, dzięki któremu w łatwy sposób zainstaluje się narzędzie na testowanym wcześniej systemie.
sudo apt-get install tiger
W celu przeprowadzenia audytu należy wykonać polecenie:
sudo tiger
opcjonalnie za pomocą przełącznika –H użytkownik może zapisać raport w postaci strony HTML
Po wykonanym audycie Tiger poinformuje, gdzie można znaleźć plik z raportem. Aby ułatwić interpretacje raportu proponuje użyć polecenia (nie dotyczy raportów w formacie HTML):
less tigexp –F <ścieżka do pliku z raportem>
Przykładowy raport z audytu wykonanego na znanej już z testów Lynisa maszynie wirtualnej. Dla porównania z wcześniejszymi wynikami, poniżej umieszczam przykładowy komunikat o znalezionym błędzie konfiguracji w usłudze SSH.
Podsumowanie
W tym artykule przedstawiłem dwa narzędzia mogące posłużyć do wstępnego utwardzenia systemu komputerowego. Oba raporty wykazały obszary, których utwardzenie zwiększyłoby poziom bezpieczeństwa na audytowanej maszynie. Należy pamiętać, że poza wygenerowaniem raportów trzeba jeszcze te błędy konfiguracji załatać i w sumie to pozwala zrozumieć najlepiej jakie niebezpieczeństwa mogą one spowodować.
Drogi Czytelniku, jeżeli na co dzień korzystasz z systemu Linux oraz zaciekawił Cię ten temat, to proponuje wykonać tego typu audyt i spróbować naprawić znalezione błędy samemu.
—Mateusz Stahl
Ciekawe, ale jak autor sam zauwazyl Lynis pokazuje troche glupot.
Moglbys rozwinac swoja mysl i podac jakies przyklady?
Dlaczego takie oprogramowanie nie jest po polsku?
Moze warto bylo by zachecic ludzi przynajmniej do rozpoczecia prac
większość dokumentacji linuksowej i tak jest w angielskim także nic Ci to nie da, że ta apka będzie spolszczona lepiej się uczyć angielskiego (nikt nie każe od razu nawijać jak natywny angol, angielski na poziomie rozumienia dokumentacji to nic trudnego, po za tym ograniczając się tylko do polskojęzycznego internetu tracisz jakieś 80% zasobów sieci, które sa w angielszczyźnie :)
Zastanow sie co pleciesz.
chcemu utwardzic system, to znaczy, że chcemy by POWSZECHNIE sprawdzano bezpieczenstwo i pilnowano oczywistych problemow. To wlasnie nie jest do tych co czytaja dokumentacje.
tzn. uwazasz ze Pani Krysia w Urzędzie Miasta będzie sobie sama odpalała lynisa? Co jej da taka wiedza bez znajomości języka którym się komunikuje jej system operacyjny? Osoba bez znajomości angielskiego nie powinna korzystać z uprawnień roota na maszynie a pełny test takich wymaga
rozumiem ze Pani Krysia w fundacji , ktora zajmuje sie wszystkim ma sie nie zajmowac rootem i nie instalowac zadnych programow (tez wymaga roota)
do tego Pani Krysia nie powinna uzywac komputera w domu bo po co jej bezpieczny komputer. Puknij sie czyms ciezkim
Nie jest przetłumaczone bo widocznie do tej pory nikt nie miał wystarczającej potrzeby by to zrobić.
To oprogramowanie jest na licencji GPL więc jeśli masz taką potrzebę możesz rozpocząć prace i mieć swój w nim wkład.
Albo nie wiedział, że istnieje. Wypowiadasz sie strasznie zdecydowanie. Jest tak i tak bo … Ty tak mowisz? Jakoś blado to wychodzi.
Przydatne narzędzie. Dzięki, że chciało Ci się je opisać.
Nie wiedzialem, ze takie narzedzia istnieja. Juz wiem i utwardzam :), dzieki za arta.