top of page

Search Results

Znaleziono 154 elementy dla „”

  • Przydatne polecania dla każdego - Linux part 1

    Polecenie top top pozwala nam podejrzeć aktualną zajętość systemu poprzez procesy, wykorzystanie pamięci wirtualnej oraz CPU. Możemy sprawdzić takie wartości jak dostępna pamięć RAM, który użytkownik generuje obciążenie maszyny, lub jaki proces zabiera najwięcej zasobów. Doświadczeni użytkownicy lub obeznani wiedzą że polecenie to zwraca więcej informacji z sudo lub na użytkowniku root, musisz pamiętać że, to co widzisz często ogranicza cię z punktu widzenia użytkownika. Procesy danego użytkownika można podejrzeć przez wariacje polecania z argumentem -u i wartością w postaci nazwy użytkownika. top -u Kolumny wyświetlają odpowiednio: PID: Pokazuje unikalny identyfikator procesu zadania. PR: Priorytet procesu. Im niższy numer, tym wyższy priorytet. VIRT: Całkowita pamięć wirtualna używana przez zadanie. USER: Nazwa użytkownika właściciela zadania. %CPU: Reprezentuje użycie procesora. TIME+: Czas procesora, taki sam jak „TIME”, ale odzwierciedlający większą szczegółowość do setnych części sekundy. SHR: Reprezentuje rozmiar pamięci współdzielonej (kb) używanej przez zadanie. NI: Reprezentuje wartość nice zadania. Ujemna wartość Nice oznacza wyższy priorytet, a dodatnia wartość Nice oznacza niższy priorytet. %MEM: Pokazuje wykorzystanie pamięci przez zadanie. RES: Ile fizycznej pamięci RAM zużywa proces, mierzone w kilobajtach. COMMAND: Nazwa polecenia, które rozpoczęło proces. Oczywiście do zgłębiania wszystkich opcji można skorzystać z man top lub top -h Polecenie ls Systemy operacyjne Linux są szeroko stosowane zarówno w środowiskach domowych, jak i korporacyjnych. Jednym z najbardziej podstawowych, lecz niezwykle użytecznych poleceń w systemach Linux jest polecenie 'ls', które pozwala na wyświetlanie zawartości katalogów. W tym artykule przyjrzymy się poleceniu 'ls' wraz z opisem poszczególnych atrybutów (przełączników) i przykładami ich zastosowania. Podstawy polecenia 'ls' Polecenie 'ls' jest używane do wyświetlania informacji na temat plików i katalogów w bieżącym katalogu. Bez żadnych argumentów, 'ls' wyświetla zawartość bieżącego katalogu, posortowaną alfabetycznie: $ ls Przełączniki i atrybuty polecenia 'ls' Przełączniki (atrybuty) pozwalają na modyfikację zachowania polecenia 'ls'. Oto niektóre z najczęściej używanych: '-a' lub '--all': Wyświetla wszystkie pliki, w tym ukryte pliki (rozpoczynające się od kropki) $ ls -a '-l': Wyświetla szczegółowe informacje na temat plików, w tym prawa dostępu, ilość dowiązań, właściciela, grupę, rozmiar, datę modyfikacji i nazwę $ ls -l '-h' lub '--human-readable': Wyświetla rozmiary plików w formacie łatwym do odczytania (KB, MB, GB) $ ls -lh '-r' lub '--reverse': Odwraca kolejność sortowania $ ls -lr '-S': Sortuje pliki według rozmiaru $ ls -lS '-t': Sortuje pliki według czasu modyfikacji $ ls -lt '-R' lub '--recursive': Wyświetla zawartość katalogów rekurencyjnie $ ls -R '-d' lub '--directory': Wyświetla informacje na temat samych katalogów, a nie ich zawartości $ ls -ld '-1': Wyświetla jeden plik na wiersz $ ls -1 Przykłady użycia polecenia 'ls' Poniżej znajdują się przykłady łączenia różnych atrybutów polecenia 'ls': Wyświetlanie szczegółowych informacji o plikach w formacie łatwym do odczytania: $ ls -lh Wyświetlanie wszystkich plików, w tym ukrytych, z posortowanymi według rozmiaru: $ ls -laS Wyświetlanie plików posortowanych według czasu modyfikacji, z odwróconą kolejnością i w formacie łatwym do odczytania: $ ls -lhtr Wyświetlanie zawartości katalogów rekurencyjnie, z jednym plikiem na wiersz: $ ls -R1 Wyświetlanie informacji na temat katalogu '/etc', zamiast jego zawartości: $ ls -ld /etc Filtrowanie wyników polecenia 'ls' Można również łączyć polecenie 'ls' z innymi poleceniami, aby filtrować wyniki. Oto kilka przykładów: Wyszukiwanie plików z rozszerzeniem '.txt': $ ls -l *.txt Wyszukiwanie plików zaczynających się od 'config': $ ls -l config* Wyświetlanie plików zawierających słowo 'sample', korzystając z polecenia 'grep': $ ls -l | grep 'sample' Zmiana kolorów wyjścia polecenia 'ls' Polecenie 'ls' można skonfigurować, aby wyświetlać wyniki w różnych kolorach, co może pomóc w szybszym zrozumieniu struktury katalogów. Aby to zrobić, można ustawić zmienną środowiskową 'LS_COLORS'. Na przykład: $ export LS_COLORS="di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:" Polecenie 'ls' jest jednym z najbardziej podstawowych i użytecznych poleceń w systemach Linux. Pozwala na szybkie przeglądanie zawartości katalogów, a różne atrybuty (przełączniki) umożliwiają precyzyjne dostosowanie wyjścia do potrzeb użytkownika. Dzięki łączeniu polecenia 'ls' z innymi poleceniami, takimi jak 'grep', można filtrować wyniki i wyszukiwać określone pliki. Omówiliśmy podstawowe funkcje polecenia 'ls', różne atrybuty (przełączniki) dostępne dla tego polecenia, przykłady ich zastosowania, a także sposoby na filtrowanie wyników i dostosowywanie kolorów wyjścia. Znajomość polecenia 'ls' i jego atrybutów jest niezbędna dla każdego użytkownika systemu Linux, zarówno początkujących, jak i zaawansowanych. Mając na uwadze, że polecenie 'ls' jest powszechnie stosowane w codziennych czynnościach związanych z zarządzaniem plikami i katalogami, warto poświęcić czas na naukę różnych przełączników i technik, które można zastosować, aby uczynić korzystanie z terminala bardziej efektywnym i wydajnym. Tar: Archiwizacja i kompresja plików w Linuksie Tar, czyli "tape archive", to popularne narzędzie linuksowe służące do archiwizowania i kompresji plików. Choć początkowo było używane do zapisywania danych na taśmach magnetycznych, dziś stało się niezastąpionym narzędziem dla administratorów systemów, programistów i użytkowników domowych. W tym artykule przyjrzymy się funkcjom polecenia tar oraz różnym przełącznikom, które można zastosować, aby uprościć i przyspieszyć proces archiwizacji i kompresji plików. Podstawowe użycie polecenia tar Podstawowe użycie polecenia tar polega na utworzeniu archiwum z wybranych plików lub katalogów. Składnia polecenia jest następująca: tar [opcje] [nazwa_archiwum.tar] [pliki_do_archiwizacji] Oto kilka przykładów użycia tar: Archiwizacja pojedynczego pliku: tar -cvf archiwum.tar plik.txt W tym przypadku, -c oznacza "create" (utwórz), -v to "verbose" (tryb szczegółowy) oraz -f to "file" (plik). Utworzyliśmy archiwum o nazwie "archiwum.tar" zawierające plik "plik.txt". Archiwizacja wielu plików: tar -cvf archiwum.tar plik1.txt plik2.txt plik3.txt Analogicznie, tworzymy archiwum "archiwum.tar", które będzie zawierać pliki "plik1.txt", "plik2.txt" oraz "plik3.txt". Archiwizacja katalogu: tar -cvf archiwum.tar katalog/ W tym przypadku archiwizujemy cały katalog "katalog/" do pliku "archiwum.tar". Kompresja plików z użyciem tar Tar pozwala na kompresję plików w trakcie archiwizacji. Dostępne są dwa popularne formaty kompresji: gzip (z rozszerzeniem .tar.gz) i bzip2 (z rozszerzeniem .tar.bz2). Oto jak skorzystać z tych formatów: Kompresja gzip: tar -czvf archiwum.tar.gz katalog/ Dodaliśmy przełącznik -z oznaczający kompresję gzip. Utworzony plik będzie miał rozszerzenie ".tar.gz". Kompresja bzip2: tar -cjvf archiwum.tar.bz2 katalog/ W tym przypadku używamy przełącznika -j dla kompresji bzip2. Utworzony plik będzie miał rozszerzenie ".tar.bz2". Wypakowywanie archiwów tar Aby wypakować archiwum tar, możemy użyć następujących przełączników: Wypakowywanie archiwum tar: tar -xvf archiwum.tar Przełącznik -x oznacza "extract" (wypakuj). Wypakujemy zawartość archiwum "archiwum.tar" do bieżącego katalogu. Wypakowywanie archiwum tar.gz: tar -xzvf archiwum.tar.gz Dodajemy przełącznik -z dla obsługi kompresji gzip. Wypakujemy zawartość archiwum "archiwum.tar.gz" do bieżącego katalogu. Wypakowywanie archiwum tar.bz2: tar -xjvf archiwum.tar.bz2 Używamy przełącznika -j dla obsługi kompresji bzip2. Wypakowujemy zawartość archiwum "archiwum.tar.bz2" do bieżącego katalogu. Wypakowywanie archiwów do określonego katalogu Jeśli chcemy wypakować archiwum do innego katalogu niż bieżący, możemy użyć przełącznika -C: tar -xvf archiwum.tar -C /ścieżka/do/katalogu/ Wypakowujemy zawartość archiwum "archiwum.tar" do katalogu "/ścieżka/do/katalogu/". Podobnie, dla archiwów tar.gz i tar.bz2, dodajemy odpowiednio przełączniki -z i -j. Wyświetlanie zawartości archiwum bez wypakowywania Aby wyświetlić zawartość archiwum tar bez wypakowywania, używamy przełącznika -t: tar -tvf archiwum.tar Dla archiwów tar.gz i tar.bz2, dodajemy odpowiednio przełączniki -z i -j. Dodawanie plików do istniejącego archiwum Jeśli chcemy dodać pliki do istniejącego archiwum, używamy przełącznika -r: tar -rvf archiwum.tar nowy_plik.txt Należy pamiętać, że opcja -r nie działa z archiwami skompresowanymi (tar.gz i tar.bz2). Usuwanie plików z archiwum Aby usunąć pliki z archiwum, możemy skorzystać z narzędzia tar w połączeniu z grep i xargs: tar -tvf archiwum.tar | grep -v 'plik_do_usunięcia' | tar -czvf nowe_archiwum.tar.gz -T - Powyższe polecenie utworzy nowe skompresowane archiwum "nowe_archiwum.tar.gz" bez pliku "plik_do_usunięcia". Polecenie tar jest niezwykle wszechstronnym narzędziem pozwalającym na archiwizację, kompresję oraz zarządzanie plikami i katalogami w systemach Linux. Umożliwia tworzenie archiwów tar, tar.gz i tar.bz2, a także ich wypakowywanie, przeglądanie i modyfikowanie. Omówiliśmy podstawowe opcje polecenia tar, takie jak tworzenie archiwów, kompresowanie plików, wypakowywanie archiwów, wyświetlanie zawartości archiwów, dodawanie i usuwanie plików z archiwów oraz wypakowywanie archiwów do określonego katalogu. Zastosowanie tych opcji pozwala na efektywne zarządzanie plikami i katalogami w codziennej pracy z systemami Linux. Warto jednak pamiętać, że polecenie tar posiada wiele innych przełączników, które mogą być przydatne w różnych sytuacjach. W razie potrzeby warto zapoznać się z dokumentacją polecenia tar, aby odkryć jeszcze więcej funkcji tego niezastąpionego narzędzia. Aby uzyskać więcej informacji na temat polecenia tar oraz jego opcji, można skorzystać z oficjalnej dokumentacji, wpisując w terminalu: man tar Lub odwiedzając stronę internetową projektu tar, dostępną pod adresem: https://www.gnu.org/software/tar/ cd, mkdir, chmod, chown, rm i zarządzanie uprawnieniami Systemy operacyjne oparte na Linuksie, takie jak Ubuntu, Debian, Fedora czy Arch, są szeroko wykorzystywane zarówno przez programistów, jak i administratorów systemów. Język poleceń linuksowych jest niezwykle potężnym narzędziem, które pozwala na kontrolowanie i zarządzanie systemem z poziomu terminala. Omówimy podstawowe polecenia linuksowe: cd, mkdir, chmod, chown, rm oraz przełączniki, które można z nimi używać. Dodatkowo, omówimy uprawnienia w systemie Linux oraz ich konstrukcję, wyjaśniając pojęcia takie jak użytkownik (user), grupa (group) i inne (other), a także rwx i zapis liczbowy, np. 777. Polecenie cd Polecenie "cd" (change directory) służy do zmiany bieżącego katalogu roboczego. Jest to podstawowe polecenie, które musisz znać, aby poruszać się po strukturze katalogów w systemie Linux. Oto kilka przykładów użycia polecenia cd: cd nazwa_katalogu: przechodzi do podanego katalogu. cd .. : przechodzi do katalogu nadrzędnego (rodzica). cd: przechodzi do katalogu domowego użytkownika. cd -: przechodzi do poprzedniego katalogu roboczego. Polecenie mkdir Polecenie "mkdir" (make directory) służy do tworzenia nowych katalogów. Aby utworzyć nowy katalog, po prostu wpisz "mkdir" oraz nazwę katalogu, który chcesz utworzyć. Oto kilka przykładów użycia polecenia mkdir: mkdir nazwa_katalogu: tworzy nowy katalog o podanej nazwie. mkdir -p sciezka/do/katalogu: tworzy katalog wraz z całą strukturą katalogów, jeśli nie istnieją. mkdir -m 755 nazwa_katalogu: tworzy katalog z określonymi uprawnieniami (w tym przypadku 755). Polecenie chmod Polecenie "chmod" (change mode) służy do zmiany uprawnień plików i katalogów. W systemach Linux uprawnienia są zdefiniowane dla trzech kategorii: użytkowników (user), grup (group) i innych (other). Każdej z tych kategorii można przydzielić trzy rodzaje uprawnień: odczyt (r), zapis (w) i wykonanie (x). Uprawnienia te są zapisywane za pomocą trzech cyfr, gdzie każda cyfra reprezentuje uprawnienia dla jednej z kategorii (użytkownik, grupa, inne). Aby zmienić uprawnienia pliku lub katalogu, użyj polecenia chmod, podając upania oraz ścieżkę do pliku lub katalogu. Oto kilka przykładów użycia polecenia chmod: chmod 755 nazwa_pliku: zmienia uprawnienia pliku na 755 (użytkownik: rwx, grupa: r-x, inne: r-x). chmod u+x nazwa_pliku: dodaje uprawnienia do wykonania (x) dla właściciela pliku. chmod g-w nazwa_pliku: usuwa uprawnienia do zapisu (w) dla grupy pliku. chmod o=r nazwa_pliku: ustawia uprawnienia dla innych (other) na tylko do odczytu (r). Polecenie chown Polecenie "chown" (change owner) pozwala na zmianę właściciela pliku lub katalogu oraz grupy, do której należy plik lub katalog. Aby zmienić właściciela lub grupę, użyj polecenia chown, podając nowego właściciela, nową grupę oraz ścieżkę do pliku lub katalogu. Oto kilka przykładów użycia polecenia chown: chown nowy_wlasciciel nazwa_pliku: zmienia właściciela pliku na nowego właściciela. chown :nowa_grupa nazwa_pliku: zmienia grupę pliku na nową grupę. chown nowy_wlasciciel:nowa_grupa nazwa_pliku: zmienia zarówno właściciela, jak i grupę pliku na podane wartości. chown -R nowy_wlasciciel:nowa_grupa katalog: zmienia właściciela i grupę dla katalogu oraz wszystkich jego zawartości rekurencyjnie. Polecenie rm Polecenie "rm" (remove) służy do usuwania plików i katalogów. Aby usunąć plik lub katalog, użyj polecenia rm, podając ścieżkę do pliku lub katalogu. Oto kilka przykładów użycia polecenia rm: rm nazwa_pliku: usuwa plik o podanej nazwie. rm -f nazwa_pliku: usuwa plik o podanej nazwie bez pytania o potwierdzenie. rm -r katalog: usuwa katalog oraz jego zawartość rekurencyjnie. rm -rf katalog: usuwa katalog oraz jego zawartość rekurencyjnie i bez pytania o potwierdzenie. Uprawnienia w systemie Linux Jak wcześniej wspomniano, uprawnienia w systemie Linux są zdefiniowane dla trzech kategorii: użytkowników (user), grup (group) i innych (other). Każdej z tych kategorii można przydzielić trzy rodzaje uprawnień: odczyt (r), zapis (w) i wykonanie (x). Uprawnienia te są zapisywane za pomocą trzech cyfr, gdzie każda cyfra reprezentuje uprawnienia dla jednej z kategorii (użytkownik, grupa, inne). Użytkownik (user): osoba, która jest właścicielem pliku lub katalogu. Właściciel ma największą kontrolę nad plikiem lub katalogiem i może zmieniać jego uprawnienia oraz właściciela i grupę. Grupa (group): zbiór użytkowników, którzy mają wspólne uprawnienia do plików i katalogów. Członkowie grupy mogą mieć dostęp do plików i katalogów na podstawie uprawnień przydzielonych grupie. Inne (other): wszyscy pozostali użytkownicy, którzy nie są właścicielami pliku ani nie należą do grupy, do której należy plik lub katalog. Uprawnienia dla innych określają, co mogą robić z plikiem lub katalogiem pozostali użytkownicy systemu. Każda z trzech cyfr uprawnień jest reprezentowana przez wartość liczbową w przedziale od 0 do 7, gdzie każda cyfra oznacza sumę wartości dla odczytu (r), zapisu (w) i wykonania (x) dla danej kategorii: Odczyt (r): wartość 4 Zapis (w): wartość 2 Wykonanie (x): wartość 1 W związku z tym uprawnienia można przedstawić jako trzy cyfry, gdzie każda cyfra jest sumą wartości dla odczytu, zapisu i wykonania. Na przykład, uprawnienia "rwxr-xr-x" można zapisać jako "755", gdzie pierwsza cyfra (7) oznacza pełne uprawnienia dla właściciela (4+2+1), druga cyfra (5) oznacza uprawnienia do odczytu i wykonania dla grupy (4+0+1), a trzecia cyfra (5) oznacza uprawnienia do odczytu i wykonania dla innych (4+0+1). Podstawowe polecenia linuksowe, takie jak cd, mkdir, chmod, chown, rm, oraz ich przełączniki. Przykłady zastosowania tych poleceń pomogą w lepszym zrozumieniu i sprawnej pracy z systemem Linux. Dodatkowo, przedstawiliśmy koncepcje uprawnień w systemie Linux oraz ich konstrukcję, wyjaśniając pojęcia użytkownik (user), grupa (group), inne (other) oraz rwx i zapis liczbowy, np. 777. Zrozumienie tych koncepcji oraz umiejętne korzystanie z poleceń pozwoli na efektywne zarządzanie systemem Linux oraz kontrolowanie dostępu do plików i katalogów. cp i mv Linux, jako system operacyjny oparty na Unixie, oferuje bogaty zestaw poleceń dostępnych z linii komend. Wśród tych poleceń, dwa z nich, cp i mv, są niezbędne do codziennego zarządzania plikami i katalogami. W tym artykule przedstawimy podstawy tych poleceń, ich przełączniki i praktyczne przykłady użycia. Polecenie cp Polecenie cp jest używane do kopiowania plików i katalogów. Składnia tego polecenia jest następująca: cp [OPCJE] ŹRÓDŁO... CEL Przełączniki polecenia cp Oto niektóre przydatne przełączniki dla polecenia cp: -r lub --recursive: Kopiuje katalogi rekursywnie. -i lub --interactive: Wypytuje użytkownika przed nadpisaniem istniejących plików. -n lub --no-clobber: Nie nadpisuje istniejących plików. -u lub --update: Kopiuje tylko, gdy plik źródłowy jest nowszy niż plik docelowy lub gdy plik docelowy nie istnieje. -v lub --verbose: Wyświetla informacje o kopiowanych plikach. Przykłady użycia polecenia cp Kopiowanie pojedynczego pliku do innego katalogu: cp plik.txt /katalog/docelowy Kopiowanie wielu plików do innego katalogu: cp plik1.txt plik2.txt /katalog/docelowy Kopiowanie katalogu rekursywnie: cp -r /katalog/źródłowy /katalog/docelowy Kopiowanie pliku z potwierdzeniem przed nadpisaniem: cp -i plik.txt /katalog/docelowy Aktualizacja plików w katalogu docelowym tylko wtedy, gdy plik źródłowy jest nowszy: cp -u plik.txt /katalog/docelowy Polecenie mv Polecenie mv służy do przenoszenia lub zmiany nazwy plików i katalogów. Składnia tego polecenia wygląda następująco: mv [OPCJE] ŹRÓDŁO... CEL Przełączniki polecenia mv Oto niektóre przydatne przełączniki dla polecenia mv: -i lub --interactive: Wypytuje użytkownika przed nadpisaniem istniejących plików. -n lub --no-clobber: Nie nadpisuje istniejących plików. -u lub --update: Przenosi tylko, gdy plik źródłowy jest nowszy niż plik docelowy lub gdy plik docelowy nie istnieje. -v lub --verbose: Wyświetla informacje o przenoszonych plikach. Przykłady użycia polecenia mv Zmiana nazwy pliku: mv stary_plik.txt nowy_plik.txt Przenoszenie pojedynczego pliku do innego katalogu: mv plik.txt /katalog/docelowy Przenoszenie wielu plików do innego katalogu: mv plik1.txt plik2.txt /katalog/docelowy Przenoszenie katalogu do innego katalogu: mv /katalog/źródłowy /katalog/docelowy Przenoszenie pliku z potwierdzeniem przed nadpisaniem: mv -i plik.txt /katalog/docelowy Aktualizacja plików w katalogu docelowym tylko wtedy, gdy plik źródłowy jest nowszy: mv -u plik.txt /katalog/docelowy Polecenia cp i mv są kluczowymi narzędziami dla każdego użytkownika systemu Linux. Pozwala na kopiowanie, przenoszenie i zmianę nazwy plików i katalogów z łatwością. W tym artykule przedstawiliśmy podstawy tych poleceń, ich przełączniki oraz praktyczne przykłady użycia. Pamiętaj, że zarówno polecenie cp, jak i mv mają jeszcze więcej opcji i przełączników, które można sprawdzić w oficjalnej dokumentacji. Zachęcamy do eksperymentowania z różnymi opcjami, aby znaleźć najlepsze rozwiązania dla swoich potrzeb. W miarę jak zdobędziesz doświadczenie z tymi poleceniami, zaczniesz doceniać ich elastyczność i potęgę, które pozwalają na zarządzanie plikami i katalogami w systemie Linux. ps Polecenie ps (process status) jest jednym z najważniejszych poleceń dostępnych w systemach Linux i Unix. Pozwala ono na monitorowanie aktywnych procesów, zarówno własnych, jak i innych użytkowników. W tym artykule omówimy podstawowe zastosowania polecenia ps, a także różne przełączniki i opcje, które możemy wykorzystać, aby uzyskać więcej informacji o działających procesach. Podstawowe użycie Najprostszym sposobem użycia polecenia ps jest wpisanie go bez żadnych dodatkowych argumentów. W ten sposób otrzymamy informacje o procesach, które są uruchomione w bieżącej sesji terminala. ps Wynik polecenia może wyglądać następująco: PID TTY TIME CMD 1932 pts/1 00:00:00 bash 1996 pts/1 00:00:00 ps Wynik przedstawia cztery kolumny: PID (Process ID) – identyfikator procesu. TTY – terminal, z którego uruchomiono proces. TIME – łączny czas procesora, który został zużyty przez proces. CMD – nazwa polecenia użytego do uruchomienia procesu. Przełączniki i opcje Polecenie ps posiada różne przełączniki i opcje, które można zastosować w celu uzyskania dodatkowych informacji o procesach. Przełączniki mogą być używane w kombinacji, co pozwala na bardziej szczegółowy przegląd działających procesów. ps -e: Wyświetla wszystkie procesy systemu. ps -e ps -u nazwa_użytkownika: Wyświetla procesy dla określonego użytkownika. ps -u root ps -f: Wyświetla pełne informacje o procesach (włączając rodzica, identyfikator grupy procesów, terminal itp.). ps -f ps -l: Wyświetla długą listę informacji o procesach (włączając priorytet, stan procesu, itp.). ps -l ps -x: Wyświetla procesy bez przypisanego terminala (tzw. "daemon processes"). ps -x ps -t nazwa_terminala: Wyświetla procesy uruchomione w określonym terminalu. ps -t pts/1 ps --sort nazwa_pola: Sortuje procesy według określonego pola (np. czasu procesora, zużycia pamięci, identyfikatora procesu itp.). ps --sort pid ps -C nazwa_procesu: Wyświetla procesy o określonej nazwie. ps -C bash ps -p PID: Wyświetla informacje o procesie o określonym identyfikatorze (PID). ps -p 1932 ps -o lista_pól: Wyświetla wybrane pola dla każdego procesu. Można podać listę pól oddzieloną przecinkami. ps -o pid,comm,user ps -axjf: Wyświetla drzewo procesów, pokazując związki między procesami oraz ich rodzicami. ps -axjf Przykłady użycia Wyświetlanie procesów, które zużywają najwięcej pamięci: ps -eo pid,comm,%mem --sort -%mem Wynik przedstawia trzy kolumny: identyfikator procesu (PID), nazwę procesu (comm) oraz procent zużywanej pamięci (%mem), posortowane malejąco według zużycia pamięci. Wyświetlanie procesów, które zużywają najwięcej czasu procesora: ps -eo pid,comm,%cpu --sort -%cpu Podobnie jak w poprzednim przykładzie, wynik przedstawia trzy kolumny: identyfikator procesu (PID), nazwę procesu (comm) oraz procent zużytego czasu procesora (%cpu), posortowane malejąco według zużycia czasu procesora. Wyszukanie procesów, które zawierają określone słowo kluczowe: ps -ef | grep "kluczowe_slowo" Ten przykład łączy polecenie ps z poleceniem grep, które wyszukuje procesy, które zawierają podane słowo kluczowe. Zabicie procesu o określonym identyfikatorze (PID): ps -p 1932 | awk 'NR > 1 {print $1}' | xargs kill W tym przypadku używamy kombinacji poleceń ps, awk oraz xargs do wyszukania i zakończenia procesu o określonym identyfikatorze (PID). Polecenie ps jest niezwykle użyteczne w zarządzaniu i monitorowaniu procesów w systemach Linux i Unix. Omówiliśmy podstawowe zastosowania polecenia ps, różne przełączniki, które pozwalają na uzyskanie dodatkowych informacji o procesach, oraz przykłady użycia. Dzięki różnym przełącznikom i opcjom, polecenie ps pozwala na analizowanie działających procesów, co jest niezbędne w diagnostyce problemów związanych z wydajnością i zarządzaniem systemem. Warto jednak pamiętać, że polecenie ps jest jedynie narzędziem do wyświetlania informacji o procesach i, aby wpłynąć na ich działanie, należy użyć innych poleceń, takich jak kill, renice, pkill czy killall. Znajomość poleceń związanych z zarządzaniem procesami jest kluczowa dla administratorów systemów Linux, a także dla programistów i użytkowników, którzy chcą monitorować swoje aplikacje i usługi. Praktykowanie i eksperymentowanie z poleceniem ps oraz jego przełącznikami pozwoli na lepsze zrozumienie procesów systemowych i ułatwi rozwiązywanie problemów związanych z działaniem systemu. W miarę jak będziesz zdobywać doświadczenie w pracy z poleceń ps, odkryjesz kolejne sposoby jego wykorzystania oraz będziesz w stanie tworzyć coraz bardziej zaawansowane zapytania. Warto również zaznaczyć, że istnieją inne narzędzia dostępne w systemach Linux i Unix, które mogą pomóc w zarządzaniu procesami, takie jak top, htop, pgrep, pstree czy lsof. Każde z nich ma swoje specyficzne funkcje, które uzupełniają możliwości polecenia ps. Warto więc zgłębić ich działanie i zapoznać się z ich funkcjonalnościami, aby poszerzyć swoją wiedzę na temat zarządzania procesami w systemie Linux. touch, tee, nano, vim Unix i Linux oferują różnorodne narzędzia, które umożliwiają edytowanie plików tekstowych. W tym artykule omówimy cztery z nich: touch, tee, nano i vim. Przedstawimy przykłady ich użycia oraz atrybuty dodatkowe, które mogą znacznie ułatwić pracę. Polecenie Touch Polecenie Touch pozwala tworzyć puste pliki lub aktualizować datę modyfikacji istniejących już plików. Jest to bardzo przydatne narzędzie, gdy chcemy szybko utworzyć plik lub zmienić datę modyfikacji pliku. Aby utworzyć nowy plik, wystarczy wpisać: touch nowy_plik.txt Jeśli plik już istnieje, Touch zmieni datę modyfikacji na aktualną. Na przykład: touch stary_plik.txt spowoduje, że data modyfikacji pliku stary_plik.txt zostanie zaktualizowana do bieżącej daty i czasu. Atrybuty dodatkowe, które można użyć z Touch, obejmują między innymi: -a: zmienia tylko datę dostępu do pliku, a nie datę modyfikacji; -c: nie tworzy nowego pliku, jeśli nie istnieje; -m: zmienia tylko datę modyfikacji, a nie datę dostępu. Polecenie Tee Polecenie Tee umożliwia wyjście z jednego strumienia danych do wielu plików jednocześnie. Jest to przydatne, gdy chcemy zapisać dane w kilku plikach jednocześnie lub przekierować je do innego procesu. Aby użyć Tee, wpisz: ls | tee plik1.txt plik2.txt W tym przykładzie wyjście z polecenia "ls" zostanie przekierowane do plików plik1.txt i plik2.txt. Można też użyć Tee, aby zapisywać dane w trybie dopisywania. W tym celu należy dodać atrybut -a. Na przykład: echo "Nowa linia" | tee -a plik1.txt plik2.txt Atrybuty dodatkowe, które można użyć z Tee, obejmują między innymi: -i: nadpisuje pliki bez potwierdzania; -p: zachowuje kolejność zapisywania danych z jednego strumienia do kilku plików; -q: w trybie cichym nie wyświetla informacji o zapisywaniu danych do plików. Polecenie Nano Nano jest edytorem tekstu wiersza poleceń, który jest łatwy w użyciu i przejrzysty. Może być stosowany zarówno przez początkujących, jak i zaawansowanych użytkowników. Po uruchomieniu Nano, można zacząć edycję pliku, wpisując: nano nazwa_pliku.txt Aby zapisać zmianę w pliku, należy użyć kombinacji klawiszy Ctrl + O. Aby wyjść z edytora Nano, należy użyć kombinacji klawiszy Ctrl + X. Atrybuty dodatkowe, które można użyć z Nano, obejmują między innymi: -c: włącza kolory dla składni; -i: włącza inteligentne automatyczne wcięcia; -v: włącza tryb uruchamiania edytora z kontrolą wersji. Polecenie Vim Vim jest jednym z najpopularniejszych edytorów tekstu na linuksie i oferuje wiele funkcji, które umożliwiają szybką i efektywną edycję plików tekstowych. Aby uruchomić Vim, wpisz: vim nazwa_pliku.txt Po uruchomieniu Vim, można zacząć edycję pliku. Aby zapisać zmiany, należy wpisać :w, a następnie nacisnąć Enter. Aby wyjść z Vim, należy wpisać :q, a następnie nacisnąć Enter. Jeśli chcemy zapisać zmiany i wyjść z Vim, należy wpisać :wq. Atrybuty dodatkowe, które można użyć z Vim, obejmują między innymi: -c: wykonuje polecenie po uruchomieniu Vim; -R: uruchamia Vim w trybie tylko do odczytu; -n: wyłącza zapisywanie pliku przed wyjściem z Vim. Omówiliśmy cztery narzędzia edycji tekstu dla systemów Unix i Linux: Touch, Tee, Nano i Vim. Każde z tych narzędzi oferuje różne funkcje i atrybuty dodatkowe, które umożliwiają efektywną edycję plików tekstowych. Znajomość tych narzędzi jest niezbędna dla osób pracujących z systemami Unix i Linux, zwłaszcza dla programistów i administratorów systemów. cat, tail, less, head, more W systemach Linux i Unix, istnieje wiele poleceń, które pozwalają na efektywne zarządzanie i analizowanie plików tekstowych. W tym artykule, omówimy pięć popularnych poleceń, tj. cat, tail, less, head i more. Przedstawimy ich zastosowanie wraz z przykładami oraz dodatkowymi atrybutami, które mogą przydać się podczas pracy z plikami tekstowymi. cat Polecenie cat jest używane do wyświetlania zawartości plików tekstowych, konkatenacji plików oraz przekierowywania wyjścia do innych plików. Oto kilka przykładów: Wyświetlanie zawartości pliku: cat plik.txt Łączenie kilku plików w jeden: cat plik1.txt plik2.txt > plik_polaczony.txt Dodawanie numerów linii do wyjścia: cat -n plik.txt Wyświetlanie plików z zakończeniem każdej linii znakiem $: cat -E plik.txt tail Polecenie tail umożliwia wyświetlanie ostatnich linii pliku tekstowego. Jest szczególnie przydatne, gdy chcemy monitorować logi systemowe lub aplikacji. Przykłady użycia: Wyświetlanie ostatnich 10 linii pliku (domyślnie): tail plik.txt Wyświetlanie ostatnich 20 linii pliku: tail -n 20 plik.txt Monitorowanie pliku w czasie rzeczywistym (dynamiczne wyświetlanie zawartości): tail -f plik.txt less Polecenie less umożliwia przeglądanie zawartości plików tekstowych w trybie stronicowania. Jest szczególnie przydatne, gdy pracujemy z dużymi plikami. Przykłady użycia: Otwieranie pliku z możliwością nawigacji: less plik.txt Wyszukiwanie ciągu znaków w pliku (po otwarciu pliku): /wyszukiwany_tekst Przechodzenie do następnego wystąpienia ciągu znaków: n Przechodzenie do poprzedniego wystąpienia ciągu znaków: N head Polecenie head służy do wyświetlania pierwszych linii pliku tekstowego. Przykłady użycia: Wyświetlanie pierwszych 10 linii pliku (domyślnie): head plik.txt Wyświetlanie pierwszych 20 linii pliku: head -n 20 plik.txt Wyświetlanie pierwszych 5 linii kilku plików: head -n 5 plik1.txt plik2.txt more Polecenie more pozwala przeglądać zawartość plików tekstowych w trybie stronicowania podobnie jak less, ale z mniejszą liczbą funkcji. Przykłady użycia: Otwieranie pliku z możliwością nawigacji: more plik.txt Przewijanie o jedną linię w dół: Enter Przewijanie o jedną stronę w dół: Spacja Wyszukiwanie ciągu znaków w pliku: /wyszukiwany_tekst Omówiliśmy pięć przydatnych poleceń do zarządzania i przeglądania plików tekstowych w systemach Linux i Unix: cat, tail, less, head i more. Każde z nich ma swoje unikalne cechy i zastosowania, które sprawiają, że są niezastąpione podczas pracy z plikami tekstowymi. Znajomość tych poleceń oraz ich dodatkowych atrybutów pozwala na efektywną i wygodną pracę z plikami tekstowymi w środowisku Linux/Unix. Zachęcamy do eksplorowania manuali (man pages) dla każdego z tych poleceń, aby poznać jeszcze więcej opcji i możliwości, które mogą znacząco ułatwić codzienną pracę z plikami tekstowymi. Aby uzyskać dostęp do manuala dla dowolnego polecenia, wystarczy wpisać man przed nazwą polecenia, np.: man cat find, locate, which Linux to elastyczny i potężny system operacyjny, który oferuje użytkownikom szeroki wachlarz narzędzi do zarządzania plikami i folderami. Trzy z nich to: find, locate oraz which. W tym artykule przyjrzymy się tym poleceniom, omówimy ich zastosowania oraz pokażemy konkretne przykłady użycia. Polecenie find Polecenie find to potężne narzędzie, które pozwala wyszukiwać pliki i katalogi w systemie Linux. Find może wyszukiwać pliki na podstawie różnych kryteriów, takich jak nazwa, typ, właściciel, grupa, rozmiar, data modyfikacji i wiele innych. Składnia polecenia find: find [ścieżka] [wyrażenie] Przykład 1: Wyszukiwanie plików o nazwie "test.txt" w bieżącym katalogu: find . -name "test.txt" Przykład 2: Wyszukiwanie plików o rozmiarze większym niż 10 MB w katalogu /home/user: find /home/user -type f -size +10M Przykład 3: Wyszukiwanie wszystkich plików należących do użytkownika "user" w katalogu /var: find /var -user user Polecenie locate Polecenie locate to szybkie narzędzie do wyszukiwania plików, które bazuje na indeksie lokalizacji plików. Locate sprawdza swój indeks (aktualizowany przez polecenie updatedb) zamiast przeszukiwać cały system plików, co pozwala na szybsze wyszukiwanie. Składnia polecenia locate: locate [opcje] wzorzec Przykład 1: Wyszukiwanie plików o nazwie "example.txt": locate example.txt Przykład 2: Wyszukiwanie plików o nazwie "example.txt" z limitowaną ilością wyników (maks. 5): locate -n 5 example.txt Przykład 3: Wyszukiwanie plików zgodnych z wyrażeniem regularnym: locate -r "example.*\.txt" Polecenie which Polecenie which służy do lokalizowania plików wykonywalnych w systemie Linux. Which szuka plików wykonywalnych w katalogach wymienionych w zmiennej środowiskowej PATH. Jest to przydatne narzędzie, gdy chcemy dowiedzieć się, która wersja programu jest używana, jeśli istnieje wiele wersji zainstalowanych na systemie. Składnia polecenia which: which [opcje] program Przykład 1: Znalezienie ścieżki do pliku wykonywalnego "python": which python Przykład 2: Znalezienie wszystkich plików wykonywalnych o nazwie "java": which -a java Przykład 3: Znalezienie ścieżki do pliku wykonywalnego "gcc" i wyświetlenie informacji o wersji: which gcc && gcc --version Podsumowanie W tym Artykule to już koniec. Przedstawiłem kilka poleceń które w linux powinien znać każdy kto zmaierza zaczynać na poważnie swoja przygodę z linux. Oczywiście to nie wszystkie polecenia które warto znać i je używać. W następnym wpisie poruszę kolejne polecenia systemu linux, a teraz juz dziękuję za uwagę.

  • Narzędzie do analizy statycznej infrastruktury jako kodu w Terraform

    TFlint (Terraform Lint) to narzędzie do analizy statycznej infrastruktury jako kodu (IaC) w Terraform. Umożliwia sprawdzenie poprawności składni, struktury i zgodności z wytycznymi w plikach konfiguracyjnych Terraform. Jest to szczególnie użyteczne w przypadku zespołów pracujących na dużych projektach infrastruktury, gdzie błędy mogą być kosztowne i trudne do wykrycia. W tym artykule przedstawimy przykłady użycia polecenia TFlint, omówimy zalety jego stosowania, a także pokażemy, jak można go zintegrować z procesem wdrażania infrastruktury. Instalacja TFlint TFlint jest dostępny na różnych platformach, takich jak Linux, macOS i Windows. Można go zainstalować za pomocą menedżera pakietów lub pobrać binarkę bezpośrednio z GitHub. Przykład instalacji na macOS Przykład instalacji na Linux Przykład instalacji na Windows Pobierz plik .zip z GitHub i wypakuj go do katalogu, który jest zawarty w zmiennej środowiskowej PATH. Konfiguracja TFlint Aby dostosować TFlint do swoich potrzeb, można utworzyć plik konfiguracyjny o nazwie .tflint.hcl. Plik ten powinien być umieszczony w głównym katalogu projektu Terraform. Przykładowy plik konfiguracyjny: Podstawowe użycie TFlint Aby uruchomić TFlint, należy wpisać polecenie tflint w konsoli, będąc w katalogu z plikami konfiguracyjnymi Terraform. TFlint sprawdzi wszystkie pliki o rozszerzeniu .tf. Przykład użycia: Można również sprawdzić pojedynczy plik .tf podając jego nazwę jako argument: Zalety stosowania TFlint Wykrywanie błędów składniowych i strukturalnych: TFlint analizuje pliki konfiguracyjne Terraform, aby wykryć wszelkie błędy składniowe, strukturalne i inne niezgodności z dokumentacją. Dzięki temu można uniknąć błędów, które mogą prowadzić do nieprawidłowego działania infrastruktury. Właściwe stosowanie zasobów AWS: TFlint sprawdza zgodność z wytycznymi AWS, takimi jak poprawne typy instancji EC2 czy poprawne odniesienia do zasobów IAM. To pomaga uniknąć błędów związanych z nieprawidłowym użytkowaniem usług AWS. Automatyzacja sprawdzania jakości kodu: TFlint może być zintegrowany z narzędziami CI/CD (Continuous Integration/Continuous Deployment) w celu automatycznego sprawdzania jakości kodu przed wdrożeniem. Dzięki temu, można utrzymać wysoką jakość kodu infrastruktury jako kodu (IaC) i uniknąć wprowadzania błędów do środowiska produkcyjnego. Dopasowywanie reguł do potrzeb projektu: TFlint pozwala na konfigurację własnych reguł sprawdzania, dzięki czemu można dostosować narzędzie do potrzeb konkretnego projektu. Daje to większą elastyczność i umożliwia lepsze zarządzanie jakością kodu. Szybka identyfikacja problemów: TFlint pozwala szybko zidentyfikować potencjalne problemy, co przekłada się na mniejsze ryzyko wprowadzania błędów do infrastruktury. Ułatwia również prace programistom, którzy mogą szybko zidentyfikować źródło problemu i go naprawić. Przykłady użycia TFlint z różnymi flagami TFlint oferuje wiele flag, które pozwalają na dostosowanie działania narzędzia do konkretnych potrzeb. Sprawdzanie modułów Terraform: Aby sprawdzić również moduły używane w projekcie, można użyć flagi --module. Ignorowanie błędów dla określonych reguł: Jeśli chcesz zignorować błędy dla określonych reguł, możesz użyć flagi --ignore-rule. Zgłaszanie tylko błędów o określonym poziomie: Aby wyświetlić tylko błędy o określonym poziomie, można użyć flagi --severity. Sprawdzanie plików Terraform tylko w określonym katalogu: Aby sprawdzić tylko pliki w określonym katalogu, można użyć flagi --chdir. Integracja TFlint z narzędziami CI/CD Współpracując z innymi programistami i zarządzając projektami infrastruktury, warto zintegrować TFlint z narzędziami CI/CD (Continuous Integration/Continuous Deployment), takimi jak Jenkins, GitLab CI, GitHub Actions czy CircleCI. Integracja pozwala na automatyczne sprawdzanie jakości kodu Terraform przed zatwierdzeniem zmian i wdrożeniem ich na środowisko produkcyjne. Przykład integracji TFlint z GitHub Actions: W powyższym przykładzie, GitHub Actions uruchamia TFlint na wirtualnej maszynie z systemem Ubuntu. Przed uruchomieniem TFlint, kod źródłowy zostaje pobrany, a następnie instalowany jest TFlint w wersji 0.31.0. Na koniec, TFlint jest uruchamiany na plikach konfiguracyjnych Terraform. Wnioski TFlint to potężne narzędzie do analizy statycznej kodu infrastruktury jako kodu (IaC) w Terraform. Pomaga wykryć błędy, utrzymać wysoką jakość kodu i uniknąć wprowadzania problemów do środowiska produkcyjnego. Dzięki integracji z narzędziami CI/CD, TFlint może automatycznie sprawdzać jakość kodu podczas procesu wdrażania. Użycie TFlint przynosi wiele korzyści dla zespołów deweloperskich, zwłaszcza tych pracujących nad dużymi projektami infrastruktury. Warto zatem włączyć TFlint do swojego procesu wdrażania infrastruktury jako kodu, aby osiągnąć jeszcze lepsze rezultaty. Teraz, gdy znasz podstawy TFlint, jego zalety i przykłady użycia, spróbuj wdrożyć to narzędzie w swoim projekcie i przekonaj się o jego wartości. Pamiętaj, że konfiguracja TFlint pozwala na dostosowanie narzędzia do indywidualnych potrzeb projektu, co jeszcze bardziej zwiększa jego użyteczność.

  • Najlepsze praktyki w zakresie bezpieczeństwa Terraform

    Terraform jest de facto narzędziem, niezależnym od dostawcy zasobów, a Twoja organizacja może pracować ze wszystkimi jednocześnie. Niekwestionowanym aspektem jest bezpieczeństwo Terraform, ponieważ każdy błąd w konfiguracji może mieć wpływ na całą infrastrukturę. W tym artykule chcę wyjaśnić korzyści płynące z korzystania z Terraform i przedstawić wskazówki dotyczące korzystania z Terraform w bezpieczny sposób, odwołując się do niektórych najlepszych praktyk w zakresie bezpieczeństwa. Audyt konfiguracji Terraform pod kątem luk w zabezpieczeniach i wdrażanie kontroli bezpieczeństwa. Zarządzanie poświadczeniami dostępu w zabezpieczeniach Terraform. Najlepsze praktyki bezpieczeństwa w korzystaniu z modułów Terraform. DIY moduły Terraform. Co to jest Terraform? Terraform to narzędzie typu open source jako narzędzie do tworzenia kodu, które umożliwia bezpieczne i przewidywalne tworzenie, zmienianie i niszczenie infrastruktury (IaC). Pisałem o tym już we wcześniejszym artykule. Aby zobaczyć prosty przykład, spójrzmy na kod - przykład z oficjalnej strony, który wdraża kontener nginx. Zainicjować projekt za pomocą terraform init, udostępniając kontener serwera nginx za pomocą terraform apply i zniszczyć serwer sieciowy nginx za pomocą terraform destroy. Terraform komunikując się z chmurą publiczną AWS, Azure, GCP czy DigitalOcean polega na kluczach dostępu i tajnych kluczach do uwierzytelniania od dostawców chmury. W tym przykładzie uwierzytelnianie nie było wymagane, ale większość dostawców wymaga poświadczeń w taki czy inny sposób. Przechowywanie poświadczeń w sposób niezabezpieczony może prowadzić do powstania luk w zabezpieczeniach, takich jak nieautoryzowany dostęp i naruszenia bezpieczeństwa danych. Jednym z miejsc, na które należy zwrócić uwagę, jest przechowywanie poświadczeń w plikach stanu Terraform. Pliki stanu Terraform to pliki, których Terraform używa do śledzenia zasobów utworzonych w określonej infrastrukturze. Plik stanu jest zwykle przechowywane lokalnie na komputerze, na którym działa Terraform, chociaż można je również przechowywać zdalnie w zapleczu (backend), takim jak Terraform Cloud lub S3 (zalecany zdalny backend jak współpracujesz z zespołem lub dla zachowania dobrych praktyk). Plik stanu zawiera migawkę infrastruktury w określonym momencie, w tym wszystkie zasoby utworzone lub zmodyfikowane przez Terraform. Obejmuje to szczegóły, takie jak identyfikatory zasobów, ich bieżący stan i wszelkie inne metadane, których Terraform potrzebuje do zarządzania zasobami. Jeśli chcesz dowiedzieć się więcej o Terraform, zapoznaj się z moim kursem Terraform Podstawy. Zapraszam (wystarczy kliknąć w obrazek) Audyt plików manifestu Terraform Terraform używa pliku stanu do określania bieżącego stanu infrastruktury i planowania zmian w tej infrastrukturze. Kiedy wprowadzasz zmiany w konfiguracji Terraform i stosujesz te zmiany, Terraform porównuje nową konfigurację z istniejącym plikiem stanu i określa, jakie zmiany należy wprowadzić w infrastrukturze, aby dostosować ją do nowej konfiguracji. Korzyści ze skanowania plików manifestu Terraform są znaczące, jeśli chodzi o wykrywanie i łagodzenie potencjalnych zagrożeń bezpieczeństwa w infrastrukturze chmurowej. Jeśli możesz zrobić tylko jedną rzecz, upewnij się, że dokładnie przeskanowałeś pliki Terraform. Ponieważ plik stanu jest ważny dla działania Terraform, ważne jest, aby obchodzić się z nim ostrożnie. Zawsze powinieneś wykonać kopię zapasową pliku stanu i upewnić się, że jest bezpiecznie przechowywany, zwłaszcza jeśli używasz zdalnego zaplecza. Należy również uważać, aby nie modyfikować pliku stanu ręcznie, ponieważ może to spowodować niespójności między plikiem stanu a rzeczywistą infrastrukturą. W przypadku "SCARLETEEL" - skanowanie manifestów Terraform mogło pomóc w wykryciu ujawnionych kluczy dostępu i sekretów w zasobnikach S3. Dzięki wczesnemu wykryciu incydentów można było zapobiec lub przynajmniej go powstrzymać, zanim atakujący miał szansę uzyskać dostęp do drugiego konta AWS – jak przedstawiono na poniższym diagramie. Identyfikacja informacji wrażliwych Skanowanie plików Terraform może pomóc zidentyfikować wszelkie poufne informacje , takie jak klucze dostępu, sekrety, hasła lub tokeny, które mogą zostać przypadkowo ujawnione w plikach stanu. Jak widać w incydencie SCARLETEEL, osoby atakujące mogą wykorzystać te informacje do uzyskania nieautoryzowanego dostępu do infrastruktury chmury i przemieszczania się między organizacjami. Błędne konfiguracje sieci Tak jak konfigurujemy dostęp do naszej chmury, konfigurując VPC lub AWS Security Groups, też musimy wziąć pod uwagę poprawną konfigurację plików Terraform, aby maksymalnie zmniejszyć powierzchnię ataku ograniczając dostęp tam gdzie jest to możliwe do zaufanych adresów IP,, a porty nie potrzebne nie otwieramy. Widoczność zmian w pliku stanu Pliki manifestu Terraform zawierają historię zmian wprowadzonych w Twojej infrastrukturze, w tym informacje o utworzeniu, zaktualizowaniu lub zniszczeniu zasobów. Skanowanie plików stanu może pomóc w śledzeniu zmian, identyfikowaniu anomalii i szybkim reagowaniu na wszelkie incydenty związane z bezpieczeństwem. Zgodność i zarządzanie Skanowanie plików `.tf` może pomóc upewnić się, że infrastruktura chmury jest zgodna z wymaganiami prawnymi i zarządczymi, takimi jak PCI DSS , HIPAA lub SOC 2 . Wykrywając potencjalne zagrożenia bezpieczeństwa, możesz podejmować działania naprawcze i zapobiegać naruszeniom zgodności. Wykrywanie luk w automatyzacji Skanowanie plików Terraform można zautomatyzować, co pozwala wykrywać i ograniczać zagrożenia bezpieczeństwa w czasie rzeczywistym. Możesz zintegrować skanowanie z potokiem DevOps, co pozwala wykryć luki w zabezpieczeniach na wczesnym etapie cyklu programowania i uniemożliwić im dotarcie do środowiska produkcyjnego. Ogólnie rzecz biorąc, skanowanie plików definicji Terraform jest podstawową praktyką bezpieczeństwa dla każdej organizacji używającej Terraform do zarządzania infrastrukturą chmurową. Może pomóc w identyfikacji i ograniczeniu potencjalnych zagrożeń dla bezpieczeństwa, zapewniając bezpieczeństwo i zgodność środowiska chmurowego. Narzędzia do skanowania Terraform Narzędzia do skanowania Terraform mogą pomóc w znalezieniu błędnych konfiguracji, problemów z bezpieczeństwem i luk w kodzie Terraform. Te narzędzia mają na celu pomóc użytkownikom w identyfikowaniu i rozwiązywaniu problemów przed ich wdrożeniem w środowiskach produkcyjnych. Oto kilka popularnych narzędzi do skanowania Terraform: Terrascan – Terrascan to narzędzie do analizy statycznej typu open source, które skanuje kod Terraform pod kątem problemów z bezpieczeństwem. Zapewnia użytkownikom funkcje polityki jako kodu i obsługuje wielu dostawców usług w chmurze. Checkov – Checkov to narzędzie typu open source, które skanuje kod Terraform pod kątem problemów z bezpieczeństwem i naruszeń najlepszych praktyk. Posiada obszerną bibliotekę wbudowanych zasad i jest wysoce konfigurowalny. KICS – Keeping Infrastructure as Code Secure (KICS) to narzędzie typu open source, które skanuje kod Terraform pod kątem problemów z bezpieczeństwem, naruszeń zgodności i błędnych konfiguracji infrastruktury. Obsługuje wielu dostawców chmury i jest wysoce konfigurowalny. tfsec - Narzędzie open source tflint - Narzedzie open source Na potrzeby tego bloga omówimy, w jaki sposób Terrascan jest używany do skanowania problemów związanych z bezpieczeństwem w Terraform. Zachęcam też do przetestowania innych narzędzi z wymienionej listy. Oczywiście jak chcesz zobaczyc je w akcji zapraszam do kursu dostępnego na stronie Szkolenia Cloud Terrascan wykorzystuje statyczną analizę kodu do skanowania kodu Terraform i konfiguracji pod kątem problemów z bezpieczeństwem i luk w zabezpieczeniach. Terrascan może być używany jako samodzielne narzędzie lub zintegrowany z potokiem CI/CD w celu automatycznego skanowania kodu Terraform w ramach procesu kompilacji. Teraz pokaże, w jaki sposób Terrascan jest używany do wyszukiwania luk w zabezpieczeniach. Przykład z Terrascan Zeskanuj swój kod Terraform za pomocą Terrascan. Po zainicjowaniu pliku konfiguracyjnego Terrascan możesz przeskanować kod Terraform pod kątem problemów z bezpieczeństwem za pomocą polecenia terrascan scan. Przejrzyj wyniki skanowania Terrascan. Po zakończeniu skanowania Terrascan powinien wyświetlić listę wszelkich problemów z bezpieczeństwem wykrytych w kodzie Terraform. Każdy problem będzie zawierał opis problemu, lokalizację w kodzie Terraform, w której wykryto problem, oraz ocenę istotności. Oto przykład wyniku skanowania Terrascan: W tym przykładzie Terrascan wykrył poważny problem bezpieczeństwa w pliku main.tf kodu Terraform. Problem jest związany z zakodowanymi na stałe sekretami w konfiguracjach Terraform, co może stanowić poważne zagrożenie bezpieczeństwa. Korzystanie z narzędzi do skanowania Terraform może pomóc poprawić bezpieczeństwo, identyfikując potencjalne problemy i luki w zabezpieczeniach, zanim zostaną one wdrożone w środowiskach produkcyjnych. Może to pomóc w zapobieganiu naruszeniom bezpieczeństwa i zapewnieniu, że infrastruktura jest skonfigurowana w bezpieczny i zgodny sposób. Ponadto narzędzia te mogą pomóc w egzekwowaniu zasad bezpieczeństwa i najlepszych praktyk w organizacjach oraz zmniejszać ryzyko błędu ludzkiego. Poniżej przykład uruchomienia wymienionych wyżej narzędzi na tym samym kodzie: Jak można zauważyć różne narzędzia zwracają różne wyniki, więc czasami warto stosować więcej niż jedno narządzie w szczególności kiedy mamy różne chmury, lub dobrać takie które działa najlepiej z naszą chmurą. Zarządzanie poświadczeniami dostępu w Terraform Security Terraform umożliwia łatwą konfigurację zasobów w chmurze, ale wymaga uwierzytelnienia u dostawców usług w chmurze. Sposób zarządzania tymi poświadczeniami ma kluczowe znaczenie dla bezpieczeństwa Twojej infrastruktury. Jedną z najlepszych praktyk jest używanie bezpiecznego systemu zarządzania poświadczeniami do przechowywania poświadczeń. Istotne jest, aby unikać przechowywania poświadczeń w postaci zwykłego tekstu ani zapisywania ich na stałe w kodzie Terraform. Nie przechowuj sekretów w stanie Terraform Pliki stanu Terraform nie powinny zawierać żadnych tajemnic, takich jak hasła czy klucze API . Zamiast tego użyj zmiennych wejściowych Terraform lub zewnętrznych źródeł danych, aby przekazać poufne informacje do modułu. Pomoże to zapewnić, że twoje sekrety nie zostaną ujawnione w pliku stanu. Na przykład tutaj jest plik stanu Terraform, który nie zawiera żadnych tajemnic: Plik definiuje pojedynczą instancję AWS EC2 i używa typu zasobu aws_instance do jej utworzenia. Blok dostawcy określa region AWS, który ma być używany, a blok wyjściowy definiuje zmienną wyjściową , która wyświetla publiczny adres IP instancji. Gdyby wymagana była jakakolwiek poufna informacja, taka jak klucz dostępu AWS lub klucz tajny, byłaby przekazywana do modułu za pomocą zmiennych wejściowych lub zewnętrznych źródeł danych, zamiast być przechowywana w pliku stanu. Nie przechowuj tajemnic w postaci zwykłego tekstu Nigdy nie przechowuj tajemnic w postaci zwykłego tekstu w swoich manifestach Terraform . Jak wspomnieliśmy wcześniej, możesz użyć zmiennych środowiskowych lub zmiennych wejściowych, aby przekazać sekrety do modułu Terraform. Oto na przykład skrypt, który używa zmiennych środowiskowych do przekazywania tajemnic do Terraform: Zamiast przechowywać db_password w postaci zwykłego tekstu w manifeście Terraform, możemy przekazać je jako zmienną środowiskową, gdy uruchamiamy polecenie Terraform: Po przekazaniu zmiennej środowiskowej możemy po prostu uruchomić skrypt Terraform - terraform apply Zmienna db_password zostanie wypełniona wartością zmiennej środowiskowej TF_VAR_db_password , która jest przekazywana do zasobu aws_db_instance. Hasło nie będzie przechowywane w postaci zwykłego tekstu w manifeście Terraform, dzięki czemu będzie bezpieczniejsze. Alternatywnie moglibyśmy użyć zmiennych wejściowych do przekazania sekretów do modułu Terraform. Oto przykład wykorzystania zmiennych wejściowych do przekazywania sekretów do modułu Terraform: Następnie możemy przekazać zmienną db_password do modułu Terraform, gdy uruchamiamy polecenie terraform apply. terraform apply -var "db_password=supersecret" Takie podejście pozwala nam przekazywać sekrety do modułu Terraform bez przechowywania ich w postaci zwykłego tekstu w manifeście Terraform. Lepszym podejściem jest użycie bezpiecznego systemu zarządzania danymi uwierzytelniającymi, takiego jak HashiCorp Vault lub AWS Secrets Manager . Narzędzia te oferują bezpieczny sposób przechowywania poufnych informacji i zarządzania nimi, zapewniając kontrolę dostępu, szyfrowanie i dzienniki audytu. Najlepszym miejscem do rozpoczęcia jest utworzenie Hashicorp Vault Secrets Engine . Powyższy kod tworzy montowanie silnika sekretów KV i ogólny klucz tajny, który przechowuje poświadczenia AWS. Zastąp var.aws_access_key i var.aws_secret_key odpowiednimi zmiennymi środowiskowymi lub użyj innej metody bezpiecznego przekazania tych wartości do Terraform. Po skonfigurowaniu mechanizmu sekretów możemy bezpiecznie pobrać dane uwierzytelniające AWS z Hashicorp Vault za pomocą poniższych zasad: Powyższy kod pobiera poświadczenia AWS z HashiCorp Vault i ustawia je jako konfigurację dostawcy dla dostawcy „ aws ” skonfigurowanego w pierwszym skrypcie. Teraz możesz używać Terraform do konfigurowania zasobów AWS bez kodowania na stałe lub przechowywania poświadczeń AWS w postaci zwykłego tekstu. To jest tylko przykładowy skrypt. Powinieneś go zmodyfikować w oparciu o swoje specyficzne wymagania i używany system zarządzania poświadczeniami. Ponadto należy skonfigurować kontrolę dostępu i dzienniki inspekcji dla systemu zarządzania poświadczeniami, aby zapewnić ochronę i monitorowanie tajemnic. Często wymieniaj poświadczenia Po wdrożeniu bezpiecznego systemu zarządzania danymi uwierzytelniającymi kluczowa jest częsta rotacja kluczy . Rotacja kluczy oznacza okresowe generowanie nowych kluczy dostępu i unieważnianie starych. Ta praktyka gwarantuje, że jeśli jeden z twoich kluczy zostanie naruszony, nie będzie ważny. Możesz ponownie użyć narzędzi takich jak Hashicorp Vault lub AWS Secrets Manager, aby zautomatyzować proces rotacji kluczy. Zautomatyzowanie tego procesu może pomóc uniknąć błędów ludzkich, które są jedną z głównych przyczyn naruszeń bezpieczeństwa. Ponieważ pracowaliśmy już z Hashicorp Vault, utworzymy następujący przykład zasad Vault , który powinien zapewnić częstą rotację naszych kluczy Terraform w celu utrzymania bezpieczeństwa systemu. Ta polityka zawiera trzy oświadczenia, które zapewniają minimalne wymagane uprawnienia do zarządzania kluczami Terraform: Pierwsza instrukcja umożliwia użytkownikom odczytywanie, tworzenie, aktualizowanie, usuwanie i wyświetlanie wpisów tajnych w ścieżce secret/data/terraform/* . Ta ścieżka powinna zawierać klucze używane przez Terraform do uzyskiwania dostępu do innych zasobów. Parametr max_versions ogranicza liczbę wersji klucza, które mogą być przechowywane, podczas gdy parametr force zapewnia wygenerowanie nowego klucza, nawet jeśli maksymalna liczba wersji została już osiągnięta. Druga instrukcja umożliwia użytkownikom odnawianie dzierżawy tajemnic. Jest to ważne dla zapewnienia częstej rotacji klawiszy. Trzecia instrukcja umożliwia użytkownikom odwołanie dzierżawy tajemnic. Jest to przydatne, jeśli klucz jest zagrożony i musi zostać natychmiast odwołany. to tylko przykładowe zasady; należy go zmodyfikować w oparciu o określone wymagania i zasoby, którymi zarządzasz w Terraform. Ponadto należy skonfigurować Vault do automatycznej rotacji kluczy na podstawie zasad bezpieczeństwa organizacji. Zasady dostępu do najniższych uprawnień Wreszcie, podczas konfigurowania infrastruktury Terraform kluczowe znaczenie ma wdrożenie zasady najmniejszych uprawnień . Zasada najmniejszych uprawnień oznacza, że ​​należy przyznać minimalny poziom dostępu wymagany do prawidłowego działania określonego zasobu. Takie podejście minimalizuje potencjalne szkody, które osoba atakująca może wyrządzić, jeśli uzyska dostęp do Twojej infrastruktury. Dzięki Terraform możesz wdrożyć zasady dostępu z najniższymi uprawnieniami, definiując odpowiednie role, zasady i uprawnienia IAM, redukując błędne konfiguracje IAM . Możesz także użyć modułów Terraform, które zostały zaprojektowane z myślą o najlepszych praktykach w zakresie bezpieczeństwa. Na przykład poniższa zasada zapewnia dostęp z najniższymi uprawnieniami do zasobów Terraform dla określonego użytkownika lub grupy. Powyższa polityka zawiera trzy stwierdzenia, które zapewniają minimalne niezbędne uprawnienia do zarządzania zasobami Terraform: Pierwsza instrukcja umożliwia określonemu użytkownikowi lub grupie wykonanie działań terraform:plan , terraform:apply i terraform:destroy na zasobach w określonym obszarze roboczym Terraform. Musisz zastąpić nazwami zasobów Amazon (ARN) swojego obszaru roboczego Terraform. Druga instrukcja umożliwia określonemu użytkownikowi lub grupie wykonanie akcji terraform:state-push i terraform:state-pull na określonym zasobniku stanu Terraform. Ponownie musisz zastąpić ARN swojego zasobnika stanu Terraform. Trzecia instrukcja umożliwia określonemu użytkownikowi lub grupie wykonanie akcji terraform:state-list na wszystkich zasobach w określonym obszarze roboczym Terraform. Jak zawsze, pamiętaj, aby zastąpić ARN swojego obszaru roboczego Terraform. to tylko przykładowe zasady; powinieneś zmodyfikować ARN, aby pasowały do ​​​​konkretnego środowiska i przypadku użycia. Ponadto powinieneś przejrzeć i dostosować zasady w oparciu o swoje specyficzne wymagania i zasoby, którymi zarządzasz w Terraform. Korzystanie z modułów Terraform Moduły Terraform to skuteczny sposób organizowania i ponownego wykorzystywania kodu infrastruktury. Jednak, podobnie jak w przypadku każdego kodu, moduły mogą stanowić zagrożenie dla bezpieczeństwa łańcucha dostaw, jeśli nie są właściwie używane. W tej sekcji omówimy bezpieczeństwo Terraform z niektórymi najlepszymi praktykami korzystania z modułów Terraform w celu zapewnienia bezpiecznej infrastruktury jako kodu. Nie ufaj im ślepo; dokładnie sprawdź tworzoną infrastrukturę, grupy bezpieczeństwa itp. i zawsze najpierw „planuj”. Moduły Terraform mogą zaoszczędzić wiele czasu i wysiłku, ale nie należy im ślepo ufać. Zawsze przeglądaj kod i plan przed zastosowaniem jakichkolwiek zmian w infrastrukturze. Obejmuje to skanowanie Terraform w poszukiwaniu błędnej konfiguracji lub luk w zabezpieczeniach oraz przeglądanie grup zabezpieczeń i innych tworzonych zasobów, aby upewnić się, że spełniają one Twoje wymagania dotyczące bezpieczeństwa. Użyj polecenia „ plan ” programu Terraform, aby przejrzeć zmiany przed ich zastosowaniem. Polecenie „ plan” służy do generowania planu wykonania, który pokazuje, co zrobi Terraform po zastosowaniu Twojej konfiguracji. Dzięki temu możesz przejrzeć zmiany i upewnić się, że spełniają one Twoje oczekiwania, zanim faktycznie je zastosujesz. Najprostszym poleceniem do wygenerowania planu jest: terraform plan Więcej o samym terraform znajdziesz w kursie dostępnym na Szkolenia Cloud Terraform przeanalizuje Twoje pliki konfiguracyjne i wygeneruje plan, co zrobi, gdy zastosujesz zmiany. Dane wyjściowe będą wyglądać mniej więcej tak: W każdym przypadku przejrzyj dane wyjściowe, aby upewnić się, że zmiany są zgodne z oczekiwaniami. W tym przykładzie Terraform utworzy nową grupę zabezpieczeń i nową instancję EC2 oraz zniszczy istniejącą instancję EC2. Jeśli jesteś zadowolony z planu, możesz zastosować zmiany za pomocą polecenia Apply: terraform apply Przeglądając plan przed zastosowaniem zmian, możesz wykryć wszelkie nieoczekiwane zmiany lub błędy i uniknąć potencjalnych problemów z infrastrukturą. Jak wspomnieliśmy na początku tej sekcji, nie ufaj ślepo infrastrukturze. Plany zapewniają, że możemy zastosować dokładne specyfikacje bezpieczeństwa. Aktualizuj moduły Moduły powinny być na bieżąco aktualizowane o najnowsze poprawki bezpieczeństwa i najlepsze praktyki. Zawsze sprawdzaj dostępność aktualizacji i stosuj je w razie potrzeby. Pomoże to zapewnić, że Twoja infrastruktura jest bezpieczna i aktualna zgodnie z najnowszymi standardami bezpieczeństwa. Chociaż w Terraform nie ma wbudowanych poleceń służących do aktualizowania modułów o najnowsze poprawki zabezpieczeń i najlepsze praktyki Terraform, istnieją jednak narzędzia innych firm, które mogą pomóc w zarządzaniu modułami i kontroli wersji. Jednym z takich narzędzi jest własny oficjalny rejestr modułów Terraform, który jest wyselekcjonowanym zbiorem gotowych modułów dla typowych potrzeb infrastrukturalnych. Moduły w rejestrze są utrzymywane przez społeczność Terraform i są regularnie aktualizowane, aby zapewnić aktualność z najnowszymi poprawkami bezpieczeństwa i najlepszymi praktykami. Aby użyć modułu z rejestru, możesz dołączyć jego źródłowy adres URL do pliku konfiguracyjnego Terraform. Na przykład: Aby zaktualizować moduł do najnowszej wersji dostępnej w rejestrze, możesz użyć polecenia terraform get z flagą -update : terraform get -update Powyższe polecenie „terraform get -update” zaktualizuje wszystkie moduły w konfiguracji Terraform do najnowszych wersji dostępnych w rejestrze. Oprócz rejestru modułów dostępne są również narzędzia innych firm, takie jak Terraform Cloud i Atlantis , które zapewniają bardziej zaawansowane funkcje zarządzania modułami i kontroli wersji, takie jak: Automatyczne aktualizacje Blokowanie wersji Narzędzia współpracy Narzędzia te mogą pomóc w aktualizowaniu modułów i zapewnieniu, że infrastruktura jest bezpieczna i zgodna z najnowszymi standardami bezpieczeństwa. Nie przechowuj pliku stanu lokalnie; zapisz go w postaci zaszyfrowanej w innym miejscu, które można później pobrać Pliki stanu Terraform zawierają poufne informacje o Twojej infrastrukturze, takie jak identyfikatory zasobów i klucze tajne. Nie przechowuj ich lokalnie ani publicznie w systemach kontroli wersji. Zamiast tego zapisz je w bezpiecznym miejscu, które można później wyciągnąć w razie potrzeby. Należy również zaszyfrować plik stanu, aby zabezpieczyć go przed nieautoryzowanym dostępem. Na przykład stworzyliśmy poniższy skrypt Terraform, który wykorzystuje zdalne przechowywanie stanu w zasobniku S3, aby uniknąć przechowywania tych plików stanu lokalnie lub w systemie kontroli wersji: W tym przykładzie blok terraform na początku pliku określa, że ​​plik stanu powinien być przechowywany w zasobniku S3 o nazwie my-terraform-state-bucket z kluczem my-terraform-state.tfstate . Parametr region określa region AWS, w którym znajduje się zasobnik S3. Parametr dynamodb_table określa nazwę tabeli DynamoDB używanej do blokowania. Parametr encrypt mówi Terraformowi, aby zaszyfrował plik stanu przed zapisaniem go w S3. Blok zasobów aws_instance określa zasoby infrastruktury do utworzenia, ale nie zawiera żadnych poufnych informacji. Gdy uruchomisz terraform apply , Terraform utworzy zasoby i zapisze plik stanu w zasobniku S3. Po uruchomieniu kolejnych poleceń terraform Terraform użyje pliku stanu zdalnego w zasobniku S3 zamiast pliku lokalnego. Przechowując plik stanu w bezpiecznej lokalizacji, takiej jak zasobnik S3, możesz mieć pewność, że nie będzie on przechowywany lokalnie ani w systemach kontroli wersji. Szyfrując plik stanu, możesz chronić go przed nieautoryzowanym dostępem. Nie modyfikuj stanu Terraform ręcznie Ręczne modyfikacje pliku stanu Terraform mogą powodować problemy i wprowadzać zagrożenia bezpieczeństwa. Zawsze używaj poleceń Terraform do zarządzania plikiem stanu. Jeśli musisz wprowadzić zmiany w pliku stanu, użyj polecenia import Terraform, aby zaimportować zasoby do stanu. Zapewni to, że plik stanu pozostanie spójny z rzeczywistą infrastrukturą. Załóżmy, że masz instancję EC2 działającą na AWS i chcesz zacząć nią zarządzać przez Terraform. Najpierw musisz utworzyć nowy plik konfiguracyjny Terraform opisujący istniejący zasób. Oto prosty przykład: Następnie możesz uruchomić polecenie terraform import, a następnie typ zasobu, unikalny identyfikator zasobu i nazwę zasobu w pliku konfiguracyjnym Terraform. terraform import aws_instance.example i-0123456789abcdefg W powyższym przykładzie i-0123456789abcdefg to unikalny identyfikator instancji EC2 w AWS, a aws_instance.example to nazwa zasobu w pliku konfiguracyjnym Terraform. Po uruchomieniu polecenia terraform import Terraform utworzy teraz nowy plik stanu i zaimportuje do niego istniejące zasoby. Następnie użylibyśmy normalnych poleceń Terraform, takich jak terraform plan i terraform apply , aby zarządzać zasobami w przyszłości. Jeśli chcesz dowiedzieć się więcej o bezpieczeństwie EC2, nie zapomnij sprawdzić Zabezpieczanie SSH na EC2 i Jak zabezpieczyć Amazon EC2 w dokumentacji AWS. Tworzenie modułów Terraform Moduły Terraform zapewniają sposób organizowania i ponownego wykorzystywania kodu infrastruktury. Podczas tworzenia modułów Terraform ważne jest, aby postępować zgodnie z najlepszymi praktykami bezpieczeństwa Terraform, aby zapewnić bezpieczną infrastrukturę jako kod. W tej sekcji omówimy kilka najlepszych praktyk tworzenia modułów Terraform. Użyj git do przechowywania manifestów Terraform Przechowuj manifesty Terraform w systemach kontroli wersji, takich jak Git. Ułatwia to śledzenie zmian, cofanie zmian i współpracę z innymi osobami. Zawsze używaj kontroli wersji dla swoich modułów Terraform, aby mieć pewność, że zmiany są śledzone i możliwe do audytu. Zainicjujmy Git w naszym bieżącym katalogu, aby zrozumieć, jak przechowywać manifesty Terraform: git init Musisz utworzyć nowy plik konfiguracyjny Terraform, taki jak main.tf, i dodać do niego trochę zasobów. Następnie możesz dodać plik do Git i zatwierdzić zmiany: git add main.tfgit commit -m "Initial commit" Wprowadź zmiany w pliku konfiguracyjnym Terraform, dodaj je i zatwierdź w Git: git add main.tfgit commit -m "Added new resource" Jeśli chcesz wrócić do poprzedniej wersji pliku konfiguracyjnego Terraform, możesz użyć Git, aby sprawdzić poprzednie zatwierdzenie: git checkout HEAD~1 main.tf To polecenie sprawdzi wersję pliku main.tf z poprzedniego zatwierdzenia. Możesz także używać Git do współpracy z innymi osobami nad projektem Terraform. Na przykład możesz przekazać swoje zmiany do zdalnego repozytorium Git, które inni mogą klonować i nad którym mogą pracować: git remote add origin git push -u origin master Korzystając z Gita, możesz: Śledź zmiany w swoich manifestach Terraform , na przykład kto zmienił określony zasób lub kiedy ostatnio coś zostało zmodyfikowane. Cofnij zmiany w przypadku awarii możesz wrócić do poprzedniej znanej działającej wersji. Łatwiej współpracuj z innymi za pomocą pull requestów w celu omówienia zmian. Podpisywanie Terraforma Podpisywanie Terraform byłoby fajną funkcją, która pozwala użytkownikom podpisywać swoje manifesty Terraform za pomocą klucza prywatnego. To znacznie poprawiłoby bezpieczeństwo Terraform, ponieważ mogłoby pomóc użytkownikom upewnić się, że ich manifesty Terraform nie zostały naruszone. Niestety Terraform nie ma wbudowanej funkcji podpisywania manifestów Terraform kluczem prywatnym. Możesz jednak użyć zewnętrznych narzędzi, takich jak GPG lub narzędzie do podpisywania wtyczek Hashicorp , aby podpisać manifesty Terraform i zweryfikować ich integralność. Oto na przykład skrypt, który może podpisywać manifesty Terraform za pomocą GPG i weryfikować ich integralność: Jak zawsze, będziesz musiał wykonać powyższy skrypt i podpisać manifest Terraform za pomocą GPG przy użyciu klucza prywatnego, zweryfikować integralność podpisanego manifestu i wyodrębnić podpisany manifest do dalszego wykorzystania. Podpisując swoje manifesty Terraform za pomocą GPG i weryfikując ich integralność, możesz upewnić się, że Twoje manifesty Terraform nie zostały naruszone i że są takie same, jak w momencie ich pierwotnego podpisania. Pomaga to poprawić bezpieczeństwo kodu infrastruktury i zmniejszyć ryzyko nieautoryzowanych zmian. Zautomatyzuj cały proces Zautomatyzuj cały proces tworzenia, testowania i wdrażania modułów Terraform. Użyj narzędzi takich jak GitLab CI/CD lub Jenkins, aby zautomatyzować ten proces, ułatwiając zarządzanie kodem infrastruktury i zapewniając jej bezpieczeństwo. Na przykład w dużej firmie świadczącej usługi finansowe zespół ds. infrastruktury dysponował wieloma modułami Terraform, które służyły do ​​zarządzania infrastrukturą chmurową. Napotkali jednak wyzwania związane z ręcznym zarządzaniem i wdrażaniem tych modułów, co prowadziło do błędów i niespójności. Aby temu zaradzić, zespół zdecydował się na wdrożenie GitLab CI/CD w celu zautomatyzowania procesu tworzenia, testowania i wdrażania modułów Terraform. Oto przykład struktury potoku GitLab CI/CD: W tym przykładzie potok składa się z trzech etapów: kompilacja, testowanie i wdrażanie. Na etapie kompilacji kod Terraform jest kompilowany i pakowany, a następnie generowany jest plan. Na etapie testów przeprowadzane są zautomatyzowane testy kodu Terraform, w tym walidacja kodu, poprawne formatowanie i zastosowanie planu w środowisku testowym. Wreszcie, na etapie wdrażania, kod Terraform jest stosowany w środowisku docelowym, zapewniając, że infrastruktura jest skonfigurowana zgodnie z kodem. Z punktu widzenia bezpieczeństwa, automatyzując proces tworzenia, testowania i wdrażania modułów Terraform za pomocą GitLab CI/CD, możesz poprawić bezpieczeństwo kodu swojej infrastruktury i zmniejszyć ryzyko nieautoryzowanych zmian. Nie nadużywaj danych wyjściowych Nie nadużywaj zmiennych wyjściowych do przechowywania poufnych informacji, takich jak Sekrety. Użyj narzędzia do zarządzania sekretami, takiego jak Vault lub AWS Secrets Manager, aby przechowywać poufne informacje. W poniższym skrypcie użyjemy Hashicorp Vault do przechowywania i pobierania sekretów do wykorzystania w Terraform: W takim przypadku możesz użyć zasobu vault_generic_secret do przechowywania swoich kluczy tajnych w Vault, a następnie pobrać te klucze tajne za pomocą źródła danych data.vault_generic_secret i użyć ich w naszym kodzie Terraform. Używając narzędzia do zarządzania tajemnicami, takiego jak Hashicorp Vault lub AWS Secrets Manager do przechowywania poufnych informacji, można łatwo uniknąć konieczności przechowywania tajemnic w zmiennych wyjściowych lub innych częściach naszego kodu Terraform, zmniejszając w ten sposób ryzyko nieautoryzowanego dostępu lub ujawnienia tych wrażliwe dane uwierzytelniające/tajne. Zamierzamy użyć metody zapobiegania-zniszczenia, aby zapobiec przypadkowemu usunięciu zasobu „nigel_instance” . Ustawienie parametru Prevent_destroy na true spowoduję, że Terraform zapobiegnie usunięciu zasobu za pomocą polecenia terraform destroy lub internetowego interfejsu użytkownika Terraform. Stosując zapobieganie zniszczeniu, podkreślamy krytyczność tego środowiska laboratoryjnego/przejściowego, ale także zapewniamy, że nawet jeśli nie jest to środowisko produkcyjne, powinno pozostać stabilne i spójne. Dlatego zmniejszamy ryzyko przypadkowego usunięcia przez współpracownika, które w przeciwnym razie doprowadziłoby do potencjalnego przestoju. Podczas korzystania z Terraform do tworzenia infrastruktury kluczowe jest zapewnienie bezpieczeństwa infrastruktury. Wniosek Terraform to potężne narzędzie, które udostępnia infrastrukturę jako kod, ale podczas korzystania z niego kluczowe znaczenie ma nadanie priorytetu bezpieczeństwu. Postępując zgodnie z najlepszymi praktykami bezpieczeństwa Terraform, które przedstawiliśmy w tym przewodniku, możesz zminimalizować ryzyko naruszenia bezpieczeństwa i zapewnić bezpieczeństwo swojej infrastruktury. Podsumowując: Skanuj pliki Terraform, aby wykryć błędne konfiguracje lub luki w zabezpieczeniach. Korzystaj z bezpiecznego systemu zarządzania danymi uwierzytelniającymi i nigdy nie przechowuj tajemnic w plikach Terraform. Implementuj zasady dostępu z najmniejszymi uprawnieniami. Zastosuj te same praktyki bezpieczeństwa do dostawców usług w chmurze. Niezależnie od tego, czy jesteś inżynierem DevOps, analitykiem zabezpieczeń czy architektem chmury, te wytyczne ułatwiają zarządzanie infrastrukturą chmurową i zabezpieczanie jej. Oczywiście zapraszam do kursu na stronie Szkolenia Cloud - Terraform Podstawy

  • Nowy backdoor używany przez grupy APT - MQsTTang

    Nowy backdoor oraz samą kampanię przypisujemy grupie Mustang Panda z dużą pewnością na podstawie licznych wskaźników, które opiszemy poniżej. Znaleziono archiwa zawierające próbki MQsTTang w dwóch repozytoriach GitHub należących do użytkownika YanNaingOo0072022. Inne repozytorium GitHub tego samego użytkownika zostało wykorzystane w poprzedniej kampanii Mustang Panda, opisanej przez firmę Avast w poście na blogu z grudnia 2022 r. Na jednym z serwerów wykorzystywanych w obecnej kampanii działał publicznie dostępny anonimowy serwer FTP, który wydaje się używany do przygotowywania narzędzi i ładunków. W katalogu /pub/god tego serwera znajduje się wiele programów ładujących Korplug, archiwów i narzędzi, które były wykorzystane w poprzednich kampaniach Mustang Panda. Ten serwer miał również katalog /pub/gd, będący kolejną ścieżką używaną w tej kampanii. Analiza próbki malware MQsTTang to backdoor typu barebone, umożliwiający atakującemu wykonanie dowolnych poleceń na maszynie ofiary i uzyskanie danych wyjściowych. Ponadto ma kilka interesujących cech. Najważniejszą z nich jest wykorzystywanie protokołu MQTT do komunikacji C&C. MQTT jest zwykle używany do komunikacji między urządzeniami IoT i kontrolerami i został wykorzystany w niewielu publicznie udokumentowanych rodzinach złośliwego oprogramowania. Jednym z takich przykładów jest Chrysaor, znany również jako Pegasus dla Androida. Z perspektywy atakującego jedną z zalet MQTT jest to, że ukrywa resztę infrastruktury za brokerem. Tym samym zaatakowana maszyna nigdy nie komunikuje się bezpośrednio z serwerem C&C. Jak widać na poniższym screenie, tę możliwość uzyskuje się za pomocą otwartej biblioteki QMQTT, zależnej od frameworka Qt, którego duża część jest statycznie powiązana w złośliwym oprogramowaniu. Używanie środowiska Qt do tworzenia malware również jest dość rzadkie. MagicRAT Lazarusa jest jednym z nielicznych niedawno udokumentowanych przykładów. MQsTTang jest rozpowszechniany w archiwach RAR, które zawierają tylko jeden plik wykonywalny. Pliki wykonywalne zwykle mają nazwy związane z dyplomacją i paszportami, takie jak: CVs Amb Officer PASSPORT Ministry Of Foreign Affairs.exe, Documents members of delegation diplomatic from Germany.Exe, PDF_Passport and CVs of diplomatic members from Tokyo of JAPAN.eXE, Note No.18-NG-23 from Embassy of Japan.exe. Archiwa te są hostowane na serwerze WWW bez powiązanej nazwy domeny. Fakt ten, wraz z nazwami plików, skłania nas do przypuszczenia, że szkodliwe oprogramowanie rozprzestrzenia się za pośrednictwem spearphishingu. Do tej pory zaobserwowano tylko kilka próbek. Oprócz różnic w niektórych stałych i zakodowanych ciągach znaków, próbki są niezwykle podobne. Jedyną zauważalną zmianą jest dodanie niektórych technik antyanalizy w najnowszych wersjach. Pierwsza z nich polega na użyciu funkcji Windows API CreateToolhelp32Snapshot do iteracji uruchomionych procesów i wyszukiwania następujących znanych debugerów i narzędzi do monitorowania: cheatengine-x86_64.exe, ollydbg.exe, ida.exe, ida64.exe, radare2.exe, x64dbg.exe, procmon.exe, procmon64.exe, procexp.exe, proceshacker.exe, pestudio.exe, sytracerx32.exe, skrzypek.exe, tcpview.exe. Należy zauważyć, że choć malware jest 32-bitowym plikiem wykonywalnym, sprawdza jedynie obecność x64dbg, a nie swojego 32-bitowego odpowiednika, x32dbg. Druga technika wykorzystuje interfejs Windows API FindWindowW do wyszukiwania następujących klas i tytułów okien używanych przez znane narzędzia analityczne: PROCMON_WINDOW_CLASS, OLLYDBG, WinDbgFrameClass, OllyDbg – [CPU], Immunity_Debugger – [CPU]. W przypadku bezpośredniego wykonania złośliwe oprogramowanie uruchomi swoją kopię z wartością 1 jako argumentem wiersza poleceń. Jest to powtarzane przez nowy proces, przy czym argument jest zwiększany o 1 przy każdym uruchomieniu. Gdy osiągnie określone wartości, zostaną wykonane określone zadania. Warto zwrócić uwagę, że dokładne wartości różnią się w zależności od próbki; te wymienione poniżej odpowiadają próbce z SHA-1: 02D95E0C369B08248BFFAAC8607BBA119D83B95B. Jednak same zadania i kolejność ich wykonywania jest stała. Rysunek poniższy przedstawia przegląd tego zachowania wraz z zadaniami wykonywanymi podczas pierwszego uruchomienia złośliwego oprogramowania. Mustang Panda to grupa znana ze swoich niestandardowych wariantów Korplug (nazywanych również PlugX) oraz skomplikowanych łańcuchów dostaw i dostarczania ładunku. W przeciwieństwie do zwykłej taktyki grupy, MQsTTang ma tylko jeden etap i nie używa żadnych technik zaciemniania. Informacje wskazują, że głównym celem kampanii była instytucja rządowa na Tajwanie. Jednak ze względu na charakter używanych nazw plików-wabików uważa się, że celem ataków są również organizacje polityczne i rządowe w Europie i Azji. Byłoby to zgodne z targetowaniem ostatnich kampanii grupy. Jak udokumentowali badacze z Proofpoint, Mustang Panda był znany z ataków na europejskie podmioty rządowe od co najmniej 2020 r., a od czasu inwazji Rosji na Ukrainę jeszcze zwiększył swoją aktywność w Europie. Zródło: https://www.welivesecurity.com/2022/03/23/mustang-panda-hodur-old-tricks-new-korplug-variant/

  • Docker Scout - Zabezpie swój łańcuch dostaw na każdym poziomie

    Bezpieczeństwo łańcucha dostaw zaprojektowane z myślą o programistach Docker Scout zapewnia ujednolicony widok do zabezpieczania rozwoju kontenera, w tym widok warstw po warstwie zależności, ich znanych luk i zalecanych ścieżek naprawczych. Docker Scout został zaprojektowany z myślą o programistach i zintegrowany z Dockerem. Dzięki Docker Scout możesz spędzać mniej czasu na wyszukiwaniu i naprawianiu luk w zabezpieczeniach, a więcej na opracowywaniu kodu. Korzyści docker scout: Zrozumienie zależności aplikacji - Zapoznaj się z zależnościami aplikacji w każdej warstwie obrazów, niezależnie od tego, czy znajdują się one w obrazie podstawowym, czy w kodzie aplikacji. Przeanalizuj luki w swoich zależnościach - Oceń luki w zabezpieczeniach każdej zależności według warstwy, uszeregowane według ważności. Działaj szybko dzięki sugerowanym opcjom naprawczym - Szybko reaguj na alerty dzięki uszeregowanym pod względem ważności sugestiom i automatycznym rekomendacjom dotyczącym środków zaradczych. Kluczowe funkcje i możliwości Docker Scout: Ujednolicony widok analizy składu oprogramowania - W jednym widoku widoczne są bezpośrednie i przechodnie zależności aplikacji ze wszystkich warstw. Ten warstwowy widok nie tylko wyjaśnia kolejne etapy naprawy, ale także pomaga zrozumieć kompozycję obrazu. Aktualizacje luk w zabezpieczeniach zależne od zdarzeń - Luki w zabezpieczeniach są wykrywane i ujawniane w sposób ciągły przez sterowany zdarzeniami model danych, który obsługuje Docker Scout. Po opublikowaniu nowego CVE Docker Scout używa SBOM Twojego obrazu, aby sprawdzić, czy istnieje pozytywna korelacja między Twoim obrazem a Twoim CVE – dzięki czemu Twoje rekomendacje są zawsze aktualne. Zalecenia dotyczące środków zaradczych w kontekście - Zintegrowane rekomendacje są widoczne w Docker Desktop. Docker Scout zaleca opcje korygowania dla aktualizacji obrazu podstawowego, a także aktualizacji zależności w warstwach kodu aplikacji. Zródło: https://docs.docker.com/scout/ https://www.docker.com/products/docker-scout/

  • Vanilla OS porzuca Ubuntu na rzecz Debiana

    Twórcy projektu ogłosili dziś poważną zmianę: Vanilla OS porzuci Ubuntu i przejdzie na Debian Sid. Dlaczego?! Po pierwsze, w nazwie dystrybucji jest wskazówka: wanilia. Chce dostarczać pulpit jak najbliżej źródła, w tym przypadku GNOME. Ubuntu wprowadza szereg modyfikacji do GNOME, a usunięcie tych zmian jest, szczerze mówiąc, zbyt dużym wysiłkiem, biorąc pod uwagę wszystko. Po drugie, Snapy. Twórcy Vanilla OS nie są nimi tak zachwyceni, ponieważ nadal mają problemy związane z wydajnością i integracją. Ponadto niektóre pakiety przejściowe Ubuntu deb-to-snap (takie jak Mozilla Firefox) zaplątują się w menedżerze pakietów APX. Po trzecie, Vanilla OS chce być odpowiedzialny za własną kadencję wydawniczą, zamiast kłaniać się półrocznym spadkom Ubuntu. Przejście na Debian Sid daje mu większą kontrolę w tym obszarze. Co dalej? Kolejnym planowanym wydaniem jest Vanilla OS 2.0 „Orchid”. Będzie on oparty na Debianie Sid (choć z ograniczeniami mającymi na celu ujarzmienie ostrzejszych krawędzi wersji kroczącej, takich jak wysyłanie mniejszego zestawu podstawowych pakietów). GNOME 44, obsługa OCI w ABRoot oraz kilka nowych opcji konfiguracji. Obecni użytkownicy Vanilla OS (opartego na Ubuntu) mogą spodziewać się dalszego otrzymywania aktualizacji po wydaniu Vanilla OS 2.0, twierdzą twórcy. Plany „uaktualnienia” z wersji 1.0 do wersji 2.0 wciąż są przedmiotem dyskusji.

  • Wykorzystują luki w środowiskach kontenerowych

    Zaawansowana kampania ataków o nazwie SCARLETEEL kierowana jest na środowiska kontenerowe w celu kradzieży wrażliwych danych i tworzonego oprogramowania. Z raportu Sysdig wiemy, że atakujący wykorzystał podatność w konteneryzowanym workload, a następnie użył jej do eskalacji uprawnień na konto AWS w celu kradzieży danych i poświadczeń. Zaawansowany atak w chmurze wiązał się również z wdrożeniem oprogramowania do kopania kryptowalut, które było albo próbą generowania nielegalnych zysków, albo sztuczką mającą na celu odwrócenie uwagi obrońców i zbicie ich z tropu. Początkowy wektor infekcji opierał się na wykorzystaniu podatnej na ataki usługi publicznej w samodzielnie zarządzanym klastrze Kubernetes, hostowanym na Amazon Web Services (AWS). Po zdobyciu przyczółka uruchomiono koparkę kryptowalut XMRig i użyto skryptu bash w celu uzyskania poświadczeń, które można było wykorzystać do dalszego zagłębiania się w infrastrukturę chmury AWS i eksfiltracji wrażliwych danych. Włamanie wyłączyło również dzienniki CloudTrail, aby zminimalizować ślady, uniemożliwiając firmie Sysdig dostęp do dodatkowych dowodów. W sumie umożliwiło to aktorowi dojście do ponad 1 TB danych, w tym skryptów klientów, narzędzi do rozwiązywania problemów i plików dziennika. Atakujący próbowali również przełączyć się za pomocą pliku stanu Terraform na inne połączone konta AWS, aby rozszerzyć swój zasięg w całej organizacji. Okazało się to jednak nieskuteczne z powodu braku uprawnień. Schemat ataku Krok 1: Atakujący uzyskał początkowy dostęp, wykorzystując usługę publiczną w samodzielnie zarządzanym klastrze Kubernetes, hostowanym w ramach konta w chmurze AWS. Krok 2: Gdy haker zyskał dostęp, złośliwe oprogramowanie było w stanie wykonać dwie początkowe akcje podczas uruchomienia: wystartować koparkę kryptowalut w celu generowania zysku bądź odwrócenia uwagi, uzyskać dostęp do poświadczeń za pomocą tymczasowych poświadczeń pracownika w Instance Metadata Service (IMDS) v1, aby wyliczać i zbierać informacje w jego imieniu przy użyciu uprawnień roli klastra. Ze względu na nadane uprawnienia, atakujący był w stanie: wylistować zasoby AWS, znaleźć poświadczenia innych użytkowników zarządzania tożsamością i dostępem (IAM), zarówno ustawionych jako zmienne środowiskowe Lambda, jak i przekazanych w postaci zwykłego tekstu do zasobników Amazon Simple Storage Service (S3). Krok 3: Atakujący użył poświadczeń znalezionych w poprzednim kroku, aby przeskoczyć lateralnie po sieci. Skontaktował się bezpośrednio z interfejsem API AWS i przystąpił do zbierania informacji i eksfiltracji danych. Na tym etapie cyberprzestępcy byli w stanie: wyłączyć dzienniki CloudTrail, aby uniknąć wykrycia, kraść zastrzeżone oprogramowanie, znaleźć poświadczenia użytkownika IAM powiązane z innym kontem AWS, wykrywając pliki stanu Terraform w zasobnikach S3. Krok 4: Atakujący użył nowych danych uwierzytelniających, aby ponownie przejść w bok, powtarzając atak i cały łańcuch z innego znalezionego konta AWS. Na szczęście w tym przypadku nie był w stanie enumerować zasobów, ponieważ wszystkie żądania API AWS, których próbował, zakończyły się niepowodzeniem z powodu braku uprawnień. Zródło: https://sysdig.com/blog/cloud-breach-terraform-data-theft/

  • Stwórz sobie backdoor w dzienniku zdarzeń Windows

    Technik na ukrywanie się w systemie Windows i możliwości utworzenia backdoora jest na pewno wiele. Czy jednak zdawałeś sobie sprawę, że taki backdoor może istnieć również w logach na Windows, a tak naprawdę w przeglądarce logów? O tym właśnie jest dzisiejszy tekst. Event Viewer na Windows jako miejsce przyczółku dla atakującego Event Viewer (podgląd dziennika zdarzeń) to znana w środowisku administratorów i cybersecurity konsola (składnik systemu Windows) do wyświetlania logów. Pokazuje informacje związane z aplikacjami, bezpieczeństwem, zdarzeniami systemowymi i konfiguracyjnymi. Mimo że podgląd zdarzeń używany jest głównie do rozwiązywania problemów z systemem Windows przez administratorów, może być również wykorzystywany jako miejsce, w którym zespół red team lub atakujący mogą utworzyć w systemie przyczółek. Jedną z funkcji, jakie oferuje konsola, jest pomoc dla administratorów w celu uzyskania bezpośrednich informacji o określonym identyfikatorze zdarzenia przez Internet. Microsoft wbudował tę funkcję pod linkiem o nazwie: „Pomoc online dziennika zdarzeń”. Pomoc online dziennika zdarzeń przekierowuje użytkowników do adresu URL firmy Microsoft i jest kontrolowana z następującej lokalizacji rejestru: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Event Viewer Co to dla nas oznacza? Jeśli uzyskałeś wcześniej dostęp administracyjny do systemu lub Twój payload czy skrypt modyfikujący rejestr został uruchomiony na poświadczeniach użytkownika, który pracuje na komputerze, jako lokalny admin możesz zmodyfikować ciekawe trzy klucze rejestru. Wszystkie one dotyczą właśnie powyższego przycisku pomocy (hyperlink) w konsoli. Omawiane klucze to: MicrosoftRedirectionURL= MicrosoftRedirectionProgramCommandLineParameters= MicrosoftRedirectionProgram= W tle systemu operacyjnego, gdy klikniemy łącze, konsola (proces mmc.exe) otworzy domyślne łącze pomocy firmy Microsoft, które będzie renderowane przez aktualnie skonfigurowaną (domyślną) przeglądarkę. Najważniejsze w tym wszystkim jest to, że modyfikując wartości tych kluczy, zamiast domyślnej przeglądarki możemy uruchomić wybrany przez nas program! Wiedza na temat odpowiedniej modyfikacji kluczy rejestru będzie sednem powodzenia utworzenia takiego backdoora w systemie. Pamiętajmy, że do ich modyfikacji potrzebne są uprawnienia administratora. Później, żeby wykonać tę sztuczkę i uruchomić backdoor, wystarczy, że będziemy zalogowani na zwykłym koncie użytkownika. Jakie wartości wpisać? W przypadku: MicrosoftRedirectionURL –można zmienić na np. „file://c:\windows\system32\cmd.exe” MicrosoftRedirectionProgram – można bezpośrednio wskazać plik wykonywalny. Można też majstrować przy parametrach wiersza poleceń, Podczas konfigurowania parametrów pojawia się jeden problem – istnieje odpowiednik dla tych wpisów w rejestrze w gałęzi „Wow6432Node”, ale nie wydają się one zdatne do użytku. Nawet jeśli wpisy w tym kluczu zostaną zmienione, a podgląd zdarzeń zostanie uruchomiony z katalogu syswow64 (w celu wymuszenia wersji 32-bitowej), system operacyjny i tak uruchomi właściwą wersję 64-bitową. Kolejna rzeczą, która należy wyłączyć w rejestrze, jest ostrzeżenie użytkownika, a w zasadzie prośba o zgodę na przesłanie danych z dziennika do firmy Microsoft (to okno dialogowe pojawia się przed uruchomieniem programu): W celu wyłączenia tego okna należy w rejestrze zmienić parametr w kluczu: HKCU\Software\Microsoft\Windows NT\ CurrentVersion\Event Viewer\ConfirmUrl=0 na zero. Po tej zmianie w momencie kliknięcia na link pomocy możemy się cieszyć uruchomionym w systemie naszym payload lub LOLBinem Czy stanowi to duże zagrożenie? Zauważmy, że do detekcji tego procesu wystarczy reguła w systemie bezpieczeństwa, która będzie sprawdzała proces „mmc.exe” i odpalane przez niego procesy dziedziczne. Ponadto monitorowanie powyższych kluczy rejestru pod kątem zmian może stworzyć okazję do wykrycia próby manipulacji w systemie. Patrząc też na konieczność ręcznego dostępu do konsoli w celu kliknięcia na link i biorąc pod uwagę fakt, że przeciętny użytkownik zazwyczaj nie otwiera dziennika zdarzeń i nie klika pomocy online, jest mało prawdopodobne, aby technika ta zyskała popularność. Sprawdzi się natomiast jako trywialna metoda do odpalenia payload i uruchomienia kanału komunikacji

  • Aktualizacja PS5 7.0 dla wszystkich!

    Sony informuje, że dzisiaj nastąpiła globalna premiera nowej wersji systemu PlayStation 5. Wcześniej mogli korzystać z nowości jedynie testerzy. Zobacz, jakie funkcje i nowości zawiera aktualizacja PS5 7.0. Po tygodniach testów, aktualizacja PS5 7.0 (23.01-07.00.00) została udostępniona dla wszystkich posiadaczy najnowszej konsoli od Sony. To, na co czekała zdecydowana większość graczy, to integracja z Discord. Lecz update zawiera wiele innych przydatnych nowości, jak choćby obsługę zmiennej częstotliwości odświeżania (VRR) dla rozdzielczości 1440p. Aktualizacja waży 1,142 GB. Zobacz, co dokładnie zawiera. Główne cechy tej aktualizacji oprogramowania systemu Wyjście wideo 1440p zostało rozszerzone na konsoli PS5. VRR (variable refresh rate — zmienna częstotliwość odświeżania) jest teraz obsługiwana w rozdzielczości 1440p. Obsługiwanych jest więcej trybów i urządzeń HDMI. Aby sprawdzić, czy dane urządzenie HDMI obsługuje tę funkcję, wybierz Ustawienia > Ekran i wideo > Wyjście wideo > Testuj wyświetlanie w rozdzielczości 1440p. Można teraz przesyłać dane między konsolami PS5. Łatwo prześlesz wszystkie dane z jednego urządzenia PS5 na inne. W ramach tego procesu Twoje dane na pierwszej konsoli PS5 nie zostaną usunięte ani zmienione. Od teraz na konsoli PS5 można korzystać z czatu głosowego na platformie Discord. Możesz połączyć swoje konto Discord z kontem PlayStation Network. Aby rozpocząć czat głosowy Discord na PS5, uruchom aplikację Discord na urządzeniu mobilnym lub komputerze. Możesz także udostępniać znajomym z platformy Discord informację, kiedy jesteś online i w co grasz. Funkcja poleceń głosowych obsługuje teraz używanie głosu do zapisywania klipów wideo z rozgrywki. Powiedz „Hey PlayStation, capture that!” (Hej PlayStation, zapisz to!), aby zapisać klip wideo z ostatniej rozgrywki. Domyślny czas zapisu zależy od wybranych ustawień. Możesz też zapisać określony czas trwania Twojej rozgrywki, od 15 sekund do 60 minut. Na przykład, aby zapisać 5 minut, powiedz „Hey PlayStation, capture the last 5 minutes” (Hej PlayStation, zapisz ostatnie 5 minut). Aby ręcznie rozpocząć nowe nagranie rozgrywki, powiedz „Hey PlayStation, start recording” (Hej PlayStation, rozpocznij nagrywanie). Następnie możesz powiedzieć „Hey PlayStation, stop recording” (Hej PlayStation, zatrzymaj nagrywanie), aby zakończyć nagrywanie i zapisać klip wideo. Obecnie funkcja Polecenie głosowe (podgląd) jest dostępna tylko w języku angielskim dla graczy mających konta w PlayStation Network w USA i Wielkiej Brytanii. Inne zaktualizowane funkcje Do funkcji czytnika ekranu wprowadzono następujące ulepszenia. Czytnik ekranu zapewnia teraz bardziej szczegółowe wskazówki podczas obsługi konsoli. Pokazuje, w którym kierunku można przejść od aktualnie wybranego komponentu, a także aktualną pozycję w komponencie z wieloma elementami. Podczas korzystania z czytnika ekranu w przeglądarce internetowej widoczne będą teraz obramowania wokół sekcji, która jest odczytywana na głos. Czytnik ekranu został zaktualizowany tak, aby poprawnie odczytywał niektóre kluczowe terminy. Do centrów gier dodaliśmy następujące funkcje: Każda gra będzie miała widoczny w centrum gier zegar, który odlicza całkowity czas rozgrywki. Postęp gry będzie również wyświetlany w przypadku gier, w których jest określona maksymalna liczba działań fabularnych. Został dodany kafelek Znajomi, którzy grają . Możesz zobaczyć, którzy z Twoich znajomych mają daną grę i kto jest aktualnie online. Wybierając kafelek, możesz zobaczyć, co robią Twoi znajomi, a także uzyskać dostęp do ich profili, gdzie dostępnych jest więcej opcji interakcji. Kafelek trofeów został przeniesiony i zaktualizowany, tak aby ułatwić do niego dostęp. Wyświetla też postępy w zdobywaniu trofeów. Karty trybu współzawodnictwa wielu graczy można wyświetlać na pełnym ekranie. Wybranie opcji Uruchom aktywność spowoduje przejście od razu do meczu. Dzięki umieszczeniu karty w widocznym miejscu i jej rozmiarowi łatwo jest jej używać w trybie dla wielu graczy. Funkcja rozgrywki multiplatformowej została zaktualizowana w następujący sposób. Karty sesji gry w trybie multiplatformowym umożliwiają teraz sprawdzenie, którzy członkowie grają na innych platformach. Do Game Base dodano następujące funkcje. Możesz teraz wysłać prośbę o udostępnienie ekranu lub rozpocząć sesję udostępniania ekranu znajomemu bezpośrednio z jego profilu. Wybierz ikonę udostępniania ekranu w profilu znajomego. Prośbę o udostępnienie ekranu możesz też wysłać z PlayStation App. Na karcie czatu głosowego, przy uczestnikach imprezy grających w grę, do której możesz dołączyć, zostanie wyświetlona ikona umożliwiająca dołączenie. Możesz dołączyć do gry bezpośrednio, wybierając gracza, a następnie wybierając z menu opcję Dołącz do gry . Znajomi, którzy są aktywni w PlayStation App, będą teraz oznaczeni jako online na Twojej liście znajomych. Co zmieniliśmy w bibliotece gier: Możesz określić domyślną kolejność sortowania gier na listach. Za pomocą filtrów w bibliotece możesz łatwo znajdować gry przeznaczone do systemów PS VR i PS VR2. Do ustawień wstępnych gry dodano następujące opcje. W grach obsługiwanych przez tę funkcję możesz ustawić swoje preferencje w taki sposób, aby decydować, kto może dołączyć i kto może zapraszać inne osoby na utworzone przez Ciebie sesje dla wielu graczy. Wybierz Ustawienia > Zapisane dane i ustawienia gry/aplikacji > Ustawienia wstępne gry > Sesje wieloosobowej gry online i wskaż preferencje w obszarach Kto może dołączać i Kto może zapraszać. Zmieniliśmy sposób sprawdzania zapisywanych danych podczas pobierania i instalacji gry. Jeśli jest to gra na PS4, a nie masz zapisanych danych w pamięci masowej konsoli, otrzymasz powiadomienie, czy zapisane dane PS4 są dostępne w chmurze. Jeśli jest to gra na PS5, która może korzystać z zapisanych danych PS4, a nie masz zapisanych danych w pamięci masowej konsoli, otrzymasz powiadomienie, czy zapisane dane PS4 są dostępne w chmurze. Aby pobrać zapisane dane z pamięci w chmurze, naciśnij przycisk PS. Gdy powiadomienie się rozwinie, wybierz opcję Pobierz zapisane dane PS4. Możesz teraz wybrać, które pliki Galerii multimediów przesłać ręcznie do Zrzutów w PlayStation App. Dotychczasowe zasady dotyczące zawartości nadal obowiązują. W klawiaturze ekranowej wprowadzono następujące zmiany. Gdy zaczniesz wpisywać znaki, w górnej części klawiatury ekranowej pojawią się sugestie. Naciskając przycisk R1, wybierasz daną sugestię – nie musisz jej wpisywać ręcznie. Aby wpisać wybraną sugestię, naciśnij przycisk krzyżyk. Jeśli chcesz usunąć jakieś sugestie z pamięci konsoli, możesz to zrobić w menu opcji. (Tylko w przypadku klawiatury japońskiej) Sugestie pojawiające się podczas wpisywania znaków są teraz wyświetlane zarówno w postaci znaków o połowie szerokości, jak i pełnej szerokości. Wyświetlane są już emoji z Unicode 15.0. Czas potrzebny na przeprowadzenie kontroli integralności pobranych danych został znacznie skrócony. Proces ten jest wykonywany w czasie, gdy na pobieranym elemencie widoczna jest etykieta [Kopiowanie…] w obszarze Pobieranie/Przesyłanie w centrum sterowania. Został zmieniony sposób uruchamiania zainstalowanych gier. Jeśli na PS5 znajduje się pobrana wersja gry, której użytkownik nie kupił (np. gra kupiona przez innych użytkowników tej samej konsoli), a masz wersję na płycie, to możesz teraz zagrać w zainstalowaną wersję do pobrania, wkładając płytę (bez instalowania wersji z płyty). Tak samo, jeśli gra została zainstalowana z płyty i masz kupioną wersję do pobrania, to możesz teraz uruchomić zainstalowaną wersję z płyty bez wkładania dysku. System podpowiedzi został rozszerzony i wyświetla teraz listę celów, o ile są dostępne w grze. Wybierając dowolny cel, możesz zobaczyć film lub podpowiedź tekstową o bardziej szczegółowym charakterze. Możesz teraz przeglądać autoryzowane aplikacje i zarządzać nimi w Ustawieniach. Autoryzowane aplikacje to aplikacje i usługi innych firm, z którymi zostało połączone konto PlayStation Network. Korzystając z autoryzowanej aplikacji, wyrażasz zgodę na udostępnianie tej aplikacji danych swojego konta. Aby wyświetlić autoryzowane aplikacje i zarządzać nimi, wybierz Ustawienia > Użytkownicy i konta > Autoryzowane aplikacje. Zaktualizowaliśmy oprogramowanie kontrolera bezprzewodowego DualSense, kontrolera bezprzewodowego DualSense Edge i kontrolerów PlayStation VR2 Sense. Aktualizacja poprawia stabilność. Teraz oprogramowanie kontrolera bezprzewodowego DualSense można zaktualizować za pomocą połączenia bezprzewodowego. W przypadku problemów z bezprzewodową aktualizacją oprogramowania kontrolera podłącz go do systemu PS5 za pomocą przewodu USB. Następną aktualizację będzie można pobrać bezprzewodowo. Kontroler bezprzewodowy DualSense Edge i kontrolery PlayStation VR2 Sense obsługują już bezprzewodową aktualizację ich oprogramowania. Ta aktualizacja nie jest wymagana do wykonywania aktualizacji bezprzewodowych dla tych kontrolerów. Rozwiązano następujące problemy. Naprawiono komunikat o błędzie, który podawał mylące informacje dotyczące ograniczeń kontroli rodzicielskiej podczas korzystania z przeglądarki internetowej. Wprowadzono aktualizację w związku z problemem powodującym migotanie niektórych monitorów LCD IPS po włączeniu funkcji VRR (variable refresh rate — zmienna częstotliwość odświeżania). Aktualizacja może pomóc w rozwiązaniu tego problemu na takich monitorach.

  • Free Tier - małe porównanie

    Czy planujesz, dyskutujesz ze swoimi współpracownikami lub po prostu myślisz o przyjęciu chmury, ale nie masz pojęcia o cenach? Cóż, dostawcy chmury wiedzą o tym i oferują bezpłatne poziomy swoich usług, aby pomóc klientom wypróbować to samo. Kto kiedykolwiek odmówił bezpłatnego okresu próbnego? W tym blogu omawiamy, co jest oferowane dla bezpłatnych warstw każdego dostawcy usług w chmurze, tj. AWS vs Azure vs GCP Free Tier. Lista klientów dostawców usług w chmurze obejmuje zarówno indywidualnych programistów, jak i duże przedsiębiorstwa. Trzej najwięksi dostawcy usług w chmurze — Amazon Web Services, Google Cloud Platform i Microsoft Azure — oferują bezpłatne wersje próbne różnych usług. Te bezpłatne oferty mają ograniczone zasoby i nie mogą w pełni zaspokoić potrzeb produkcyjnych. Jednak bezpłatny okres próbny daje wyobrażenie o tym, jak usługi będą działać, nawet nie płacąc za to nic. Istnieją zasadniczo dwa rodzaje ofert w ramach Free Tier, tj. „bezpłatne przez ograniczony czas” i „zawsze bezpłatne”. Usługi w ramach każdego typu Free Tier mogą się różnić w zależności od dostawcy chmury. Może się zdarzyć, że dostawca usług w chmurze oferuje jedną usługę bezpłatnie przez ograniczony czas, a inny dostawca usług w chmurze oferuje podobną usługę bezpłatnie przez cały okres użytkowania z pewnymi ograniczeniami. Tutaj przyjrzymy się kluczowym aspektom oferty Free Tier najlepszych dostawców chmury — AWS , Microsoft Azure i Google Cloud . Przeczytaj, aby zrozumieć podobieństwa, różnice i ograniczenia każdej oferty. AWS vs Microsoft Azure vs Google Cloud Platform (GCP) Darmowe typy warstw Jak już wspomniano, istnieją tylko dwa rodzaje bezpłatnych poziomów, a mianowicie: 1. Bezpłatnie przez ograniczony czas: Dostawcy usług w chmurze oferują pewne usługi bezpłatnie przez 12 miesięcy . Ten bezpłatny poziom jest oferowany tylko przy pierwszej rejestracji lub pierwszej rejestracji w usługach i to również z pewnymi ograniczeniami. Opłata za usługi zostanie naliczona według zwykłej stawki 12 miesięcy po pierwszej rejestracji. 2. Zawsze za darmo: Istnieje kilka usług oferowanych przez dostawców usług w chmurze, które są bezpłatne przez całe życie , ale wiąże się to z miesięcznym ograniczeniem korzystania z tych usług . Możesz zarządzać miesięcznym wykorzystaniem usług za pośrednictwem konsol oferowanych przez danego dostawcę. Kluczowe punkty do zapamiętania: Platforma Azure i Google Cloud oferują środki na usługi podczas rejestracji. Google Cloud oferuje środki w wysokości 300 USD do wykorzystania na dowolną usługę Google Cloud Platform. Twój 12-miesięczny bezpłatny okres próbny zakończy się wcześniej, jeśli wydasz całe 300 USD kredytu przed upływem 12 miesięcy. Platforma Azure oferuje środki w wysokości 200 USD podczas rejestracji, które można wydać w ciągu pierwszych 30 dni. Jednak wydanie całego kredytu nie zakończy bezpłatnego okresu próbnego. Jakie są ograniczenia Free Tier w AWS, Azure i Google Cloud? Wspomniane powyżej usługi Free Tier mają ograniczenia czasowe do 12 miesięcy dla użytkowników rejestrujących się po raz pierwszy oraz miesięczne ograniczenia użytkowania. Są to ograniczenia, które pojawiają się, jak „sugeruje nazwa”, ale nie są to jedyne ograniczenia i zwykle mogą obowiązywać inne. Oto inne ograniczenia, w które zazwyczaj wyposażone są poziomy bezpłatne : Ograniczenia operacyjne: Usługi Free Tier są oferowane z określonymi ograniczeniami, które można wyłączyć tylko po przejściu na wersję płatną. Oprogramowanie i systemy operacyjne: Oprogramowanie komercyjne i systemy operacyjne zasadniczo nie są objęte warstwą Bezpłatną. Wydaje się to sprawiedliwe, ponieważ oprogramowanie i system operacyjny dają użytkownikowi wyłączną kontrolę nad spełnianiem ich żądań, za które faktycznie należy zapłacić. Rollovery są zabronione: Limity są określone typowo dla miesięcznego użytkowania, jeśli nie wykorzystasz tego, co jest oferowane w danym miesiącu, użycie nie zostanie przeniesione na następny miesiąc. Cóż, oto profesjonalna wskazówka, jeśli naprawdę chcesz poznać tę usługę, skorzystaj z niej w ciągu miesiąca, ponieważ jest to idealny czas na eksperymenty. Najważniejsze informacje o darmowym poziomie AWS. AWS Lambda: Ta usługa FaaS (funkcja jako usługa) może być używana w warstwie bezpłatnej z maksymalnie 1 milionem żądań i 3,2 miliona sekund czasu obliczeniowego miesięcznie. Funkcje krokowe AWS: Użytkownik ma prawo do 4000 bezpłatnych przejść między stanami miesięcznie. Amazon Glacier: Jest to długoterminowa usługa przechowywania danych, a użytkownik może odzyskać do 10 GB danych. AWS CodeCommit: AWS pozwala maksymalnie pięciu użytkownikom z 50 GB przestrzeni dyskowej miesięcznie i 10 000 żądań Git AWS CodePipeline: Użytkownicy otrzymują bezpłatnie jeden aktywny rurociąg miesięcznie. AWS CodeBuild: Użytkownik otrzymuje 100 minut kompilacji miesięcznie na instancji typu build.general1.small w ramach warstwy bezpłatnej. Amazon DynamoDB: Baza danych AWS NoSQL oferuje 25 GB przestrzeni dyskowej i 25 jednostek pojemności odczytu i zapisu bezpłatnie każdego miesiąca. Amazon twierdzi, że to „wystarcza do obsłużenia do 200 milionów żądań miesięcznie”. Amazon Chime: Jest to usługa komunikacji biznesowej AWS, która jest całkowicie bezpłatna dla nowych klientów od 4 marca 2020 r. do 30 czerwca 2020 r. Pamiętaj, że podstawowe funkcje, takie jak czat tekstowy i połączenia głosowe, są zawsze bezpłatne. Odwiedź Amazon Web Services Free Tier, aby uzyskać więcej informacji. Najważniejsze informacje dotyczące bezpłatnej warstwy platformy Microsoft Azure Azure Functions: użytkownicy mogą przesyłać do 1 miliona żądań miesięcznie w ramach bezpłatnej warstwy. Azure Active Directory: Bezpłatna warstwa oferuje do 50 000 uwierzytelnień miesięcznie. Azure DevOps: Użytkownicy mogą utworzyć do 5 użytkowników z nieograniczoną liczbą prywatnych repozytoriów Git. Usługa Azure App Service: można utworzyć do 10 aplikacji internetowych, mobilnych lub aplikacji interfejsu API bez żadnych kosztów. Azure Cosmos DB: Użyj do 500 GB przestrzeni dyskowej i 400 jednostek żądań na sekundę bez żadnych kosztów każdego miesiąca. Platforma Azure oferuje 5 GB danych wychodzących bezpłatnie miesięcznie. Odwiedź bezpłatną warstwę platformy Microsoft Azure, aby uzyskać więcej informacji. Najważniejsze informacje o bezpłatnej warstwie Google Cloud Google BigQuery: Użytkownicy mogą bezpłatnie korzystać z 1 TB zapytań i 10 GB przestrzeni dyskowej miesięcznie. Google Cloud Build: codziennie użytkownicy otrzymują bezpłatnie 120 minut budowania. Repozytoria źródłowe Google Cloud: w ramach bezpłatnej warstwy Google Cloud oferuje maksymalnie pięciu użytkownikom 50 GB przestrzeni dyskowej i 50 GB danych wychodzących. Funkcje Google Cloud: Bezpłatna warstwa oferuje 2 mln wywołań (zarówno w tle, jak i HTTP), wraz z 5 GB wychodzących danych sieciowych, 400 000 GB-sekund i 200 000 GHz-sekund czasu obliczeniowego. Google Compute Engine: tylko jedna maszyna wirtualna f1-micro jest dostępna bezpłatnie w regionie USA, ale korzystanie z GPU lub TPU wiąże się z dodatkowymi kosztami. Przestrzeń dyskowa Google Cloud: w ramach bezpłatnej warstwy co miesiąc użytkownicy otrzymują 5 GB regionalnej pamięci masowej w Stanach Zjednoczonych, 5000 operacji klasy A i 50 000 operacji klasy B oraz 1 GB danych wychodzących, które są ograniczone zgodnie z Compute Engine. Odwiedź bezpłatną warstwę Google Cloud Platform, aby uzyskać więcej informacji. Plus zestawienie mniejszych graczy na GitHUB: https://github.com/cloudcommunity/Cloud-Free-Tier-Comparison 4. Oracle Cloud Homepage: Oracle Cloud Free Tier Free for Limited-time 30 day free trial US $300 credit for 30 days Up to eight instances across all available services Up to 5 TB of storage Always Free Compute: (Note- 1 Oracle OCPU = 2 vCPUs) 2 AMD-based VMs: 1/8 OCPU = 0.25 vCPU with 1 GB RAM each 4 Arm-based VMs: 24 GB RAM total, 3,000 OCPU hours and 18,000 GB memory hours per month 2 Block Volumes Storage, 200 GB total 10 GB Object Storage - Standard 10 GB Object Storage - Infrequent Access 10 GB Archive Storage 10TB of network data egress/month per originating region Resource Manager (managed terraform) 5 OCI Bastions 2 Oracle Autonomous Databases incl. Oracle Application Express (APEX), Oracle SQL Developer etc., each with 20GB storage NoSQL Database with 25GB storage per table, up to 3 tables 4 Load Balancers: 1 Flexible (10Mbps) and 3 Network Monitoring and Notifications 5. Alibaba Cloud Homepage: Alibaba Cloud Free Trial Try Over 40 Products for Free Worth $450-$1300 USD. Now up to 12 Months Usage for Elastic Compute Services. 6. IBM Cloud Homepage: IBM Cloud Free Tier Free for Limited-time US$200 credit for 30 days 7. Scaleway Homepage: Scaleway Free for Limited-time sometimes they give away free credits Always Free 75GB block storage (S3-compatible API) 50k message in the IoT Hub (MQTT, REST, Sigfox, LoRa) 8. DigitalOcean Homepage: DigitalOcean Free for Limited-time $100 credit for 60 days from do.co/hf100 9. Hetzner Cloud Homepage: Hetzner Cloud Free for Limited-time sometimes they give away free credits 10. render Homepage: render Free for Limited-time sometimes they give away free credits Always Free static site hosting 11. Netlify Homepage: Netlify Free for Limited-time sometimes they give away free credits Always Free static site hosting 12. jfrog Homepage: Jfrog Free Tier Free for Limited-time Self-Hosted 30 day trial Always Free 2GB Storage 10GB Transfer/month 2,000 CI/CD Minutes/month 13. Salesforce Homepage: Salesforce Free Tier Free for Limited-time Your FREE 30-Days Trial Now! Always Free When you download Listware for Salesforce, you are given 1,000 free credits which you can use during a free 30-day trial of the app. 14. Openshift Homepage: Interactive Learning Portal Try out Openshift 4 cluster for free Openshift 4: Try Openshift 4 cluster for free 15. Linode Homepage: Linode Free for Limited-time US$100, 60-day free trial requires valid credit card. free-credit-100 16. Container Hosting Service Homepage: Container Hosting Service Currently Free Container Hosting Service Try Open Source Container Hosting Service for free 17. Fly.io Homepage: Fly.io Always free on all plans: Up to 3 shared-cpu-1x 256mb VMs (Apps or Machines) 3GB persistent volume storage (total) 160GB outbound data transfer 18. Railway Homepage: Railway Always Free: 512 MB RAM and shared CPU/container 1 GB Disk (split between your services) $5 or 500 hours of usage (deploys shut off when first limit is reached) Źródło: https://n2ws.com/blog/amazon-aws-microsoft-azure-google-cloud-free-tier-cloud-computing-service-comparison https://www.infoworld.com/article/3179785/aws-vs-azure-vs-google-cloud-which-free-tier-is-best.html https://github.com/cloudcommunity/Cloud-Free-Tier-Comparison

  • Omijanie 2FA na Google, YouTube, Facebook

    Przejmują konta Google i YouTube umieszczając na nich live stream typu: Z super okazja pomnożenie BTC :D Jak przejmuj konta - Taki stealer (malware) musi być w jakiś sposób dostarczony do ofiary – np. za pomocą złośliwej reklamy wykupionej w Google, która kieruje w sklonowaną stronę jednego z popularnych pakietów oprogramowania (GIMP, Blender, Notepad++, sterowniki do karty graficznej…). Inna opcja to np. pirackie oprogramowanie. Ofiara pobiera narzędzie, instaluje je i… stealer już działa – tj. wykrada hasła, ciasteczka z przeglądarki i inne ciekawe dane. Poniżej przykładowy wynik działania takiego narzędzia. Przestępca posiada ciasteczka z przeglądarki – nie musi zatem przejmować się żadnym 2FA, ponieważ przejmuje zalogowaną sesję – czym dostaje się bez loginu/hasła/2FA na konto ofiary. A o FB - możemy przeczytać na Sekuraku, który to ładnie i ciekawie opisał. Zródło: https://sekurak.pl/od-cracka-narzedzia-tworzacego-pdfy-po-przejecie-kont-reklamowych-na-facebooku-i-to-pomimo-skonfigurowanego-2fa-analiza/

  • Ubuntu 22.04.2 LTS jest dostępny do pobrania

    Wersja Ubuntu 22.04.2 LTS jest już dostępna do pobrania. Ta aktualizacja, służąca jako drugie wydanie punktowe w serii Ubuntu 22.04 LTS, zawiera wiele poprawek bezpieczeństwa, poprawek błędów i aktualizacji oprogramowania wydanych dla Jammy Jellyfish od czasu poprzedniego wydania punktowego. Co więcej, Ubuntu 22.04.2 LTS wprowadza zupełnie nowy stos sprzętowy (HWE) składający się z nowszego jądra Linuksa i zaktualizowanych sterowników graficznych Linuksa. Właściwie jest to pierwsza z dwóch zaplanowanych na ten rok premier punktowych. Ubuntu 20.04.3 ma pojawić się późnym latem, a także aktualizacje pakietów wydawane od czasu do czasu, dostarczane z jądrem Linuksa używanym w nadchodzącej wersji Ubuntu 23.04. Ubuntu 22.04 LTS zawiera jądro Linuksa 5.19, Mesa 22.2.5 i libdrm 2.4.113. W pakiecie znajduje się również pakiet aktualizacji, w tym GNOME Shell 42.5, LibreOffice 7.3.7.2 i Mozilla Firefox 110. Możesz zobaczyć pełną listę zmian wprowadzonych między Ubuntu 22.04.1 a Ubuntu 22.04.2 na forum Ubuntu (chociaż strona może, ale nie musi, zostać zaktualizowana, kiedy to czytasz). Przypominamy, że system Ubuntu 22.04 LTS jest obsługiwany do kwietnia 2027 r., a mamy też Ubuntu ESM i/lub Ubuntu Pro. Pobierz Ubuntu 22.04.2 LTS Ubuntu 20.04.2 LTS można pobrać ze strony internetowej Ubuntu/ serwera wydań Ubuntu oraz z oficjalnych serwerów lustrzanych. Jeśli korzystasz już z Ubuntu 22.04 LTS, nie musisz nic „robić”, ponieważ dopóki masz zainstalowane wszystkie dostępne aktualizacje, „masz” Ubuntu 22.04.2 LTS.

  • Podatności w Cisco oraz Fortinet

    Podatności w Cisco i dostępne łatki Podatności Cisco dotyczą kilku produktów zabezpieczających i sieciowych dla przedsiębiorstw. Naprawione zostały między innymi: krytyczna luka (CVE-2023-20032) w bibliotece skanowania ClamAV, używanej przez Secure Endpoint, Secure Endpoint Private Cloud i Secure Web Appliance oraz dwie luki wysokiego ryzyka (CVE-2023-20009, CVE-2023-20075) mające wpływ na urządzenie Email Security Appliance oraz Cisco Secure Email and Web Manager, dla których jest już dostępny kod exploita typu proof-of-concept (PoC). Podatność CISCO CVE-2023-20032 Pierwsza luka, CVE-2023-20032, to luka w parserze plików partycji HFS+ różnych wersji ClamAV – bezpłatnego wieloplatformowego zestawu narzędzi do ochrony przed złośliwym oprogramowaniem, utrzymywanym przez Cisco Talos. „Wykryty błąd wynika z braku sprawdzania rozmiaru bufora, co może skutkować zapisem przepełnienia bufora sterty. Osoba atakująca może wykorzystać tę lukę, przesyłając spreparowany plik partycji HFS+ do przeskanowania przez ClamAV na zagrożonym urządzeniu. Udany exploit może pozwolić atakującemu na wykonanie dowolnego kodu z uprawnieniami procesu skanowania ClamAV lub też spowodować awarię procesu, powodując stan odmowy usługi (DoS)” – wyjaśnia Cisco. Wersje ClamAV zawierające poprawkę tej podatności oraz poprawkę dla CVE-2023-20052, luki powodującej wyciek informacji, zostały wydane w środę, ale ponieważ biblioteka jest używana również w rozwiązaniach Secure Web Appliance i Secure Endpoint i nie ma na nie obejścia, te także muszą zostać zaktualizowane. Dobra wiadomość jest taka, że żadna z tych luk nie jest aktywnie wykorzystywana. Podatności CISCO CVE-2023-20009, CVE-2023-20075 i exploit Kolejne podatności to możliwość przeprowadzania eskalacji uprawnień (CVE-2023-20009 ) i luka w zabezpieczeniach umożliwiająca wstrzykiwanie poleceń (CVE-2023-20075). Występuje ona w urządzeniach do ochrony poczty e-mail oraz instancji Cisco Secure Email i Web Manager. Obie podatności administratorzy tych urządzeń powinni jak najszybciej naprawić, gdyż pojawił się exploit. Aby atakujący mógł je wykorzystać i włamać się do środowiska IT, musi zdobyć prawidłowe dane uwierzytelniające użytkownika. Gdy już je uzyska, może użyć luk, aby podnieść swoje uprawnienia do root i wykonać na nich dowolne polecenia na urządzeniu, którego dotyczy problem. Jak wspomniano wcześniej, dla obu dostępny jest exploit PoC. Podatności w Fortinet i dostępne łatki Administratorzy urządzeń Fortinet mają ostatnio pełne ręce roboty związanej z aktualizacjami. Opisywana przez nas poważna podatność pozwalała zdalnie zalogować się do urządzenia z Internetu. W przypadku tego producenta wykryto i załatano krytyczne błędy RCE w FortiNAC i FortiWeb. Podatność Fortinet CVE-2022-39952 Pierwszy błąd wpływa na FortiNAC, jest śledzony jako CVE-2022-39952 oraz posiada wynik CVSS v3 9,8 (krytyczny). Produkty, w których wykryto lukę, to: FortiNAC 9.4.0, FortiNAC w wersji od 9.2.0 do 9.2.5, FortiNAC w wersji od 9.1.0 do 9.1.7, wszystkie wersje FortiNAC 8.8, wszystkie wersje FortiNAC 8.7, wszystkie wersje FortiNAC 8.6, wszystkie wersje FortiNAC 8.5, wszystkie wersje FortiNAC 8.3. Luka CVE-2022-39952 została naprawiona w FortiNAC 9.4.1 i nowszych, 9.2.6 i nowszych, 9.1.8 i nowszych oraz 7.2.0 i nowszych. FortiNAC to rozwiązanie do kontroli dostępu do sieci, które pomaga organizacjom uzyskać widoczność sieci w czasie rzeczywistym, egzekwować zasady bezpieczeństwa oraz wykrywać i łagodzić zagrożenia. „Zewnętrzna kontrola luki w zabezpieczeniach nazwy pliku lub ścieżki [CWE-73] w serwerze internetowym FortiNAC może pozwolić nieuwierzytelnionemu atakującemu na wykonanie dowolnego zapisu w systemie” – wyjaśnia Fortinet. Podatność Fortinet CVE-2021-42756 Druga luka w zabezpieczeniach FortiWeb to CVE-2021-42756. Uzyskała wynik CVSS v3 na poziomie 9,3 (krytyczny) i dotyczy WAF-a. O dziwo identyfikator CVE wskazuje, że luka została odkryta w 2021 r., ale do tej pory nie była publicznie ujawniona. FortiWeb to zapora sieciowa (WAF) przeznaczona do ochrony aplikacji internetowych i interfejsów API przed atakami typu cross-site scripting (XSS), wstrzykiwaniem kodu SQL, atakami botów, DDoS (rozproszona odmowa usługi) i innymi zagrożeniami internetowymi. „Wiele luk związanych z przepełnieniem bufora opartych na stosie [CWE-121] w demonie proxy FortiWeb może pozwolić nieuwierzytelnionemu zdalnemu atakującemu na wykonanie dowolnego kodu za pomocą specjalnie spreparowanych żądań HTTP” – opisuje Fortinet. CVE-2021-42756 wpływa na poniższe wersje: FortiWeb wersje 5.x – wszystkie wersje, FortiWeb w wersji 6.0.7 i starszych, FortiWeb w wersji 6.1.2 i starszych, FortiWeb w wersji 6.2.6 i starszych, FortiWeb w wersji 6.3.16 i starszych, FortiWeb wersje 6.4 – wszystkie wersje. W celu pozbycia się luki administratorzy powinni zaktualizować FortiWeb do wersji 7.0.0 lub nowszej, 6.3.17 lub nowszej, 6.2.7 lub nowszej, 6.1.3 lub nowszej oraz 6.0.8 lub nowszej. Producent nie dostarczył porad dotyczących łagodzenia skutków ani obejść żadnej z tych wad, więc zastosowanie dostępnych aktualizacji zabezpieczeń jest jedynym sposobem na zaradzenie zagrożeniom. Należy pamiętać, że ci, którzy nie zastosują aktualizacji w przypadku Cisco oraz Fortinet, będą wystawiali infrastrukturę IT na duże ryzyko ataku. Źródło: https://www.fortiguard.com/psirt/FG-IR-21-186 https://www.fortiguard.com/psirt/FG-IR-22-300 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-39952 https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-clamav-xxe-TcSZduhN https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-clamav-q8DThCy

  • Ataki spam na Kalendarze iPhone – jak sobie z tym radzić?

    Jeśli kiedykolwiek odblokujesz iPhone’a i zobaczysz liczne powiadomienia twierdzące, że zostałeś zhakowany, że Twój telefon nie jest chroniony, że wirusy uszkodziły dane lub (najlepsze) komunikat „Kliknij, aby pozbyć się irytujących reklam”, prawdopodobnie nie ma się czego obawiać. Całkiem możliwe, że przypadkowo zetknąłeś się z powszechną formą oszustwa: spamem wydarzeń z kalendarza. Spam kalendarza to cwany sposób na umieszczanie bezsensownych twierdzeń, ofert i ostrzeżeń z potencjalnie szkodliwymi linkami w aplikacji kalendarza, co powoduje wyświetlenie powiadomień i wzbudzenie niepokoju u użytkowników smartfonów. Najczęstszymi technikami rozprzestrzeniania spamu do kalendarza są fałszywe reklamy, wyskakujące okienka i inne formy kodowania używane na stronach internetowych, z którymi musiało dojść do interakcji. Można je znaleźć na stronach z treściami dla dorosłych, ale także na witrynach udostępniających pliki, nieoficjalnych platformach streamingowych, witrynach z grami, przypadkowych blogach, krótko mówiąc – praktycznie wszędzie. Aplikacje kalendarza takie jak iCal ułatwiają dodawanie publicznych kalendarzy, które są tylko adresami URL, a oszuści wykorzystują tę łatwość użycia. Celem gry hakerów jest tutaj skłonienie niczego niepodejrzewających użytkowników do zaakceptowania subskrypcji kalendarza. Często zaciemniają subskrypcję, rozpraszając uwagę. Na przykład użytkownik może zostać poproszony o potwierdzenie, że jest człowiekiem, za pomocą CAPTCHA. Użytkownik klika i zanim się zorientuje, kliknie również „OK” w kolejnej wiadomości, zawierającej subskrypcję kalendarza. Wystarczy, że użytkownik zaakceptuje jedną ze złośliwych subskrypcji, a kalendarz spamu i wszystkie powiązane wydarzenia zostaną dodane do domyślnej aplikacji kalendarza w iPhonie. Wydarzenia te zawierają alerty, które generują powiadomienia, przez co ekran może wyglądać mniej więcej tak. Poza tym oczywiście w samej aplikacji Kalendarz będzie istny chaos. Jest to tak duży i tak powszechny problem, że Apple napisało stronę poświęconą właśnie temu zjawisku. Istnieją dwa sposoby usuwania spamu z kalendarza, a wybór zależy od używanej wersji systemu iOS: iOS 14.6 lub nowszy: Otwórz aplikację Kalendarz. Stuknij niechciane wydarzenie w Kalendarzu. Stuknij opcję „Anuluj subskrypcję tego kalendarza” u dołu ekranu. Aby potwierdzić, kliknij „Anuluj subskrypcję”. Wcześniejsze wersje iOS: Otwórz aplikację Kalendarz. U dołu ekranu dotknij „Kalendarze”. Poszukaj kalendarza, którego nie rozpoznajesz. Stuknij przycisk „Więcej informacji” obok tego kalendarza, a następnie przewiń w dół i stuknij opcję „Usuń kalendarz”. Jeśli to nie rozwiąże problemu, usuń subskrypcję kalendarza w Ustawieniach: Otwórz aplikację Ustawienia. Stuknij Kalendarz > Konta. Stuknij w „Subskrybowane kalendarze”. Poszukaj kalendarza, którego nie rozpoznajesz. Stuknij go, a następnie stuknij „Usuń konto”. Spamerzy będą stale próbować nadużywania wszelkiego rodzaju urządzeń, aplikacji i systemów, aby oblegać użytkowników Internetu powiadomieniami. Tak niestety działa agresywny marketing. W 2019 roku użytkownicy Kalendarza Google zostali dotknięci falą spamerskich powiadomień, a w 2022 roku użytkownicy Calendly phisherami nadużywającymi usługi. W tym samym roku pojawiły się nowe funkcje bezpieczeństwa dla użytkowników Dokumentów Google, aby dać im trochę więcej pewności, że powiadomienia są lub nie są fałszywe. Bez względu na urządzenie lub usługę celem może być wszystko, co ma funkcję powiadamiania. Pod wieloma względami spam kalendarza idealnie pasuje do telefonów, na których bardzo często zdarzają się błędne kliknięcia przez użytkowników. Wystarczy jeden monit złośliwego kalendarza ukryty za czymś innym i ułamek sekundy nieuwagi, aby oszuści zagościli w Twoim telefonie. Dobrą wiadomością jest to, że gdy zrozumiemy, jak działa ta złośliwa aktywność, to bardzo łatwo będziemy w stanie usunąć powiadomienia i uwolnić telefon od niekończących się alertów z niechcianymi treściami.

  • Oh My ZSH i PowerLevel10k

    Jeżeli twój terminal jest nudny i szary, pozwól że przedstawię Ci rozwiązanie, które tchnie trochę życia do tej codziennej szarości :) Przedstawione rozwiązanie działa na Windows (WSL), Linux i MacOS - oczywiście wiadomym jest że trzeba będzie użyć innych paczek i narzędzi do instalacji oprogramowania. Pobieramy zsh Używamy (odpowiedniej) komendy od instalacji w naszym systemie: Po instalacji przełączamy naszą powłokę komendą zsh (zsh moze nas zapytac o konfiguracje, zalecam ustawienie rekomendowanych lub domyślnych): Instalujemy nasz Oh My Zsh Teraz instalujemy nasz theme PowerLevel10k za pomocą gh lub git Po instalacji możemy wykorzystać nasz nowy Theme - zastępujemy zmienna w naszym pliku (~/.zshrc) ZSH_THEME tą wartością: Zanim przystąpimy do konfiguracji naszego theme warto tez doinstalować font do naszego systemu: Polecany font to FiraCode NF a można pobrać go tu a dla użytkowników Windows - tu Jeżeli używasz Windows Terminal (git) lub mobaxterm lud dowolnego windowsowego klienta SSH warto jeszcze doinstalować ten font (w razie problemów z wyświetlaniem) A poniżej przykład konfiguracji Windows terminal Znów wydajemy polecenie zsh i nasz theme sie załaduje jeżeli będzie to pierwszy raz wyskoczy nam panel konfiguracyjny ale możemy go tez wywołać komendą: A o to jak to wygląda u mnie Reklama:

  • Apple łata swoje systemy iOS i MacOS

    Apple łata swoje systemy. Warto więc zajrzeć w te łatki: MacOS - https://support.apple.com/en-us/HT213633 iOS - https://support.apple.com/en-us/HT213635 Impact: Processing maliciously crafted web content may lead to arbitrary code execution. Apple is aware of a report that this issue may have been actively exploited. Impact: An app may be able to execute arbitrary code with kernel privileges. Przechodząc na spreparowana strone można wykonac dowlny kod na naszym telefonie bez aktualizacji. Druga podatność umożliwia podniesienie uprawnień do poziomu jądra systemu. odstępne aż od iPhone 8. Reklama: Kurs terraform podstawy - jeden z najpopularniejszych narzędzi IaC. Zobacz jak się nim posługiwać: Nauczysz się tworzyć kod HCL Manipulować obiektami Terraform Poznasz workflow Dowiesz się czym są workspace Poznasz terraform state Polecenia apply destroy i plan

  • Problemy z dyskami Samsung 9XX Series - zalecany update firmware

    Jak możemy przeczytac na tweeter https://twitter.com/Laughing_Mantis/status/1624900060193624064?t=D41TOFsPqFNuLIIg1PMgiw&s=19 wpis uzytkownika Greg Linares (Mantis) pisze o problemach z dyskami samsung z serii 9XX Samsung bada zgłaszane problemy z dyskami SSD 990 Pro, których właściciele twierdzą, że stan zdrowia dysków pokazuje alarmująco szybkie spadki zgłaszanej pojemności, mimo że na dysku zapisano tylko niewielkie ilości danych. Rzecznik powiedział nam: „Samsung Electronics stoi za jakością naszych wiodących w branży dysków SSD, w tym najnowszego 990 Pro. Jesteśmy świadomi ograniczonej liczby raportów dotyczących tej sprawy i obecnie badamy te doświadczenia, ponieważ konfiguracje użytkowników są różne”. 990 Pro to dysk PCIe 4 w formacie M.2 zbudowany ze 112-warstwową pamięcią 3D NAND w formacie TLC (3 bity/komórkę) o pojemności 1, 2 i 4 TB. Wyjątkowa wydajność to do 800 000/1 000 000 IOPS losowego odczytu/zapisu, zapis sekwencyjny 6,9 GB/s i odczyt sekwencyjny 5 GB/s. Warto zaktualizowac aplikacje do dysków jaki i firware - do pobrania tu https://semiconductor.samsung.com/consumer-storage/support/tools/ Źródło: https://blocksandfiles.com/2023/02/02/samsung-990-pro-ssd-health-issues/ https://twitter.com/Laughing_Mantis/status/1624900060193624064?t=D41TOFsPqFNuLIIg1PMgiw&s=19

  • Podstawy Terrafrom - Kurs dla początkujących

    Witaj w tym Kursie Terraform Podstawy. Wytłumaczę Ci jak działa i czym jest narzędzie do automatyzacji i opisywania konfiguracji infrastruktury w kodzie (IaC – Infastructure as Code). W kursie tym pokażę Ci jak pracować z terraform na podstawie chmury DigitalOcean i OVH. Zaciekawiony to zapraszam W kilku krótkich lekcjach pokazuję jak na podstawie terraform można zautomatyzować konfiguracje środowiska w chmurze DigitalOcean wykorzystując takie usługi jak: Maszyny wirtualne (droplet). Zabezpieczenia (firewall). Targowanie zasobów. Konfiguracja zony DNS Tworzenie projektu Uruchamianie aplikacji Tworzenie sieci Start szkolenia: 06.02.2023 Długość: ponad 2h nigdzie nie publikowanych materiałów Poziom: Podstawowy, dla początkujących Cena: 20,99 do konca 12.02.2023 O Autorze Autorem kursu jest ja Piotr Kośka posiadam 15 letnie doświadczenie w administracji systemami Linux / Windows / MacOS. Jestem Autor wielu kursów na platformach komercyjnych takich jak sterfakursów i videopoint, autor publikacji na YouTube Miłośnik automatyzacji z wykorzystaniem Ansible, Terraform i bash Uwielbiam tematy związane z cloud, wirtualizacja i konteneryzacją. W wolnych chwilach uwielbiam poczytać fajną książkę lub zagrać na konsoli. Dzięki ^ temu linkowi otrzymasz 100$ na 60 dni testów chmury DigitalOcean absolutnie za darmo, to wystarczy na całe szkolenie nawet jak będziesz realizował jedną lekcje dziennie. Część materiał jest dostępny na moim kanale na YouTube. Kurs ten został wzbogacony o dodatkowe nie publikowane nigdzie materiały, takie jak: Wprowadzenie do DigitalOcean – Moduł pierwszy. Szybki wstęp do Terraform – Moduł drugi Moduł trzeci – Materiały z kanału YouTube. W tym kursie są też dodatkowe Quizy, testy, które pomogą zweryfikować Twoją wiedzę. Dostep do grupy Discord gdzie otrzymasz dodatkowe wsparcie Kod zniżkowy (30%) na inne przyszłe szkolenia dostępne na tej platformie. Co dokładnie zawiera ten kurs Moduł 1 W tym module skupimy się na poznaniu chmury DigitalOcean. To na niej bedziemy uruchamiać w pózniejszych lekcjach i w drugim module naszą konfigurację terraform. Zatem dobrze znać co i jak chcemy uruchomić. Dlaczego ten wybór? Uważam że jest to fajna platforma na start do poznania środowiska cloud. Plus, łatwiej o kontrolę kosztów dla poczatkującej osoby. Platforma jest prosta i intuicyjna po 15 minutach nabierzesz wprawy i będziesz czuł się jak ryba w wodzie :). Jakie tematy porusza ten moduł: DigitalOcean – Pierwsze uruchomienie i nasz projekt DigitalOcean – Billing Alert DigitalOcean – przegląd dostępnych zasobów do uruchomienia DigitalOcean – omówienie pojęcia droplet DigitalOcean – koncepcja klucza SSH Generacja klucza publicznego i prywatnego pod windows DigitalOcean – Dodawanie klucza publicznego DigitalOcean – Tworzymy kropelkę (droplet) DigitalOcean – Konfiguracja Firewall Podsumowanie Modułu DigitalOcean – omówienie VPC DigitalOcean – tworzenie i usuwanie sieci oraz kropelki DigitalOcean – tworzenie klucza API Moduł 2 Wprowadzenie do terraform jako narzędzia – podstawy, zobaczysz jak to narzędzie działa lokalnie z wykorzystaniem providera docker. Poćwiczysz składnie i polecenia by potem uruchomić i skonfigurować infrastrukturę z cloud. Co zawiera ten moduł. Terraform – instalacja na windows Terraform – instalacja na Linux (dodatek) Terraform – instalacja na MacOS (dodatek) Terraform – czym jest terraform Terraform – cli wstęp i podstawy konstrukcji obiektów w HCL Terraform – Nasz pierwszy provider Terraform – State, czym jest Terraform – Terraform init (przykład lokalna infrstruktura, docker) Terraform – pierwszy plan i apply (przykład lokalna infrstruktura, docker) Terraform – przykład terraform plan, apply, validate (przykład lokalna infrstruktura, docker) Terraform – komenda terraform apply i add, change, destroy (przykład lokalna infrstruktura, docker) Terraform – komenda terraform destroy (przykład lokalna infrstruktura, docker) Terraform – terraform import (przykład lokalna infrstruktura, docker) Terraform – Provider digitalocean, pierwsze podłączenie Terraform – Tworzenie droplet z terraform i spojrzenie na plik stanu Terraform – Workspace Terraform – Resources meta-argument lifecycle Terraform – Resources meta-argument count Terraform – Zmienne Terraform – Usuwanie zasobu ze state Terraform – Backend lokalny vs Remote, pg Terrarorm – Konfiguracja backend pg Terraform Cloud Terraform – wykorzystanie Data Sources Terraform – provisionier local i exec rożnice Terraform – czym są moduły Moduł 3 Ten cały moduł jest do obejrzenia na moim kanale YouTube. Co zawiera ten moduł, to praktyczna lekcję jak zbudować naszą konfiguracje z Terraform w DigitalOcean. W ostatniej lekcji uruchamiamy naszą aplikacje z użyciem terraform. Terreform – początki (czysto teoretyczne) Infrastruktura jako kod (IaaC) – cześć 1 Zmieńmy naszą konfigurację na moduł. Infrastruktura jako kod (IaaC) – cześć 2 Infrastruktura w Kodzie (IaaC) – Digital Ocean, prosty cloud na start – część trzecia. Infrastruktura jako Kod (IaaC) – VPC, Domain, konfiguracja w terraformie naszego środowiska cześć 4 Infrastruktura w Kodzie (IaaC) – Trochę o zmiennych i elastyczność naszego modułu – część 5 Infrastruktura w Kodzie (IaaC) – Droplet, Firewall i nasza aplikacja – część 6. Start szkolenia: 06.02.2023 Długość: ponad 2h nigdzie nie publikowanych materiałów Poziom: Podstawowy, dla początkujących Cena: 20,99 do konca 12.02.2023

  • OWASP Top 10 luk w zabezpieczeniach na rok 2022

    Listę 10 najpopularniejszych podatności 1. Broken Access Control Nieprawidłowa kontrola dostępu to słabość, dzięki której atakujący uzyskują dostęp do kont użytkowników. Haker podszywa się tutaj pod użytkownika lub administratora w systemie i uzyskuje dostęp do danych oraz wrażliwych plików. Źle skonfigurowana kontrola dostępu może umożliwić atakującemu zmiany na przykład w panelu administracyjnym, panelu sterowania strony internetowej, dostępie przez FTP / SFTP / SSH. Tej luce można zaradzić na następujące sposoby: Wdrożyć interaktywne rozwiązanie do testowania bezpieczeństwa aplikacji w celu wykrywania fałszerstw między witrynami lub niezabezpieczonego przechowywania poufnych danych Przeprowadzić testy penetracyjne w celu uzupełnienia działań IAST Usunąć konta, które nie są już aktywne Przeprowadzać regularne audyty i kontrole dostępu Używać właściwej metody zarządzania sesją i zarządzania dostępem 2. Cryptographic Failures Błędy kryptograficzne występują, gdy przechowywane lub przesyłane dane są w jakiś sposób zagrożone i możliwe do odczytania. Oszustwa związane z kartami kredytowymi lub kradzież tożsamości są często wynikiem błędów kryptograficznych. Takie problemy występują, gdy dane są przesyłane w postaci jawnego tekstu lub używane są przestarzałe algorytmy szyfrujące. Niepoprawne zarządzanie kluczami i techniki rotacji również bywają odpowiedzialne za tego typu luki. Rozwiązania mające na celu usunięcie tej podatności są następujące: Wyłączyć autouzupełnianie w formularzach, które zbierają dane Zmniejszyć rozmiar obszaru powierzchni danych Korzystać z szyfrowania danych podczas przesyłania i przechowywania Korzystać z najbardziej zaawansowanych metod szyfrowania Dezaktywować buforowanie w formularzach zbierających dane 3. Injection Luki w zabezpieczeniach polegające na wstrzykiwaniu odnoszą się do wstrzykiwania wrogich danych do interpretera za pośrednictwem SQL, OS, NoSQL lub LDAP. Ataki wstrzykujące oszukują silnik przetwarzania kodu, aby skłonił aplikację do wygenerowania niezamierzonych poleceń lub wykazał zachowania, dla których aplikacja nie została pierwotnie zaprojektowana. Aplikacje przyjmujące parametry jako dane wejściowe są podatne na ataki iniekcyjne. Aby zapobiec takim atakom, można zastosować następujące podejścia: Dołączyć narzędzia SAST i IAST do strumienia CI/CD Oddzielić polecenia od danych, aby uniknąć niepotrzebnego wykonywania poleceń wynikającego z narażenia na ataki Używać zapytań sparametryzowanych Używać bezpiecznego API zamiast eliminatora Zastosować sprawdzanie poprawności po stronie serwera i system do wykrywania włamań, aby identyfikować podejrzane zachowania po stronie klienta 4. Insecure Design Odnosi się to do wszystkich wad związanych ze złym projektem technicznym aplikacji. Ta kategoria obejmuje modelowanie zagrożeń, bezpieczne wzorce projektowe i architektury referencyjne. Rozwiązania dotyczące zwiększenia bezpieczeństwa w tym zakresie: Zastosować bezpieczny, kontrolowany cykl rozwoju produktu Stworzyć bibliotekę gotowych do użycia bezpiecznych wzorców projektowych Zintegrować kontrole wiarygodności na każdym poziomie aplikacji Wdrożyć modelowanie zagrożeń na potrzeby kluczowego uwierzytelniania, kontroli dostępu, logiki biznesowej i przepływów kluczy Ograniczyć zużycie zasobów użytkowników i usług 5. Security Misconfiguration Błędna konfiguracja zabezpieczeń wśród 10 największych luk w zabezpieczeniach jest luką najczęstszą. Akceptowanie niezabezpieczonych ustawień domyślnych, niekompletnych konfiguracji, rozwlekłych komunikatów o błędach zawierających poufne informacje oraz źle skonfigurowanych odbiorców HTTP są odpowiedzialne za błędną konfigurację zabezpieczeń. Rozwiązania dotyczące błędnej konfiguracji zabezpieczeń: Korzystać z szablonów zgodnych z zasadami bezpieczeństwa organizacji Używać architektury aplikacji podzielonej na segmenty, aby zmniejszyć ryzyko Wyeliminować nieużywane funkcje i usługi Przeprowadzać ciągłe monitorowanie zasobów chmury, serwerów i aplikacji w celu wykrycia błędnych konfiguracji zabezpieczeń 6. Vulnerable and Outdated Components Komponenty open source mogą zawierać luki stanowiące poważne zagrożenie dla bezpieczeństwa aplikacji. Wrażliwe komponenty są często główną przyczyną naruszenia bezpieczeństwa danych. Rozwiązania minimalizujące ryzyko związane z wrażliwymi i przestarzałymi komponentami: Komponenty będące częścią firmowych frameworków powinny podlegać zarządzaniu konfiguracją Skaner aplikacji powinien być w stanie zidentyfikować wszystkie komponenty, które należy monitorować Automatyzacja przepływu pracy związanej z zarządzaniem poprawkami Cykliczne skanowania w oparciu o bazę danych luk w zabezpieczeniach wzbogaconą o dane analizy zagrożeń 7. Identification and Authentication Failures Atakujący przechwytują hasła, tokeny sesji lub klucze bezpieczeństwa, gdy aplikacje nieprawidłowo wykonują funkcje związane z zarządzaniem sesją lub uwierzytelnianiem użytkownika. Prowadzi to do kradzieży tożsamości. Błędy identyfikacji i uwierzytelniania mogą również zagrażać bezpieczeństwu innych zasobów w tej samej sieci. Rozwiązania problemów z kradzieżą tożsamości: Zastosować uwierzytelnianie wieloskładnikowe Użytkownicy z uprawnieniami administratora nie powinni używać poświadczeń domyślnych Monitorować i korelować wszystkie nieudane próby logowania Wdrożyć bezpieczny menedżer sesji i nie umieszczać identyfikatorów sesji w adresach URL 8. Software and Data Integrity Failures Błędy w integralności oprogramowania i danych mają miejsce, gdy kod i infrastruktura nie są w stanie chronić przed naruszeniami integralności. Złośliwy kod i nieautoryzowany dostęp do kodu to zagrożenia związane z tą luką. Programy zawierające wtyczki, biblioteki lub moduły z niezaufanych źródeł są podatne na zmiany w integralności. Możliwości automatycznej aktualizacji powodują, że aktualizacje są wdrażane bez niezbędnych kontroli integralności. Rozwiązania dotyczące problemów z oprogramowaniem i integralnością danych: Implementacja podpisów cyfrowych, aby upewnić się, że program nie został zmanipulowany Wdrożenie procedury przeglądu modyfikacji kodu i konfiguracji Weryfikacja, czy biblioteki i zależności korzystają z zaufanych repozytoriów Weryfikacja, czy strumień CI/CD obejmuje odpowiednią segregację, konfigurację i kontrolę dostępu 9. Security Logging and Monitoring Failures Niepowodzenia w rejestrowaniu i monitorowaniu narażają aplikację na ataki. Sesje i nieudane logowania, jeśli nie są monitorowane, czynią aplikację podatną. Rozwiązania zapobiegające błędom rejestrowania i monitorowania pod kątem bezpieczeństwa: Przeprowadzenie testów penetracyjnych, aby przestudiować raporty i wykryć ewentualne niedociągnięcia Tworzenie logów w formacie, który mogą z łatwością wykorzystywać rozwiązania do zarządzania i wykrywania zdarzeń Implementacja mechanizmu ostrzegania i monitorowania w celu wykrywania podejrzanych działań 10. Server-Side Request Forgery Jest to często wynikiem pobierania przez aplikację zdalnego zasobu bez sprawdzania poprawności adresu URL podanego przez użytkownika. Złożone architektury i coraz częstsze korzystanie z usług w chmurze doprowadziły w ostatnich latach do fałszowania żądań po stronie serwera. Rozwiązania dotyczące fałszowania żądań po stronie serwera: Egzekwować zasadę firewall „deny by default”. Ustalić własność i cykl życia reguł zapory w oparciu o aplikacje Rejestrować wszystkie zaakceptowane i zablokowane przepływy sieciowe na zaporach Oczyścić dane wejściowe dostarczone przez klienta Zapewnić spójność adresów URL A jakie są Twoje topowe podatności w roku 2022 - daj znać w komentarzach. Źródło: https://www.zscaler.com/blogs/product-insights/what-owasp-top-10?_bt=&_bk=&_bm=&_bn=x&_bg=&utm_source=google&utm_medium=cpc&utm_campaign=google-ads-na&gclid=Cj0KCQiA8t2eBhDeARIsAAVEga290ONLTUHI3pvTAJL2q8eVtPvyxQfr7V4qkUXL_dr53ASzDMjYhDQaAl3mEALw_wcB https://owasp.org/www-project-top-ten/

  • Prawie jak T-1000

    Pamiętacie tą kultową scenę z Terminatora 2: Judgment Day w reżyserii James Cameron gdzie grany przez Roberta Patricka T-1000 przenika kraty w szpitalnym zakładzie zamkniętym Jak was pamięć zawodzi tu przypomnienie :) W filmie Jamesa Camerona z 1991 roku T-1000 stworzony był z płynnego metalu i potrafił kontrolować swój stan skupienia, by zależnie od sytuacji przybierać formę cieczy lub tworzyć ostre ostrza. Jednocześnie wysłany z przyszłości cybernetyczny morderca mógł przyjmować różne kształty i wracać do pierwotnej formy na zawołanie. Wygląda na to, że rzeczywistość powoli dogania science fiction. Na pokazanym wyżej materiale widzimy jak mały robot w kształcie ludzika lego przenika przez kratkę zmieniając się w ciecz :D. Twórcy nawet zamknęli go w klatce, by nawiązać do słynnej sceny z „Terminatora 2”. I rzeczywiście - bot zmienia się w ciecz, by przejść na drugą stronę krat, po czym wraca do pierwotnego kształtu. Robot został zbudowany z galu + czastki magntyczne. Metal przewodzi prąd i reaguje na zmiany pola magnetyczne, a nagrzewa się dzięki indukcji (temperatura topienia galu wynosi zaledwie 29,8°C). Ponadto magnesy pozwalają botowi poruszać się bez zewnętrznego zasilania, a wszystko odbywa się bezprzewodowo. a stworzenie małego prototypu T-1000 odpowiada zespół naukowców pod kierownictwem Chengfeng Pana, inżyniera z Chińskiego Uniwersytetu w Hongkongu. Jak dla mnie czad :)

bottom of page