Throughout this semester, the machines you are administering have rested securely behind the CS firewall, the threat of intrusion a faint murmur in your consciousness. As of 00:00:01 on July 27th, 1999, this will all change. EACH TEAM WILL DEFEND ITS OWN MACHINES AND SEEK TO ATTACK THE MACHINES OF THE OTHER SYSADM GROUPS. Attacks may continue until Midnight on August 2nd, 1999. Journals will be due the following day.
In your journals, note the research you have done and the steps you have taken to secure your machines. Be careful to include the specific dangers you are seeking to avoid (and an outline of how such attacks could be performed). Note your thought processes. Also note what attacks have been mounted and what potential weaknesses each attack was designed to exploit.
Your grade in this exercise will reflect your success in securing your machine against the widest possible variety of attacks (with the exceptions noted below) AND your success in gaining access to the machines of other groups. The methods to employ, within the Rules of Engagement (below) are yours to research and choose. Thorough research and diligent implementation, rather than perfect performance, will count most strongly in the grading process.
To begin: each team will collect three (hard copy) "flags" from Jeff Bauer, who will act as umpire of these games. Each flag is a unique bit string which must be stored on the appropriate computer's filesystem. This flag is the secret value that will be the "prize" of the attackers and the object that you must defend. Each flag must be placed in a regular file called (literally, including case) flag.nt, flag.solaris or flag.linux (depending on the machine). It must be stored somewhere (anywhere) in a mounted filesystem on the host computer and must be owned by root/administrator.
Next, carefully read the paper, "Improving the Security of Your Site by Breaking Into it", by Dan Farmer and Wietse Venema (you can find Dan's security links at www.fish.com/security). Teams are encouraged to follow the techniques outlined there and to research and implement any security software mentioned therein or elsewhere that you feel is appropriate. Good examples include COPS, Tiger, Tripwire and Crack. All can be located on the net. Do further research into possible attack scenarios by visiting www.rootshell.com and other hacker/security sites. Research "Bugtraq" for the latest hacks (see the class home page for more security links).
As a start, properly configure syslogd and optionally install any wrappers or other monitoring software designed to track attempted break-ins. You must attempt to discover everything possible about the attacking entity and the method(s) used to (attempt to) gain access to your machine. Should your machine be successfully attacked, you will be notified. You will then have the opportunity to remove this "smirch" upon your reputation, and grade by, within 24 hours of notice, 1) determining, the method of attack and 2) making defensive changes to prevent the same attack (which will be made again). You will be given a new flag at the time of notice (the method used to deliver the new flag will be up to the individual teams).
The following are the rules of engagement for the sysadm wars. ANY violation will result in a zero for this assignment for all team members. These apply to both the sysadm class "defenders" and the attacking team.
Linux/Solaris: Sendmail, Web Server, Telnet and FTP servers. NT: Web Server, Telnet and FTP servers.Moreover, regular users must have access to all normal UNIX or NT user commands.
Should any service be disabled, clearly note same in your journals along with the specific reasons for each and the expected effect this will have on the network and its users. Drastic curtailment of user powers in the name of security may be deemed excessive (attempt to maintain a defensible balance, and defend same in your write-ups).