ITBlog

IT Blog w tematach różnych...

  • O blogu…
  • Edukacja
    • Moodle – stare
    • Moodle2
    • Testy
  • Firma

Cisco – obsługa haseł

Napisane przez Igor Brzeżek on 26 października 2025
Napisane w: Obsługa haseł.

Contents
  1. Wstęp
  2. Poziomy dostępu
  3. Konfiguracja poziomów dostępu
  4. Przykład 1: Wyświetlenie aktualnego poziomu dostępu
  5. Przykład 2: Przejście do poziomu uprzywilejowanego
  6. Przykład 3: Konfiguracja niestandardowego poziomu dostępu
  7. Przykład 4: Wyświetlenie listy poziomów i przypisanych poleceń
  8. Przykład 5: Usunięcie niestandardowego poziomu dostępu
  9. Logowanie
  10. Konfiguracja logowania
  11. Przykład 1: Ustawienie hasła dla linii konsoli
  12. Przykład 2: Konfiguracja logowania SSH
  13. Przykład 3: Konfiguracja serwera RADIUS dla logowania
  14. Przykład 4: Ustawienie limitu prób logowania
  15. Przykład 5: Wyświetlenie statusu logowania
  16. Używanie haseł
  17. Zarządzanie hasłami
  18. Przykład 1: Ustawienie hasła enable
  19. Przykład 2: Dodanie użytkownika lokalnego z hasłem
  20. Przykład 3: Ustawienie hasła dla linii VTY
  21. Przykład 4: Zmiana hasła użytkownika
  22. Przykład 5: Wyświetlenie użytkowników i haseł (zaszyfrowanych)
  23. Szyfrowanie haseł
  24. Konfiguracja szyfrowania
  25. Przykład 1: Szyfrowanie hasła enable typem 5
  26. Przykład 2: Szyfrowanie hasła użytkownika typem 8
  27. Przykład 3: Szyfrowanie hasła użytkownika typem 9
  28. Przykład 4: Migracja hasła do wyższego typu szyfrowania
  29. Przykład 5: Weryfikacja typu szyfrowania
  30. Inna obsługa: Zarządzanie użytkownikami i protokoły AAA
  31. Zaawansowana konfiguracja
  32. Przykład 1: Konfiguracja TACACS+ dla AAA
  33. Przykład 2: Tworzenie roli użytkownika z ACL
  34. Przykład 3: Konfiguracja księgowania AAA
  35. Przykład 4: Dodanie użytkownika z rolą
  36. Przykład 5: Wyświetlenie statusu AAA
  37. Podsumowanie

Wstęp

W dzisiejszych czasach, kiedy sieci komputerowe stanowią podstawę działania przedsiębiorstw, instytucji oraz usług publicznych, bezpieczeństwo dostępu do urządzeń sieciowych, takich jak przełączniki i routery Cisco, odgrywa kluczową rolę w ochronie infrastruktury informatycznej. Urządzenia te są często punktami centralnymi w sieciach, zarządzając ruchem danych, kontrolując dostęp do zasobów oraz zapewniając łączność między różnymi segmentami systemu. Nieautoryzowany dostęp do takich urządzeń może prowadzić do poważnych konsekwencji, w tym wycieku danych, zakłócenia usług czy nawet całkowitego przejęcia kontroli nad siecią.

W niniejszym artykule omówimy kluczowe aspekty bezpieczeństwa dostępu na przełącznikach i routerach Cisco, koncentrując się na poziomach dostępu, mechanizmach logowania, używaniu haseł, ich szyfrowaniu oraz innych metodach obsługi uwierzytelniania. Przedstawimy teoretyczne podstawy tych mechanizmów, ich praktyczne zastosowanie oraz szczegółowe przykłady poleceń CLI (Command Line Interface), które umożliwiają konfigurację i zarządzanie tymi funkcjami. Każdy temat zostanie zilustrowany co najmniej pięcioma dokładnie wyjaśnionymi przykładami poleceń, aby zapewnić czytelnikowi praktyczne zrozumienie materiału.

Dodatkowo, w artykule znajdą się schematy ASCII ART, które wizualnie przedstawiają struktury poziomów dostępu oraz procesy logowania, ułatwiając przyswojenie abstrakcyjnych koncepcji. Całość została napisana w stylu akademickim, z precyzyjnymi i szczegółowymi wyjaśnieniami, aby czas czytania wyniósł około 25 minut. Artykuł jest przeznaczony dla administratorów sieci, studentów informatyki oraz wszystkich zainteresowanych tematyką bezpieczeństwa w sieciach Cisco.

