Difference between revisions of "SITE 2006 zapocty"
From NMS
(→POP3 Proxy) |
|||
Line 145: | Line 145: | ||
*volitelně - routování POP3 spojení k různým POP3 serverům na základě údajů uložených v LDAP | *volitelně - routování POP3 spojení k různým POP3 serverům na základě údajů uložených v LDAP | ||
*příklad [http://kmlinux.fjfi.cvut.cz/~vokac/activities/2005/site/novakj/pop3.htm POP3 komunikace] | *příklad [http://kmlinux.fjfi.cvut.cz/~vokac/activities/2005/site/novakj/pop3.htm POP3 komunikace] | ||
+ | |||
+ | =[[Whois třída v Pythonu]]= | ||
+ | *napsat třídu v pythonu, která zprostředkuje přístup k informacím z [[wikipedia:whois]] |
Revision as of 22:04, 9 June 2006
Contents
- 1 Obecné pokyny pro vypracování
- 2 Identifikace zdrojů spamu na FJFI
- 3 Knihovna pro DNSBL v Pythonu
- 4 Zajištění důvěryhodnosti mailu - SPF
- 5 Zajištění důvěryhodnosti mailu - DKIM
- 6 Nové trendy v oblasti wireless sítí - WiMAX
- 7 Zeroconf - automatická konfigurace sítí a služeb
- 8 SCTP
- 9 Multicast
- 10 Monitorování SMTP provozu
- 11 Monitorování výskytu stanic v síti
- 12 Analýza dat SMTP komunikace
- 13 Generování grafu sítě
- 14 IMAP Proxy
- 15 POP3 Proxy
- 16 Whois třída v Pythonu
Obecné pokyny pro vypracování
- nebude-li uvedeno/dohodnuto jinak, výsledná prace bude vložena do těchto wiki stránek
- každý uživatel se přihlasí svým jménem/heslem (je potřeba vybrat vhodný autentizační zdroj - GAS pro většinu znamená autentizaci proti NDS)
- stránku vložte pod odkaz z titulku úkolu, který zpracováváte
- přihlašujte se přes zabezpečené spojení HTTPS!
- manuál pro editování wiki
- pokud jste úplně ztraceni, zkuste http://www.wikipedia.org/ nebo http://www.google.com/ :)
Identifikace zdrojů spamu na FJFI
- aplikace, která bude kontrolovat výskyt strojů na blacklistech z IP rozsahu FJFI
- spouštěna pravidelně z cronu (tj. není potřeba psát přímo daemona)
- bude uchovávat historii incidentů v DB
- informace o změnách (přírůstcích?) proti poslední kontrole pošle mailem
- zobrazení aktuálního stavu + historie na webu
Knihovna pro DNSBL v Pythonu
- rozumně použitelné API
- možnost konfigurace různých blacklistů
- převzetí (rozparsování) konfigurace ze spamassassinu, tohoto seznamu, případně i dalších
- cachování výsledků, možnost nastavit velikost cache a expirace
- thread-safe (bude se to týkat práce s cache a možná také DNS dotazů v závislosti na použitém DNS modulu)
- sychroní a asynchroní volání
- optimalizace pro maximální výkon
- funkce (třída?) pro kontrolu proti seznamu blacklistů
- výsledkem bude volání kontrolní funkce bude
- boolean hodnota
- skóre podle konfiguračních souborů pro spamassassin
- seznam blacklistů na nichž je adresa uvedena (přicemž budu moci zjistit další informace o konkrétním blacklistu - viz. info v konfiguračních souborech)
- možno využít adns nebo libovolnou jinou knihovnu
Zajištění důvěryhodnosti mailu - SPF
- základní popis
- co to vlastně je
- k čemu je to dobré
- k čemu to naopak neslouží
- jednoduchý popis konfigurace DNS záznamů
- požadavky na správce a uživatele
- RFC 4405, RFC 4406, RFC 4407 RFC 4408
- rozdíly mezi spfv1 a spfv2.0
- vztah mezi spf a sender-id
- výhody/nevýhody proti jiným řešením (třeba DomainKeys resp. DKIM)
- implementace
- knihovny pro různé jazyky (python, perl, C, ...) - vyzkoušet
- moduly pro mailservery (postfix, sendmail, exchange, ...) - odkazy
Zajištění důvěryhodnosti mailu - DKIM
- základní popis
- co to vlastně je
- k čemu je to dobré
- k čemu to naopak neslouží
- jednoduchý popis konfigurace
- požadavky na správce a uživatele
- rozdíly mezi původním návrhem DomainKeys a DKIM
- výhody/nevýhody proti jiným řešením (třeba SPF)
- vztah k existujícím RFC (omezení délky záznamů v DNS, X- hlavičky mailů, ...)
- implementace
- knihovny pro různé jazyky (python, perl, C, ...) - vyzkoušet
- moduly pro mailservery (postfix, sendmail, exchange, ...) - odkazy
- oficiální stránky
Nové trendy v oblasti wireless sítí - WiMAX
- základní popis WiMAX
- vlastnosti, srovnání se současnými standardy WiFI (802.11a/b/g) - výhody/nevýhody
- možnosti zabezpečení komunikace
- použitelnost na FJFI
- zařízení? klienti? (existují vůbec? cena?)
- bezlicenční pásmo?
Výsledky: WiMAX V.Jary
Zeroconf - automatická konfigurace sítí a služeb
- co to je a k čemu je to dobré
- alokace IP bez DHCP (IPv4 Link-Local Addressing)
- překlad jméno<->adresa bez DNS serveru (Multicast DNS)
- hledání dostupných služeb (DNS Service Discovery)
- ...
- principy fungování, stav implementace pro různé OS
- vztah k existujícím RFC (např. vzhledem k záznamům v DNS pro DNS-SD)
- rozchození ukázkové konfigurace (např. avahi v linuxu)
- jiné systémy propagace/informace o službách v síti jako historický SAP (Service advertising protocol na IPX), WINS (Windows Internet Naming Service) pro MS Windows, otevřený standard SLP (Service Location Protocol) pro NetWare a unix, aj.? Srovnání v čem si všechny uvedené systémy konkurují, doplňují se.
- najít statistiky, v jakém množství jsou výše uvedené systémy zastoupené v internetu, LAN apod.
SCTP
- popis vlastností tohoto síťového protokolu
- vztah k TCP/UDP (vlastnosti, výhody, nevýhody, ...)
- implementace jednoduché aplikace pro prezentaci (některých) jedinečných vlastností tohoto protokolu
Multicast
- o co jde a k čemu je to dobré (kde a jak se to dá použít, příklady aplikací)
- základní popis standardních služeb a protokolů (jako třeba <bash>ping 224.0.0.1</bash>
- implementace jednoduchého multicastového serveru a klienta
- používá se například při hledání, kde běží určitá služba. Takže zkuste třeba klienta protokolu SLP
Monitorování SMTP provozu
- daemon monitorující navazování spojení na port 25
- možnost definovat IP rozsahy, které se nemají monitorovat
- pokud nějaký stroj ze sledovaného rozsahu začne navazovat hromady spojení, zaslat mail správci, případně uložit záznam do databáze
- možnost definovat stroje, které se nemají monitorovat (typicky oficiální mailservery)
Monitorování výskytu stanic v síti
- deamon monitorující stroje, které se nacházejí v lokální síti
- odchytává ARP request/response
- údaje ukládá do souboru (databáze)/uchovává v paměti
- poslouchá na všech/definovaných rozhraních
- volitelně rozhraní pro vyčítání nasbíraných informací (TCP/IP server)
Analýza dat SMTP komunikace
- maily lze rozumně odmítat jen při SMTP spojení s remote serverem
- vygenerování chybové zprávy pro uživatele je přenecháno na odesílajícím serveru
- negenerují se mail-delivery failure zprávy na falešné adresy
- úkolem je analyzovat data z komunikace
220 mailgw1.fjfi.cvut.cz ESMTP CTU FNSPE 1st MX NO UCE NO SPAM EHLO cizi.mail.server 250 mailgw1.fjfi.cvut.cz MAIL FROM: <nejaka.adresa@nejaky.cizi.server> 250 Ok RCPT TO: <nejaka.lokalni.adresa@fjfi.cvut.cz>
- v databázi jsou předzpracovány informace přibližně odpovídající Postfix SMTP Access Policy Delegation, dál jsou tam body přiřazené spamassassinem
- úkolem by bylo vygenerovat pár histogramů podle dat z databáze (podrobnosti na mailu vokac@kmlinux.fjfi.cvut.cz)
- pokusit se na základě bodů od spamassasinu navrhnout pravidla pro odmítání mailů po RCPT TO (jen podle informací uvedených v Postfix SMTP Access Policy Delegation)
- mrknout se na ppolicy a navrhnout případně další možné kontroly
Generování grafu sítě
- motivace - ze switchů lze přes SNMP vyčíst informaci, přes který port se komunikuje s konkrétní MAC adresou, tímto způsobem by se mělo dát automaticky vygenerovat zapojení všech zařízení do sítě
- mám seznam uzlů
- z každého uzlu vede více hran
- v každém uzlu vím, kterou hranou se vydat do jiného uzlu (ale nevím, přes kolik dalších uzlů projdu)
- graf je acyklický (pokud nebudeme brát do úvahy Spanning Tree Protocol, který fyzické kruhy logicky rozděluje, ale zřejmě pro každou VLAN mohou být jiné cesty )
- úkolem je vygenerovat a nakreslit graf (graphviz) na základě uvedených pravidel
IMAP Proxy
- motivace - zrychlení práce s maily přes webmail
- proxy pro IMAP server, která bude cachovat autentizovaná spojení pro uživatele
- možnost využít python-twisted - viz. např. tento jednoduchý příklad IMAP Proxy
- podpora zabezpečeného spojeni přes SSL (a to jak od klienta k proxy, tak i od proxy k serveru), ověřování platnosti certifikátů
- na základě uživatelského jména směřovat spojení na různé back-end IMAP servery
- volitelně - routování IMAP spojení k různým IMAP serverům na základě údajů uložených v LDAP
- příklad IMAP komunikace
POP3 Proxy
- motivace - zrychlení práce s maily pres webmail
- proxy pro POP3 server, která bude cachovat autentizovaná spojení pro uživatele
- možnost využít python-twisted - viz. např. tento jednoduchý příklad IMAP Proxy
- podpora zabezpečeného spojeni přes SSL (a to jak od klienta k proxy, tak i od proxy k serveru), ověřování platnosti certifikátů
- na základě uživatelského jména směřovat spojení na různé back-end POP3 servery
- volitelně - routování POP3 spojení k různým POP3 serverům na základě údajů uložených v LDAP
- příklad POP3 komunikace
Whois třída v Pythonu
- napsat třídu v pythonu, která zprostředkuje přístup k informacím z wikipedia:whois