Najlepsze praktyki zarządzania tożsamością i dostępem (Identity and Access Management)

Festus Obi 03 kwietnia 2023 14 min czytania
Contents

Zarządzanie tożsamością i dostępem (IAM) to zbiór polityk, procesów i technologii, które organizacje wykorzystują do zarządzania i kontrolowania dostępu do swoich systemów, aplikacji, danych i zasobów. IAM zapewnia, że tylko autoryzowani użytkownicy mogą uzyskać dostęp do informacji i zasobów niezbędnych do wykonywania ich pracy, jednocześnie chroniąc wrażliwe informacje i zasoby przed nieautoryzowanym dostępem.

IAM zapewnia scentralizowany system do zarządzania tożsamościami użytkowników i uprawnieniami dostępu, co pomaga organizacjom usprawnić operacje bezpieczeństwa, zmniejszyć ryzyko bezpieczeństwa oraz przestrzegać regulacji branżowych.

Główne komponenty IAM to:

  1. Uwierzytelnianie: Proces weryfikacji tożsamości użytkownika za pomocą zestawu poświadczeń, takich jak nazwa użytkownika i hasło, dane biometryczne lub tokeny bezpieczeństwa.
  2. Autoryzacja: Proces przyznawania lub odmawiania dostępu do zasobów na podstawie tożsamości użytkownika i jego uprawnień dostępu.
  3. Usługi katalogowe: Centralne repozytorium tożsamości użytkowników i uprawnień dostępu, które jest wykorzystywane do uwierzytelniania i autoryzowania użytkowników.
  4. Provisioning: Proces tworzenia, modyfikowania i usuwania kont użytkowników oraz uprawnień dostępu, na podstawie zmian w wymaganiach organizacji.
  5. Federacja: Proces umożliwiający użytkownikom z różnych organizacji dostęp do zasobów w ramach wspólnej sieci, bez konieczności oddzielnego uwierzytelniania.
  6. Audyt i raportowanie: Proces monitorowania aktywności użytkowników i generowania raportów na temat uprawnień dostępu, użycia oraz incydentów związanych z bezpieczeństwem.

IAM może być implementowane za pomocą różnych technologii, takich jak systemy zarządzania dostępem, rozwiązania Single Sign-On (SSO), systemy uwierzytelniania wieloskładnikowego (MFA) oraz rozwiązania do zarządzania dostępem uprzywilejowanym (PAM).

Single Sign-On (SSO)

Single sign-on (SSO) to rodzaj procesu uwierzytelniania, który pozwala użytkownikom logować się do wielu aplikacji i systemów za pomocą jednego zestawu poświadczeń, takich jak nazwa użytkownika i hasło. Dzięki SSO użytkownicy nie muszą pamiętać wielu nazw użytkowników i haseł do różnych aplikacji, co upraszcza proces logowania i zwiększa produktywność.

W typowej konfiguracji SSO użytkownik uwierzytelnia się raz, zwykle przy użyciu silnej formy uwierzytelniania, takiej jak uwierzytelnianie wieloskładnikowe (MFA), a następnie uzyskuje dostęp do wielu aplikacji i systemów bez konieczności ponownego wprowadzania poświadczeń. System SSO przechowuje poświadczenia uwierzytelniające użytkownika w sposób bezpieczny i przekazuje je do innych systemów i aplikacji, gdy zajdzie taka potrzeba.

SSO jest zwykle implementowane przy użyciu jednej z dwóch metod: federacji lub uwierzytelniania opartego na katalogu. Federacja pozwala użytkownikom na dostęp do zasobów w ramach wspólnej sieci, bez konieczności oddzielnego uwierzytelniania. Uwierzytelnianie oparte na katalogu wykorzystuje centralny katalog, taki jak Active Directory, do przechowywania poświadczeń użytkowników i zarządzania dostępem do zasobów.

Korzyści z SSO to poprawa bezpieczeństwa, zwiększona produktywność i zmniejszenie kosztów wsparcia. Dzięki zmniejszeniu liczby haseł, które użytkownicy muszą zapamiętać, SSO może poprawić bezpieczeństwo haseł i zmniejszyć ryzyko incydentów związanych z bezpieczeństwem haseł. SSO może również poprawić produktywność, zmniejszając czas, który użytkownicy spędzają na logowaniu się do różnych aplikacji i systemów. Wreszcie, SSO może zmniejszyć koszty wsparcia, redukując liczbę zgłoszeń związanych z hasłami.

