AfNOG 2007 Workshop

Track 1 - Scalable Internet Services

This is part of the AfNOG 2007 Workshop, held in conjunction 
with the AfNOG meeting in Abuja, Nigeria, in April 2007. 

Daily Time Schedule: Morning ------- Session-1 08:45 - 10:45 Tea Break 10:45 - 11:00 Session-2 11:00 - 13:00 Lunch Break 13:00 - 14:00 Afternoon --------- Session-3 14:00 - 16:00 Coffee Break 16:00 - 16:15 Session-4 16:15 - 18:15 Dinner 18:30 - 19:45 Evening ------- Session-5 20:00 - 22:00 In addition to this detailed timetable you can see a summary timetable as well. Monday morning 8:45am o Introduction and logistics -- Ayitey Bulley o Why did we choose FreeBSD? -- Joel Jaeggli o FreeBSD Tutorial -- Joel Jaeggli and Emmanuel Odoom * FreeBSD Tutorial Materials. * FreeBSD Tutorial Exercises. + Accounts information + Creating a user account for exim and yourself + Some basic FreeBSD commands + Post-installation configuration + Short example using FreeBSD commands + Getting FreeBSD 6.2 files and others + pkg_add: Adding packages or ports by hand + Network Information - ifconfig - rc.conf - Stopping and starting the network - Stopping and starting services + Installation Notes + Slices and partitions + Distribution sets + Quick installation guide (using CD-ROM) + The FreeBSD Directory Structure + A few differences from Linux + VI Tutorial
Monday morning 11:00am o DNS Session-1 (Fundamentals): -- Ayitey Bulley and Joe Abley * DNS Materials. * Goal: to understand overall purpse and structure of DNS + IP addresses vs. names + DNS as a distributed, hierarchical database + Domain names and resource records: - A, PTR, MX, CNAME, TXT, SOA/NS + Domain name lookup responses + Reverse DNS + DNS as client-server model - Resolver - Cache - Authoritative server + Testing DNS (dig) + Understanding output from dig + Practical Exercises: - Configure Unix resolver - Use dig { A, other (e.g. MX), non-existent answer, reverse lookup } - Use tcpdump to show queries being sent to cache Monday afternoon 2:00pm o DNS Session-2 (DNS Caching Operation & DNS Debugging): -- Ayitey Bulley and Joe Abley * Goal: to understand operation of a recursive nameserver + Recap of previous session + DNS as a distributed database. + Resource record NS: referral of answer + Caching nameserver and root servers + Caching used to reduce load (esp. top level servers) + Issue of stale data in caches (problems with distributed systems). - TTL records on each record - Negative TTL in SOA + Recursion and caching (dig +norec) + Demo: www.ticscali.co.uk + Practical Exercise: - Debugging DNS Worksheet (with dig +norec ): . Students work on their own examples + Configuring a caching nameserver - check /var/named/etc/namedb/named.conf - run tcpdump - rndc start - change /etc/resolv.conf to point to your nameserver - querry two times - { Look at 'aa' flag, TTL, query time } - rndc flush - cache is authoritative for 127.0.0.1 Monday afternoon 2:00pm o DNS Session-2 (Continued): -- Ayitey Bulley and Joe Abley + What sort of hardware would you choosing when building a DNS cache? + Improving the configuration of a cache NS + Managing a caching nameserver + Practical Exercise: - Building your own cache nameserver - Improving the configuration of the cache NS + Question and Answer session + Summary Monday afternoon 4:15pm o DNS Session-3 (Configuring Authoritative Name Servers): -- Ayitey Bulley and Joe Abley * Goal: to properly configure an authoritative nameserver + Recap of caching NS + DNS Replication + Outside world cannot tell the difference between master and slave + When does replication take place? + Two (2) Dangers with serial numbers + Configuration of Master & Slave NS - Format of Resource Records { SOA and NS } + Ten (10) Common DNS Operational and Configuration Errors (RFC1912) Monday evening 8:00pm o DNS Exercises Tuesday morning 8:45am o DNS Session-3 (Continued) Exercises: -- Ayitey Bulley and Joe Abley * Setting up a an authoritative name services for a domain + Master & Slave nameserver exercises Tuesday morning 11:00am o DNS Session-4 (Delegation & Reverse DNS) -- Ayitey Bulley and Joe Abley * Presentation: + Domain delegation + About Glue records + Reverse DNS (/24) + Reverse DNS (less than /24) * Exercise: + Delegation + Reverse DNS (in-addr.arpa) + Setting up flexible logging
Tuesday afternoon 2:00pm o RADIUS -- Joel Jaeggli and Emmanuel Odoom * Materials * Presentation: + What is RADIUS? + What does RADIUS do? + Why do we need RADIUS? + Other AAA services + About FreeRADIUS * Exercise: + Build and install freeRADIUS. + Configure and start the RADIUS server. + Test authentication + Convert a service to support Radius. Tuesday afternoon 4:15pm o Web/SSL -- Joel Jaeggli and Emmanuel Odoom * Materials + Installing Apache22 from FreeBSD ports + Configure Apache with basic configuration + Start Apache httpsd daemon and connect to local box + Verify local ssl certificate works + Configuring Apache with SSL + Example SSL Apache configuration file + Sample config for Virtual Hosting Tuesday evening 20:00pm o DNS Exercises continued -- Joel Jaeggli & Ayitey Bulley
Wednesday morning 8:45am o Mail/Exim -- Emmanuel Odoom * Exim Materials + Introduction to Internet Mail - Mail agents - MUA and MTA - Message format - Authentication - SMTP - Message in transit - Use of DNS for email - Delivering a message - Relay control - Policy control on email + Practical Exercise: - Installation of Exim and basic tests Wednesday morning 11:00am o Mail/Exim -- Emmanuel Odoom + Exim Routers and Transports configuration - Configuration file - Changing runtime configuraiton - Configuration file sections - Default configuration file layout - Common global options - Exim 4 routing - Simple routing configuration - Default routers - Default transports - Routing to smarthosts - Virtual domains - Access control lists - Good and bad relaying - Message filtering - Large installations - Separating mail functions + Practical Exercise: - Modify routing, virtual domains practical exercises Wednesday afternoon 2:00pm: o Mail/Exim -- Emmanuel Odoom + Access Control Lists + Practical Exercise: - Setting up a relaying host Wednesday afternoon 4:15pm o Mail/Exim -- Emmanuel Odoom + Practical Exercise: - Setting up a relaying host Wednesday evening 8:00pm o Mail/Exim -- Emmanuel Odoom + Practical Exercise: - Exim system filtering - Spamassassin Installation - Modifying Exim configuration file for spam filtering - ClamAV Installation - Modifying Exim configuration file for virus filtering Thursday morning 8:45am o Mail/Exim -- Joe Abley + Managing SPAM - Filtering unwanted E-mails - What are the main sources of junk E-mail? - What are thecosts? - Where can you filter? - Legal problems with filtering - Ways to identify spam - Exim implementation of SRS - Minimising the joe-jobs we relay - What should you do?
Thursday morning 11:00am thru to the Evening Session o POP, IMAP and Web email servers -- Ayitey Bulley * POP3/Mail Materials: + Mailserver scalability - Linear password files - Linear mbox files - Too many files in one directory - CPU limits - Disk performance - Keep your SMTP (smarthost) and POP3 services separate + FreeBSD mailserver performance tuning - Increase kernel limits - Enable softupdates - Use SCSI disks - Spread mail directories across multiple disks - Put in as much RAM as possible - Use PCI cards, not ISA - Maildir and courier-imap POP3/IMAP + Practical Exercise: - Reconfigure exim for Maildir delivery - Courier practical exercises . Install courier-authlib from FreeBSD ports collection . Install courier-imap from FreeBSD ports collection . Configure the daemons . Start the daemons . POP3 and IMAP over SSL . Install Sqwebmail from FreeBSD ports collection + Notes and Clustering and NFS - Using Network File System (NFS) - Using Proxies - Load balancing - Database backends - FreeBSD NFS Friday morning 8:45am o POP, IMAP and Web email servers -- Emmanuel Odoom + Practical Exercise ( continued ):
Friday morning 11:00am o Security - Joel Jaggeli * Security Section Materials + Authentication + Authorisation + Integrity + Confidentiality + Availability (DoS) + Host access controls + Network access controls + Attacks on the host vs. attacks no the network + smurf attacks + Some Available Resources + Cryptographic Methods - Private key or symmetric ciphers - Hashing or one-way encryption - Integrity checks - Generating encryption keys - Public key ciphers - Digital signatures - Man in the middle attacks - PGP and SSH notes + SSH Discussion - Security at the Application Layer - known_hosts files and authorization - Password challenge authentication - RSA/DSA Private/Public Key generation - Public/Private Key use with SSH - ssh-agent and ssh-add - Using tunnels with SSH Friday afternoon 2:00pm o VoIP Service with Asterisk -- Sunday Folayan, Randy Bush & Joel Jaeggli * VoIP Section Materials + About VoIP Services and Asterisk + An example of a VoIP home setup Friday afternoon 4:15pm o VoIP Service with Asterisk -- Sunday Folayan, Randy Bush & Joel Jaeggli + Practical Exercise: - Setting up an Asterisk Server
o Other stuff: + Nagios config files

Return to AfNOG Workshop Main Page