Setting up your work environment
You'll need to work on your own computer for this, since it involves setting up your computer. But take advantage of our Slack workspace to ask questions, and feel free to get help pretty much anywhere.
Goals
- Start using our Slack workspace to communicate with the class.
- Get access to Kali Linux on a UTM or VMWare virtual machine, which you'll need installed on your working computer.
- Get familiar with the basics of git, GitHub, and the Unix command-line interface.
Part 1: Slack
- Accept the email invitation that you received for our Slack workspace.
- If you didn't receive it, let me know right away!
- Install the Slack app on your work computer and/or your mobile device. Make a plan that ensures that you'll check Slack once per day.
- Post a short introduction to yourself in the #general channel. Say whatever you want in introduction.
Part 2: Kali Linux
For most of our work this term, we're going to use tools installed on the Kali distribution of Linux in a virtual machine. There are several good reasons for this setup:
- Kali is extremely widely used by security professionals, for whom it is designed, so you'll get experience with an important tool.
- Kali has a ton of security-related software pre-installed and pre-configured, so we save lots of setup time using Kali instead of a standard macOS or Windows setup.
- Running Kali in a virtual machine means that you can have root access to the Kali installation, even if you're running it on one of Carleton's lab machines. This is particularly important if you want to observe or generate raw network traffic, since you're generally prevented from doing so by your OS unless you have root/admin privileges.
- Running Kali in a virtual machine means you can take some potentially dangerous actions without screwing up your whole computer.
If your computer runs macOS, you can use the UTM virtual machine software free of charge. If you use Windows or Linux, you'll use VMWare. (Carleton has a VMWare license, so if you let me know you need it, Mike Tie will send you an email with a link where you can download VMWare for free.) When you're ready to install Kali, pick the appropriate instructions link below. (Big thanks to Mike Tie and his student workers for preparing these instructions over the summer.)
- Running Windows?. Detailed instructions here.
- Running macOS with an Apple Silicon (M1/M2) CPU?. Detailed instructions here.
- Running macOS with an Intel CPU?. Detailed instructions here.
- Running Linux? Use the Windows instructions to get VMWare, and you can take it from there.
- Don't want to install Kali (e.g., you don't have 20GB hard drive to spare)? You may do your Kali work in Olin 304. Detailed instructions here.
Part 3: git and GitHub
To submit your work for this class and to support collaborative work with your classmates, you will use a git repository to store your code, documentation, presentations, etc.
Here's the short version of your git setup tasks:
- If you don't already have one, create a free account on GitHub.
- Create a GitHub repository named "cs-comps" or something like that. Make it public and give it a README.
- Add a .gitignore file to the top level of your repository, containing
at least the following:
.DS_Store *.pyc __pycache__/
- Fill out this one-question survey to send me your repo link.
Don't know anything or much at all about git? Check out my brief git startup instructions from last fall's security class.
Part 4: what to hand in, and how
- As specified above, post in #general on our Slack workspace.
- As requested above, fill out the GitHub survey. Once everyone has given me their links, I'll share them all in a spreadsheet with you so you can see each other's repos.
- Make sure your repository includes a .gitignore file with at least the contents specified above. Make sure to "git add .gitignore" if it wasn't already committed, commit your changes, and push the whole thing to the GitHub copy of your repository so I can see it.