Poziomy dostępu

Poziomy dostępu w urządzeniach Cisco definiują zakres uprawnień, jakie użytkownik może posiadać podczas interakcji z urządzeniem. System Cisco IOS (Internetwork Operating System) rozróżnia kilka poziomów dostępu, począwszy od poziomu użytkownika (User EXEC), przez poziom uprzywilejowany (Privileged EXEC), aż po poziomy konfiguracyjne (Global Configuration, Interface Configuration itp.). Każdy poziom zapewnia dostęp do określonych poleceń i funkcji, co pozwala na granularne zarządzanie bezpieczeństwem.

Podstawowe poziomy to:

  • Poziom 0 (User EXEC): Najniższy poziom, umożliwia wykonywanie podstawowych poleceń diagnostycznych i monitorowania, bez możliwości modyfikacji konfiguracji.
  • Poziom 1 (Privileged EXEC): Umożliwia dostęp do wszystkich poleceń EXEC, w tym konfiguracyjnych, ale wymaga hasła enable.
  • Poziomy 2-14: Niestandardowe poziomy, które można skonfigurować za pomocą listy dostępu (Access Control Lists – ACL), przypisując im specyficzne uprawnienia.
  • Poziom 15: Najwyższy poziom, równoważny Privileged EXEC, ale z pełnym dostępem do wszystkich funkcji.

Zarządzanie poziomami dostępu jest kluczowe dla zapobiegania eskalacji uprawnień i zapewnienia, że tylko autoryzowani użytkownicy mogą wykonywać krytyczne operacje. Poniżej przedstawiamy schemat ilustrujący hierarchię poziomów dostępu.

         +-------------------+
         |   Poziom 15       |
         | (Privileged EXEC) |
         +-------------------+
                 |
                 | enable
                 v
         +-------------------+
         |   Poziom 1        |
         | (Privileged EXEC) |
         +-------------------+
                 |
                 | login
                 v
         +-------------------+
         |   Poziom 0        |
         |   (User EXEC)     |
         +-------------------+

Schemat ten pokazuje, jak użytkownik przechodzi między poziomami poprzez uwierzytelnienie. Teraz przejdźmy do praktycznych przykładów poleceń CLI.

Konfiguracja poziomów dostępu

Przykład 1: Wyświetlenie aktualnego poziomu dostępu

Polecenie show privilege pozwala sprawdzić bieżący poziom uprawnień sesji. Jest to podstawowe polecenie diagnostyczne, które nie wymaga żadnych parametrów i wyświetla numer poziomu (np. 1 dla User EXEC, 15 dla Privileged EXEC).

Router# show privilege
Current privilege level is 1

W tym przykładzie użytkownik jest na poziomie 1 (User EXEC). Polecenie to jest przydatne do weryfikacji stanu sesji przed wykonaniem operacji wymagających wyższych uprawnień.

Przykład 2: Przejście do poziomu uprzywilejowanego

Polecenie enable umożliwia eskalację do poziomu Privileged EXEC (poziom 15). Wymaga podania hasła enable, jeśli zostało skonfigurowane. Po wykonaniu, użytkownik zyskuje dostęp do wszystkich poleceń konfiguracyjnych.

Router> enable
Password: 
Router#

W przykładzie użytkownik wprowadza hasło (niewidoczne na ekranie) i przechodzi do trybu uprzywilejowanego, co jest sygnalizowane zmianą znaku zachęty z ‚>’ na ‚#’.

Przykład 3: Konfiguracja niestandardowego poziomu dostępu

Polecenie privilege exec level 5 show running-config przypisuje polecenie show running-config do poziomu 5. Umożliwia to tworzenie niestandardowych poziomów z ograniczonymi uprawnieniami.

Router# configure terminal
Router(config)# privilege exec level 5 show running-config
Router(config)# end

Po tej konfiguracji użytkownicy na poziomie 5 będą mogli wyświetlać bieżącą konfigurację, ale nie będą mieli dostępu do innych poleceń konfiguracyjnych.

Przykład 4: Wyświetlenie listy poziomów i przypisanych poleceń

