ISLET: Jon Schipp, Ohio Linux Fest 2015. jonschipp@gmail.com. An Attempt to Improve Linux-based Software Training



Similar documents
The Bro Network Security Monitor

Platform as a Service and Container Clouds

How Bigtop Leveraged Docker for Build Automation and One-Click Hadoop Provisioning

Docker : devops, shared registries, HPC and emerging use cases. François Moreews & Olivier Sallou

The Software Container pattern

Automated deployment of virtualization-based research models of distributed computer systems

Building a Continuous Integration Pipeline with Docker

DevOps with Containers. for Microservices

Linstantiation of applications. Docker accelerate

STRATEGIC WHITE PAPER. The next step in server virtualization: How containers are changing the cloud and application landscape

Do Containers fully 'contain' security issues? A closer look at Docker and Warden. By Farshad Abasi,

The Definitive Guide To Docker Containers

Operating Systems Virtualization mechanisms

What new with Informix Software as a Service and Bluemix? Brian Hughes IBM

Comparing Virtualization Technologies

Cloud Simulator for Scalability Testing

DevOps Course Content

Intro to Docker and Containers

Example of Standard API

Amazon Elastic Beanstalk

The Virtualization Practice

Networks and Services

1. Installation Overview

WHITEPAPER INTRODUCTION TO CONTAINER SECURITY. Introduction to Container Security

managing the risks of virtualization

Options in Open Source Virtualization and Cloud Computing. Andrew Hadinyoto Republic Polytechnic

RPM Brotherhood: KVM VIRTUALIZATION TECHNOLOGY

The Art of Virtualization with Free Software

Private Cloud Management

Building a Kubernetes Cluster with Ansible. Patrick Galbraith, ATG Cloud Computing Expo, NYC, May 2016

Installation Overview

Cisco Application-Centric Infrastructure (ACI) and Linux Containers

Best Practices for Python in the Cloud: Lessons

OpenShift. OpenShift platform features. Benefits Document. openshift. Feature Benefit OpenShift. Enterprise

PARALLELS SERVER BARE METAL 5.0 README

Deploying Business Virtual Appliances on Open Source Cloud Computing

2) Xen Hypervisor 3) UEC

Managing your Red Hat Enterprise Linux guests with RHN Satellite

Rudder. Sharing IT automation benefits in a team with Rudder. Benoît Peccatte bpe@normation.com. Normation Tous droits réservés normation.

About This Document 3. About the Migration Process 4. Requirements and Prerequisites 5. Requirements... 5 Prerequisites... 5

RED HAT CONTAINER STRATEGY

Verax Service Desk Installation Guide for UNIX and Windows

Use Cases for Docker in Enterprise Linux Environment CloudOpen North America, 2014 Linda Wang Sr. Software Engineering Manager Red Hat, Inc.

Getting Started Using Project Photon on VMware Fusion/Workstation

White Paper Server. SUSE Linux Enterprise Server 12 Modules

An Analysis of Container-based Platforms for NFV

Server Configuration and Deployment (part 1) Lotus Foundations Essentials

Using Docker in Cloud Networks

Virtualization. Introduction to Virtualization Virtual Appliances Benefits to Virtualization Example Virtualization Products

How To Install Openstack On Ubuntu (Amd64)

Software Defined Everything

What s New in Centrify Server Suite 2013 Update 2

9/26/2011. What is Virtualization? What are the different types of virtualization.

PARALLELS SERVER 4 BARE METAL README

lxc and cgroups in practice sesja linuksowa 2012 wojciech wirkijowski wojciech /at/ wirkijowski /dot/ pl

Introduction to DevOps on AWS

Integration in the cloud - IPaaS with Fuse technology. Charles Moulliard Apache Committer

Why Does CA Platform Use OpenShift?

Linux A first-class citizen in Windows Azure. Bruno Terkaly bterkaly@microsoft.com Principal Software Engineer Mobile/Cloud/Startup/Enterprise

Deploying Ubuntu Server Edition. Training Course Overview. (Ubuntu LTS)