SSO może być implementowane za pomocą różnych technologii, takich jak Security Assertion Markup Language (SAML), OpenID Connect i OAuth. SSO jest szeroko stosowane w środowiskach korporacyjnych i zyskuje na popularności również w aplikacjach konsumenckich.

MFA (Uwierzytelnianie wieloskładnikowe)

Uwierzytelnianie wieloskładnikowe (MFA) to mechanizm bezpieczeństwa, który wymaga od użytkowników podania wielu form uwierzytelnienia w celu uzyskania dostępu do systemu lub zasobu. MFA zwiększa bezpieczeństwo uwierzytelniania, wymagając, aby użytkownicy podali co najmniej dwa różne rodzaje poświadczeń, takie jak hasło i token bezpieczeństwa lub dane biometryczne, zanim uzyskają dostęp.

Celem MFA jest zapobieganie nieautoryzowanemu dostępowi do systemów i zasobów, nawet jeśli atakujący uzyska dostęp do hasła użytkownika. Dzięki MFA, nawet jeśli hasło zostanie skompromitowane, atakujący wciąż będzie musiał uzyskać dostęp do drugiego czynnika uwierzytelnienia, aby uzyskać dostęp do systemu lub zasobu.

Istnieją trzy rodzaje czynników uwierzytelniania:

  1. Czynniki wiedzy: Coś, co użytkownik wie, takie jak hasło lub PIN.
  2. Czynniki posiadania: Coś, co użytkownik posiada, takie jak token bezpieczeństwa, karta inteligentna lub urządzenie mobilne.
  3. Czynniki inherentne: Coś, czym użytkownik jest, takie jak dane biometryczne, np. odciski palców, rozpoznawanie twarzy lub głosu.

MFA może wykorzystywać kombinację tych czynników do uwierzytelniania użytkownika. Na przykład użytkownik może zostać poproszony o podanie hasła (czynnik wiedzy) i tokenu bezpieczeństwa (czynnik posiadania) w celu uzyskania dostępu do systemu lub zasobu. Alternatywnie, użytkownik może zostać poproszony o zeskanowanie odcisku palca (czynnik inherentny) i podanie karty inteligentnej (czynnik posiadania), aby uzyskać dostęp.

MFA jest niezbędnym mechanizmem bezpieczeństwa, który pomaga zapobiegać nieautoryzowanemu dostępowi do systemów i zasobów, szczególnie do wrażliwych danych i aplikacji. Organizacje powinny rozważyć wdrożenie MFA dla wszystkich krytycznych systemów i zasobów oraz wymagać MFA dla dostępu zdalnego i innych scenariuszy wysokiego ryzyka.

Zarządzanie dostępem uprzywilejowanym (PAM)

Zarządzanie dostępem uprzywilejowanym (PAM) to zbiór polityk, procesów i technologii używanych do kontrolowania i monitorowania dostępu do krytycznych systemów, aplikacji i danych w organizacji. PAM ma na celu zmniejszenie ryzyka naruszeń bezpieczeństwa, wycieków danych i cyberataków spowodowanych przez użytkowników uprzywilejowanych, którzy mają dostęp do wrażliwych danych i zasobów.

Użytkownicy uprzywilejowani to ci, którzy mają podwyższone uprawnienia dostępu, tacy jak administratorzy systemów, administratorzy baz danych, inżynierowie sieciowi i inni pracownicy IT. Ci użytkownicy mają dostęp do krytycznych systemów i zasobów, które zawierają wrażliwe dane, co sprawia, że są głównymi celami cyberataków. PAM zapewnia sposób zarządzania i monitorowania dostępu użytkowników uprzywilejowanych, zmniejszając ryzyko naruszeń bezpieczeństwa.

