PV090 - UNIX-seminář ze správy systému

POZOR: toto je stará verze, od semestru jaro 2012 najdete novou na adrese http://www.fi.muni.cz/~kas/pv090/.

Požadavky | Jak má vypadat referát | Úkoly | Obsazení počítačů | Přiřazení referátů | Probíraná témata | Archív referátů


Požadavky na kolokvium


Jak má vypadat referát


Ú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

# Téma (1. / 2. skupina) Středa Čtvrtek
0. Instalace systému - -
1. Jádro systému Jiří Kortus Peter Maral
2. Virtualizace Daniel Vrátil
3. DNS Juraj Gargulák
4. Autentizační systémy Pavel Březina
5. LDAP Martin Kolman Jiří Novotný
6. Elektronická pošta Petr Velan
7. WWW, HTTP servery Michal Srb
8. IPv6 Martin Vizváry Peter Maral
9. Firewally Pavel Březina
10. Správa sítě (SNMP, Nagios, ...) Martin Vizváry
11. Klasifikace síťového provozu Martin kolman

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

Ú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ů