Chyba nikt z was, drodzy czytelnicy, nie zaprzeczy, że żyjemy w erze cyfryzacji. Obecnie internet wykorzystuje się prawie do wszystkiego. Możemy robić zakupy, opłacać nasze rachunki, uczestniczyć w różnych konferencjach czy nawet je organizować. Nie powinniśmy odbierać tego jako coś złego, a wręcz przeciwnie. Dzięki internetowi w łatwy sposób możemy komunikować się z ludźmi na drugim krańcu świata. Jest to niesamowicie praktyczne, czego nie muszę nikomu z was udowadniać.

Jednak ta era cyfryzacji to nie tylko superlatywy. Otóż, wszystko to niesie za sobą ogromne ryzyko związane z bezpieczeństwem naszych danych osobowych, jak i również naszych ciężko zarobionych pieniędzy. Strony, na których logujemy się, by dokonać na przykład zakupów, przechowują nasze dane, w tym dane osobowe czy też dane naszych kart kredytowych. Są to dane na tyle wrażliwe, że nie chcemy, aby zostały ujawnione. Dlatego też, cały czas istnieje zapotrzebowanie na specjalistów, którzy będą potrafili takie serwisy zabezpieczać i badać.

Jednak to nie wszystko...

Ta wspomniana cyfryzacja to nie tylko sklepy internetowe. Obecnie każda z firm używa internetu i przechowuje wrażliwe dane, czy też są to wspomniane dane osobowe, czy też inne ważne dla danej organizacji. Dlatego dla firm i organizacji również istotne jest bezpieczeństwo. W związku z tym, każda szanująca się firma zleca, czy też we własnym zakresie przeprowadza, testy penetracyjne. Z tego powodu istnieje realne zapotrzebowanie na specjalistów, którzy będą potrafili sprawdzić, czy w tej działalności wszystko gra.

Inwestycje

Prawda jest taka, że w dzisiejszych czasach najlepszym sposobem inwestycji jest inwestycja w siebie. Jest to moje zdanie, i myślę, że wielu z was się ze mną zgodzi. Dlatego też, dbając o własne bezpieczeństwo, czy też jeżeli szukamy stabilnego miejsca zatrudnienia, które zapewni nam utrzymanie, jak i również pewnego rodzaju osobiste wyzwanie, wypadałoby rozpocząć naukę w dziedzinie cyberbezpieczeństwa. Warto wiedzieć, jak się bronić, oraz w jaki sposób wykrywać takie zagrożenia. W tym celu bardzo przydają się kontenery Dockera.

Dlaczego Docker do nauki Cyberbezpieczeństwa?

Zwróćmy uwagę, że jeśli chcemy nauczyć się, jak zapobiegać atakom czy też jak je wykrywać, na początku musimy uruchomić podatne narzędzia. To za ich pomocą nauczymy się tego. Jednak jeśli zrobimy to na naszym systemie operacyjnym, którego używamy na co dzień do robienia zakupów czy też do innych istotnych dla nas celów, narażamy się na ogromne ryzyko. Dlatego nigdy tego nie róbmy!

 

Nauka cyberbezpieczeństwa polega na zrozumieniu zagadnień ogólnych, takich jak działanie systemów operacyjnych. Następnie powinniśmy poznać zagadnienia związane z siecią, a na końcu za pomocą narzędzi zawierających luki i skanujących zagłębiamy się w tematy bezpieczeństwa. Większość umiejętności nabieramy robiąc to, dlatego też, musimy podejść do tego praktycznie. I tu z pomocą przychodzi nam Docker!

 

W związku z tym, że będziemy uruchamiać miejscami niebezpieczne narzędzia, musimy je w jakiś sposób odizolować od głównego systemu. Oczywiście, możemy specjalnie do tego celu użyć jakiegoś niepotrzebnego sprzętu, ale po co, skoro istnieją na to łatwiejsze sposoby?

 

Docker to platforma, posiadająca przydatną do tego celu funkcję izolacji. Dzięki kontenerom oddzielimy to, co zostanie w nich uruchomione, od naszego głównego systemu. Wszelkie błędy, naruszenia czy luki uruchamiane są w kontenerze, dlatego nie będą miały wpływu na nic spoza niego. Za pomocą izolacji uzyskujemy możliwość uruchomienia podatnej aplikacji w naszym systemie hosta w kontenerze Dockera. Nie musimy się obawiać, że coś popsujemy lub narazimy nasze poufne informacje na tzw. wyciek. To, co zostanie uruchomione w kontenerze, pozostaje w nim, chyba że powiemy Dockerowi inaczej. Jednak musimy zrobić to świadomie.

Co będzie potrzebne

Pierwszym elementem jest poznanie Dockera. Jest to istotne, ponieważ za jego pomocą będziesz uruchamiał aplikacje oraz narzędzia do skanowania. Dzięki niemu odizolujesz to, co uruchomisz, od swojego systemu. Co ważne, o czym nie wspomniałem wcześniej, Docker może być zainstalowany na każdym systemie operacyjnym, niezależnie od tego, czy jest to Windows, Linux czy macOS. Po jego instalacji, w większości przypadków za pomocą jednego lub dwóch poleceń, jesteś w stanie uruchomić swoją platformę do nauki. Wygodne, nieprawdaż?

 