Główne komponenty PAM to:

  1. Odkrywanie kont uprzywilejowanych: Identyfikowanie i tworzenie inwentaryzacji wszystkich kont uprzywilejowanych w organizacji, w tym kont systemowych, aplikacyjnych i serwisowych.
  2. Zarządzanie kontami uprzywilejowanymi: Zarządzanie i zabezpieczanie kont uprzywilejowanych poprzez wymuszanie silnych haseł, regularną rotację haseł oraz monitorowanie dostępu do tych kont.
  3. Zarządzanie sesjami uprzywilejowanymi: Rejestrowanie i monitorowanie wszystkich sesji użytkowników uprzywilejowanych w celu wykrywania i zapobiegania nieautoryzowanemu dostępowi do krytycznych systemów i danych.
  4. Zarządzanie dostępem uprzywilejowanym: Zapewnienie zgodności z regulacjami branżowymi i najlepszymi praktykami poprzez egzekwowanie polityk, śledzenie dostępu oraz zapewnienie śladów audytowych dla użytkowników uprzywilejowanych.

PAM jest zwykle implementowane za pomocą specjalistycznych rozwiązań programowych, które zapewniają scentralizowane zarządzanie i kontrolę dostępu użytkowników uprzywilejowanych. Rozwiązania PAM mogą automatyzować wiele zadań związanych z zarządzaniem i zabezpieczaniem dostępu uprzywilejowanego, takich jak zarządzanie hasłami, kontrola dostępu i rejestrowanie sesji.

PAM jest niezbędnym mechanizmem bezpieczeństwa dla organizacji, które mają do czynienia z wrażliwymi danymi i krytycznymi systemami. Poprzez kontrolowanie i monitorowanie dostępu użytkowników uprzywilejowanych, organizacje mogą zmniejszyć ryzyko naruszeń bezpieczeństwa i wycieków danych spowodowanych nadużywaniem dostępu uprzywilejowanego lub cyberatakami.

W tym artykule przyjrzymy się najlepszym praktykom zarządzania tożsamościami i dostępem w AWS. W AWS, IAM to usługa internetowa, która umożliwia bezpieczne zarządzanie dostępem do usług i zasobów AWS.

Najlepsze praktyki IAM

Oto najlepsze praktyki zarządzania tożsamościami i dostępem (IAM) w AWS:

1. Stosuj zasadę najmniejszych uprawnień

Zasada najmniejszych uprawnień oznacza, że użytkownikom i aplikacjom należy przyznawać minimalne uprawnienia niezbędne do wykonania ich zadań. Redukuje to ryzyko przypadkowego lub celowego niewłaściwego wykorzystania uprawnień i ogranicza potencjalne szkody, które mogą zostać spowodowane przez naruszenie bezpieczeństwa.

Aby zastosować zasadę najmniejszych uprawnień, należy:

  • Zdefiniować zestaw polityk określających minimalne uprawnienia niezbędne dla każdej roli i użytkownika.
  • Korzystać z grup IAM do zarządzania uprawnieniami dla użytkowników o podobnych potrzebach.
  • Regularnie przeglądać uprawnienia i usuwać niepotrzebne uprawnienia.

2. Włącz MFA dla wszystkich użytkowników

Uwierzytelnianie wieloskładnikowe (MFA) to funkcja bezpieczeństwa, która wymaga od użytkowników podania dwóch lub więcej form uwierzytelnienia w celu uzyskania dostępu do zasobów AWS. Włączenie MFA dla wszystkich użytkowników, w tym użytkowników głównych (root), jest najlepszą praktyką, która dodaje dodatkową warstwę zabezpieczeń do konta AWS.

3. Używaj ról IAM zamiast użytkowników IAM

Role IAM są bardziej bezpiecznym sposobem przyznawania dostępu do zasobów AWS niż użytkownicy IAM. Role IAM są podobne do użytkowników IAM pod względem posiadanych uprawnień, jednak role nie są związane z konkretnym kontem użytkownika i mogą być przyjmowane przez dowolnego uprawnionego użytkownika lub usługę.

Korzyści z używania ról IAM zamiast użytkowników IAM:

  • Możesz łatwo przyznawać i odbierać uprawnienia roli, bez konieczności zarządzania indywidualnymi kontami użytkowników.
  • Możesz zdefiniować zaufane relacje między rolami, co pozwala na przyznanie uprawnień do zasobów w różnych kontach AWS lub do zasobów zewnętrznych.
  • Możesz używać ról do delegowania uprawnień dla usług AWS, takich jak Lambda lub instancje EC2, bez konieczności przechowywania kluczy dostępu i tajnych kluczy dostępu w kodzie instancji lub funkcji.

4. Używaj polityk IAM do egzekwowania polityk bezpieczeństwa