Polecenie show privilege w trybie konfiguracyjnym lub show running-config | include privilege pozwala przeglądać skonfigurowane poziomy dostępu i przypisane do nich polecenia.

Router# show running-config | include privilege
privilege exec level 5 show running-config
privilege exec level 10 configure terminal

Wynik pokazuje, że poziom 5 ma dostęp do show running-config, a poziom 10 do configure terminal, co umożliwia stopniowe zwiększanie uprawnień.

Przykład 5: Usunięcie niestandardowego poziomu dostępu

Polecenie no privilege exec level 5 show running-config usuwa przypisanie polecenia do poziomu. Przywraca domyślne ustawienia dla tego poziomu.

Router# configure terminal
Router(config)# no privilege exec level 5 show running-config
Router(config)# end

Po wykonaniu tego polecenia poziom 5 traci dostęp do wyświetlania konfiguracji, co jest przydatne przy czyszczeniu niepotrzebnych uprawnień.

Logowanie

Mechanizmy logowania na urządzeniach Cisco zapewniają uwierzytelnienie użytkowników przed udzieleniem dostępu do CLI. Cisco obsługuje różne metody logowania, w tym lokalne hasła, serwery RADIUS/TACACS+, certyfikaty oraz wielopoziomowe uwierzytelnienie. Logowanie może odbywać się poprzez konsolę, Telnet, SSH czy AUX.

Kluczowe aspekty logowania obejmują:

  • Lokalne uwierzytelnienie: Hasła przechowywane lokalnie na urządzeniu.
  • Zdalne uwierzytelnienie: Korzystanie z zewnętrznych serwerów AAA (Authentication, Authorization, Accounting).
  • Wielofaktorowe uwierzytelnienie: Kombinacja hasła i innych czynników, jak tokeny.
  • Blokowanie kont: Mechanizmy zapobiegające atakom brute-force.

Poniżej schemat przedstawia proces logowania z wykorzystaniem serwera RADIUS.

    Użytkownik ----> Router ----> RADIUS Server
        |              |              |
        |  Wprowadź   |  Wysyłaj      |  Weryfikuj
        |  dane       |  zapytanie    |  dane
        |              |  AAA         |
        |<-------------|--------------|
        |  Odpowiedź   |              |
        |  (dostęp     |              |
        |   przyznany) |              |

Schemat ilustruje trójstronny proces: użytkownik wprowadza dane, router przesyła je do serwera RADIUS, który weryfikuje i odpowiada.

Konfiguracja logowania

Przykład 1: Ustawienie hasła dla linii konsoli

Polecenie password cisco w trybie konfiguracji linii ustawia hasło dla dostępu poprzez konsolę. Jest to podstawowa metoda zabezpieczenia fizycznego dostępu.

Router# configure terminal
Router(config)# line console 0
Router(config-line)# password cisco
Router(config-line)# login
Router(config-line)# end

Po konfiguracji każdy dostęp poprzez konsolę będzie wymagał podania hasła ‚cisco’. Polecenie login włącza uwierzytelnienie.

Przykład 2: Konfiguracja logowania SSH

Polecenie crypto key generate rsa modulus 2048 generuje klucz RSA dla SSH, a następnie ip ssh version 2 ustawia wersję protokołu. SSH zapewnia bezpieczne logowanie zdalne.

Router# configure terminal
Router(config)# crypto key generate rsa modulus 2048
Router(config)# ip ssh version 2
Router(config)# line vty 0 4
Router(config-line)# transport input ssh
Router(config-line)# login local
Router(config-line)# end

W przykładzie generowany jest klucz, ustawiana wersja SSH i włączane logowanie lokalne dla linii VTY (wirtualnych terminali).

Przykład 3: Konfiguracja serwera RADIUS dla logowania

Polecenie radius-server host 192.168.1.10 key secretkey dodaje serwer RADIUS, a aaa authentication login default group radius local ustawia domyślną metodę uwierzytelnienia.

Router# configure terminal
Router(config)# radius-server host 192.168.1.10 key secretkey
Router(config)# aaa new-model
Router(config)# aaa authentication login default group radius local
Router(config)# end

Konfiguracja włącza model AAA i ustawia logowanie poprzez RADIUS z fallbackiem na lokalne hasła.

Przykład 4: Ustawienie limitu prób logowania