Jeżeli to Cię nie przekonuje, to mam jeszcze inny przykład praktycznego zastosowania. Zwróć uwagę, że aby zainstalować podatną aplikację webową, najczęściej musisz postawić serwer z obsługą PHP oraz bazę danych, a następnie umieścić w nim aplikację. W przypadku Dockera możesz użyć jednego polecenia aby zainstalować to wszystko i dodatkowo zyskasz niezbędną izolację, którą ciężej osiągnąć bez niego.

 

Jednak to jeszcze nie wszystko. Taka aplikacja znajduje się w kontenerze. Ten kontener za pomocą prostego polecenia jesteś w stanie usunąć i ponownie utworzyć nowy. W przypadku klasycznej metody nie byłoby to takie proste.

 

Ostatnim przykładem jaki chciałem omówić jest to, że jeśli chcesz, to kilka instancji tej samej podatnej aplikacji możesz uruchomić na tym samym urządzeniu. Dlatego też więcej osób korzystających z tego samego komputera może przystąpić do nauki i to w tym samym czasie.

Aplikacje i narzędzia przydatne do nauki

Dosyć dużo pisałem o aplikacjach i narzędziach, ale jeszcze żadnej z nich nie wymieniłem. Dlatego teraz chciałbym to nadrobić. Istnieje bardzo dużo aplikacji i narzędzi, które wykorzystuje się do nauki oraz w praktycznym przeprowadzeniu testów penetracyjnych lub testów podatności. Poniżej wymieniam i opisuję w skrócony sposób te najbardziej znane.

Podatne aplikacje

Metasploitable2 to pierwszy system podatny na ataki, od którego warto rozpocząć swoją naukę testowania i wykorzystywania luk w systemach operacyjnych. Został celowo zaprojektowany tak, aby zawierał ogromną ilość różnych luk systemowych oraz błędnych konfiguracji, które często występują w rzeczywistych systemach. Dzięki temu stał się przydatnym narzędziem dla początkujących, którzy chcą ćwiczyć i doskonalić swoje umiejętności w bezpiecznym i kontrolowanym środowisku. Należy jednak zauważyć, że Metasploitable2 powinien być używany wyłącznie do celów edukacyjnych i testowych i nie powinien być wdrażany w środowisku produkcyjnym.

DVWA, czyli Damn Vulnerable Web Application, to platforma, która została zaprojektowana tak, aby można było nauczyć się wykrywania i wykorzystywania luk w aplikacjach webowych. Posiada ogromną ich ilość, które mogą występować w realnych aplikacjach tego typu. Dzięki niej możemy poćwiczyć wstrzykiwania kodu SQL, skryptów typu cross-site scripting (XSS) oraz wstrzykiwań poleceń.

 

Juice Shop to platforma typu Capture The Flag (CTF), w której znajduje się ogromna ilość luk posegregowanych na kilka modułów. W odróżnieniu od DVWA, ta aplikacja jest skonstruowana jako pewnego rodzaju egzamin, gdzie za wykonanie zadania otrzymujemy punkty. Dlatego wielu traktuje Juice Shop jako pewnego rodzaju grę, którą aby przejść, musi wykonać wszystkie wyzwania. Z tego powodu Juice Shop jest bardzo popularnym narzędziem dla osób, które chcą sprawdzić swoje umiejętności w zakresie bezpieczeństwa aplikacji internetowych w bardzo angażujący sposób.

Narzędzia do skanowania

Greenbone Vulnerability Manager (GVM), wcześniej znany jako OpenVAS, to platforma do skanowania podatności i zarządzania nimi. Dzięki niemu możemy zidentyfikować luki systemowe i błędne konfiguracje. GVM jest szeroko stosowany w celu zapewnienia, że systemy i aplikacje są bezpieczne i zgodne ze standardami i przepisami branżowymi.

 

Metasploit to framework, za pomocą którego możemy wykorzystać większość wykrytych luk w zabezpieczeniach. Zapewnia on szeroką gamę narzędzi i technik do opracowywania, testowania i wykonywania exploitów. Zawiera również dużą bibliotekę gotowych exploitów i payloadów, dzięki czemu jest potężnym i wszechstronnym narzędziem dla szerokiego grona użytkowników.

Podsumowanie

Wszystko to, co opisałem na łamach tego artykułu, bardzo szczegółowo opisałem w książce noszącej tytuł "Laboratorium cyberbezpieczeństwa w Dockerze. Zrób to sam". Podzieliłem ją na dwie części, gdzie w pierwszej poznajemy podstawy Dockera, a w drugiej uczymy się, jak uruchamiać oraz używać narzędzi. W związku z tym po zapoznaniu się z jej zawartością będziesz potrafił posługiwać się zarówno Dockerem jak i również nauczysz się, jak stworzyć laboratorium, dzięki któremu w bezpieczny sposób wejdziesz do świata cyberbezpieczeństwa.