Polityki IAM to zbiór zasad określających uprawnienia i ograniczenia, które mają zastosowanie do użytkowników i ról IAM. Polityki IAM pozwalają na egzekwowanie polityk bezpieczeństwa, które kontrolują dostęp do zasobów AWS.

Aby tworzyć skuteczne polityki IAM, należy:

  • Zdefiniować polityki określające minimalne uprawnienia niezbędne dla każdej roli i użytkownika.
  • Korzystać z grup IAM do zarządzania uprawnieniami dla użytkowników o podobnych potrzebach.
  • Regularnie przeglądać uprawnienia i usuwać niepotrzebne uprawnienia.

5. Używaj IAM Access Analyzer do wykrywania niezamierzonego dostępu do zasobów

IAM Access Analyzer to funkcja IAM AWS, która umożliwia identyfikację niezamierzonego dostępu do zasobów. IAM Access Analyzer wykorzystuje automatyczne rozumowanie i logikę do identyfikowania polityk zasobów, które mogą umożliwić niezamierzony dostęp do zasobów.

IAM Access Analyzer analizuje polityki zasobów dla zasobów takich jak wiadra S3, funkcje Lambda, klucze KMS, role IAM i ślady CloudTrail. Gdy IAM Access Analyzer wykryje politykę, która może umożliwić niezamierzony dostęp, dostarcza rekomendację rozwiązania problemu.

Funkcje IAM Access Analyzer, które pomagają w wykrywaniu niezamierzonego dostępu:

  • Walidacja polityk: Access Analyzer analizuje polityki kontrolujące dostęp do zasobów i sprawdza je pod kątem znanych luk i najlepszych praktyk. Identyfikuje potencjalne problemy w politykach, które mogą umożliwić niezamierzony dostęp.
  • Rekomendacje polityk: Access Analyzer dostarcza rekomendacje, jak zaktualizować polityki w celu rozwiązania wykrytych problemów. Rekomendacje te można łatwo zastosować w politykach za pomocą AWS Management Console lub AWS CLI.
  • Pokrycie zasobów: Access Analyzer zapewnia kompleksowe pokrycie zasobów, które mogą być dostępne w środowisku AWS. Obsługuje analizę polityk dla wiader S3, funkcji Lambda, kluczy KMS, ról IAM i śladów CloudTrail, między innymi.
  • Ciężka monitorowanie: Access Analyzer nieustannie monitoruje polityki zasobów w celu wykrywania zmian, które mogą wpłynąć na bezpieczeństwo. Powiadamia o zmianach, które mogą umożliwić niezamierzony dostęp.

Aby używać Access Analyzer, należy włączyć usługę w AWS Management Console. Po jej włączeniu, Access Analyzer rozpoczyna analizę polityk zasobów i dostarcza rekomendacje. Rekomendacje można przeglądać w kokpicie Access Analyzer, gdzie można podjąć działania w celu zastosowania tych rekomendacji.

6. Regularnie rotuj klucze dostępu i hasła

Regularne rotowanie kluczy dostępu i haseł to najlepsza praktyka, która pomaga zredukować ryzyko nieautoryzowanego dostępu do zasobów AWS. Klucze dostępu i hasła należy rotować co najmniej co 90 dni.

7. Monitoruj aktywność IAM za pomocą AWS CloudTrail

AWS CloudTrail to usługa, która umożliwia monitorowanie i audytowanie aktywności na koncie AWS. CloudTrail rejestruje wszystkie akcje podejmowane przez użytkowników IAM, role oraz usługi AWS i przechowuje dane w wiadrze S3.

Monitorowanie aktywności IAM za pomocą CloudTrail pomaga w:

  • Identyfikowaniu i reagowaniu na zagrożenia bezpieczeństwa.
  • Wykrywaniu i badaniu incydentów bezpieczeństwa.
  • Spełnianiu wymagań zgodności.

Osiąganie lepszego IAM przy użyciu Terraform

Infrastructure as Code (IaC) to podejście do zarządzania infrastrukturą IT, polegające na definiowaniu i zarządzaniu zasobami infrastrukturalnymi w kodzie. IaC może być używane do osiągania lepszego zarządzania tożsamościami i dostępem ( IAM) na AWS, umożliwiając definiowanie zasobów IAM, takich jak role, polityki i użytkownicy, w kodzie oraz wdrażanie ich za pomocą automatyzacji.

