Project Ideas for Spring 2025

Explore Proxmox as VMware Replacement

Introduction

Explore the considerations for using Proxmox as a replacement for VMware for ITC department Netlab usage and other hosted services. Includes support for Windows 11 (e.g. with vTPM), network connectivity to the outside, storage considerations, clustering, internal networks, SDNs, etc.

Resources

  • At least one Proxmox server

  • Information about current VMware usage

Deliverables

  • Demonstrations and documentation on running systems on Proxmox instead of VMware

  • Prepare a whitepaper and presentation detailing your research, testing process, and results

Explore Cisco Device Configuration Automation with Ansible

Introduction

Explore the ability to automate Cisco router and switch configuration using the Ansible tool. Explore both SSH configuration and NETCONF/RESTCONF configuration. Explore methods to get the routers and switches configured enough so that Ansible can take over.

Resources

  • Cisco router and switch pods

  • At least on VM

  • Ansible

Deliverables

  • Ansible playbooks to configure Cisco router and switch devices using SSH and NETCONF/RESTCONF such as for CCNA/CCNP lab activities

  • Prepare a whitepaper and presentation detailing your research, testing process, and results

Explore Linux Server Configuration Automation with Ansible

Introduction

Explore the ability to automate Linux server configuration using the Ansible tool.

Resources

  • One or Linux VMs

  • Ansible

Deliverables

  • Ansible playbooks to complete common Linux server configuration tasks such as those in the Linux System Administration course

  • Prepare a whitepaper and presentation detailing your research, testing process, and results

Explore Infrastructure Deployment Automation

Introduction

Explore the infrastrucutre as code automation landscape by using tools such as Terraform and OpenTofu to create and manage virtual machines and LXC containers.

Resources

  • One or more Proxmox servers

  • Terraform and OpenTofu

  • Cloud accounts at Azure and AWS

  • Incus LXC management software

  • One or more VMs

Deliverables

  • Terraform and OpenTofu systems which can create and manage VMs and LXC containers

  • Prepare a whitepaper and presentation detailing your research, testing process, and results

Proxmox Automation

Introduction

Explore the automation of tasks in Proxmox including cloning VMs and setting up networks/VLANs for VMs using Python.

Resources

  • One or more Proxmox servers

  • Python

Deliverables

  • Basic Python scripts which clone VMs and create/assign networks/VLANs to NICs in VMs.

  • Prepare a whitepaper and presentation detailing your research, testing process, and results

Intrusion Prevention System Experimentation

Introduction

In this project you would explore a couple of different intrusion prevention systems and create a lab which could be used in a network security course to demonstrate the use of IPS software. This may require the creation of pre-built virtual machines so that the principal features of IPS can be explored within a reasonable lab time. You may want to explore and create labs for both network (NIPS) and host (HIPS) based IPS.

Resources

  • SNORT

  • Zeek

  • OSSEC

  • Suricata

  • Security Onion

  • OpnSense

Deliverables

  • Comparison of IPS software

  • IPS Lab Activities (instructions, VMs, etc.)

Overlay Network Experimentation

Introduction

Overlay networks allow you to build a network of systems (and sometimes subnets) which communicate with each other and appear to be on a local network even when they are connected through other networks. They share some similarities with VPNs but usually allow direct node to node communication without flowing through a central gateway. They can be supported/connected with both software and hardware depending on specific needs.

Resources

  • Slack Nebula

  • Tinc

  • VXLAN

  • flexiWAN

  • Yggdrasil Network

  • HasiCorp Consul

  • ZeroTier

  • cjdns

  • Headscale

Deliverables

  • Working overlay network(s)

  • Comparison of types/specific overlay networks

Digital Signage

Introduction

Digital signage player software is used to show photos and information on TV screens used as signs in public places. This project would be to explore and test at least a few different digital signage players and make a recommendation on ones to use for a few particular organizations with different needs.

Resources

  • Concerto

  • Screenly

  • Xibo

  • Rise Vision

  • Display Monkey

  • Pi Signage

  • Info Beamer

  • Libre Signage

  • Foyer

Deliverables

  • Working digital signage system(s)

  • Recommendations/comparison of digital signage systems

DNS and Web Deep Dive

Introduction

