Požadavky na kolokvium
- Referát (viz níže): 0 až 10 bodů - až 2 body za písemnou podobu,
až 3 za ústní projev a 5 za znalosti a schopnost reagovat na dotazy.
Za neomluvenou neúčast na hodině kdy máte mít referát nebo nepřipravení
referátu je -10 bodů.
- Každou hodinu 0 až 10 bodů za dokončený úkol z předchozí hodiny.
- Na kolokvium je třeba ztratit nejvýše 25 bodů od teoretického maxima,
na zápočet nejvýše 50 bodů. Další podmínkou je mít alespoň jeden referát.
Jak má vypadat referát
- Princip fungování daného protokolu/služby.
- Jaký software se pro danou věc používá.
- Kde lze tento software nalézt.
- Konfigurace u jedné z distribucí Linuxu (kde, jak).
- Zajímavé/neintuitivní části konfigurace (ne kompletní referenční příručka!).
- Specifické části instalace/konfigurace nelinuxovych systémů.
- HTML verze i s případnými dalšími informacemi. Na referát povede odkaz z této stránky. Používejte standardní HTML bez ikonek, případně jen s nejnutnějšími
obrázky. Text by měl být v kódování ISO 8859-2. Referát by měl být ve
formě jednoho HTML souboru. Použijte šablonu pro tvorbu
HTML verze (připomínky k CSS vítány).
- HTML verzi poslat nejpozději v pondělí večer (středeční
skupina), resp. v úterý večer (čtvrteční skupina) na adresu pv090@fi.muni.cz. Při nedodržení
termínu přichází autor o body za úroveň HTML verze.
- Citace: pokud k vypracování referátu použijete nějaké zdroje (starší referáty, manuály, Wikipedii, ...), je nutné na konec referátu uvést konkrétní
seznam těchto zdrojů (pouhé "Archív referátů" nebo "Wikipedia" nestačí
- odkazujte konkrétní článek). Pokud v textu použijete nějaké doslovné
pasáže cizího textu (příklad konfigurace, definici něčeho, atd.),
musí být jasně označeno, odkud pokud jde o převzatý text a ze kterého
zdroje (například: "následující konfiguraci jsem převzal z dokumentace projektu:") Převzetí cizího textu do referátu bez korektní citace je
považováno za plagiátorství!
Úkoly
Úkolem bývá typicky vyzkoušet v
praxi věc, o které byl tu hodinu referát. Toto lze většinou stihnout
v hodině, přinejhorším dokončit v průběhu týdne.
Do místnosti PV090 je přístup po celý týden. Na začátku následující hodiny
se provede kontrola a přidělení bodů. Při vypracování úkolů se vám budou
hodit různé systémové nástroje.
Plán semestru, referáty
Obsazení počítačů
|
Středa |
Čtvrtek |
proto01 |
Daniel Vrátil, 374072 |
|
proto02 |
Petr Velan, 255519 |
Vojtěch Vítek, 395748 |
proto03 |
Michal Srb, 365419 |
Peter Maral, 365399 |
proto04 |
Miroslav Cupák, 255940 |
|
proto05 |
Martin Vizváry, 255917 |
|
proto06 |
Pavel Březina, 359290 |
|
proto07 |
Juraj Gargulák, 173007 |
|
proto08 |
Jiří Kortus, 255719 |
|
proto09 |
Martin Kolman, 255628 |
|
proto10 |
Tomáš Jamriško, 256211 |
Jiří Novotny, 51829 |
Probíraná témata
- Instalace systému
- Jádro systému
- DNS
- Autentizační systémy (Kerberos, PAM).
- Systémy pro sdílení uživatelů (LDAP, případně NIS/YP).
- Elektronická pošta, SMTP servery, POP-3/IMAP servery.
- WWW, HTTP servery
- Přenos souborů, datové archívy (FTP, rsync, mirror)
- RPC, NFS, automounter
- Samba
- Tiskárny a tiskové servery
- Firewally, bezpečnost
- Modemy, PPP
- Faxy
- hlasové modemy
- Bezdiskové stanice (BootP, DHCP, TFTP)
- Dynamické směrování (OSPF, RIP)
- IPv6
- Klasifikace provozu sítě (shaping, policing)
- Proxy servery (Squid, Privoxy, FTP-gw)
- Sledování sítě (SNMP, MRTG, Nagios)
- Systémy na údržbu verzí (CVS, RCS, Subversion, PRCS, BitKeeper)
- Distribuované souborové systémy (Coda, Intermezzo, OpenGFS, AFS)
- Clustery (Beowulf, MOSIX)
- RAID, LVM
- Povinné řízení přístupu (SELinux, RSBAC, grsecurity ...)
- Virtualizace (XEN, KVM, lguest, ...)
- Voice over IP
- Virtuální privátní sítě
Instalace systému
- Úkol:
-
Nainstalujte na svůj počítač
UNIXový systém (Linux, *BSD, ...), korektně nakonfigurujte síť
podle přiložené topologie.
Disky rozdělte tak, že uděláte
malou partition číslo 1 jako /boot na prvním disku, na druhém disku
uděláte partition číslo 1 pro jednu skupinu, partition 2 na swapovací
prostor, partition číslo 3 pro druhou skupinu. Domluvte se jak budete
řešit zavaděč systému.
- Kontrola:
-
Musí vám běžet UNIX, musíte být schopni se programem ping dostat na erigonu i ostatní počítače v síti.
Konfigurace jádra
- Obsah:
-
Linux: Odkud se jádro bere, číslování verzí, způsoby konfigurace
(make config/xconfig/menuconfig/oldconfig),
význam důležitých konfiguračních voleb, principy fungování modulů,
instalace nového jádra, soubor System.map.
Parametry jádra při startu.
Nebo BSD: konfigurace jádra na BSD systémech - kde jsou zdrojové
texty, CVS, jak vypadá konfigurační soubor, jak se překládá jádro,
jak se řekne co má být jako modul, jak nabootovat nově vytvořené
jádro, atd.
- Úkol:
-
Nakonfigurovat si, přeložit, nainstalovat a spustit
jádro co nejlépe zoptimalizované pro váš počítač.
Podpora sítě, NFS, hardwaru obsaženého ve vašem počítači.
Další protokoly a služby dle vlastního uvážení, nejlépe ve formě modulů.
Nekompilovat (ani jako moduly) ovladače pro zařízení, která
ve vašem systému nejsou a nebudou, případně další subsystémy,
které nikdy na tomto počítači nepoužijete (ISDN, Bluetooth, ...).
Linux - použijte poslední jádro řady 2.6.
- Kontrola:
-
Soubor .config nebo lépe /proc/config.gz.
(zkontrolujte, jestli nemáte zapnuté nějaké
ovladače, které nikdy nepoužijete!), příkaz uname -a.
DNS
- Obsah:
-
Údaje v DNS. Základní typy záznamů. Resolver a jeho konfigurace.
DNS servery (BIND, djbdns, případně další). Základní vlastnosti
DNS serverů, instalace, konfigurace. Bezpečnost a chrootovaný BIND.
Zabezpečení přenášených dat a DNSSEC.
- Úkol:
-
Nainstalujte na oba své stroje DNS servery, minimálně jeden z nich
musí běžet v chrootovaném prostředí.
Nakonfigurujte na svém stroji beta nameserver pro
lokální doménu lab.fi.muni.cz tak, aby obsahovala záznamy
pro všechny stanice v laboratoři (přidělení jmen a adres je
popsáno v topologii sítě). Navíc přidejte pro každou stanici
záznam MX ukazující na váš počítač alpha (tedy
všechny MX záznamy na jeden počítač).
Vytvořte i odpovídající reverzní
zónu. Nameserver nastavte jako forward only s přeposíláním
neznámých dotazů na erigonu. Počítač alpha nakonfigurujte
jako sekundární DNS s tím, že neznámé dotazy bude posílat na počítač
beta.
TODO: pristi semestr dat do zadani DNSSEC.
- Kontrola:
-
Pomocí host -t any -l lab.fi.muni.cz stroj-beta.lab.fi.muni.cz
z erigony zkontrolujte vzhled vaší dopředné zóny (a zejména
případné chybějící tečky na konci plných jmen :-).
Podobně pro reverzní zónu. Pak analogicky prověřte činnost nameserveru
na počítači alpha. Vyzkoušejte na primárním nameserveru
změnu sériového čísla zóny a zkontrolujte, zda sekundární server
stánhe novou zónu. Programem tcpdump na stroji alpha
ověřte, že jsou neznámé dotazy forwardovány na erigonu a ne například
kořenovým nameserverům.
Kerberos, PAM
- Obsah:
-
Princip fungováni Kerbera (TGS, replikace ...). Rozdíl mezi MIT Kerberos a
Heimdal. Co je to a jak funguje PAM. Podpora PAM v různých unixech.
- Úkol:
-
Na obou strojích zprovoznit kerberovský server pro realm hostname.lab.fi.muni.cz (kde hostname je jméno vašeho routeru), zprovoznit přihlašování
přes PAM s heslem v Kerberovi, udělat replikaci kerberovské databáze na druhý
stroj. Umožnit současné přihlašovaní
uživatelů ze shadow i Kerbera. Umožnit změnu hesla v Kerberovi programem passwd (nejen přes kpasswd). Omezit přihlašování uživatelů na denní dobu
06:00 až 21:00 kromě uživatele root.
Odvážní si mohou vyzkoušet skutečnou kerberizovanou aplikaci (třeba ktelnet)
namísto ověřování cleartext hesla až na straně serveru obdržením lístku
přes pam_krb5.
- Kontrola:
-
Ověřte přihlášení přes Kerbera i přes shadow. Vyzkoušejte změnu hesla a její
replikaci na záložní kerberovský server. Vyzkoušejte funkčnost při vypnutém
primárním kerberovském serveru. Vhodným nastavením ověřte, že se
aplikuje časové omezení pro běžné uživatele.
LDAP; další metody autentizace
- Obsah:
-
Co je to LDAP. Directory services. Jak vypadá a co je to: strom objektů,
LDAP Schema. Nástroje na práci s LDAP (ldapsearch, ldapadd,
GQ ...). OpenLDAP, základní nastavení. Příklady práce s LDAP.
Unixoví uživatelé v LDAPu (PosixAccount, ShadowAccount).
Spolupráce se SASL. Jak na LDAP v unixu (nsswitch.conf,
nscd/nsd ...). Přístupová práva k jednotlivým objektům LDAP serveru,
replikace. Jednorázová hesla - OPIE, S/Key. Případně další autentizační
systémy.
- Úkol:
-
Zprovoznit LDAP na jednom ze strojů, vytvořit strom uživatelů a částečně ho
naplnit. Nakonfigurovat oba stroje na autentizaci proti LDAP a PAM aby bylo
možné se přihlašovat. Zprovoznit nscd. Umožnit současné přihlasovaní
uživatelů ze shadow i LDAPu. Ověřit, že si uživatel může měnit i své heslo
v LDAPu.
- Kontrola:
-
Vytvořte soubor, pomocí chown nastavte jeho UID na číslo uživatele,
který není v passwd+shadow, ale v LDAPu. Pomocí ls -l ověřte,
že se k UID správně dohledá jméno. Pomocí programu tcpdump ověřte,
že opakovaný dotaz se už cachuje v nscd a neprojde na LDAP server.
Vyzkoušejte přihlášení pod tímto uživatelem (z konzoly nebo přes
telnet nebo ssh). Programem passwd zkontrolujte
změnu hesla.
RPC, NFS a automount
- Obsah:
-
Co je to RPC, vlastnosti a verze systému NFS, nastavení NFS serveru a
klienta. Konfigurace a vlastnosti automounteru. Automountery am-utils a autofs.
- Úkol:
-
Zprovoznit NFS server poskytující ostatním stanicím části disku.
Zprovoznění automounter tak, aby montoval některé domovské adresáře
z lokálního stroje a některé z ostatních stanic. Dále nastavit, aby pro
erigonu byl na nekterá sdílení jen přístup pro čtení, pro vaš druhý
počítač pak plný přístup.
Elektronická pošta
- Obsah:
-
Princip fungováni SMTP (obálka, zpráva), DNS MX záznamy versus
A záznamy. Formát zpráv (RFC 2822, MIME). Příklad komunikace
přes SMTP. Problém spamu (relaying, open relay, black-listy,
delayed bounce, greylisting, antispamové filtry). Poštovní klienti
(IMAP, POP-3). Princip fungování konkrétniho SMTP serveru
(sendmail, qmail, postfix, zmailer, exim, ...) - základní konfigurace,
kontrola relayingu, "doménový koš", ...
- Úkol:
-
Vyzkoušejte nasimulovat typickou konfiguraci s jedním přeposílacím
SMTP serverem a jedním doručovacím SMTP serverem. Na počítači
alpha nakonfigurujte SMTP server tak, aby poštu pro
user@cokoli.lab.fi.muni.cz (i pro prázdné "cokoli.")
přeposlal na
počítač beta. Dále aby z počítače beta přijal jakoukoli poštu a odeslal
ji podle MX záznamů (pokud zrovna není pro user@cokoli.lab.fi.muni.cz),
případně můžete místo MX záznamů použít ještě relay.fi.muni.cz
jako relay vyšší úrovně.
Z ostatních počítačů musí stroj alpha odmítat relayovat poštu pro
jiné adresy než ty z domény lab.fi.muni.cz). Na počítači beta
nakonfigurujte SMTP server tak, aby poštu pro user@cokoli.lab.fi.muni.cz
doručoval lokálně uživateli user (pro všechny lokální uživatele a
uživatele zavedené v LDAPu), poštu pro ostatní adresáty mimo
lab.fi.muni.cz přepošle na počítač alpha. Relayovat nelokální
poštu by měl pouze pro odesílatele ze vaší privátní sítě 10.0.X.0/24.
Na stroji beta dále nakonfigurujte POP-3 nebo IMAP server (případně
i s podporou SSL) tak, aby uživatelé mohli vyzvedávat
poštu ze svých schránek.
- Kontrola:
-
Z erigony telnet stroj-alpha smtp, odeslat takto
mail pro root@stroj-alpha, root@lab.fi.muni.cz, root@stroj-beta, vše musí
správně dojít a skončit na vašem stroji beta. Dále zkusit odeslat pro
neco@nekde.cz - stroje alpha i beta musí odmítnout už při RCPT TO.
Kontrola IMAPu nebo POP-3 napriklad programem telnet nebo fetchmail.
WWW, HTTP servery
- Obsah:
-
Protokol HTTP (příklad komunikace, metoda GET, metoda POST).
HTTP server Apache. Konfigurace, moduly, virtuální
servery. SSL vrstva (certifikáty, problém s virtuálními servery).
Konfigurace Apache pro SSL (asi pomocí mod_ssl).
CGI skripty. Alternativní HTTP servery.
Problém kódování jazyka, HTTP hlavičky versus HTTP-EQUIV v HTML,
nastavení v konkrétním HTTP serveru. Zpřístupnění jednoho dokumentu
ve více jazycích. Autentizace (basic autentizace, cookies).
- Úkol:
-
Zprovoznit WWW server s poskytováním dokumentů ve správném kódování
(a se správným jazykem a charsetem v HTTP hlavičkách) včetně příkladu
na vrácení různých dokumentů podle požadavku klienta hlavičkami
Accept-Language: a Accept-Charset:. Zprovoznit
virtuální WWW server, podporu pro SSL (se self-signed certifikátem
vystaveným na správné jméno)
a prováděním CGI skriptů (nebo jiných aktivních aplikací jako třeba
FastCGI nebo PHP). Zpřístupnit jistou část WWW stromu jen autentizovaným
uživatelům.
- Kontrola:
-
Z erigony provést telnet hostname http, příkazem GET
s různými parametry zkoušet získávat stránku s virtuálním WWW serverem,
správné kódování dokumentu a informace o jazyku.
Na stroji by měl být připraven základní dokument
na kterém jde otestovat diakritika,
prokazatelný .cgi skript (výstup ovlivnitelný parametry),
virtuální WWW server a server běžící nad SSL. Vyzkoušet autentizaci.
Připojit se na HTTPs (browserem nebo příkazem openssl s_client
-connect a ověřit vlastnosti (zejména commonName) certifikátu.
Samba
- Obsah:
-
Co je to samba, protokol SMB. Součásti balíku Samba,
konfigurace serveru - globální nastavení, sdílení disků a tiskáren,
spolupráce s doménami NT (Samba jako PDC, Samba jako člen domény).
Sdílení hesel mezi Windows a UN*Xem.
- Úkol:
-
Zprovoznit SMB server tak aby poskytoval domovské
adresáře doméně lab.fi.muni.cz. Zpřístupnit adresář /tmp pro
všechny z domény lab.fi.muni.cz bez nutnosti znát heslo a aby
data zpřístupnil pod právy uživatele smbuser a nebyl vidět ve výpisu
sdílených prostředků. Na jednom z vašich počítačů zprovoznit
připojení SMB svazku z druhého počítače pomocí jaderného modulu
cifs.
- Kontrola:
-
Programem smbclient ověřte výpis dostupných zdrojů (neměl
by být vidět adresář /tmp) a zkuste přistoupit k jednotlivým
požadovaným zdrojům. Vyzkoušejte přenos souborů (příkazy get,
put) a na serveru ověřte, s jakým vlastníkem a dalšími právy
jsou soubory vytvářeny.
Sledování sítě
- Obsah:
-
Protokol SNMP. Strom MIB-2, OIDs. Autentizace v SNMP.
Metody SNMP (get, set, getBulk ...).
SNMP trap.
Konfigurace SNMP démona (asi net-snmp)
včetně autentizace.
Generování grafů na základě SNMP veličin (například program
MRTG). Obecné generování grafů (RRDtool a jeho nadstavby, např. Cacti nebo Torrus).
Sledování chybovosti sítě pomocí SmokePing.
Software pro monitorování síťových služeb (například Nagios, Zabbix nebo mon).
- Úkol:
-
Na počítač alpha nainstalujte SNMP démona tak, aby poskytoval
informace o systému (strom system.*) a informace o provozu
vnějšího síťového rozhraní (toho s adresou v 10.0.0.0/24)
bez omezení přístupu, s komunitou public, zatímco informace
o provozu druhého rozhraní zpřístupněte jen z vašich dvou počítačů
a s jinou komunitou. Nakonfigurujte software pro kreslení grafů síťového
provozu (například MRTG nebo Cacti) tak, aby kreslil provoz obou rozhraní vašeho
počítače alpha a vnějších rozhraní všech ostatních počítačů
alpha v laboratoři.
Nakonfigurujte na stroji beta Nagios nebo podobný monitorovací systém
včetně webového
front-endu (s autentizací, včetně autentizovaných akcí přes HTTP jako
například plánování výpadku nebo explicitní vyžádání kontroly) tak,
aby znal topologii sítě, uměl
sledovat SSH a DNS na všech strojích v laboratoři (včetně Erigony)
a v případě výpadku poslal po minutě mail lokálnímu uživateli
root@...-beta.lab.fi.muni.cz.
- Kontrola:
-
Zkuste snmpwalk ...-alpha public system, případně například
snmpget ...-alpha public interfaces.ifInOctets.1.
Monitoring služeb: vyzkoušejte, že systém korektně reaguje
na výpadky služeb i sítě (shození vnějšího rozhraní stroje alpha,
případně úplná nedostupnost stroje alpha). Vyzkoušejte přes WWW
rozhraní vynutit okamžitou kontrolu některé služby.
DHCP & spol.
- Obsah:
-
Konfigurace síťových stanic, protokoly DHCP, BOOTP,
TFTP. Nastavení serveru, klienti pro linux.
- Úkol:
-
Nakonfigurovat jeden počítač jako BootP/DHCP server a druhý počítač
jako BootP/DHCP klienta, který má vše uloženo na disku a jen zjistí
konfiguraci sítě přes BootP/DHCP (jako třeba notebook). Dále
nakonfigurovat na prvním počítači TFTP server a jádro Linuxu a druhý
počítač nabootovat s jádrem staženým ze sítě a s kořenovým svazkem
přes NFS.
IPv6
- Obsah:
-
IPv6 adresování, unicast, multicast, anycast. Typy adres
(link-level, site-level, globální unicastové, ...).
EUI-64 token formát adresy. Konfigurace
v různých UNIXech. Autokonfigurace pomocí radvd.
Tunely nad IPv4, projekt 6bone. Psaní aplikací kompatibilních
s IPv6 (getaddrinfo(3)).
- Úkol:
-
Na počítači alpha zprovoznit nativní IPv6 síť nad
ethernetem - použijte site-level adresy fec0::/64
v EUI-64 formátu. Erigona má adresu fec0::1.
Mezi počítači alpha a beta zprovoznit tunel
nad IPv4 s koncovými adresami fec0:0:0:N::1 a
fec0:0:0:N::2 (kde N je 1, 2, 3, ... 9, a
(hexadecimálně) podle vaší IPv4 adresy - čili například stroj
proto10-alpha bude mít adresu fec0:0:0:a::1).
Konfiguraci IPv6 promítněte do standardních startovacích
a konfiguračních skriptů své distribuce.
Zprovozněte na jednom počítači
DNS server s dopřednými i reverzními záznamy pro IPv6 adresy
všech počítačů v laboratoři. Ujistěte se, že jsou z alphy i z bety dostupné
jiné IPv6 sítě v laboratoři (tedy cizí alpha i beta pod IPv6 adresami).
- Kontrola:
-
Z erigony programem ping6 prověřit dostupnost všech
vašich IPv6 adres. Programem host prověřit funkčnost DNS
(pozor - u reverzních zón použijte přepínač -n).
Firewally, bezpečnost
- Obsah:
-
Typy firewallů a jejich přednosti, verze paketových
filtrů pro Linux. Netfilter v jádře Linuxu (přípojné body pro zachycení
packetů, principy práce). Moduly netfilteru, např.
iptables,
práce s řetězci a pravidly, filtrování, NAT. Případně packetové
filtry v *BSD.
- Úkol:
-
Vytvořte korektní starovací skript do /etc/init.d pro
konfiguraci firewallu.
Na počítači alpha nakonfigurujte packetový filtr tak,
aby z erigony bylo možno přistupovat na počítač beta
pouze na protokoly DNS a HTTP. Nakonfigurujte překlad adres tak,
aby přístup z erigony na port 2222 počítače beta
způsobil přesměrování na port ssh; přímý přístup na port
ssh nemá být možný (pozn.: toto lze
realizovat několika způsoby, zkuste najít ten nejčistší).
Z počítače beta směrem ven by měl fungovat přístup
na všechny služby, stejně tak z počítače alpha. Kromě
ICMP echo a případných dalších nutných ICMP zpráv by z venku
na vašich počítačích neměly být dostupné žádné další služby.
Implicitní nastavení firewallu
by tedy mělo být DROP pro vše co není explicitně povoleno.
Do packetového filtru zařaďte i pravidla pro ochranu před podvržením
IP adresy – například před podvržením IP adresy vašeho virtuálního
počítače z vnější sítě (i přesto že váš systém toto může zabezpečit
i jinými prostředky).
- Kontrola:
-
Z erigony programem nmap ověřte, které porty jsou
na vašich strojích vidět. Programem ssh -p 2222 ověřit
požadované přesměrování portu ssh. Dále ověřte, že pokud
se z erigony hlásíte na své stroje přes ssh, netrvá přihlášení
výrazně déle než bez firewallu (pokud ano, opravte nastavení svého
firewallu).
Klasifikace provozu sítě
- Obsah:
-
Co je klasifikace provozu sítě a diferencované služby. Jaké prostředky
se používají pro konfiguraci. Omezování šířky pásma, policing, marking.
Fronty packetů (RED/WRED, CBQ, TBF, HTB, SFQ, WFQ, Prio). Konfigurace
v UNIXovém operačním systému (Linux nebo *BSD). Problematika omezení šířky pásma
na vstupním rozhraní. Rozdělení zátěže přes více rozhraní. Způsoby
monitorování okamžitého průtoku dat.
- Úkol:
-
Na počítači alpha nakonfigurujte omezení propustnosti linky k počítači
beta na 128 kbps (kbps = kilobit za sekundu). Dále vyzkoušejte
priority provozu: nastavte provoz
z počítače erigona jako provoz s nejvyšší prioritou, ale omezený
na 64 kbps. Datovému toku z počítače ftp.fi.muni.cz dejte nižší
prioritu a omezení na 80 kbps. Ostatnímu provozu nechte nejnižší prioritu
bez dalšího omezení. Konfiguraci vytvořte jako korektní startovací skript vaší distribuce.
- Kontrola:
-
Vyzkoušejte generovat datové toky například pomocí programu ttcp,
případně pomocí FTP klienta nebo programu scp. Měřit rychlost
jednotlivých toků je možno nejlépe programem
iftop,
další možnosti jsou ntop nebo iptraf.
Jaký má vliv vysoká priorita provozu na dobu odezvy (například ICMP echo)
pro nezatíženou linku a pro linku zatíženou provozem nižší priority?
Dynamické směrování
- Obsah:
-
Protokoly pro dynamické směrování (RIP, OSPF, BGP, případně další - IS-IS?).
Implementace v UNIXových systémech (gated, zebra/quagga,
bird). Konfigurace jednoho routovacího démona se zaměřením na OSPF.
Filtrování směrovacích cest, autentizace. Konfigurace statických cest.
Směrování multicastu: PIM sparse mode/dense mode, konfigurace v jádře. IGMP.
- Úkol:
-
Nakonfigurujte na obou svých počítčích směrovacího démona pro protokol OSPF tak,
aby mohl pokud možno zjišťovat statické cesty od jádra. Vyzkoušejte, že když
přidáte na jednom počítači cestu k nějaké další síti, že ze cesta vypropaguje
i na druhý počítač. Vyzkoušejte propagování implicitní cesty z počítače
alpha na počítač beta. Vyzkoušejte spolupráci s OSPF démony
ostatních skupin.
- Kontrola:
-
Vytvoření implicitní cesty na počítači beta po aktivaci OSPF.
Vypropagování změn ve směrování po aktivaci aliasu na některém rozhraní
nebo po přidání statické cesty.
Proxy servery
- Obsah:
-
HTTP proxy cache, cachování obsahu v HTTP (řízení pomocí
hlaviček protokolu HTTP, autentizace vůči proxy). SQUID,
základní konfigurace, přístupová práva, autentizace,
programy na zpracování logů (calamaris.pl).
Specializované proxy servery (privoxy, junkbuster).
Proxy servery pro jiné protokoly (ftp-gw) nebo na jiných
vrstvách (SOCKS5).
- Úkol:
-
Zprovozněte na počítači alpha proxy cache server SQUID
tak, aby povoloval ze sítě 10.0.0.0/8 přístup do domény
fi.muni.cz komukoli, přístupy jinam jen po ověření
totožnosti vůči vašemu LDAP serveru. Nakonfigurujte SQUID tak,
aby neznámé stránky stahoval přes proxy cache.fi.muni.cz:3128.
- Kontrola:
-
Spusťte telnet *-alpha 3128 (nebo jiný port, na kterém
SQUID běží), proveďte HTTP požadavek na stránku z domény
fi.muni.cz. Pak prověřte, že bez autentizace nelze přistupovat
jinam, a naopak s autentizací proti vašemu LDAPu to možné je.
FTP server a rsync
- Obsah:
-
Uživatelský a anonymní ftp přístup, virtuální
ftp servery, logování, omezování přístupu (počet uživatelů, skupiny
uživatelů, přístupová práva,...), bezpečnost (chroot, přístupová
přáva). Rsync server, rsync klient, bezpečná komunikace.
- Úkol:
-
Zprovoznit FTP server pro běžné uživatele (kromě roota a jiných
systémových uživatelů) a pro (chroot()ovaný) anonymní přístup.
Zprovoznit upload podadresář pro anonymního uživatele tak, aby na FTP
server mohl zapisovat, ale nemohl soubory mazat a číst. Dále nastavit
omezení současného přístupu z erigony na 1 uživatele a z vašeho stroje
na 2 (pokud toto vámi zvolený FTP server neumí, nastavte limit na
jednoho současně přihlášeného anonymního uživatele a dva neanonymní).
Zprovoznit anonymní rsync server, který bude nabízet stejné
soubory jako váš anonymní FTP server (nezapomeňte zakázat přístup
k podadresáři pro upload).
- Kontrola:
-
Z erigony se připojit na FTP jako anonymous, uploadovat
soubor, vytvořit adresář, uploadovat soubor do toho adresáře, zkusit
oba soubory přečíst. Přihlásit se jako uživatel se jménem a heslem,
vypsat adresář.
Tiskárny, tisk
- Obsah:
-
Jak funguje tisk pod Linuxem, BSD tiskárny, tiskové fronty.
Balíky lpr a LPRng, definice tiskáren, filtry,
ghostscript, magické filtry. Spolupráce se sambou.
- Úkol:
-
Zprovoznit lokální tisk textu a postscriptu,
Nabídnout tyto tiskárny i ostatním v doméně lab.fi.muni.cz. Zprovoznit
vzdálenou postscriptovou tiskárnu. Do konfigurace samby přidat své
tiskárny a nabídnout je pro tisk ostatním z lab.fi.muni.cz.
- Kontrola:
-
Modemy, PPP
- Obsah:
-
Funkce modemu, AT příkazy, mgetty, spouštění
pppd na straně volajícího i na straně volaného.
- Úkol:
-
Nakonfigurovat modem pro příchozí volání programem
mgetty. Rozchodit PPP spojení jako volající i jako volaný
(IP adresy příděluje volaný). Vyzkoušet přidělení adresy DNS serveru
volajícímu. Autentizaci zvolte buďto přes jméno a heslo (a uživatelův
shell pak bude pppd), nebo CHAP.
- Kontrola:
-
Faxy
- Obsah:
-
Formáty faxových stránek (96 a 192 lpi), komprese. Generování
stránek (GS, pbmtog3, ...), příjem faxů přes mgetty, tisk/prohlížení
faxových stránek. Generování faxů lokálně (sendfax, hylafax, ...).
Faxy ze stanic pod Windows.
- Úkol:
-
Rozchodit příjem faxů v mgetty, rozchodit jeden
systém pro posílání faxů. Vyzkoušet i pro vícestránkové faxy.
- Kontrola:
-
Hlasové modemy
- Obsah:
-
Možnosti hardwaru (posílání a čtení zvukových dat,
komprese, detekce DTMF tónů a dalších zvláštních zvuků. Program
vgetty a jeho nadstavby (mvm). Skriptování (Modem::Vgetty).
- Úkol:
-
Nakonfigurovat vgetty jako jednoduchý záznamník:
Zpráva pro volající, možnost vložení vzkazu i vzdáleného poslechu
vzkazů.
- Kontrola:
-
Clustery
- Obsah:
-
Typy clusterů (high availability, load-balancing, výpočetní).
Implementace těchto typů a podpůrný software
(heartbeat/keepalived/vrrpd,
lvs/ldirectord, OpenMosix/Beowulf/LAM-MPI/PVM). Jeden z těchto typů
podrobně včetně možných problémů a postupu při řešení.
- Úkol:
-
Zprovoznit cluster jednoho z uvedených typů. Vyzkoušet funkčnost
(distribuci zátěže, reakce na výpadek, atd.). Pro HA cluster
nakonfigurujte předávání společné IP adresy a start služeb nad touto
adresou (třeba přes xinetd). Pro LB cluster nakonfigurujte na stroji
beta dva HTTP servery na různých IP adresách s různým obsahem (jen pro
testovací účely), na stroji alpha nakonfigurujte přeposílání HTTP
požadavků na oba HTTP servery, monitoring jejich funkčnosti a reakci
na výpadek. Pro výpočetní clustery nakonfigurujte systém distribuování
výpočetní zátěže a ukažte, že běžně fungující typy výpočtů (například
maticové operace) skutečně běží paralelně. Odhadněte zrychelní
získané díky paralelizaci.
Distribuované souborové systémy
- Obsah:
-
Co jsou to distribuováné souborové systémy. Popište základní vlastnosti nějznámejších z nich a rozdíly (AFS, Coda, Intermezzo...). Jeden popište podrobněji i s postupem instalace a konfigurace. Pokuste sa uvést i obecnější kontext s technologiemi jako NFS, WebDAV (P2P, Bittorent?).
- Úkol:
-
Zprovoznit některý vybraný filesystém. Použijte vypujčené disky nebo nějakou formu virtuálního zařízení (loop device, ram disk). Pokuste se tento prostor využívat a zhodnotit jeho výkon (je-li to objektivně možné).
Systémy pro správu verzí
- Obsah:
-
K čemu systém správy verzí? Lock-modify-unlock,
copy-modify-merge. Centralizované versus distribuované systémy. Historie -
např. CVS. Současné centralizované systémy (např. Subversion)
- vybrat jednoho zástupce, ukázat vytvoření a zpřístupnění repostitory,
možné přístupvé protokoly, řízení přístupových práv (r-only versus r/w,
případně přístup jen k části repository). Současné
decentralizované systémy (Git, Mercurial, ...) - vybrat jednoho zástupce,
ukázat jak se vytvoří a zveřejní repository, jak se zasílají změny,
jak se sjednocují změny z více zdrojů (star-merge, ...).
- Úkol:
-
Zprovoznit repository centrálního verzovacího systému, umět základní
operace typu přidání souboru, modifikace souboru (a zpětné uložení),
přejmenování souboru, a začlenění cizích změn včetně řešení konfliktu.
Zprovoznit distribuovaný verzovací systém, demonstrovat zasílání změn
včetně přejmenování souboru, demonstrovat řešení konfliktu.
Systémy pro virtualizaci
- Obsah:
-
Proč virtualizace? Úrovně virtualizace: kontejnery (
chroot(2)
,
BSD jail(2)
, VServer, OpenVZ/Virtuozzo, ...), emulace HW
(Qemu), paravirtualizace (user-mode Linux, lguest, XEN, VMware),
plná virtualizace (KVM, XEN 3, VMware). Formáty virtuálních disků,
prostředky pro vysokou dostupnost a migraci.
- Úkol:
-
Nainstalujte na svůj stroj některý virtualizační nebo
paravirtualizační systém a do něj nainstalujte samostatný operační systém.
Zprovozněte síťovou komunikaci i s vnější sítí tak, aby například z erigony
bylo možno se přihlásit do virtuálního stroje pomocí SSH. Použijte hostname
protoXX-beta
pro virtuální stroj a IP adresu
protoXX-alpha
pro rozhraní fyzického stroje směrem k virtuálnímu.
Nepoužijte bridgování na nativní síť fyzického stroje ani NAT.
Start i ukončení virtuálního stroje zařaďte do startovacích skriptů svého
systému tak, aby se i virtuální stroj inicializoval při každém startu systému
a korektně ukončoval při ukončení fyzického systému.
Na fyzickém stroji nastavte statické směrování i k ostatním sítím virtuálních strojů (10.0.X.0/24).
Voice over IP
- Obsah:
-
Protokoly pro VoIP: H.323, SIP, IAX2: vlastnosti, srovnání, přenos
multimediálních dat versus přenos signalizace, kodeky. VoIP klienti (ekiga,
linphone, ...). Serverová strana: SIP proxy, H.323 gatekeeper, obecné
telefonní ústředny (např. Asterisk).
- Úkol:
-
Zprovoznit na obou strojích VoIP klienta tak, aby bylo možno sestavovat hovory
přímo (bez ústředny). Dále na stroji beta zprovoznit telefonní ústřednu
(např. asterisk) tak, aby telefony ze stroje
alpha
a beta
byly přihlášeny k této ústředně a bylo jim přiděleno číslo.
Čísla přidělujte jako XY kde X je 1-5 pode vaší skupiny
(0 pro erigonu) a Y je pro vaše lokální přidělování čísel. Vyzkoušejte
i volání mezi skupinami.
Povinné řízení přístupu (SELinux)
- Obsah:
-
Povinné a volitelné řízení přístupu (MAC a DAC), bezpečnostní modely
(Bell-LaPadula, RBAC, ...). Systémy pro povinné řízení přístupu v UNIXu
a Linuxu: vybrat jeden (např. SELinux) a popsat jeho fungování,
instalaci (včetně případných úprav uživatelských utilit typu
ls
,
id
a dalších) a uživatelské úpravy politiky.
- Úkol:
-
Zprovoznit na jednom stroji systém povinného řízení přístupu (např. SELinux)
s nějakou dodanou bezpečnostní politikou. Politiku rozšířit o omezení
nějakého vlastního programu: vezměte například
tento program,
který v zadaném vstupním souboru nahradí číslice za mezery a výsledek
uloží do zadaného výstupního souboru. Tento program zkompilujte
(dynamicky linkovaný) a omezte bezpečnostní politikou tak, aby vstupní
i výstupní soubor musel být pouze z určitého adresáře (jiný pro vstup
a jiný pro výstup; zvolte adresář, který v systému doposud nebyl)
a aby program nesměl dělat nic jiného než se očekává.
- Kontrola:
-
Vyzkoušejte že program korektně konvertuje data v zadaných
adresářích. Dále zkuste jako parametry zadat jiné adresáře, zakompilovat
do programu jiné akce (čtení /etc/passwd, spuštění shellu přes
exec(2), otevření síťového spojení, ... - u výše odkazovaného
programu stačí kompilovat s volbou
-DPROBE_SECURITY
)
a ověřte, že žádná z
těchto akcí se neprovede.
Archív referátů
- 2000: podzim
- 2001: jaro, podzim
- 2002: jaro, podzim
- 2003: jaro, podzim
- 2004: jaro, podzim
- 2005: jaro, podzim
- 2006: jaro, podzim
- 2007: jaro, podzim
- 2008: jaro, podzim
- 2009: jaro, podzim
- 2010: jaro, podzim
- 2011: jaro, podzim