Application Release Automation (ARA) Vs. Continuous Delivery

Operating System Structures

Microservices a security nightmare? GOTO Berlin - Dec 2, 2015 Maximilian Schöfmann Container Solutions Switzerland

Accessing RCS IBM Console in Windows Using Linux Virtual Machine

Cloud Computing for Control Systems CERN Openlab Summer Student Program 9/9/2011 ARSALAAN AHMED SHAIKH

Understand IBM Cloud Manager V4.2 for IBM z Systems

Jenkins World Tour 2015 Santa Clara, CA, September 2-3

Virtual Machines.

Automated Process Center Installation and Configuration Guide for UNIX

My DevOps Journey by Billy Foss, Engineering Services Architect, CA Technologies

Introduction to Computer Administration. System Administration

depl Documentation Release depl contributors

Sistemi Operativi e Reti. Cloud Computing

Building a Private Cloud Cloud Infrastructure Using Opensource

Deploying BitDefender Client Security and BitDefender Windows Server Solutions

Linux/Open Source and Cloud computing Wim Coekaerts Senior Vice President, Linux and Virtualization Engineering

Building Docker Cloud Services with Virtuozzo

Virtualization analysis

OCS Virtual image. User guide. Version: Viking Edition

How To Use Arcgis For Free On A Gdb (For A Gis Server) For A Small Business

ovirt: Open Your Virtual Data Center

Chris Rosen, Technical Product Manager for IBM Containers, Lin Sun, Senior Software Engineer for IBM Containers,

How To Install Project Photon On Vsphere 5.5 & 6.0 (Vmware Vspher) With Docker (Virtual) On Linux (Amd64) On A Ubuntu Vspheon Vspheres 5.4

Using Vagrant for Magento development. Alexander

Kubernetes-Murano Integration in Mirantis OpenStack 7.0

OpenNebula Cloud Platform for Data Center Virtualization

How To Set Up Wiremock In Anhtml.Com On A Testnet On A Linux Server On A Microsoft Powerbook 2.5 (Powerbook) On A Powerbook 1.5 On A Macbook 2 (Powerbooks)

Red Hat Network Satellite Management and automation of your Red Hat Enterprise Linux environment

This module provides an overview of service and cloud technologies using the Microsoft.NET Framework and the Windows Azure cloud.

Project Documentation

Transcription:

ISLET: An Attempt to Improve Linux-based Software Training Jon Schipp, Ohio Linux Fest 2015 jonschipp@gmail.com

Project Contributions The Netsniff-NG Toolkit SecurityOnion Bro Team

www.open-nsm.net

The Problem IT training isn t easy

Common Types of IT Training 1. Shared system training (multiple accounts) 2. Virtual Machine training (VM per student) 3. Container training (container per student) 4. Web based training

Goals Admin: make something that is really easy to install, deploy, and configure User: design an intuitive interface and smooth training experience with minimal requirements.

Text Isolated, Scalable, and Lightweight Environment for Training A container system for teaching Linux based software with minimal participation effort. The participation barrier is set very low, students only need an SSH client.

Uses: Excels at teaching command-line software on Linux Event training (intended design) Internal software training Trying out tools in a containerized environment Development environments

Real World Use Cases: Launched the precursor at BroCon 14. Used to teach Bro scripting. ~50 users had shell access to Bro and unix tools in a container simultaneously on a lower end (m3.xlarge) EC2 VM - no problem. University of Illinois Digital Forensics 2 course FlowCon Bro training ~100 users Used to teach Linux tools at UIUC LUG meetings

Feedback loop Container logs show user s actions e.g. mistakes which can be used to improve future training

Design

Linux Containers The technology behind ISLET

Isolation via kernel namespaces and cgroups The user can t tell the difference. Scalability Vertically with faster hardware meaning more users or work Lightweight ~100ms startup time, near bare metal performance, JeOS Environments Provides shell access with the necessary pieces

Linux Containers? Docker popularized the technology. It s actually been around for 7 years. Automates the deployment of Linux based container Provides layers of abstraction Various methods of container creation Docker hub and registries for sharing and deployment