Explore the operation of DNS servers, Web servers, and related services by modeling how the Internet DNS system works. Includes deploying at least a root nameserver, a few TLD nameservers, some nameservers for particular domains, delegated nameservers, as well as a root Certificate Authority, experimenting with DNSSEC and DANE, and setting up demo webservers for sample domains (utilizing the DNS infrastructure, DNSSEC, DANE, SSL/TLS certificated, etc.)

Resources

  • Lots of Linux server VMs

  • BIND DNS Server (and/or Unbound DNS server)

  • nginx web server

Deliverables

  • Public Key Infrastructure setup (certificate creation, signing, etc.)

  • DNS Server hierarchy with working DNSSEC/DANE access to webservers/sample domains

  • Prepare a whitepaper and presentation detailing your research, testing process, and results

PKI Certificate Deep Dive

Introduction

Explore the operation of public key infrastructure (security certificates). Includes setting up an enterprise certificate authority on Windows Server and/or Linux and then demonstrating the useful application of security certificates for things like: HTTPS websites, code signing, VPN authentication, Wireless Network 802.1x Authentication, email signing, etc. You will also determine the feasibility of using free public "Let’s Encrypt" certificates for any or all of these in an enterprise intranet setting.

Resources

  • Windows and Linux server VMs

  • Certificate creation and signing software

Deliverables

  • Public Key Infrastructure setup (certificate creation, signing, etc.)

  • Demonstration of certificate use

  • Prepare a whitepaper and presentation detailing your research, testing process, and results

UPS Power Monitoring

Introduction

Research, explore, and demonstrate the use of the NUT UPS power monitoring software to manage large numbers of uninterruptible power supplies on the ITC network. Specifically, research the use of NUT and develop/implement a plan to connect a Raspberry Pi running Raspbian Lite and running NUT to every UPS in the ITC labs and connect them with static IPs to the ITC network. Collect UPS statistics over SNMP to a monitoring system such as Zabbix as well. If time allows provide centralized status reporting to a monitoring dashboard.

Resources

  • Lots of Raspberry Pis

  • UPSs

Deliverables

  • Working NUT servers on every UPS

  • Documentation on setup and configuration

  • Prepare a whitepaper and presentation detailing your research, testing process, and results

Linux Software Mirror

Introduction

Your goal with this project is to create a self-updating/sustaining Linux operating system local mirror which would allow ITC students to more quickly install and update their Linux systems. The primary OS which must be supported is Debian Linux but you may choose to include other Linux distributions in the mirror as well. The mirror should include a package repository as well as an ISO repository. Your mirror needs to automatically stay up to date with the latest Linux distribution files and should support delivering files over IPv4 and IPv6. It should meet the requirements for being a public mirror.

Resources

  • Linux VM

  • SAN backed storage

Deliverables

  • A working and self-updating Linux distribution mirror (at least for Debian, possibly other distributions as well)

  • Configuration documentation of the mirror

  • Prepare a written whitepaper and oral presentation detailing the process, criteria, results, and configurations

VPN Systems Comparison

Introduction

In this project your goal would be to compare and install a variety of different type of VPN software, focusing primarily on open source offerings and covering a variety of different types of VPN use cases. Use cases include: remote access to a work network, protecting Internet traffic over an insecure network (such as free wifi), connecting individual client devices to a single virtual network, connecting two separate networks together. You should explore differences in how the different software allows for authentication, how they provide rules limiting which clients traffic can flow between, speed differences, usability, flexibility, etc.

Resources

  • VMs

  • VPN Server and Client software (Wireguard, OpenVPN, IPSEC, OpenConnect)

  • Various client devices

Deliverables

  • Running VPN systems

  • Configuration documentation of the software, comparisons of various software options

  • Prepare a written whitepaper and oral presentation detailing the process, criteria, results, and configurations

Python Programming Projects

Introduction

There are MANY possible Python programming projects possible and could include local programs as well as cloud based serverless type programs (e.g. Azure Functions). Specific projects would depend on your existing Python knowledge and area of interest. Discuss these with your instructor.

Resources

  • Python!

  • Possibly other things depending on specific project

Deliverables

  • Code as open source under MIT license

  • Other deliverables depend on specific project

  • Prepare a written whitepaper and oral presentation detailing the process, criteria, results, and configurations