Security

Here are a list of security related incidents and links.

New TLS Attack Lets Attackers Launch Cross-Protocol Attacks Against Secure Sites with code available.
Securing Internet Applications from Routing Attacks

Forums

We have only listed those relevant to this paper, there are lots more.

Ubuntu
Linux
Sysadmin
Ubuntu + linux + sysadmin (multireddit)

Several online forums where people from all over the world discuss various topics.

AskUbuntu (StackExchange)
Unix & Linux (StackExchange)
Information Security (StackExchange)
Network Engineering (StackExchange)

These are a community driven Q&A sites.

News

Hacker News

Very US centric, but often contains interesting tech related articles.

Towards the beginning of the month, there is a "Who's hiring?". Sometimes there are New Zealand based jobs.

Slashdot

User submitted stories and content covering technology, science, and politics (mostly US).

It has been running since 1997!

Books

I've linked to the Otago Library's pages where I can.

Site Reliability Engineering: How Google Runs Production Systems, by Beyer, Jones, Petoff, and Murphy (eds.), O'reilly
Some of the things that needs to go into running Google's systems.
Principles of Network and System Administration (2nd Edition), by Mark Burgess, John Wiley & Sons
The Practice of System and Network Administration (2nd Edition), by Limoncelli and Hogan, Addison Wesley
Time Management for System Administrators, by Tom Limoncelli, O'Reilly Presentation
Some very useful time management tips.
Systems Performance, by Brendan Gregg, Prentice Hall
Linux Network Administrators Guide (3rd Edition), by Bautts, Dawson and Purdy, O'Reilly

System Administrators

Everything Sysadmin website

The Operations Report Card

SAGE Code of Ethics

BOFH official archive (Anti-patterns for System Admin ethics)

Introductory Material

The Linux Documentation Project

Contains a large amount of documentation for the various components of the Linux Operating System. Take care as some projects are old, or a work-in-progress.

Introduction to Linux

If you are not familiar with working in a Linux/UNIX command-line environment, then this will help you to come up to speed.

IPv6

Linux IPv6 HOWTO

This is a fairly comprehensive coverage of dealing with IPv6 in Linux.

Unix Environment/Philosophy/Design

The Art of Unix Programming

I use this as a recommended reading for my scripting lecture. It also serves as a good counterpoint to The Unix Haters Handbook (below). The main page.

The Unix Haters Handbook (PDF)

Because Unix is definitely not perfect, and it is very enlightening to see the sort of rather cool stuff that came before it, especially as some of it is re-introduced in more mainstream systems.

BASH Programming - Introduction HOW-TO

This document is referenced in the scripting lecture.

Advanced Bash-Scripting Guide

This document is mentioned as a follow-up resource in the scripting lecture.

Unofficial BASH FAQ
Common BASH Mistakes

These are both very good resources, particularly the BASH Mistakes (I’ve caught myself making some of them, namely using function when declaring a function). Gives a good idea of portability issues also.

Monad Manifesto (PDF)
Monad Manifesto Blog Post
Monad Manifesto Annotated

Not about Unix per-se, but very useful for understanding a better shell environment. Monad is the code-name of Windows PowerShell. This is an old article (2002), the blog post (dated 2010) takes a look back at the article, whereas the annotated version (dated 2016) takes a longer look back and provides some more modern day perspective.

Scripting: Higher Level Programming for the 21st Century (PDF)

Talks more generally about the different between scripting languages and system programming languages. Written by the father of the Tcl scripting language, John K. Ousterhout. Note the age, Python is more the flavour de-jour.

Cron Sandbox

This site lets you enter a crontab specification and see when it would be run; useful, but bear in mind there are some edge-cases that are different in different cron implementations, and there are many cron implementations.

Network Design/Subnetting etc.

subnettingquestions.com

Highly recommended! This site generates good subnetting questions you can test yourself against. It doesn't teach you the theory or practice, but just provides a very good resource for those subnetting questions which we all find rather challenging at times.

An example question: “Which subnet does host 172.18.235.132/26 belong to?” An excellent resource when studying towards certification (CCNA in particular gives you lots of subnetting questions).

Regular Expressions

Know your regular expressions – IBM developer Works

You may find this useful for learning about some tools you can use to hone your regular expression skills. The links at the end of this should be useful.

Anecdotes

Java Takes Down the Network – The Daily WTF

A useful observation on the non-technical observations of the job.

The 500 Mile email

An interesting story involving troubleshooting, and lateral thinking.

Articles

Various documentation that may have been referenced during lectures, or otherwise just useful. You should also see the Links section of the website for other useful resources.

Video Resources

These resources need to be acccess from on-campus.

Structured Cabling Virtual Tour

For Lab 2 (Ethernet Practical). ~12min runtime. 25MB, MPEG4. Created especially for COSC301. Also suitable for video-capable iPods. This has been recompressed from the original, so it should stream a lot better across the network now. If you're interested, the model was created in Google Sketchup (nice, but prone to crash).

Lab 12 (Vim) Assessment

For Lab 12 (Effective use of the Vim Editor). ~2min runtime. 4MB, MPEG4. If you're interested, I created this with the Snapz Pro X screen recording software, which is excellent, and quite reasonably priced. The terminal emulator I'm using here is not xterm, but iTerm. Because of this, you will need to use use Option-click to paste into xterm (a middle-click), rather than Command-V as mentioned in the video.

Note: This video was made in a previous year. You will need to get the Forward Zone file from the DNS lab, not lab 9 as mentioned in the video.
Note: The for-loop used is a Bash extension.
You should really use bash and not sh to process it. On many systems this will not make a difference, but on some systems sh might not be bash or a cut-down version of bash but another, smaller, faster version of sh. This is the case on vertex.otago.ac.nz, where /bin/sh is a sym-link to dash. On a Mac, /bin/sh is another version of Bash.
Scripting lecture

Everyone is welcome to view this video (from on-campus, of course). This is the lecture that suffered from a “diary malfunction”. It’s rather longer than a 50-minute lecture, so I hope you appreciate the extra discussion.

Back of the Envelope guide to Virtual LANs

This is the first in a (hopefully) series of short presentations on technical topics. The topic being presented in this lecture is about Virtual LANs, which you need to know about for the first routing lab. This replaces the last few slides of the Interior Routing lab on VLANs, since I didn’t think three slides really told the story I was wanting to tell.

The hand-drawn figures are something of an experiment in getting a lot of useful figures up in minimal time, much like taking snap-shots of a whiteboard, but hopefully better thought out. I would appreciate feedback. I may well change this to use a whiteboard at some stage, perhaps to capture live presentations in the lab, but this is a work in progress…

Firewall Lecture

This is my recording of the firewall lecture. I have re-recorded the end of it since we ran out of time.

This recording is in a format suitable for playing on a video-capable iPod. Note that I’m currently playing with lecture recording, so it may not be perfect (in particular, it lacks chapter markers) but it seems reasonably good.

IP Accounting Lecture

This is the IP Accounting lecture, recorded Monday 19th May 2008. 40 minutes.