Containers Important: "Linux Based Containers" There is no container specification There are different container (and like) technologies Linux: LXC, OpenVZ, Google containers, etc. Non-Linux: BSD Jails, Solaris Zones, AIX WPAR, etc. What do containers do? Light-weight process virtualization What do virtual machines do? Hardware virtualization

Research Moment In general, Docker equals or exceeds KVM performance in every case we tested. IBM Research Report: An Updated Performance Comparison of Virtual Machines and Linux Containers < http://domino.research.ibm.com/library/cyberdig.nsf/papers/ 0929052195DD819C85257D2300681E7B/$File/rc25482.pdf>

Research Results from the paper

ISLET Paper Team: NCSA Cybersecurity Directorate * Jon Schipp - Security Engineer * Jeannette Dopheide - Training & Outreach Coordinator * Adam Slagell - Director, Cybersecurity Division We used the Bro network security monitor as the test. Processed a network trace file used for training at Bro events. Bro is a process that does a lot of work.

Container Startup

Container Concurrency

Simulate Training Metric: Response/execution time of program to train Standard time: Average of 2.13 seconds Cutoff point: 6 seconds (too long to wait) We used the Bro network security monitor as the test. Processed a network trace file used for training at Bro events. Bro is a process that does a lot of work. Introduced small randomization delays for pauses & common commands for environment - looped 20 times. Ends up simulating ~10 minutes of high user activity

Simulation Data

Cost Comparison

Working with ISLET

Platform Designed for Linux (currently), 64-bit only (because of Docker) Debian family is preferred but will work on others that support Docker. I do nearly all of my testing on Ubuntu so I recommend using that for the best experience. Update: should work with OSX (boot2docker) and FreeBSD with unofficial docker port

Get ISLET $ git clone https://github.com/ncsa/islet

Architecture

Configuration & Workflow Global: configuration file i.e. /etc/islet/islet.conf Per-image: configuration files per image /etc/islet/*.conf Creating a new training environment (3 steps) 1. Build Docker image with the software for training 2. Create configuration file and point to new image 3. Place in /etc/islet/ e.g. new_image.conf

Easy updates $ make update

Demo Using EC2

OLF Special: $ ssh demo@islet1.jonschipp.com $ ssh demo@islet2.jonschipp.com Password: demo

Roadmap: Support other container runtimes (lxc, openvz, jails, etc.) Auditing, pen testing Improve build system Rewrite in Go Lang or Python using container API s Export containers and exercises 1.) Users can save their work or continue at home like they can with VM training Scalability testing beyond 1000+ containers, distributed setup

Easy Contributing $ git clone https://github.com/jonschipp/vagrant $ cd vagrant/islet && vagrant up $ ssh -p 2222 demo@127.0.0.1 -o UserKnownHostsFile=/dev/null

Contact & Acknowledgements jonschipp@gmail.com NSF Grant: 1032889

References: IBM Research Report: An Updated Performance Comparison of Virtual Machines and Linux Containers < http://domino.research.ibm.com/library/cyberdig.nsf/papers/ 0929052195DD819C85257D2300681E7B/$File/rc25482.pdf > Realizing Linux Containers (LXC): Building Blocks, Underpinnings, and Motivations < http:// www.slideshare.net/bodenrussell/realizing-linux-containerslxc > Resource management: Linux kernel Namespaces and cgroups. < http://www.haifux.org/ lectures/299/netlec7.pdf > Linux Containers and the Future Cloud. < http://www.haifux.org/lectures/320/netlec8_final.pdf > Lightweight Virtualization with Linux Containers (LXC) < http://www.ciecloud.org/2013/subject/07-track06-jerome%20petazzoni.pdf> Schipp, J., Dopheide, J., and Slagell, A., "ISLET: An Isolated, Scalable & Lightweight Environment for Training", in the proceedings of XSEDE 2015, St. Louis, MO, Jul., 15. > NSF Grant < http://www.nsf.gov/awardsearch/showaward?awd_id=1032889 Docker Inc. <www.docker.com>