Polecenie login block-for 120 attempts 3 within 60 blokuje logowanie na 120 sekund po 3 nieudanych próbach w ciągu 60 sekund. Chroni przed atakami brute-force.

Router# configure terminal
Router(config)# login block-for 120 attempts 3 within 60
Router(config)# end

To ustawienie zwiększa bezpieczeństwo poprzez automatyczne blokowanie po wielokrotnych niepowodzeniach.

Przykład 5: Wyświetlenie statusu logowania

Polecenie show login wyświetla informacje o bieżących sesjach logowania, w tym blokadach i statystykach prób.

Router# show login
A login block is NOT active.
Last login failed attempt was never.

Wynik pokazuje, że nie ma aktywnej blokady i nigdy nie było nieudanych prób, co wskazuje na prawidłową konfigurację.

Używanie haseł

Hasła są podstawowym mechanizmem uwierzytelnienia w urządzeniach Cisco. Ich prawidłowe używanie obejmuje wybór silnych haseł, regularną zmianę oraz odpowiednie przechowywanie. Cisco oferuje różne typy haseł: dla linii (console, VTY), enable, użytkowników lokalnych itp.

Kluczowe zasady używania haseł:

  • Długość i złożoność: Hasła powinny mieć co najmniej 8 znaków, zawierać wielkie/małe litery, cyfry i symbole.
  • Unikalność: Każde urządzenie powinno mieć unikalne hasła.
  • Rotacja: Regularna zmiana haseł co 30-90 dni.
  • Bezpieczne przechowywanie: Unikanie zapisywania haseł w postaci jawnej.

W tej sekcji skupimy się na praktycznych przykładach bez ASCII ART, koncentrując się na poleceniach CLI.

Zarządzanie hasłami

Przykład 1: Ustawienie hasła enable

Polecenie enable secret cisco123 ustawia tajne hasło enable, które jest szyfrowane i bezpieczniejsze niż zwykłe enable password.

Router# configure terminal
Router(config)# enable secret cisco123
Router(config)# end

Hasło ‚cisco123’ jest przechowywane w postaci zaszyfrowanej, co zapobiega jego odczytaniu z konfiguracji.

Przykład 2: Dodanie użytkownika lokalnego z hasłem

Polecenie username admin secret mypassword tworzy użytkownika ‚admin’ z tajnym hasłem. Jest to metoda lokalnego uwierzytelnienia.

Router# configure terminal
Router(config)# username admin secret mypassword
Router(config)# end

Użytkownik może teraz logować się używając nazwy ‚admin’ i hasła ‚mypassword’.

Przykład 3: Ustawienie hasła dla linii VTY

Polecenie password telnetpass w konfiguracji linii VTY ustawia hasło dla dostępu Telnet. Jest to starsza metoda, obecnie zalecane jest SSH.

Router# configure terminal
Router(config)# line vty 0 4
Router(config-line)# password telnetpass
Router(config-line)# login
Router(config-line)# end

Hasło ‚telnetpass’ umożliwia dostęp poprzez Telnet, ale transmisja nie jest szyfrowana.

Przykład 4: Zmiana hasła użytkownika

Polecenie username admin secret newpassword zmienia hasło istniejącego użytkownika. Wymaga potwierdzenia w przypadku nadpisania.

Router# configure terminal
Router(config)# username admin secret newpassword
Router(config)# end

Stare hasło zostaje zastąpione nowym ‚newpassword’, co jest częścią procedury rotacji haseł.

Przykład 5: Wyświetlenie użytkowników i haseł (zaszyfrowanych)

Polecenie show running-config | include username wyświetla skonfigurowanych użytkowników z zaszyfrowanymi hasłami.

Router# show running-config | include username
username admin secret 5 $1$mERr$hx5rVt7rPNoS4wqbXKX7m0

Wynik pokazuje użytkownika ‚admin’ z hasłem zaszyfrowanym algorytmem MD5 (typ 5), co zapewnia bezpieczeństwo.

Szyfrowanie haseł

Szyfrowanie haseł jest krytycznym aspektem bezpieczeństwa, ponieważ zapobiega odczytaniu haseł z plików konfiguracyjnych. Cisco IOS oferuje różne poziomy szyfrowania: typ 0 (jawny tekst), typ 5 (MD5), typ 7 (słaby Vigenere), typ 8 (PBKDF2) i typ 9 (SCrypt).

