Linux as a Framework

מק"ט: #7515 | משך קורס: 40 שעות אק'
| מספר מפגשים: 5

What is Linux/GNU? How do you install or use it, and why? Linux is the largest open-source project in history, and is the base infrastructure for many cyber applications of all kinds. Proficiency in the Linux environment is a must have for any student seeking entry to the cyber security world. It is the chosen OS platform on which many enterprises lay their assets upon, it is the chosen platform from which many cyber attacks originate, and a platform on which many security applications and firewalls rely upon. The student will learn how to install and use a Linux OS, learn about the core differences between it and other operating systems, and gain tools and experiences to handle real-life challenges within Linux OS in a cyber security context.

*שדות חובה
PDF version


What you will learn:

  • What is a Linux OS?
  • What distribution families exist and their main differences?
  • Linux installation.
  • Linux command line.
  • Linux file system.
  • Users, Files, Permissions.
  • Repositories - application searching and installation.
  • Text processing.
  • Basic Bash scripting
  • Servers - server applications and server operating systems.
  • Linux as a gateway - concepts and configuration.
  • Linux as DNS - concepts and configuration.
  • Linux as web server - concepts and configuration.
  • Linux as firewall - basic usage of iptables

קהל יעד

  • Linux as a framework is targeted to entry level audience that does not have extensive prior technical knowledge.

תנאי קדם

  • Technical/scientific mind-set.
  • Basic PC operations.
  • Basic networking.
  • Very good english (reading)
  • Search skills (google)


Part 1: Linux as a desktop environment
In this part the student will receive a general overview of the linux/GNU project, install Linux as a desktop environment OS, use the Bash terminal, learn of tools for text processing and learn to code scripts. The student will get familiarized with the ins and outs Linux OS on the GUI and terminal levels, get to know many core utils and gain a “hands on” experience with real life challenges within the Linux environment.

  • Agenda etc
  • What is a PC and an OS. How and why they are intertwined.
  • Virtualization and Linux Desktop OS installation
  • Linux shell basics
    • Basic overview
    • Basic file manipulation
    • Shell “tricks” and shortcuts
  • Files & Directories
    • Linux directory tree overview
    • Advanced file manipulation
    • Users, groups, “root” and sudo.
    • File permissions
  • 3rd party applications and “housekeeping”
    • Various linux package files
    • Software repositories
    • Package management systems
    • Searching for software
    • Installing software
    • Updating and upgrading
  • Text processing via command line
    • Input / output redirection from/to files
    • Input / output redirection via piping
    • Searching for text
    • Sorting, filtering and editing output
    • Regular expressions (Regex)
    • “Regex” vs “wildcards”
    • Searching for patterns using regex
  • Intro to scripting with Bash
    • Variables and assignments.
    • Reading input from user
    • Arithmetics in Bash
    • Boolean statements
    • Flow control (“if” statement)
    • “while” and “for” loops
    • Code execution

Part-2: Linux as server environment

In this part the student will learn more in depth about the Linux system through the installation and configuration of various servers - specifically gateway, DHCP, DNS, web server and a firewall.

  • Server vs Desktop environments
  • What type of servers exist
  • SSH and server management
  • Linux boot process - grub init and runlevels
  • Linux as a Gateway
    • Interfaces, subinterfaces and configuration
    • IP, routes and implementing a virtualized network.
    • IP forwarding
    • Dynamic NAT (Masquerade)
    • Static NAT
    • Connectivity checks/tests
  • Linux as DHCP
    • Protocol overview
    • isc-dhcp-server DHCP installation
    • isc-dhcp-server configuration
  • DMZ and Linux as web server
    • Static HTML overview
    • Dynamic web pages using PHP, ASP, JSP etc.
    • The need for databases
    • Web server stacks (LAMP, LEMP, LAPP, XAMPP)
    • Installing LAMP and Wordpress web app on top of it
    • configuration
  • Linux as DNS
    • HOSTS file and name resolution
    • Domain Name as a service
    • Bind9 implementation for Linux
    • Configuration
    • Integration of Bind9 server within the enterprise’s network
    • Linux as a firewall (iptables)
    • Intro to firewalls
    • Firewall types and their position in the OSI layers
    • Blacklist vs Whitelist
    • Linux packet flow - iptables default chains and tables
    • Rule structure and iptable rules examples
    • Best practices in rule ordering
    • Basic firewall implementation on the Linux Gateway.

Part-3: Putting it all together (LAB) (optional)
In this part the student will implement a virtualized enterprise network complete with all the services learned. This part is meant to bring the student full circle by training him with a full “hands on” experience with real life linux challenges.

  • Building an internal network with VMware
  • Building a Linux gateway server complete with DHCP and NAT
  • Building a basic enterprise standalone DNS server
  • Building web servers and installing web applications
  • Troubleshooting connectivity and configuration issues