Oto kilka sposobów, jak IaC może pomóc w osiągnięciu lepszego IAM na AWS:

  • Spójność: Definiując zasoby IAM w kodzie, możesz zapewnić, że będą one spójne w różnych środowiskach. Pomaga to zapobiec rozbieżnościom w konfiguracji i zapewnia, że wszystkie zasoby są skonfigurowane w ten sam sposób. To dlatego, że ten sam kod jest używany do tworzenia, aktualizowania i usuwania zasobów IAM. Możesz użyć Terraform do stworzenia nowego środowiska AWS od podstaw lub użyć go do modyfikacji istniejącego środowiska poprzez zastosowanie zmian w konfiguracji Terraform. To podejście zapewnia, że polityki IAM i role są zawsze zgodne z Twoją infrastrukturą.
  • Kontrola wersji: Kod IaC może być kontrolowany wersjami, co ułatwia śledzenie zmian i przywracanie poprzednich wersji w razie potrzeby. Może to być szczególnie przydatne przy zarządzaniu złożonymi konfiguracjami IAM. Oznacza to, że możesz zdefiniować swoje polityki IAM i role w pliku tekstowym, który można kontrolować wersjami, testować i przeglądać tak, jak każdy inny kod. Możesz używać modułów do definiowania wielokrotnego użytku polityk i ról oraz zmiennych i źródeł danych do parametryzowania swoich polityk IAM i ról.
  • Ciągła zgodność i audytowalność: Używanie Terraform do definiowania polityk i ról IAM pozwala na ciągłe monitorowanie i audytowanie Twojego środowiska AWS. Możesz używać Terraform do tworzenia raportów pokazujących bieżący stan polityk i ról IAM, a także do stosowania zmian w politykach i rolach w razie potrzeby. Zapewnia to, że Twoje środowisko AWS pozostaje zgodne z politykami bezpieczeństwa i zgodności.
  • Współpraca: Kod IaC może być udostępniany i współtworzony przez zespoły. Może to pomóc zespołom w wspólnej pracy nad rozwojem i zarządzaniem zasobami IAM oraz zapewnia, że wszyscy pracują z tą samą konfiguracją.
  • Kontrola dostępu oparta na rolach (RBAC): Terraform pozwala na definiowanie ról IAM i polityk, które wymuszają kontrolę dostępu opartą na rolach (RBAC). RBAC to model bezpieczeństwa, który ogranicza dostęp do zasobów na podstawie ról i odpowiedzialności użytkowników. Możesz używać Terraform do definiowania polityk IAM, które przyznają dostęp do konkretnych zasobów w zależności od roli użytkownika. To podejście zapewnia, że użytkownicy mają dostęp tylko do zasobów, których potrzebują, aby wykonywać swoje zadania.
  • Automatyzacja: Kod IaC może być wdrażany za pomocą automatyzacji, co pozwala zaoszczędzić czas i zredukować ryzyko błędów. Jest to szczególnie przydatne przy wdrażaniu dużych konfiguracji IAM lub w przypadku wdrażania zmian do wielu środowisk.

Aby użyć IaC do osiągnięcia lepszego IAM na AWS, możesz użyć narzędzia takiego jak Terraform lub AWS CloudFormation, aby zdefiniować zasoby IAM w kodzie. Te narzędzia pozwalają na definiowanie ról IAM, polityk i użytkowników w deklaratywnej składni, która może być kontrolowana wersjami i wdrażana za pomocą automatyzacji.

Na przykład, możesz użyć Terraform do zdefiniowania polityki IAM, która przyznaje dostęp do wiadra S3:

resource "aws_iam_policy" "s3_policy" {
  name        = "s3_policy"
  policy      = jsonencode({
    Version = "2012-10-17"
    Statement = [
      {
        Effect = "Allow"
        Action = [
          "s3:GetObject",
          "s3:PutObject"
        ]
        Resource = [
          "arn:aws:s3:::example-bucket/*"
        ]
      }
    ]
  })
}

Ten kod definiuje politykę IAM, która umożliwia użytkownikowi wykonywanie akcji s3:GetObject i s3:PutObject na obiektach w wiadrze example-bucket S3. Ta polityka może być kontrolowana wersjami i wdrażana za pomocą automatyzacji, co zapewnia jej spójność w różnych środowiskach oraz zmniejsza ryzyko błędów.

