Top 10 narzędzi zapewnienia bezpieczeństwa w systemie Linux (2023)

Bezpieczny Linux, to znaczy ze strażnikiem!

Jeśli trafiłeś tutaj, prawdopodobnie jesteś tak samo zafascynowany mocą i wszechstronnością systemu Linux jak my. System operacyjny Linux, choć znany przede wszystkim zaawansowanym użytkownikom i specjalistom IT, zdobywa coraz większą popularność również wśród przeciętnych użytkowników komputerów. Dlaczego? Odpowiedź jest prosta: jest niezawodny, elastyczny i co najważniejsze – bezpieczny.

Jednak bezpieczeństwo systemu to nie tylko jego wbudowane mechanizmy ochrony. To również sposób, w jaki my, użytkownicy, korzystamy z tego systemu. Jak mówi starożytne powiedzenie: „Najsłabszym ogniwem w łańcuchu bezpieczeństwa jest człowiek”. Dlatego właśnie ważne jest, aby każdy użytkownik systemu Linux znał podstawowe narzędzia i praktyki zwiększające poziom bezpieczeństwa.

Jak ważne są dobre praktyki bezpieczeństwa w systemie Linux?

Pomyśl przez chwilę o Linuxie jako o nieprzebytym forcie. Jego mury są mocne, brama solidnie zabezpieczona, a strażnicy czujni. Ale nawet najmocniejszy fort może zostać zdobyty, jeśli jego obrońcy zaniedbają podstawowe zasady bezpieczeństwa. W przypadku Linuxa, Ty jesteś tym obrońcą.

Dobre praktyki bezpieczeństwa dotyczą nie tylko technicznych aspektów systemu, ale także zachowania użytkownika. Często to właśnie proste czynności, takie jak regularne aktualizacje czy korzystanie z silnych haseł, decydują o tym, czy nasze dane i prywatność są chronione.

Jak słusznie zauważył Bruce Schneier, uznawany za jednego z największych ekspertów od bezpieczeństwa cyfrowego: „Bezpieczeństwo to proces, a nie produkt”. To znaczy, że nie możemy polegać tylko na jednorazowych działaniach, ale musimy stale dbać o bezpieczeństwo naszego systemu.

Top 10 narzędzi do poprawy bezpieczeństwa w systemie Linux

W świecie Linuxa istnieje wiele narzędzi, które pomagają w zabezpieczaniu systemu. Niektóre z nich są fundamentalne, inne bardziej zaawansowane. W nadchodzących wpisach przedstawię Wam moje top 10 narzędzi, które każdy użytkownik Linuxa powinien znać i stosować. Będziemy rozmawiać o firewallach, skanerach bezpieczeństwa, narzędziach do zarządzania hasłami i wielu innych.

Bezpieczeństwo w systemie Linux zależy zarówno od technicznych mechanizmów ochrony, jak i od nas – użytkowników. Dlatego warto poznać narzędzia i praktyki, które pomogą nam skutecznie chronić nasz system. Mam nadzieję, że nasz blog stanie się dla Was źródłem wiedzy i inspiracji w tej dziedzinie.

Lista top 10 narzędzi do ochrony. audytu i zapewnienia bezpieczeństwa w systemie Linux

1. Wappalyzer (rozpoznanie stosu technologicznego)

Link: https://github.com/rverton/webanalyze (port oryginalnego projektu napisany w języku Golang, pierwotny projekt jest niedostępny na github najpewniej z powodu komercjalizacji pomysłu)

Cechy: zbieranie informacji, rozpoznanie, identyfikacja oprogramowania

Opis: Wappalyzer może być przydatnym narzędziem podczas przeprowadzania rozpoznania określonego celu, takiego jak aplikacja internetowa lub witryna internetowa. Pomaga dowiedzieć się, jakie oprogramowanie jest używane do obsługi konkretnej strony. Komponenty, które można wykryć, to system zarządzania treścią (CMS), framework JavaScript, oprogramowanie do handlu elektronicznego, serwer WWW i inne.

Terminal i przykład użycia narzędzia:

$ ./webanalyze -host linux.com -crawl 1
 :: webanalyze        : v0.3.7
 :: workers           : 4
 :: technologies      : technologies.json
 :: crawl count       : 1
 :: search subdomains : true
 :: follow redirects  : false