Rekomendowane typy:

  • Typ 5: MD5, dobry dla starszych urządzeń.
  • Typ 8: PBKDF2, silniejszy, zalecany dla nowych instalacji.
  • Typ 9: SCrypt, najnowszy i najbezpieczniejszy.

Szyfrowanie automatycznie stosuje się przy użyciu secret zamiast password.

Konfiguracja szyfrowania

Przykład 1: Szyfrowanie hasła enable typem 5

Polecenie enable secret level 5 cisco wymusza szyfrowanie MD5 dla hasła enable.

Router# configure terminal
Router(config)# enable secret cisco
Router(config)# end

Hasło jest automatycznie szyfrowane typem 5 (MD5) przy użyciu secret.

Przykład 2: Szyfrowanie hasła użytkownika typem 8

Polecenie username test secret 8 mypass używa PBKDF2 do szyfrowania hasła użytkownika.

Router# configure terminal
Router(config)# username test secret 8 mypass
Router(config)# end

Typ 8 zapewnia silniejsze szyfrowanie niż MD5, odporne na ataki słownikowe.

Przykład 3: Szyfrowanie hasła użytkownika typem 9

Polecenie username test secret 9 mypass stosuje SCrypt, najnowszy algorytm szyfrowania.

Router# configure terminal
Router(config)# username test secret 9 mypass
Router(config)# end

SCrypt jest odporny na ataki wykorzystujące sprzęt specjalistyczny, jak FPGA.

Przykład 4: Migracja hasła do wyższego typu szyfrowania

Polecenie service password-encryption szyfruje istniejące hasła typem 7, ale dla lepszego bezpieczeństwa użyj secret.

Router# configure terminal
Router(config)# service password-encryption
Router(config)# no enable password
Router(config)# enable secret newpass
Router(config)# end

Polecenie service password-encryption szyfruje słabe hasła, ale lepiej używać secret dla typów 5/8/9.

Przykład 5: Weryfikacja typu szyfrowania

Polecenie show running-config | include secret pozwala sprawdzić typ szyfrowania w konfiguracji.

Router# show running-config | include secret
enable secret 5 $1$mERr$hx5rVt7rPNoS4wqbXKX7m0
username admin secret 8 $8$...

Wynik pokazuje typ 5 dla enable i typ 8 dla użytkownika, co potwierdza odpowiednie szyfrowanie.

Inna obsługa: Zarządzanie użytkownikami i protokoły AAA

Oprócz podstawowych mechanizmów, Cisco oferuje zaawansowane metody obsługi bezpieczeństwa, takie jak zarządzanie użytkownikami, listy dostępu oraz integracja z protokołami AAA (RADIUS/TACACS+). Te mechanizmy umożliwiają scentralizowane zarządzanie uwierzytelnianiem, autoryzacją i księgowaniem.

Kluczowe elementy:

  • TACACS+: Protokół Cisco dla AAA, zapewniający szczegółową kontrolę.
  • RADIUS: Standardowy protokół dla uwierzytelnienia i autoryzacji.
  • Listy dostępu: ACL do ograniczania dostępu do poleceń.
  • Role użytkowników: Grupowanie użytkowników z podobnymi uprawnieniami.

Poniżej schemat przedstawia integrację z serwerem TACACS+.

    Router ----> TACACS+ Server
      |              |
      |  Auth        |  Authenticate
      |  Request     |  User
      |              |
      |<-------------|
      |  Auth        |
      |  Success     |
      |              |
      |  Author      |
      |  Request     |
      |              |
      |<-------------|
      |  Author      |
      |  Response    |

Schemat pokazuje dwuetapowy proces: uwierzytelnienie, a następnie autoryzacja poprzez TACACS+.

Zaawansowana konfiguracja

Przykład 1: Konfiguracja TACACS+ dla AAA

Polecenie tacacs-server host 192.168.1.20 key tacacskey dodaje serwer TACACS+, a aaa authentication login default group tacacs+ local ustawia domyślną metodę.

Router# configure terminal
Router(config)# tacacs-server host 192.168.1.20 key tacacskey
Router(config)# aaa new-model
Router(config)# aaa authentication login default group tacacs+ local
Router(config)# end

