Administracja serwerami linuksowymi | |
---|---|
Termin zajęć: |
|
Rodzaj zajęć: |
|
Warunek zaliczenia ćwiczeń: |
|
Warunek zaliczenia wykładu: |
|
Ocena ćwiczenia: |
|
Ocena wykład: |
|
Referat: |
|
Plan wykładu (* - oznacza wykłady zrealizowane)
- Wykład 1 (*)
Budowa systemu operacyjnego linuks - wprowadzenie teoretyczne (wersje jądra, moduły do jądra, systemy plików, poziomy uruchomienia systemu , init, usługi systemowe, obsługa sieci). - Wykład 2 (*)
Struktura katalogów Linux, analiza poziomów uruchomienia, zarządzanie partycjami i dyskami, zarządzanie modułami. - Wykład 3 (*)
Zarządzanie oprogramowaniem na przykładzie debian i apt - budowa paczki, repozytorium, aktualizacja, tworzenie paczek. - Wykład 4 (*)
Zarządzanie sieciami - interfejsy, protokoły, routing. - Wykład 5 (*)
Dostęp do systemu - biblioteki PAM, program getty, login, serwery telnet i SSH, skrypty startowe użytkowników. - Wykład 6 (*)
Instalacja VM. - Wykład 7 (*)
System DNS - zarządzanie domenami w Internecie. - Wykład 8 (*)
Serwery WWW - Apache (opis działania, analiza parametrów konfiguracyjnych, moduły - m.in. vhost, auth, alias, php, userdir) - Wykład 9 (*)
Serwery Baz danych - MYSQL (budowa i działanie serwera) - Wykład 10 (*) (08.05.2012)
Serwery Baz danych - PostgreSQL (budowa i działanie serwera) - Wykład 11 (*) (15.05.2012)
Implementacja serwera SMTP,POP3,IMAP (postfix, dovecot) - Wykład 12 (*) (22.05.2012)
System Firewall - omówienie zasad przetwarzania reguł oraz możliwości i parametrów - Wykład 13 (*) (29.05.2012)
Referaty studentów - Wykład 14 (*) (05.06.2012)
Referaty studentów - Wykład 15 (termin do ustalenia w sesji)
Ogólne informacje na temat środowisk serwerowych - organizacja.
Plan ćwiczeń
- Zajęcia 1
Instalacja maszyn wirtualnych. -
Zajęcia 2
Przypomnienie BASH, sprawdzenie uruchomienie systemu (bootloader, inittab, , obsługa modułów jądra, zarządzanie dyskami, systemy plików, struktura katalogów, diagnostyka działania aplikacji - strace, lsof).- Przypomnienie BASH - I (http://tldp.org/LDP/Bash-Beginners-Guide/html/index.html)
- Przypomnienie BASH - II (http://tldp.org/LDP/abs/html/index.html)
- Obsługa modułów jądra
- Zarządzanie dyskami i systemami plików
- Struktura katalogów
- Diagnostyka działania aplikacji
- Zajęcia 3
Zarządzanie oprogramowaniem - ćwiczenia (polecenia apt*, dpkg*). - Zajęcia 4
Zarzadzanie sieciami - konfiguracja interfejsów, ustawienia protokołów, zarządzanie routingiem.- Diagnostyka i konfiguracja warstwy Ethernet.
- Diagnostyka i konifugracja warstwy IP oraz interfejsu.
- Diagnostyka odwzorowania nazw.
- Diagnostyka i konfiguracja warstwy połączenia
- Diagnostyka i konfiguracja routingu i tuneli
- Dodaj interfejs sieciowy eth0:5 na 3 maszynach z adresacja 192.168.100.{1,2,3}.
- Ustaw parametr MTU dla interfejsu eth0:5 na 500 bajtów oraz wyślij komunikaty PING o wielkości 600bajtów.
- Sprawdz poleceniem tcpdump -i eth0:5 jakie komunikaty są przesyłane
- Ustaw tryb promisc dla interfejsu sieciowego
- Wyświetl wpisy w tablicy ARP
- Wyślij pakiet ping do komputera 192.168.100.2, a następnie zmień na nim numer MAC. Co się stało?
- Skonfiguruj tunel IPIP i GRE między dwoma komputerami
- Skonfiguruj tunel SIT między komputerami Client1-Srv tak by usługi na SRV były dostępne poprzez IPv6
- Sprawdź jakie są otwarte port na maszynie client1 lokalnie i z serwera.
- Prześlij dowolny plik między maszynami przy pomocy polecenia netcat
- Skonfiguruj tunel w sposób opisany na rysunku tak by komunikacja Client1-Client2 odbywała się przesyłając pakiety przez SRV.
- Zajęcia 5
Konfiguracja bibliotek PAM, analiza działania getty, login, kofiguracja serwera SSH i skryptów startowych użytkownika. Przydatne linki: Zadania:
Ustaw następujące reguły logowania dla usługi:- ssh - maksymalna ilość procesów użytkownika uwierzytelnionego - 20
- ssh - logowanie przez użytkownika root z podsieci 127.0.0.0/8 i 192.168.0.0/24
- ssh - logowanie użytkownika root z konsol tty1-tty4
- ssh - logowanie użytkownika tylko w Poniedziałki i Wtorki (użytkownik root zawsze może się zalogować)
- ssh - użytkownik nie może logować się pustym hasłem (z /etc/shadow)
- passwd - wykrywanie słabych haseł, palindromów i zmiany wielkości liter
- passwd - pamiętanie 5 historycznych haseł użytkownika
- login - wykonanie polecenia "sl" przed uruchomieniem shella użytkownika
- login - użytkownik może logować się pustym hasłem (z /etc/shadow)
- login - podczas wyswietlania ostatniej proby logowania nie wyswietla informacji o terminalu
- tekst zachęty programu login (linie wyświetlane przed zapytaniem o hasło)
- Message of the day
- Zajęcia 6
Instalacja VM zgodnie z instrukcjami w email.
Po zainstalowaniu maszyny wirtualnej na publicznej adresacji:- netstat -lnp (jakie aplikacje oczekują połączeń)
- apt-get remove nfs-common
- apt-get remove portmap
- apt-get install ssh
- netstat -lnp (jakie aplikacje zostały?)
- Zajęcia 7
Oprogramowanie DNS - konfiguracja bind.
Informacje:- Przypomnienie diagnostyka odwzorowania nazw.
- W domenie asl24.pl zostały utworzone wpisy dla każdego studenta
- Studenci są dobrani w pary, tzn. każda domena ma dwa serwery NS, które będą utrzymywały strefę (jeden z nich master ma być obsługiwany przez studenta do ktorego strefa należy, drugi ma być oddelegowany do drugiej osoby z pary)
- Proszę sprawdzić wpisy w domenie asl24.pl powiązane ze swoim numerem indeksu
- Proszę ustawić serwer master i slave każdy dla swojej strefy sXXXXXX.asl24.pl
- Proszę oddelegować domenę local.sXXXXXX.asl24.pl na maszynę asl-server na VMWare Player działającą jako master i na asl-client1 działającą jako slvae
- Proszę w każdej obsługiwanej przez swoje serwery DNS dodać domenę wpis "test" wskazujący na adres pierwszej karty sieciowej.
- Zajęcia 8
Konfiguracja usług WWW - apache2. -
Zajęcia 9
Konfiguracja MySQL: Przydatne linki:- Opcje serwera
- Parametry serwera
- Tryby SQL
- Logi MySQL
- Uprawnienia
- Dodawanie użytkowników
- Usuwanie użytkownika
- Ustawianie hasła użytkownika
- Ustawianie zasobów
- dodaj użytkwonika asl24
- utwórz bazę danych asl24
- przyznaj użytkownikowi dostęp do bazy asl24 z adresu lokalnego (127.0.0.1)
- Utwórz 3 różne tabele w bazie asl24 z silnikami MyISAM, InnoDB, CSV
- przyznaj prawa tworzenia, modyfikacji i usuwania tabel dla użytkwonika asl24
- przyznaj prawa odczytywania, modyfikowania i usuwania danych z wszystkich tabel dla użytkownika asl24
- odbierz prawo tworzenia tabel użytkownikowi asl24 poprzez modyfikację tabeli (nie GRANT)
- Zajęcia 10
Konfiguracja PostgreSQL: Przydatne linki:- Opcje i parametry konfiguracyjne serwera
- Logi Postgres
- Uwierzytelnianie użytkowników
- Role i uprawnienia użytkowników
- Zarządzanie bazami
- dodaj użytkwonika asl24 w postgres z hasłem qwerty,
- dodaj użytkwonika asl24-pam w postgres i w systemie (adduser),
- utwórz bazę danych asl24
- przyznaj użytkownikowi asl24 dostęp do bazy asl24 z adresu lokalnego (127.0.0.1)
- przyznaj użytkownikowi asl24-pam dostęp do bazy asl24 z dowonlego adresu oraz poprzez unix socket oraz ustaw uwierzytelnianie hasłem takim jak systemowe (ustawienia w PAM)
- przyznaj prawa tworzenia, modyfikacji i usuwania danych dla użytkwonika asl24 w bazie asl24 dla przykładowej tabeli o nazwie test
- przyznaj prawa tworzenia tabel w bazie asl24 dla użytkownika asl24
- Zajęcia 11 (15.05.2012)
Konfiguracja usług SMTP, POP3 i IMAP. Zadanie:- Dodaj dwa wpisy MX dla Twojej domeny, ten o niższym priorytecie niech wskazuje na Twój numer IP, a o wyższym niech wskazuje na numer IP kolegi
- Ustaw pliki konfiguracyjne tak by serwer obsługiwał pocztę dla Twojej domeny oraz pośredniczył w doręczaniu poczty dla serwera kolegi
- Skonfiguruj outlook lub thunderbird tak by korzystały z Twojego serwera IMAP i SMTP
- W serwerze SMTP ma być domyślne odbieranie każdej poczty dla Twojej domeny oraz przekazywanie całej poczty pod warunkiem uwierzytelnienia
- Sprawdź czy Twój serwer dostarcza całą pocztę i umożliwia jej odbieranie
- /var/log/mail*
- /var/log/dovecot*
- W związku z zablokowanym portem wejściowym 25 dla sieci UAM, administratorzy WMI ustawili dla studentó ASL na serwerze msg.wmi.amu.edu.pl relay dla domen s
.asl24.pl. - Ustaw z największym priorytetem rekord MX na powyższy serwer (tzn. msg.wmi.amu.edu.pl będzie brany pod uwagę jako ostatni).
- Ustaw żeby Twój serwer SMTP nasłuchiwał na dodatkowym porcie (oprócz 25). W ten sposób Twój MUA (Outlook, Thunderbird, inne) będzie mógł się łączyć z Twoim MTA w celu wysyłania poczty. Twój MTA będzie odbierał pocztę otrzymując ją od msg.wmi.amu.edu.pl.
- Sprawdź czy Twój serwer odbiera pocztę z innych domen (np. uniwersyteckiej, lub gmail) i czy umożliwia Tobie wysyłanie (inny port niż 25).
- Zajęcia 12 (22.05.2012)
System Firewall - sprawdzanie działania. Uwagi:- testujmy rozwiązania na postawionych na początku zajęć trzech maszynach wirtualnych
- praca z regułami firewall może spowodować utratę komunikacji z serwerem
- w jaki sposób można diagnozować połączenia sieciowe zostało omówione na początku zajęć
- ustaw przeciwdziałanie spoofingowi.
Tzn. odrzucanie pakietów przychodzących na interfejs sieciowy niezaadresowanych do tego interfejsu (dla wszystkich adresów i interfejsów, włącznie z lo i 127.0.0.1 - ustaw wejście na serwerze SG na TCP:mysql tylko dla serwera SW1,
- Ustaw translację adresów IP dla adresów z sieci lokalnej (SG ma działać jak ruter z maskowaniem adresów z sieci wewnętrznej na adres sieci zewnętrznej),
- przekaż połączenie przychodzące do SG na port 80 do SW na port 80
- sprawdź jak działa -m quota i -m time (man iptables)
- ustaw regułę uniemożliwiającą użytkownikom postgres i mysql nawiązywanie połączeń do Internetu
- Zajęcia 13 (29.05.2012)
Synchronizacja czasu, ustawienia kopii zapasowych, konfiguracja syslog. - Zajęcia 14 (05.06.2012)
Zbieranie statystyk w systemie Linuks - impelementacja. - Zajęcia 15 (14.06.2012, 16:30-21:00)
zaliczenie,wpisy. - Zajęcia 15 (19.06.2012, 15:30-21:00)
zaliczenie,wpisy.
Referaty (* - oznacza, że temat jest zajęty)
Łatwe:- (*) NTP - synchronizacja czasu (serwer, klient), dokumentacja, prezentacja, zadania
- (*) Demon Cron, dokumentacja, zadania
- Demon AT
- (*) Serwer FTP, dokumentacja, prezentacja, zadania
- (*) Serwer IRC, dokumentacja, prezentacja, zadania, implementacja, przyklad_konfig_HUB.txt,
- Budowa wiadomości SMTP
- Demon ACPI
- Kopie zapasowe - Bacula
- Kopie zapasowe - Amanda
- Kopie zapasowe - Rsync+ssh
- (*) Zbieranie logów - rsyslog (lokalne i usługa sieciowa, kernel log, user log), dokumentacja, prezentacja, zadania
- Zbieranie logów - syslog-ng (lokalne i usługa sieciowa, kernel log, user log)
- (*) Bootloader Lilo
- (*) Bootloader Grub, dokumentacja, prezentacja, zadania, etc-default-grub, etc-grub.d-00_header, etc-grub.d-40_custom,
- Zbieranie statystyk Cacti
- Monitoring sieci Nagios, dokumentacja, zadania
- (*) Serwer DHCP
- (*) Duplikacja i replikacja mysql, dokumentacja, zadania
- (*) Duplikacja i replikacja postgres, dokumentacja, prezentacja
- Linux Virtual Serwer
- Zbieranie statystyk NTOP
- (*) Serwer SVN, zadania, prezentacja i dokumentacja
- Wersjonowanie konfiguracji (współpraca z grupą SVN)
- Serwer X-Window
- (*) Serwer SMB, dokumentacja, zadania, prezentacja
- Filtry antyspamowe w postfix
- (*) Puppet, zadania i dokumentacja
- NIDS - Snort