Wykład 1 Zarządzanie adresacją IP, protokół DHCP, hierarchia DNS i rozwiązywanie nazw w sieciach lokalnych.
W nowo powstałym biurze firmy potrzeba zapewnić automatyczną konfigurację IP dla wszystkich stacji roboczych, aby użytkownicy mogli od razu pracować bez ręcznego wpisywania adresów i parametrów sieciowych. Administrator musi skonfigurować router MikroTik jako serwer DHCP, który przydziela adresy IP z puli 100-200 oraz automatycznie przekazuje bramę domyślną i serwery DNS. Jednocześnie router powinien pełnić rolę lokalnego serwera DNS z cache, aby przyspieszyć rozwiązywanie nazw domenowych używanych w sieci LAN i umożliwić definiowanie własnych nazw dla lokalnych usług, takich jak serwer plików czy drukarka sieciowa. Twoim zadaniem jest skonfigurować obie usługi na routerze MikroTik, przetestować ich działanie z klienta Linux oraz zabezpieczyć serwer DNS przed dostępem z sieci WAN. Na koniec musisz udokumentować proces DORA i zweryfikować rozpoznawanie nazw DNS z klienta Linux.
nslookup router.local (Windows) lub dig router.local (Linux) — zweryfikują one, czy lokalny wpis DNS jest rozpoznawany./log print where topics~"dhcp" — zobaczysz komunikaty Discover, Offer, Request i Acknowledge.nslookup google.com).
Podczas realizacji zadania skonfigurowano podstawowe usługi sieciowe DHCP i DNS w systemie MikroTik RouterOS, które stanowią fundament sprawnego funkcjonowania sieci lokalnej. Poprawnie skonfigurowany serwer DHCP zapewnia automatyczną konfigurację stacji roboczych, eliminując problem błędnie wpisanych adresów IP i bram przez użytkowników końcowych. Rezerwacje adresów (Static Lease) pozwalają na przypisanie stałych adresów do urządzeń wymagających niezmiennej adresacji, takich jak serwery czy drukarki sieciowe. Serwer DNS pełniący funkcję cache znacząco przyspiesza rozwiązywanie nazw domenowych przez przechowywanie wyników zapytań lokalnie, co redukuje opóźnienia i obciążenie zewnętrznych serwerów DNS. Statyczne wpisy DNS umożliwiają definiowanie własnych nazw dla lokalnych usług, co ułatwia dostęp do zasobów firmowych bez konieczności pamiętania ich adresów IP. Zabezpieczenie serwera DNS przed dostępem z sieci WAN jest kluczowe dla bezpieczeństwa infrastruktury, ponieważ otwarty serwer DNS może być wykorzystany do ataków typu DNS amplification. Podsumowując, usługi DHCP i DNS są niezbędne do prawidłowego działania sieci, a ich poprawna konfiguracja i zabezpieczenie stanowią podstawę profesjonalnej administracji siecią.
Wykład 1 Znaczenie czasu systemowego w logowaniu zdarzeń, certyfikatach i bezpieczeństwie usług sieciowych.
Prawidłowy czas systemowy na wszystkich urządzeniach sieciowych jest kluczowy dla bezpieczeństwa i diagnostyki — bez synchronizacji logi z różnych urządzeń nie dają się skorelować, a certyfikaty SSL/TLS mogą być odrzucane jako nieważne z powodu błędnych dat. Administrator musi skonfigurować router MikroTik jako klienta NTP synchronizującego się z publicznymi serwerami czasu (pool.ntp.org), a następnie uruchomić serwer NTP na tym routerze dla pozostałych urządzeń w sieci, takich jak serwery Linux czy przełączniki. Twoim zadaniem jest skonfigurować strefę czasową Europe/Warsaw, włączyć klienta i serwera NTP, a następnie zweryfikować poprawność synchronizacji na kliencie Linux oraz udokumentować offset czasu przed i po synchronizacji.
/system ntp — w starszych wersjach pakiet ntp wymaga osobnej instalacji.Europe/Warsaw — ustaw ją poleceniem /system clock set time-zone-name=Europe/Warsaw przed aktywacją NTP./system clock print — pole time pokazuje aktualny czas, a synchronized wskazuje status synchronizacji (yes/no).chrony lub systemd-timesyncd — skonfiguruj je tak, aby wskazywały na adres IP routera MikroTik jako serwer NTP.chronyc tracking (dla chrony) lub timedatectl (dla systemd-timesyncd) — wartość offsetu nie powinna przekraczać kilku sekund./log print) możesz śledzić komunikaty dotyczące synchronizacji NTP — filtruj logi poleceniem /log print where topics~"ntp".Synchronizacja czasu jest krytycznym elementem administracji siecią, mającym bezpośredni wpływ na bezpieczeństwo i możliwość analizy incydentów. Prawidłowy czas systemowy jest niezbędny do poprawnego działania protokołów SSL/TLS, gdzie ważność certyfikatów jest weryfikowana na podstawie daty wydania i wygaśnięcia. W przypadku niesynchronizowanego czasu połączenia szyfrowane mogą być odrzucane jako nieprawidłowe, co skutkuje niemożnością nawiązania bezpiecznej komunikacji. Mechanizm NTP w RouterOS pozwala routerowi pełnić rolę serwera czasu dla urządzeń w sieci lokalnej, co centralizuje zarządzanie czasem i zapewnia spójność zegarów wszystkich urządzeń. Wybór odpowiedniej strefy czasowej (Europe/Warsaw) jest kluczowy dla poprawnej interpretacji zdarzeń w logach systemowych, zwłaszcza przy korelacji zdarzeń między różnymi urządzeniami. Włączenie serwera NTP tylko dla interfejsów LAN zapobiega potencjalnym atakom typu NTP amplification z sieci WAN. Dokumentowanie offsetu czasu przed i po synchronizacji pozwala ocenić dokładność synchronizacji i czas potrzebny na ustabilizowanie zegara. Podsumowując, centralizacja zarządzania czasem poprzez NTP jest fundamentem profesjonalnej administracji siecią i bezpieczeństwa IT.
Wykład 2 i Wykład 7 Bezpieczeństwo usług zarządzania, hardening systemowy, minimalizacja powierzchni ataku.
Routery wystawione bezpośrednio do Internetu są nieustannie skanowane przez automatyczne boty szukające słabych punktów wejścia — domyślne usługi takie jak Telnet, HTTP czy FTP stanowią poważne zagrożenie bezpieczeństwa. Zadaniem administratora jest przeprowadzenie procedury utwardzania (hardening) routera MikroTik, obejmującej wyłączenie zbędnych usług, zmianę domyślnego portu SSH na niestandardowy, ograniczenie dostępu SSH do zaufanych adresów IP oraz konfigurację reguł firewalla blokujących cały ruch przychodzący z WAN. Musisz również wyłączyć domyślne konto administratora i utworzyć nowe konto z uprawnieniami pełnymi, a następnie przetestować dostęp z nieautoryzowanych adresów, aby upewnić się, że zabezpieczenia działają poprawnie.
/ip service set ssh port=2222 — po zmianie połączenia testuj z konsoli Linux poleceniem ssh -p 2222 uzytkownik@adres_ip.strong-crypto=yes) wykluczy połączenia ze starszymi klientami SSH — upewnij się, że wszyscy administratorzy używają nowoczesnych klientów SSH./ip neighbor discovery-settings set discover-interface-list=none dla interfejsu WAN — zapobiega to wykryciu routera przez nieautoryzowanych użytkowników./log print where topics~"ssh") i ostatnią wprowadzoną regułę.ssh-keygen -t ed25519 na kliencie Linux i dodawaj klucz publiczny do użytkownika w RouterOS.Procedura utwardzania (hardening) routera jest fundamentem bezpieczeństwa sieci i powinna być przeprowadzona przed podłączeniem urządzenia do sieci produkcyjnej. Wyłączenie zbędnych usług (telnet, ftp, www, api, api-ssl) znacząco redukuje powierzchnię ataku i eliminuje potencjalne wektory ataku. Ograniczenie dostępu SSH do zaufanych adresów IP poprzez address list zapobiega atakom siłowym i próbom zgadywania haseł z nieautoryzowanych lokalizacji. Zmiana domyślnego portu SSH na niestandardowy utrudnia automatyczne skanowanie i próby automatycznego logowania przez boty. Włączenie silnej kryptografii (strong-crypto) zapewnia użycie bezpiecznych algorytmów szyfrujących, eliminując podatności związane ze starszymi protokołami. Utworzenie dedykowanego konta administratora i wyłączenie konta domyślnego "admin" chroni przed atakami dedykowanymi do domyślnych poświadczeń MikroTik. Reguły firewalla blokujące cały ruch przychodzący z WAN tworzą skuteczną barierę przed nieautoryzowanymi próbami połączenia. Dokumentowanie wszystkich zmian konfiguracyjnych i zachowanie procedury rollback jest kluczowe dla bezpieczeństwa operacyjnego. Podsumowując, hardening routera to proces ciągły, a nie jednorazowe działanie, wymagający regularnego przeglądu i aktualizacji zabezpieczeń.
Wykład 2 Bezpieczeństwo przesyłu danych przez publiczne sieci, kryptografia symetryczna i asymetryczna, standard IPsec.
Firma posiada dwa biura w różnych miastach (Kraków i Warszawa), które muszą bezpiecznie wymieniać poufne dane przez publiczną sieć Internet. Plaintext ruch sieciowy jest podatny na podsłuch i modyfikację przez osoby trzecie, dlatego administrator zdecydował o utworzeniu tunelu VPN Site-to-Site IPsec między routerami MikroTik. Twoim zadaniem jest skonfigurować profile Phase 1 (AES-256, SHA-256), proposal Phase 2, peer oraz polityki IPsec dla ruchu między sieciami 192.168.10.0/24 i 192.168.20.0/24, skonfigurować NAT Exemption, a następnie zweryfikować działanie tunelu za pomocą pingów i Wiresharkem sprawdzić, czy ruch jest faktycznie szyfrowany.
/ip firewall nat add chain=srcnat action=accept src-address=192.168.10.0/24 dst-address=192.168.20.0/24 place-before=0.Tunel VPN IPsec Site-to-Site zapewnia bezpieczną komunikację między oddziałami firmy przez publiczną sieć Internet, szyfrując cały ruch i chroniąc poufne dane przed podsłuchem. Poprawna konfiguracja Phase 1 (Profile) i Phase 2 (Proposal) z identycznymi parametrami po obu stronach jest kluczowa dla ustanowienia połączenia — różnice w algorytmach szyfrowania lub grupach Diffie-Hellman powodują brak negocjacji Security Associations. Użycie silnych algorytmów (AES-256, SHA-256) oraz odpowiedniej grupy DH (modp1024 lub wyższej) zapewnia ochronę przed współczesnymi atakami kryptograficznymi. Mechanizm NAT Exemption jest niezbędny do prawidłowego działania tunelu — reguła NAT musi być umieszczona przed regułą masquerade, aby ruch między oddziałami nie był translacji adresów. Dead Peer Detection (DPD) automatycznie wykrywa przerwę w połączeniu i inicjuje ponowne ustanowienie tunelu, co minimalizuje przestój. Pre-shared Key (PSK) powinien być wystarczająco silny i przechowywany w bezpieczny sposób — słabe PSK jest podatne na ataki brute-force. Wireshark pozwala zweryfikować, czy ruch jest faktycznie szyfrowany (pakiety ESP) i czy nie ma przecieków plaintext. Dokumentowanie konfiguracji po obu stronach jest kluczowe dla późniejszego rozwiązywania problemów. Podsumowując, IPsec jest dojrzałym i bezpiecznym rozwiązaniem do łączenia oddziałów, wymagającym jednak precyzyjnej konfiguracji i testowania.
Wykład 3 Systemy monitorowania NMS, protokół SNMP (v2c/v3), parametry OID i MIB.
Aby uniknąć niespodziewanych przerw w działaniu usług sieciowych, administrator potrzebuje proaktywnego monitoringu infrastruktury — wiedzieć o problemach zanim zadzwonią użytkownicy. Wymagane jest monitorowanie obciążenia CPU, pamięci RAM i ruchu na interfejsach wszystkich routerów MikroTik. Administrator zdecydował o wdrożeniu serwera Zabbix na Linux, który będzie zbierał dane przez protokół SNMP. Twoim zadaniem jest włączyć i skonfigurować SNMP na routerze MikroTik (community string, ograniczenie do IP serwera Zabbix), zainstalować i skonfigurować Zabbix, dodać host z szablonem dla MikroTik, a następnie zweryfikować czy dane są zbierane i wyświetlane na wykresach.
/snmp set enabled=yes — domyślnie usługa jest wyłączona ze względów bezpieczeństwa.snmpwalk służy do weryfikacji dostępności OID: snmpwalk -v 2c -c public_read 192.168.10.1 — zwróci ono listę wszystkich dostępnych parametrów SNMP.System monitoringu SNMP z Zabbix stanowi kluczowy element zarządzania siecią, umożliwiając proaktywne wykrywanie problemów przed ich eskalacją do poziomu krytycznego. Poprawna konfiguracja community string z ograniczeniem do adresu IP serwera Zabbix jest fundamentalna dla bezpieczeństwa — nieuprzywilejowany dostęp do SNMP może ujawnić wrażliwe informacje o konfiguracji sieci. Protokół SNMP v2c mimo braku szyfrowania jest wystarczający w środowisku laboratoryjnym, ale w produkcji należy rozważyć migrację do v3 z uwierzytelnianiem i szyfrowaniem. Trigger'y konfigurowane z odpowiednim opóźnieniem zapobiegają fałszywym alarmom generowanym przez chwilowe skoki obciążenia. Analiza wykresów historycznych pozwala na identyfikację trendów i planowanie pojemności — np. stopniowy wzrost wykorzystania pasma może sygnalizować potrzebę rozbudowy łącza. Szablony dla MikroTik dostarczają predefiniowanych pozycji i wykresów, co przyspiesza wdrożenie monitoringu. Narzędzie snmpwalk jest nieocenione przy debuggingu i weryfikacji dostępności konkretnych OID. Podsumowując, monitoring sieci jest inwestycją w ciągłość działania usług i umożliwia szybką reakcję na incydenty.
Wykład 3 i Wykład 9 Architektura logowania, retencja danych, analiza incydentów i diagnostyka błędów.
Logi na routerze MikroTik przechowują tylko ostatnie zdarzenia — po awarii lub ataku hackerów wszystkie dowody mogą zostać nadpisane. Administrator potrzebuje scentralizowanego systemu logowania, aby w przypadku incydentu móc przeanalizować wszystkie zdarzenia z różnych urządzeń w jednym miejscu i ustalić co dokładnie się wydarzyło. Twoim zadaniem jest zainstalować i skonfigurować serwer rsyslog na Linux (nasłuch na porcie 514/UDP), skonfigurować RouterOS do wysyłania logów (topics: critical, error, info) na ten serwer, otworzyć port w firewallu, a następnie wygenerować testowe zdarzenie (np. nieudane logowanie SSH) i zweryfikować czy pojawiło się w pliku /var/log/syslog na serwerze Linux.
sudo apt install rsyslog — w większości dystrybucji jest już zainstalowany, ale sprawdź jego status poleceniem systemctl status rsyslog.module(load="imudp") i input(type="imudp" port="514") — te dwie linie są niezbędne do odbierania logów przez UDP.sudo ufw allow 514/udp (dla UFW) lub dodaj regułę iptables: sudo iptables -A INPUT -p udp --dport 514 -j ACCEPT./system logging action add name=remote_syslog remote=192.168.10.50 target=remote — adres IP to adres serwera Linux z rsyslog.critical, error, warning, info, debug.grep i awk do filtrowania logów — np. grep "error" /var/log/syslog | tail -50 wyświetli 50 ostatnich błędów.Centralizacja logów systemowych jest fundamentem bezpieczeństwa i umożliwia korelację zdarzeń między różnymi urządzeniami w sieci. W przypadku incydentu bezpieczeństwa lub awarii, logi z wielu źródeł pozwalają na rekonstrukcję przebiegu zdarzeń i identyfikację przyczyny źródłowej. Konfiguracja rsyslog na Linux do nasłuchu na porcie 514/UDP jest standardem przemysłowym, zapewniającym kompatybilność z urządzeniami różnych producentów. Selektywne logowanie kategorii (critical, error, info) pozwala zarządzać wolumenem logów i skupić się na najważniejszych zdarzeniach. Log rotation jest krytyczna dla zapobiegania przepełnieniu dysku — automatyczna kompresja i usuwanie starych logów zapewnia ciągłość działania. Syslog over TLS (opcjonalnie) szyfruje transmisję logów, chroniąc przed podsłuchem w sieci. Analiza logów przy użyciu narzędzi takich jak grep i awk pozwala na szybkie filtrowanie i znajdowanie wzorców błędów. Dokumentowanie znaczenia różnych typów logów ułatwia późniejszą analizę i szkolenie personelu. Podsumowując, centralny syslog jest niezbędnym elementem infrastruktury bezpieczeństwa i powinien być wdrożony w każdym profesjonalnym środowisku sieciowym.
Wykład 4 Architektura systemów pocztowych, protokoły SMTP, IMAP, POP3, agenci MTA, MDA i MUA.
Firma potrzebuje własnej, niezależnej infrastruktury pocztowej do komunikacji wewnętrznej — poleganie na zewnętrznych dostawcach Gmail czy Office 365 nie jest akceptowalne ze względu na poufność danych firmowych. Administrator musi uruchomić na Linux serwer SMTP (Postfix) do wysyłania wiadomości oraz serwer IMAP (Dovecot) do odbierania i przechowywania poczty. Twoim zadaniem jest zainstalować oba pakiety, skonfigurować Postfix w trybie Internet Site z domeną firma.pl, skonfigurować format Maildir, utworzyć konta użytkowników (user1, user2), a następnie przetestować wysyłkę i odbiór poczty za pomocą telnet na port 25 lub klienta Thunderbird, aby upewnić się, że serwer działa poprawnie.
myhostname) musi być w pełni kwalifikowaną nazwą domeny (FQDN), np. mail.firma.pl — serwer pocztowy bez poprawnego FQDN będzie traktowany jako podejrzany przez inne serwery.postconf -e "home_mailbox = Maildir/" — Maildir jest nowoczesnym formatem, gdzie każda wiadomość to osobny plik, co ułatwia backup i synchronizację.sudo useradd -m user1 tworzysz użytkownika z katalogiem domowym.sudo maildirmake /home/user1/Maildir.HELO domena.pl następuje MAIL FROM: (FROM z dwukropkiem), a nie "from:".postconf -e "message_size_limit = 10240000" — domyślnie limit to ok. 10 MB.swaks (Swiss Army Knife for SMTP): swaks --to user2@firma.pl --server localhost — jest to wygodniejsze niż ręczne telnetowanie.Serwer pocztowy Postfix/Dovecot stanowi podstawę komunikacji e-mail w infrastrukturze firmowej, zapewniając pełną kontrolę nad przepływem wiadomości. Konfiguracja Postfix w trybie Internet Site z właściwą domeną FQDN jest niezbędna dla poprawnego działania i reputacji serwera — serwery pocztowe odbiorców weryfikują nazwę hosta nadawcy. Format Maildir zamiast przestarzałego mbox oferuje lepszą niezawodność i ułatwia backup, ponieważ każda wiadomość jest osobnym plikiem. Protokół IMAP (Dovecot) umożliwia synchronizację skrzynek między wieloma urządzeniami, co jest kluczowe dla nowoczesnych pracowników mobilnych. Uwierzytelnianie SMTP (SMTP AUTH) jest wymagane do wysyłania poczty przez zewnętrznych providerów i zapobiega open relay — serwer bez uwierzytelniania może być wykorzystany do rozsiewania spamu. Limity wielkości załączników chronią przed przeciążeniem serwera i nadużyciami. Analiza logów w /var/log/mail.log pozwala na debugging problemów i monitorowanie działania. Podsumowując, własny serwer pocztowy daje pełną kontrolę nad komunikacją, ale wymaga odpowiedzialnej administracji i dbałości o bezpieczeństwo.
Wykład 4 i Wykład 7 Zagrożenia w komunikacji e-mail (spoofing, phishing), mechanizmy uwierzytelniania nadawcy.
Własny serwer pocztowy bez zabezpieczeń jest podatny na podszywanie się pod domenę firmy — atakujący mogą wysyłać maile rzekomo od kierownictwa z fałszywymi linkami phishingowymi. Serwery odbiorców (Gmail, Outlook) nie mają jak zweryfikować autentyczności wiadomości bez dodatkowych mechanizmów, co powoduje, że nasze maile trafiają do spamu lub są odrzucane. Administrator musi wdrożyć trzy warstwy bezpieczeństwa: SPF (określa autoryzowane serwery wysyłające), DKIM (podpis cyfrowy wiadomości) i DMARC (polityka postępowania z nieautoryzowanymi wiadomościami). Twoim zadaniem jest dodać rekord TXT SPF w DNS routera MikroTik, zainstalować i skonfigurować OpenDKIM z Postfixem, dodać rekord DKIM do DNS oraz skonfigurować politykę DMARC, a następnie zweryfikować konfigurację narzędziem mail-tester.com.
v=spf1 ip4:ADRES_IP_SERWERA -all — "-all" oznacza, że wiadomości z innych adresów powinny być odrzucane (hard fail).sudo apt install opendkim opendkim-tools — następnie skonfiguruj plik /etc/opendkim.conf z parametrami domeny.opendkim-genkey -s mail -d firma.pl — utworzy to dwa pliki: mail.private (klucz prywatny) i mail.txt (rekord DNS z kluczem publicznym).smtpd_milters = inet:localhost:8891 i non_smtpd_milters = inet:localhost:8891.v=DMARC1; p=quarantine; rua=mailto:raporty@firma.pl — "p=quarantine" kwarantannuje nieautoryzowane wiadomości.Mechanizmy bezpieczeństwa poczty e-mail (SPF, DKIM, DMARC) są kluczowe dla ochrony domeny firmowej przed spoofingiem i phishingem. Rekord SPF definiuje, które serwery są autoryzowane do wysyłania wiadomości w imieniu domeny, co pozwala odbiorcom na odrzucenie wiadomości pochodzących z nieautoryzowanych źródeł. Podpisy DKIM zapewniają integralność wiadomości — każda wiadomość jest podpisywana kluczem prywatnym, a odbiorca weryfikuje podpis kluczem publicznym z DNS. Polityka DMARC definiuje, co odbiorca ma robić z wiadomościami nieprzechodzącymi uwierzytelniania — od kwarantanny po całkowite odrzucenie. Wdrożenie wszystkich trzech mechanizmów znacząco redukuje ryzyko, że wiadomości z domeny będą klasyfikowane jako spam. Selektor w DKIM pozwala na wiele kluczy dla różnych usług lub rotacji kluczy bez przestoju. Walidacja narzędziem mail-tester.com jest niezbędna przed wdrożeniem produkcyjnym. Podsumowując, SPF/DKIM/DMARC to współczesny standard bezpieczeństwa e-mail, który powinien być wdrożony na każdym profesjonalnym serwerze pocztowym.
Wykład 5 Usługi plikowe SMB/CIFS, zarządzanie uprawnieniami (ACL), protokół uwierzytelniania Kerberos.
Pracownicy biura potrzebują wspólnej przestrzeni dyskowej do przechowywania projektów i plików roboczych — wymiana przez email jest nieefektywna, a udostępnianie przez USB stwarza ryzyko bezpieczeństwa i utraty kontroli wersji. Serwer plików musi umożliwiać dostęp z różnych systemów operacyjnych (Windows, Linux) oraz zapewniać kontrolę dostępu na poziomie użytkowników i grup z oddzielnymi uprawnieniami do odczytu i zapisu. Twoim zadaniem jest zainstalować serwer Samba na Linux, skonfigurować zasób [Public] tylko do odczytu dla wszystkich oraz zasób [Projects] z prawami zapisu dla grupy technicy, utworzyć użytkowników i grupy, skonfigurować uprawnienia na poziomie systemu plików, a następnie przetestować dostęp z klienta Windows i Linux oraz zmierzyć wydajność transferu danych.
dpkg -l | grep samba — w niektórych systemach domyślnie instalowany jest tylko Samb4.sudo mkdir -p /srv/samba/projects z odpowiednimi uprawnieniami: sudo chown root:technicy /srv/samba/projects.sudo useradd -M -s /sbin/nologin user1.sudo smbpasswd -a user1 — system poprosi o hasło, które będzie używane do uwierzytelniania w Windows/Linux.sudo groupadd technicy i dodaj użytkowników: sudo usermod -aG technicy user1.net use * \\\\ADRES_IP\\Projects — w Windows 10/11 domyślnie SMBv1 jest wyłączony, więc upewnij się, że używasz SMBv2/v3.smbclient -L //ADRES_IP -U user1 — lista zasobów powinna pokazać wszystkie skonfigurowane udziały.dd if=/dev/zero of=/mnt/sambatest bs=1M count=100 i mierz czas — typowa sieć 1 Gbps powinna osiągać ~100 MB/s.Serwer plików Samba jest standardem udostępniania zasobów w środowiskach heterogenicznych, umożliwiając współdzielenie plików między systemami Linux i Windows bez dodatkowego oprogramowania po stronie klienta. Poprawna konfiguracja uprawnień na poziomie systemu plików (chmod/chown/ACL) ma pierwszeństwo przed ustawieniami Samby — bezpieczeństwo plików zaczyna się od systemu operacyjnego. Baza haseł Samby (smbpasswd) jest oddzielna od haseł systemowych, co wymaga zarządzania dwoma zestawami poświadczeń, ale zwiększa elastyczność. Format uprawnień z użyciem grup systemowych (@technicy) pozwala na łatwe zarządzanie dostępem dla wielu użytkowników jednocześnie. Protokoły SMBv2/v3 zapewniają lepsze bezpieczeństwo i wydajność niż starszy SMBv1, który jest domyślnie wyłączony w nowszych systemach Windows. Wydajność sieci 1 Gbps pozwala na transfery rzędu 100 MB/s, co jest wystarczające dla większości zastosowań biurowych. Przygotowanie struktury do integracji z Active Directory ułatwia przyszłą migrację do pełnego kontrolera domeny. Podsumowując, Samba jest dojrzałym rozwiązaniem do współdzielenia plików, oferującym kompatybilność z ekosystemem Windows.
Wykład 5 Sieciowe systemy plików (NFS), pamięci masowe w sieciach SAN/NAS, protokół blokowy iSCSI.
W środowisku serwerowym Linux wymagane jest współdzielenie plików konfiguracyjnych i danych aplikacyjnych w sposób wydajny i przeźroczysty dla systemu — NFS zapewnia dostęp plikowy, gdzie zdalny katalog widoczny jest jak lokalny. Dodatkowo maszyny wirtualne potrzebują dedykowanych dysków, ale fizyczne serwery mają ograniczoną liczbę slotów — iSCSI pozwala udostępnić surowy dysk (LUN) przez sieć, który VM widzi jako lokalny dysk. Twoim zadaniem jest zainstalować i skonfigurować serwer NFS (eksport /srv/nfs), skonfigurować klienta NFS z wpisem w /etc/fstab, zainstalować iSCSI Target (tgt), utworzyć plik-obraz 2GB jako LUN i udostępnić go klientowi iSCSI, a następnie porównać wydajność NFS i iSCSI oraz udokumentować różnice między dostępem plikowym a blokowym.
sudo apt install nfs-kernel-server nfs-common — nfs-common zawiera klienta NFS./srv/nfs 192.168.10.0/24(rw,sync,no_subtree_check,no_root_squash).no_root_squash pozwala rootowi klienta na dostęp jako root na serwerze — używaj jej ostrożnie, najlepiej tylko w środowisku lab. Zwykle stosuje się root_squash.sudo exportfs -ra — polecenie to aktualizuje listę eksportów bez restartu usługi.serwer:/srv/nfs /mnt/nfs nfs defaults 0 0 — montowanie przy starcie systemu.sudo apt install tgt — w nowszych dystrybucjach możesz też użyć targetcli (LIO).sudo truncate -s 2G /srv/iscsi_disks/disk1.img — sparse file alokuje miejsce tylko w miarę potrzeby.cat /etc/iscsi/initiatorname.iscsi — skopiuj go do konfiguracji Target ACL.sudo apt install open-iscsi — usługa iscsid łączy się z Target i udostępnia dysk lokalnie.sudo mkfs.ext4 /dev/sdb i zamontuj: sudo mount /dev/sdb /mnt/iscsi.dd if=/dev/zero | nc serwer PORT dla NFS i porównuj z zapisem na dysku iSCSI — iSCSI powinien oferować mniejsze opóźnienia, NFS większą przepustowość dla małych plików.
NFS i iSCSI to dwa fundamentalnie różne podejścia do udostępniania zasobów dyskowych w sieci, każde z własnymi zastosowaniami. NFS (Network File System) to protokół plikowy, który udostępnia całe systemy plików — użytkownik widzi zdalny katalog jak lokalny, uprawnienia są mapowane przez UID/GID. iSCSI to protokół blokowy, który udostępnia surowy dysk (LUN), który system operacyjny widzi jako lokalne urządzenie blokowe i sam zarządza systemem plików. NFS jest prostszy w konfiguracji i idealny do współdzielenia plików konfiguracyjnych, kodów źródłowych i danych w trybie read-heavy. iSCSI oferuje mniejsze opóźnienia i lepszą wydajność dla obciążeń transactionalnych, takich jak bazy danych czy maszyny wirtualne. Sparse files są wydajnym sposobem alokacji miejsca dla dysków iSCSI — miejsce jest alokowane tylko w miarę zapisu danych. Synchronizacja UID/GID między serwerem a klientem NFS jest kluczowa dla spójności uprawnień. Podsumowując, wybór między NFS a iSCSI zależy od charakterystyki obciążenia i wymagań wydajnościowych.
Wykład 6 Utrzymanie wysokiej dostępności usług HTTP, równoważenie obciążenia (Load Balancing), terminacja SSL/TLS.
Serwis WWW firmy cieszy się rosnącą popularnością i pojedynczy serwer nie jest w stanie obsłużyć całego ruchu, co powoduje wolne ładowanie strony i utratę klientów. Administrator zdecydował o wdrożeniu warstwy pośredniczącej (Reverse Proxy) opartej na Nginx, która będzie rozkładać zapytania użytkowników na dwa serwery aplikacyjne (Backend) oraz cache'ować.pliki statyczne. Dodatkowo Nginx ukrywa strukturę wewnętrznej sieci przed użytkownikami zewnętrznymi. Twoim zadaniem jest zainstalować Nginx na trzech maszynach (1x Proxy, 2x Backend), skonfigurować upstream z dwoma backendami i metodą Round Robin, skonfigurować proxy_pass z nagłówkami X-Forwarded-For, skonfigurować health check i cache statycznych plików, a następnie przetestować działanie load balancingu i failover przy wyłączeniu jednego backendu.
echo "Serwer 1" | sudo tee /var/www/html/index.html — na drugim serwerze "Serwer 2".server 192.168.20.101; i server 192.168.20.102;.proxy_set_header X-Forwarded-For $remote_addr; — backend musi widzieć oryginalny IP klienta.least_conn; w bloku upstream.server 192.168.20.101 max_fails=3 fail_timeout=30s; — serwer zostanie tymczasowo wyłączony po 3 niepowodzeniach.proxy_cache_valid 200 1h; — cache'uje odpowiedzi 200 na godzinę.tail -f /var/log/nginx/access.log — obserwuj, jak żądania są rozkładane między backendy.sudo systemctl stop apache2 i obserwuj, czy Nginx kieruje cały ruch na drugi.proxy_set_header X-Real-IP $remote_addr; — niektóre aplikacje używają tego nagłówka do logowania.curl -I http://192.168.20.101 i curl -I http://192.168.20.102 — oba powinny zwracać HTTP 200.Reverse Proxy Nginx z Load Balancerem jest kluczowym elementem architektury wysokiej dostępności, rozkładającym ruch między wiele serwerów backendowych. Round Robin jako domyślna metoda równoważenia zapewnia równomierne rozłożenie requestów, podczas gdy Least Connections kieruje ruch do serwera z najmniejszą liczbą aktywnych połączeń. Nagłówki X-Forwarded-For i X-Real-IP są niezbędne do przekazania oryginalnego IP klienta do backendów — bez nich aplikacja widzi tylko adres proxy. Health check (max_fails, fail_timeout) automatycznie wyłącza niedziałające serwery, kierując ruch wyłącznie na zdrowe instancje. Cache'owanie plików statycznych znacząco redukuje obciążenie serwerów backendowych i czas odpowiedzi. Logi access.log na proxy i backendach pozwalają na analizę rozkładu ruchu i debugging problemów. Automatyczny failover przy awarii backendu zapewnia ciągłość działania aplikacji nawet przy częściowej awarii infrastruktury. Podsumowując, Reverse Proxy Nginx to praktyczne i wydajne rozwiązanie do budowy odpornej architekturyWWW.
Wykład 8 Paradygmat Infrastructure as Code (IaC), narzędzia automatyzacji (Ansible, Terraform), idempotentność konfiguracji.
Zarządzanie wieloma routerami i serwerami ręcznie jest czasochłonne i obarczone ryzykiem błędu ludzkiego — zmiana hasła czy reguły firewalla na 10 routerach oznacza 10 ręcznych połączeń, gdzie jedno przeoczenie może spowodować lukę bezpieczeństwa. Firma przechodzi na model Infrastructure as Code (IaC), gdzie konfiguracja definiowana jest w plikach tekstowych, a narzędzie automatycznie wprowadza zmiany na wszystkich urządzeniach. Twoim zadaniem jest zainstalować Ansible na Linux (Control Node), przygotować plik inventory z adresami routerów, skonfigurować SSH kluczami, zainstalować kolekcję community.routeros, napisać playbook konfigurujący MOTD Banner i reguły firewalla, a następnie uruchomić playbook i zweryfikować idempotentność (uruchomić dwukrotnie i porównać wyniki).
sudo apt update && sudo apt install ansible — sprawdź wersję poleceniem ansible --version.~/ansible/ z podkatalogami: inventory/hosts, playbooks/, roles/, group_vars/ — organizacja jest kluczowa dla skalowalności.[mikrotiks] i pod spodem adresy IP lub nazwy hostów — np. router1 ansible_host=192.168.10.1 ansible_user=admin.ssh-keygen -t ed25519 i skopiowanie klucza publicznego na routery: ssh-copy-id -i ~/.ssh/id_ed25519.pub admin@192.168.10.1.ansible-galaxy collection install community.routeros — zawiera ona moduł community.routeros.command do wykonywania poleceń.- hosts: mikrotiks, tasks: i lista zadań — każde zadanie wykonuje moduł z określonymi parametrami.group_vars/mikrotiks.yml: ntp_servers: i lista serwerów — playbook może ich używać zamiast hardkodowanych wartości.ansible_facts['net_model'], ansible_facts['net_version'] — wyświetl je poleceniem ansible all -m setup.community.routeros.api pozwala na bezpośrednie modyfikacje reguł — ale community.routeros.command z wywołaniami CLI jest prostszy na początek.notify: Send Slack message w playbooku i odpowiedniego handlera — mogą wysyłać informacje o statusie wdrożenia.Ansible jako narzędzie Infrastructure as Code (IaC) rewolucjonizuje zarządzanie infrastrukturą, pozwalając na deklaratywne definesowanie pożądanego stanu systemów. Idempotentność — kluczowa właściwość playbooków — oznacza, że wielokrotne uruchomienie tego samego playbooka nie powoduje zmian, jeśli system jest już w pożądanym stanie. Kolekcja community.routeros rozszerza Ansible o moduły do zarządzania urządzeniami MikroTik, umożliwiając konfigurację przez API lub CLI. Struktura katalogów Ansible (inventory, playbooks, roles, group_vars) zapewnia organizację i możliwość wielokrotnego użycia kodu. Uwierzytelnianie SSH kluczami (passwordless) eliminuje potrzebę ręcznego wprowadzania haseł i umożliwia automatyzację. Zmienne (variables) pozwalają na sparametryzowanie playbooków dla różnych środowisk bez modyfikacji kodu. Ansible facts dostarczają automatycznie zbierane informacje o hostach, które mogą być używane w warunkach i konfiguracjach. Podsumowując, Ansible znacząco redukuje czas i ryzyko błędu przy zarządzaniu dużą infrastrukturą, umożliwiając ciągłą automatyzację zmian.
Wykład 8 Mikrousługi, konteneryzacja (Docker), orkiestracja kontenerów, architektura Kubernetes.
Firma migruje swoje aplikacje z maszyn wirtualnych do kontenerów (Docker/Kubernetes), aby ułatwić skalowanie, szybsze wdrażanie poprawek i zmniejszenie kosztów infrastruktury. Tradycyjne VM są ciężkie i wolne, podczas gdy kontenery startują w sekundach, a Kubernetes automatycznie zarządza replikami i przywraca awaryjne instancje (self-healing). Administrator musi przygotować lekkie środowisko K3s na Linux w labie GNS3. Twoim zadaniem jest zainstalować K3s na węźle Master, opcjonalnie dodać Worker, utworzyć Deployment nginx z 3 replikami, stworzyć Service NodePort, zweryfikować czy pody działają i są dostępne z przeglądarki, przetestować self-healing usuwając jeden pod i obserwując jego automatyczne odtworzenie, a następnie udokumentować różnice między VM a kontenerami.
curl -sfL https://get.k3s.io | sh - — instalator automatycznie konfiguruje kubeconfig w /etc/rancher/k3s/k3s.yaml.cat /var/lib/rancher/k3s/server/node-token — token jest wymagany przy instalacji workerów.mkdir -p ~/.kube && sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config — następnie ustaw uprawnienia: sudo chown $(id -u):$(id -g) ~/.kube/config.kubectl get nodes — powinien pokazać węzeł Master w stanie Ready.kubectl create deployment nginx --image=nginx --replicas=3 --dry-run=client -o yaml > nginx-deployment.yaml — opcja --dry-run pozwala wygenerować szablon bez tworzenia obiektu.kubectl get svc aby zobaczyć przypisany port.kubectl delete pod nazwa-poda — Kubernetes automatycznie utworzy nowy pod do zastąpienia usuniętego.kubectl logs nazwa-poda — polecenie to pokazuje stdout kontenera, przydatne do debugowania.kubectl top nodes i kubectl top pods — wymaga zainstalowania Metrics Server: kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml.K3s to lekka dystrybucja Kubernetes idealna do środowisk laboratoryjnych i edge computing, oferująca pełną funkcjonalność orkiestracji kontenerów przy minimalnym zużyciu zasobów. Self-healing — kluczowa funkcja Kubernetes — automatycznie rekonstruuje pody po awarii, co zapewnia wysoką dostępność aplikacji bez interwencji administratora. Deployment z wieloma replikami zapewnia skalowanie horyzontalne i redundancję — równoważenie obciążenia dystrybuuje ruch między replikami. Service typu NodePort eksponuje aplikację na porcie dostępnym z zewnątrz, umożliwiając testowanie i dostęp z przeglądarki. Metrics Server dostarcza danych o zużyciu zasobów, niezbędnych do planowania pojemności i optymalizacji. Plik kubeconfig jest kluczowy do zarządzania klastrem — jego bezpieczne przechowywanie i transport jest fundamentem bezpieczeństwa. K3s instaluje Traefik jako domyślny Ingress Controller, umożliwiając zaawansowane routingowanie żądań HTTP. Podsumowując, konteneryzacja z Kubernetes/K3s jest przyszłością wdrażania aplikacji, oferującą skalowalność, odporność i portability.
Wykład 9 Metodyka troubleshootingu sieciowego, narzędzia diagnostyczne, skanowanie podatności i analiza pakietów.
Po wdrożeniu wszystkich usług administrator musi upewnić się, że sieć jest bezpieczna i nie zawiera luk konfiguracyjnych — otwarty port Telnet czy nieszyfrowane hasła to poważne zagrożenia, które atakujący mogą wykorzystać. Audyt bezpieczeństwa to proces systematycznego badania sieci przy użyciu narzędzi, które mają też atakujący. Twoim zadaniem jest przeprowadzić audyt bezpieczeństwa: wykonać Syn Scan Nmap na całą podsieć, zidentyfikować wersje usług (-sV), użyć skryptów NSE do wykrycia słabych haseł, uruchomić Wireshark i przechwycić ruch HTTP/Telnet aby sprawdzić czy hasła przesyłane są plaintext, zweryfikować czy firewallowe porty są stealth (nieodpowiadające na skanowanie), a następnie stworzyć raport z listą podatności i rekomendacjami mitygacyjnymi.
sudo nmap -sS -sV 192.168.10.0/24.nmap -sV --script=fingerprint-finger 192.168.10.1.nmap --script vuln 192.168.10.0/24 — uruchom to z ostrożnością w środowisku produkcyjnym.nmap --script ftp-anon,smtp-enum-users,ssh-brute 192.168.10.0/24 — w środowisku lab używaj słabych haseł celowo do testów.http.request.method == "POST" aby zobaczyć dane w plaintext.ip.addr == 192.168.10.1 (ruch z/do IP), tcp.port == 80 (ruch HTTP), tcp.flags.reset == 1 (pakiety RST).tracert) używa ICMP, w Linux (traceroute) domyślnie UDP — oba pokazują hops, ale filtracja ICMP może ukryć część ścieżki.Audyt bezpieczeństwa przy użyciu Nmap i Wireshark jest fundamentalnym elementem procesu zabezpieczania infrastruktury sieciowej. Syn Scan (-sS) wymaga uprawnień root, ale dostarcza dokładnych informacji o stanach portów bez pełnego nawiązania połączenia. Wireshark pozwala na głęboką analizę ruchu sieciowego, w tym przechwytywanie plaintext credentials w nieszyfrowanych protokołach (HTTP, Telnet, FTP). 3-way handshake TCP jest podstawą diagnostyki problemów z połączeniami — brak którejkolwiek z flag (SYN, SYN-ACK, ACK) wskazuje na problem z firewall lub routing. Porty stealth, które nie odpowiadają na skanowanie, są pożądanym stanem dla usług niewidocznych zewnętrznie. Skrypty NSE pozwalają na automatyczne wykrywanie podatności, ale powinny być używane ostrożnie — niektóre mogą zakłócać działanie usług. Raport z audytu powinien zawierać listę otwartych portów, ocenę ryzyka i konkretne rekomendacje mitygacyjne z priorytetami. Filtracja ICMP może utrudniać diagnostykę traceroute, ale jest powszechną praktyką bezpieczeństwa. Podsumowując, regularne audyty bezpieczeństwa są niezbędne do utrzymania bezpiecznej infrastruktury.
Wykład 10 i Wykład 5 Projektowanie sieci odpornych na awarie, redundancja bram domyślnych, protokół VRRP.
Router brzegowy jest pojedynczym punktem awarii (SPOF) dla całej firmy — jeśli ulegnie awarii, wszyscy tracą dostęp do Internetu i usług, a administrator dostaje telefon od rozgniewanych pracowników. Aby zapewnić ciągłość działania, administrator zdecydował o wdrożeniu drugiego routera MikroTik i skonfigurowaniu protokołu VRRP (Virtual Router Redundancy Protocol), gdzie oba routery współdzielą jeden wirtualny adres IP (np. 192.168.10.254) jako bramę domyślną dla stacji roboczych. Drugi router (Backup) automatycznie przejmuje rolę, gdy główny (Master) przestaje działać. Twoim zadaniem jest dodać drugi router do topologii, skonfigurować VRRP z vrid=10 i priorytetami (Master: 100, Backup: 50), skonfigurować wirtualny adres IP, przetestować failover (wyłączyć Master i obserwować pingi klienta), zmierzyć czas przełączenia i liczbę zgubionych pakietów, a następnie udokumentować mechanizm działania VRRP i wirtualnego adresu MAC.
/interface set ether2 disabled=yes) lub cały router — obserwuj w logach Backup: /log print where topics~"vrrp".VRRP (Virtual Router Redundancy Protocol) jest standardem przemysłowym do zapewnienia redundancji bramy domyślnej, eliminując pojedynczy punkt awarii (SPOF) w infrastrukturze sieciowej. Wybór routera Master opiera się na priorytecie — router z wyższym priorytetem (domyślnie 100) automatycznie staje się aktywny. Wirtualny adres MAC (00:00:5E:00:01:XX) jest kluczowy dla przezroczystości przełączania — stacje robocze nie muszą zmieniać tablicy ARP, ponieważ odpowiedź na ARP zawiera stały adres MAC. Preemption pozwala oryginalnemu Masterowi na powrót po naprawie, ale może powodować krótkotrwałe zakłócenia podczas przełączenia. Czas przełączenia (3-5 sekund) jest akceptowalny dla większości aplikacji biznesowych, ale aplikacje wrażliwe na opóźnienia mogą wymagać szybszych mechanizmów. Pakiety VRRP advertisements wysyłane są multicastem (224.0.0.18) co 1 sekundę — brak 3 kolejnych pakietów inicjuje failover na Backup. Wireshark pozwala na przechwycenie i analizę pakietów VRRP, co jest pomocne przy debuggingu problemów. Podsumowując, VRRP zapewnia wysoką dostępność bramy domyślnej przy minimalnym nakładzie konfiguracji i jest rekomendowany dla każdego środowiska produkcyjnego.