TACACS+ zapewnia scentralizowane zarządzanie użytkownikami z fallbackiem na lokalne.

Przykład 2: Tworzenie roli użytkownika z ACL

Polecenie aaa authorization exec default group tacacs+ local włącza autoryzację EXEC, a ACL ogranicza dostęp do poleceń.

Router# configure terminal
Router(config)# aaa authorization exec default group tacacs+ local
Router(config)# access-list 10 permit 192.168.1.0 0.0.0.255
Router(config)# line vty 0 4
Router(config-line)# access-class 10 in
Router(config-line)# end

ACL 10 pozwala na dostęp tylko z sieci 192.168.1.0/24, zwiększając bezpieczeństwo.

Przykład 3: Konfiguracja księgowania AAA

Polecenie aaa accounting exec default start-stop group tacacs+ włącza księgowanie sesji EXEC.

Router# configure terminal
Router(config)# aaa accounting exec default start-stop group tacacs+
Router(config)# end

Księgowanie rejestruje wszystkie sesje, umożliwiając audyt i monitorowanie dostępu.

Przykład 4: Dodanie użytkownika z rolą

Polecenie username operator privilege 5 secret oppass tworzy użytkownika z poziomem 5, ograniczając uprawnienia.

Router# configure terminal
Router(config)# username operator privilege 5 secret oppass
Router(config)# end

Użytkownik ‚operator’ ma dostęp tylko do poleceń poziomu 5, co implementuje zasadę najmniejszych uprawnień.

Przykład 5: Wyświetlenie statusu AAA

Polecenie show aaa servers wyświetla status serwerów AAA i statystyki połączeń.

Router# show aaa servers
RADIUS: id 1, priority 1, host 192.168.1.10, auth-port 1645, acct-port 1646
     State: current UP, duration 123456s, previous duration 0s
     Dead: total 0, count 0
TACACS+: id 2, priority 1, host 192.168.1.20, port 49
     State: current UP, duration 123456s, previous duration 0s
     Dead: total 0, count 0

Wynik pokazuje, że oba serwery (RADIUS i TACACS+) są dostępne i działają prawidłowo.

Podsumowanie

W niniejszym artykule omówiliśmy kluczowe aspekty bezpieczeństwa dostępu na przełącznikach i routerach Cisco, począwszy od poziomów dostępu, poprzez mechanizmy logowania, używanie i szyfrowanie haseł, aż po zaawansowane metody obsługi z wykorzystaniem protokołów AAA. Przedstawione przykłady poleceń CLI stanowią praktyczne narzędzie dla administratorów sieci, umożliwiając implementację bezpiecznych konfiguracji.

Ważne jest, aby pamiętać o regularnym aktualizowaniu haseł, stosowaniu silnych algorytmów szyfrowania oraz integracji z zewnętrznymi serwerami AAA dla większych środowisk. Przestrzeganie tych praktyk znacząco zmniejsza ryzyko nieautoryzowanego dostępu i zapewnia integralność infrastruktury sieciowej.

Nawigacja

← Sprawdzanie praw autorskich audio
Cisco i listy ACL – wprowadzenie →
  • Szukaj

  • Kategorie

    • IT ogólnie (93)
      • Bezpieczeństwo (18)
        • Model AAA (7)
        • Szyfrowanie (1)
      • CCTV (3)
      • Hardware (1)
      • Sieci (20)
        • Cisco (2)
          • Obsługa haseł (2)
        • MikroTik (8)
        • Pomiary w sieciach LAN (6)
          • iptraf-ng (3)
        • Symulator sieci GNS3 (2)
      • Software (41)
        • Programowanie (3)
        • Systemy operacyjne (15)
          • Linux Debian (14)
        • Windows (7)
      • WiFi (2)
      • Wirtualizacja (26)
    • Różne (1)
  • Ostatnie wpisy

    • Dostęp do WebFig za pomocą HTTPS z własnym certyfikatem (samopodpisanym)
    • Cisco i listy ACL – wprowadzenie
    • Cisco – obsługa haseł
    • Sprawdzanie praw autorskich audio
    • Wprowadzenie do kryptografii i kryptoanalizy
  • Strona odwiedzona

    od 11.01.2013

  • Doskonała platforma e-learningowa Uzyskaj certyfikat IT

Proudly powered by WordPress Theme: Parament by Automattic.
7ads6x98y