Ryzyka związane z niewłaściwym zarządzaniem IAM

Zarządzanie tożsamościami i dostępem (IAM) jest kluczowym elementem bezpieczeństwa każdej organizacji, ponieważ jest to praktyka kontrolowania, kto ma dostęp do jakich zasobów w sieci organizacji.

Jednakże ryzyka związane z niewłaściwym zarządzaniem IAM mogą być poważne i daleko idące. Oto niektóre z najistotniejszych ryzyk związanych z niewłaściwym zarządzaniem IAM.

  1. Nieautoryzowany dostęp do wrażliwych informacji: Jednym z głównych ryzyk niewłaściwego zarządzania IAM jest nieautoryzowany dostęp do wrażliwych informacji. Bez odpowiednich kontroli uwierzytelniania i autoryzacji, każdy w organizacji lub poza nią może uzyskać dostęp do danych wrażliwych, co może prowadzić do szkód finansowych i reputacyjnych.
  2. Wyciek danych: Wyciek danych to kolejne poważne ryzyko związane z niewłaściwym zarządzaniem IAM. Do wycieku danych może dojść, gdy atakujący uzyska dostęp do wrażliwych informacji, wykorzystując lukę w systemie IAM. Może to prowadzić do ujawnienia poufnych danych, strat finansowych oraz uszkodzenia reputacji organizacji.
  3. Naruszenie przepisów: Organizacje, które nie zarządzają IAM prawidłowo, mogą również narazić się na naruszenia przepisów. Wiele regulacji, takich jak RODO, wymaga od organizacji wdrożenia odpowiednich środków ochrony danych osobowych. Niedopełnienie tych obowiązków może skutkować poważnymi karami finansowymi i konsekwencjami prawnymi.
  4. Przejęcie konta: Przejęcie konta to kolejne poważne ryzyko związane z niewłaściwym zarządzaniem IAM. Hakerzy mogą uzyskać dostęp do kont użytkowników, kradnąc dane logowania, co może prowadzić do nieautoryzowanego dostępu do wrażliwych informacji, wycieków danych oraz innych incydentów związanych z bezpieczeństwem.
  5. Zagrożenia wewnętrzne: Niewłaściwe zarządzanie IAM może prowadzić także do zagrożeń wewnętrznych. Pracownicy o złych intencjach mogą wykorzystać swoje uprawnienia dostępu do wrażliwych informacji, aby ukraść dane lub spowodować inne incydenty bezpieczeństwa. Bez odpowiednich kontroli IAM, może być trudno wykryć i zapobiec takim zagrożeniom.
  6. Brak odpowiedzialności: Organizacje, które nie zarządzają IAM prawidłowo, mogą również mieć problem z brakiem odpowiedzialności. Bez odpowiednich mechanizmów audytu i monitorowania, może być trudno śledzić, kto ma dostęp do wrażliwych danych i kiedy. Może to utrudniać identyfikowanie i naprawianie incydentów związanych z bezpieczeństwem.
  7. Zwiększone koszty operacyjne: Niewłaściwe zarządzanie IAM może prowadzić także do zwiększenia kosztów operacyjnych. Na przykład, gdy użytkownicy nie są odpowiednio uwierzytelnieni lub autoryzowani, zespoły IT mogą spędzać więcej czasu na rozwiązywaniu problemów i incydentów związanych z bezpieczeństwem. Może to prowadzić do wyższych kosztów pracy i utraty wydajności.
  8. Uszkodzenie reputacji marki: Wreszcie, ryzyka związane z niewłaściwym zarządzaniem IAM mogą także zaszkodzić reputacji marki organizacji. Wyciek danych i inne incydenty związane z bezpieczeństwem mogą prowadzić do negatywnego rozgłosu, utraty zaufania klientów i spadku sprzedaży.
access management identity IAM best practices
festus.webp
Festus Obi
DevOps Engineer

Ma kilkuletnie doświadczenie w pracy w obszarze DevOps. Lubi tworzyć zarówno treści pisemne, jak i wideo dotyczące DevOps oraz wszelkich tematów wspierających rozwój oprogramowania.

Spis treści

Przeczytaj również:

Poprzedni post Następny post