http://linux.com (0.2s):
    HSTS,  (Security)
    Pantheon,  (PaaS)
    PHP,  (Programming languages)
    Nginx,  (Web servers, Reverse proxies)
    MariaDB,  (Databases)
    Fastly,  (CDN)
    Nginx,  (Web servers, Reverse proxies)
    Varnish,  (Caching)

2. Cryptomator (szyfrowanie po stronie klienta dla usług w chmurze)

Link: https://github.com/cryptomator/cryptomator

Cechy: szyfrowanie danych

Opis: Cryptomator to wieloplatformowe narzędzie do przejrzystego szyfrowania plików po stronie klienta. Jest używany razem z usługami w chmurze, aby mieć pewność, że tylko Ty masz dostęp do danych. Współpracuje z Dropbox, Google Drive, OneDrive, MEGA, pCloud, ownCloud, Nextcloud i dowolną inną usługą przechowywania w chmurze, która synchronizuje się z lokalnym katalogiem

3. mitmproxy (przechwytywanie ruchu TLS/SSL)

Link: https://github.com/mitmproxy/mitmproxy

Cechy: analiza sieci, testy penetracyjne, ocena bezpieczeństwa

Opis: Narzędzie mitmproxy pozwala przechwytywać, sprawdzać, modyfikować i odtwarzać przepływy ruchu. Można go używać do pentestowania, rozwiązywania problemów lub zdobywania wiedzy o SSL/TLS.

Terminal i przykład użycia narzędzia:

-- Terminal Window 1 ---------------------
$ mitmproxy


-- Terminal Window 2 ---------------------
$ curl --proxy http://127.0.0.1:8080 "http://wttr.in/Dunedin?0"                                    
Weather report: Dunedin                                                                                                 
                                                                                                                        
   _`/"".-.     Patchy rain possible                                                                                    
    ,\_(   ).   7..8 °C                                                                                                 
     /(___(__)  ↘ 10 km/h                                                                                               
       ‘ ‘ ‘ ‘  10 km                                                                                                   
      ‘ ‘ ‘ ‘   0.1 mm


-- Terminal Window 1 ---------------------
Flows                                                                                                                   
>>16:34:26 HTTP GET wttr.in /Dunedin?0 200 text/plain  386b 193ms   
  16:34:34 HTTP GET wttr.in /Innsbruck?0 200 text/plain  330b 343ms

4. ClamAV (skaner złośliwego oprogramowania)

Link: https://github.com/Cisco-Talos/clamav

Cechy: analiza złośliwego oprogramowania, wykrywanie złośliwego oprogramowania, skanowanie złośliwego oprogramowania

Opis: ClamAV to popularne narzędzie do wykrywania złośliwego oprogramowania lub złośliwego oprogramowania. Chociaż nazywa siebie silnikiem antywirusowym, prawdopodobnie nie napotka wielu wirusów, ponieważ stały się one rzadkie. Bardziej prawdopodobne jest wykrycie innych form złośliwego oprogramowania, takich jak robaki, backdoory i oprogramowanie ransomware. ClamAV można używać na kilka sposobów, od okazjonalnego skanowania po skanowanie wsadowe. ClamAV nie wykonuje skanowania dostępowego, ale można go połączyć z innymi narzędziami w celu uzyskania podobnej funkcjonalności. ClamAV jest często używany do obsługi skanowania przychodzących wiadomości e-mail w poszukiwaniu złośliwej zawartości.

Terminal i przykład użycia narzędzia:

$ sudo clamscan --infected --remove --recursive /home/ubuntu/Desktop

5. Lynis (skaner bezpieczeństwa i narzędzie do audytu zgodności)

Link: https://github.com/CISOfy/lynis

Cechy: Audyt IT, testy penetracyjne, ocena bezpieczeństwa, hartowanie systemów, skanowanie podatności

Opis: Lynis potrafi wykryć luki w zabezpieczeniach i błędy konfiguracyjne. Tam, gdzie typowy skaner podatności po prostu wskaże luki, Lynis dąży do dogłębnego audytu i ciągłego doskonalenia. Z tego powodu należy go wykonać w samym systemie hosta. Oglądając system od podszewki, może on dostarczyć więcej szczegółowych informacji niż przeciętny skaner podatności. Narzędzie utrzymuje się w TOP 10 od 2013 roku! Zapewnia pogłębiony audyt z uwagami dla każdego użytkownika systemu Linux.

Terminal i przykład użycia narzędzia:

$ sudo lynis audit system

6. MISP (platforma udostępniania informacji o złośliwym oprogramowaniu)

Link: https://github.com/MISP/MISP

Cechy: wykrywanie oszustw, gromadzenie informacji, polowanie na zagrożenia

Opis: MISP gromadzi, przechowuje i rozpowszechnia wskaźniki bezpieczeństwa oraz wykryte zagrożenia. Dzięki temu platforma jest przydatna dla osób zajmujących się incydentami związanymi z bezpieczeństwem i badaniami nad złośliwym oprogramowaniem. Użytkownicy korzystają z dobrze przetestowanej platformy do strukturyzowania ogromnej liczby dostępnych punktów danych, jeśli chodzi o zagrożenia bezpieczeństwa. Narzędzie umożliwia interakcję z innymi narzędziami, takimi jak zarządzanie incydentami i zdarzeniami związanymi z bezpieczeństwem (SIEM) oraz systemami wykrywania włamań (IDS).

Przykład użycia narzędzia:

7. Suricata (sieciowy IDS, IPS i monitoring)

Cechy: zbieranie informacji, wykrywanie włamań, analiza sieci, wykrywanie zagrożeń

Opis: Suricata może być używana jako część ekosystemu monitorowania bezpieczeństwa sieci (NSM). Można go używać do rejestrowania żądań HTTP, rejestrowania i przechowywania certyfikatów TLS, wyodrębniania plików z przepływów i przechowywania ich na dysku.

Przykład użycia narzędzia:

8. Faraday (narzędzie do współpracy przy testach penetracyjnych)

Link: https://github.com/infobyte/faraday

Cechy: współpraca, testy penetracyjne, ocena bezpieczeństwa, skanowanie podatności

Opis: Faraday pomaga zespołom współpracować podczas pracy nad testami penetracyjnymi lub zarządzaniem podatnościami. Przechowuje powiązane informacje dotyczące bezpieczeństwa w jednym miejscu, które inni współpracownicy mogą łatwo śledzić i testować.

Przykład użycia narzędzia:

9. Frida (narzędzie inżynierii odwrotnej)

Link: https://github.com/frida/frida

Cechy: testowanie czarnej skrzynki, inżynieria odwrotna

Opis: Frida umożliwia programistom i badaczom wstrzykiwanie niestandardowych skryptów do procesów czarnej skrzynki. W ten sposób może zapewnić podpięcie do dowolnej funkcji, umożliwiając śledzenie wykonanych instrukcji. Kod źródłowy nie jest potrzebny. Frida pozwala nawet na bezpośrednią manipulację i zobaczenie wyników. Narzędzie posiada powiązania dla różnych języków programowania, umożliwiające interakcję z procesami. Przykłady powiązań udostępnianych przez Fridę obejmują Python, Swift, .NET, Qt/Qml i C API.

Terminal i przykład użycia narzędzia:

$ pip install frida-tools

$ frida-trace -i "recv*" Twitter

recvfrom: Auto-generated handler: …/recvfrom.js

Started tracing 21 functions.

1442 ms    recvfrom()

# Live-edit recvfrom.js and watch the magic!

5374 ms    recvfrom(socket=67, buffer=0x252a618, length=65536, flags=0, address=0xb0420bd8, address_len=16)

10. ZAP (analiza aplikacji internetowych)

Link: https://github.com/zaproxy/zaproxy

Cechy: testy penetracyjne, ocena bezpieczeństwa, testowanie oprogramowania, analiza aplikacji internetowych

Opis. OWASP Zed Attack Proxy (ZAP) pomaga znaleźć luki w zabezpieczeniach aplikacji internetowych podczas programowania i testowania.

Przykład użycia narzędzia:

Podsumowanie

Poznaliśmy powyżej wstęp do bardzo bogatego tematu wokół bezpieczeństwa Linuxa. Kolejne tematy na naszym blogu w tej kategorii odsłonią Wam zaawansowany świat narzędzi z działu security.

Zachęcamy do śledzenia bloga poznajlinuxa.pl, aby na bieżąco zgłębiać tajniki tego fascynującego świata badania i odkrywania bezpieczeństwa informacji.

About the author