Difference between revisions of "BSc: System And Network Administration"

From IU
Jump to navigation Jump to search
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
  +
 
= System and Network Administration =
 
= System and Network Administration =
  +
* '''Course name''': System and Network Administration
  +
* '''Code discipline''': ?
  +
* '''Subject area''':
   
  +
== Short Description ==
* Course name: System and Network Administration
 
  +
This course covers the following concepts: Unix & system tuning; Free and Open Source licensing; Firmware & boot loaders; Disks & partitioning; Daemons’ setup and operation; Text processing tools & Regular Expressions; Backup & Monitoring; Network fundamentals; Link aggregation; DNS fundamentals; Network discovery & sniffing; Introduction to spoofing and man in the middle; Cryptography from a practical perspective; High Availability clusters; Load-balancing clusters; File-systems & shared-disk file-systems; Storage clusters & distributed block devices; Virtualization clusters; Automated provisioning & configuration automation.
* Course number: ?
 
   
== Course characteristics ==
+
== Prerequisites ==
   
=== Key concepts of the class ===
+
=== Prerequisite subjects ===
   
* Unix & system tuning
 
* Free and Open Source licensing
 
* Firmware & boot loaders
 
* Disks & partitioning
 
* Daemons’ setup and operation
 
* Text processing tools & Regular Expressions
 
* Backup & Monitoring
 
* Network fundamentals
 
* Link aggregation
 
* DNS fundamentals
 
* Network discovery & sniffing
 
* Introduction to spoofing and man in the middle
 
* Cryptography from a practical perspective
 
* High Availability clusters
 
* Load-balancing clusters
 
* File-systems & shared-disk file-systems
 
* Storage clusters & distributed block devices
 
* Virtualization clusters
 
* Automated provisioning & configuration automation
 
   
  +
=== Prerequisite topics ===
=== What is the purpose of this course? ===
 
   
This course covers the system and network administration for GNU/Linux and BSD operating systems. The students with the minor of security and blockchain must be able to operate GNU/Linux as their main server-oriented system and perform different tasks such as setting up and operating various tools and daemons. This is a very essential course for the security expert which will give the students hands-on experience of system deployment, firmware, booting, partitions, volume management, system and network optimization. At the end of this course, the students will be equipped with the tools and skills that they can use in industrial production environments. This course is practice-oriented similarly to a certification training. After completion, the students could be entitled as (junior) system and network analysts.
 
   
=== Course Objectives Based on Bloom’s Taxonomy ===
+
== Course Topics ==
  +
{| class="wikitable"
  +
|+ Course Sections and Topics
  +
|-
  +
! Section !! Topics within the section
  +
|-
  +
| Infrastructure fundamentals ||
  +
# What is a server
  +
# Unix basics
  +
# Unix tips & tricks
  +
# System preparation
  +
# FOSS licensing paradigms
  +
# Unix culture & traditions
  +
# Daemons’ setup and operation
  +
# Software & kernel building
  +
# Firwmare & boot loaders
  +
# Disks & partitioning
  +
# Text processing tools & Regular Expressions
  +
# Shell scripting
  +
# XML/CSS
  +
# Backup & Monitoring
  +
# Groupware, helpdesk & bug tracking
  +
|-
  +
| Network & Security ||
  +
# Network fundamentals & IPv6 intro
  +
# Link aggregation
  +
# NOC use-cases & DDoS mitigations
  +
# DNS fundamentals
  +
# SMTP fundamentals
  +
# Network discovery & sniffing
  +
# Spoofing intro
  +
# Man in the middle intro
  +
# Stripping SSL
  +
# Stripping STARTTLS
  +
# PKI intro & Let’s encrypt
  +
# SSL interception
  +
# SSL pinning & certificate transparency
  +
# Asymmetric ciphers from a practical perspective
  +
# Key negotiation algorithms from a practical perspective
  +
# Symmetric ciphers from a practical perspective
  +
# Mode of operation & padding
  +
|-
  +
| Storage & clusters ||
  +
# High Availability clusters
  +
# Load-balancing clusters
  +
# File-systems & shared-disk file-systems
  +
# Storage clusters & distributed block devices
  +
# Virtualization clusters
  +
# Automated provisioning & configuration automation
  +
|}
  +
== Intended Learning Outcomes (ILOs) ==
   
====- What should a student remember at the end of the course?====
+
=== What is the main purpose of this course? ===
  +
This course covers the system and network administration for GNU/Linux and BSD operating systems. The students with the minor of security and blockchain must be able to operate GNU/Linux as their main server-oriented system and perform different tasks such as setting up and operating various tools and daemons. This is a very essential course for the security expert which will give the students hands-on experience of system deployment, firmware, booting, partitions, volume management, system and network optimization. At the end of this course, the students will be equipped with the tools and skills that they can use in industrial production environments. This course is practice-oriented similarly to a certification training. After completion, the students could be entitled as (junior) system and network analysts.
   
  +
=== ILOs defined at three levels ===
By the end of the course, the students should be able to recognize and define
 
   
  +
==== Level 1: What concepts should a student know/remember/explain? ====
  +
By the end of the course, the students should be able to ...
 
* Free and Open-Source Software paradigms
 
* Free and Open-Source Software paradigms
 
* Principles of the Unix culture
 
* Principles of the Unix culture
Line 48: Line 85:
 
* Convergence and hyper-convergence
 
* Convergence and hyper-convergence
   
====- What should a student be able to understand at the end of the course?====
+
==== Level 2: What basic practical skills should a student be able to perform? ====
  +
By the end of the course, the students should be able to ...
 
By the end of the course, the students should be able to describe and explain (with examples)
 
 
 
* In-depth operational knowledge of GNU/Linux and system daemons
 
* In-depth operational knowledge of GNU/Linux and system daemons
 
* How GIT differs from CVS
 
* How GIT differs from CVS
Line 60: Line 95:
 
* Requirements and use-cases for virtualization
 
* Requirements and use-cases for virtualization
 
* Requirements and use-cases for distributed storage
 
* Requirements and use-cases for distributed storage
* Challenges & constraints with convergence and hyper-convergence
+
* Challenges & constraints with convergence and hyper-convergence
 
* Requirements to automate the deployments of several servers at once
 
* Requirements to automate the deployments of several servers at once
   
====- What should a student be able to apply at the end of the course?====
+
==== Level 3: What complex comprehensive skills should a student be able to apply in real-life scenarios? ====
  +
By the end of the course, the students should be able to ...
 
* System & daemons troubleshooting - read the logs
+
* System & daemons troubleshooting - read the logs
 
* Install a GNU/Linux system and configure it for it to be used a server
 
* Install a GNU/Linux system and configure it for it to be used a server
 
* Fix the boot-loader or recover the root account
 
* Fix the boot-loader or recover the root account
Line 80: Line 115:
 
* Deal with RAW and QCOW2 sparse files
 
* Deal with RAW and QCOW2 sparse files
 
* Evaluate the need for network disks (block devices)
 
* Evaluate the need for network disks (block devices)
* Evaluate the need for network file-systems versus shared-disk file-systems
+
* Evaluate the need for network file-systems versus shared-disk file-systems
  +
== Grading ==
   
=== Course evaluation ===
+
=== Course grading range ===
  +
{| class="wikitable"
 
{|
+
|+
  +
|-
|+ Course grade breakdown
 
  +
! Grade !! Range !! Description of performance
!
 
!
 
!align="center"| '''Proposed points'''
 
 
|-
 
|-
  +
| A. Excellent || 90-100 || -
| Labs/seminar classes
 
| 20
 
|align="center"| 70
 
 
|-
 
|-
  +
| B. Good || 80-89 || -
| Interim performance assessment
 
| 30
 
|align="center"| 10
 
 
|-
 
|-
  +
| C. Satisfactory || 70-79 || -
| Exams
 
| 50
+
|-
  +
| D. Poor || 0-69 || -
|align="center"| 20
 
 
|}
 
|}
   
  +
=== Course activities and grading breakdown ===
If necessary, please indicate freely your course’s features in terms of students’ performance assessment: The laboratory assessments are particularly taken care of, and the tasks do correspond with the teachings from the lectures. SNA laboratory assignments are plethoric hence there are multiple tasks to choose from every week, depending on students’ skills and preferences.
 
  +
{| class="wikitable"
 
  +
|+
=== Grades range ===
 
 
{|
 
|+ Course grading range
 
! <span>'''Grade'''</span>
 
! <span>'''Default range'''</span>
 
!align="center"| '''Proposed range'''
 
 
|-
 
|-
  +
! Activity Type !! Percentage of the overall course grade
| A. Excellent
 
| 90-100
 
|align="center"| 90-100
 
 
|-
 
|-
  +
| Labs/seminar classes || 70
| B. Good
 
| 75-89
 
|align="center"| 80-89
 
 
|-
 
|-
  +
| Interim performance assessment || 10
| C. Satisfactory
 
| 60-74
 
|align="center"| 70-79
 
 
|-
 
|-
| D. Poor
+
| Exams || 20
| 0-59
 
|align="center"| 0-69
 
 
|}
 
|}
   
  +
=== Recommendations for students on how to succeed in the course ===
If necessary, please indicate freely your course’s grading features: The laboratory assignments are mandatory with a required minimum result of 6/10 - including re-takes and late submissions - to complete the course. As a consequence, the grades are generally pretty high and therefore the grading ranges are scaled up.
 
  +
   
=== Resources and reference material ===
+
== Resources, literature and reference materials ==
   
  +
=== Open access resources ===
* Joshua Davies, ''Implementing SSL / TLS Using Cryptography and PKI'', Wiley Publishing, 2011
 
  +
* Joshua Davies, Implementing SSL / TLS Using Cryptography and PKI, Wiley Publishing, 2011
* Eric Raymond, ''The Cathedral &amp; the Bazaar'', O’Reilly Media, 2008
 
* Æleen Frisch, ''Essential System Administration, Third Edition'', O’Reilly &amp; Associates, 2002
+
* Eric Raymond, The Cathedral & the Bazaar, O’Reilly Media, 2008
* Evi Nemeth, Garth Snyder, Scott Seebass, and Trent R. Hein, ''UNIX System Administration Handbook, Third Edition'', Prentice Hall, 2000
+
* Æleen Frisch, Essential System Administration, Third Edition, O’Reilly & Associates, 2002
* Mark Sobell, ''A Practical Guide to the Unix System, Third Edition'', Addison-Wesley, 1994
+
* Evi Nemeth, Garth Snyder, Scott Seebass, and Trent R. Hein, UNIX System Administration Handbook, Third Edition, Prentice Hall, 2000
  +
* Mark Sobell, A Practical Guide to the Unix System, Third Edition, Addison-Wesley, 1994
 
* GNU Manuals Online https://www.gnu.org/manual/manual.html
 
* GNU Manuals Online https://www.gnu.org/manual/manual.html
 
* The Linux Kernel documentation https://www.kernel.org/doc/Documentation/
 
* The Linux Kernel documentation https://www.kernel.org/doc/Documentation/
 
* The Revised Slackware Book Project https://www.slackbook.org/
 
* The Revised Slackware Book Project https://www.slackbook.org/
   
== Course Sections ==
+
=== Closed access resources ===
   
=== Section 1 ===
 
   
  +
=== Software and tools used within the course ===
'''Section title:'''
 
  +
  +
= Teaching Methodology: Methods, techniques, & activities =
   
  +
== Activities and Teaching Methods ==
Infrastructure fundamentals
 
  +
{| class="wikitable"
  +
|+ Activities within each section
  +
|-
  +
! Learning Activities !! Section 1 !! Section 2 !! Section 3
  +
|-
  +
| Development of individual parts of software product code || 1 || 1 || 1
  +
|-
  +
| Homework and group projects || 1 || 1 || 1
  +
|}
  +
== Formative Assessment and Course Activities ==
   
  +
=== Ongoing performance assessment ===
'''Topics covered in this section:'''
 
   
  +
==== Section 1 ====
* What is a server
 
  +
{| class="wikitable"
* Unix basics
 
  +
|+
* Unix tips &amp; tricks
 
  +
|-
* System preparation
 
  +
! Activity Type !! Content !! Is Graded?
* FOSS licensing paradigms
 
  +
|-
* Unix culture &amp; traditions
 
  +
| Question || What is the difference between MIT, BSD and GPL licenses? || 1
* Daemons’ setup and operation
 
  +
|-
* Software &amp; kernel building
 
  +
| Question || How do those licensing models differ in terms of ethical and rhetorical goals? || 1
* Firwmare &amp; boot loaders
 
  +
|-
* Disks &amp; partitioning
 
  +
| Question || What characterizes the Unix system in terms of usability? || 1
* Text processing tools &amp; Regular Expressions
 
  +
|-
* Shell scripting
 
  +
| Question || How to troubleshoot system and daemons? || 0
* XML/CSS
 
  +
|-
* Backup &amp; Monitoring
 
  +
| Question || Install a GNU/Linux system and configure it for it to be used a server || 0
* Groupware, helpdesk &amp; bug tracking
 
  +
|-
 
  +
| Question || Fix the boot-loader or recover the root account || 0
'''What forms of evaluation were used to test students’ performance in this section?'''
 
  +
|-
 
  +
| Question || Use Version Control Systems || 0
Low-load weekly lab assignments (reports of two-three pages including command line outputs or screenshots)
 
  +
|-
 
  +
| Question || Build software daemons from source || 0
'''Typical questions for ongoing performance evaluation within this section'''
 
  +
|-
 
  +
| Question || Build the Linux kernel from source || 0
* What is the difference between MIT, BSD and GPL licenses?
 
  +
|-
* How do those licensing models differ in terms of ethical and rhetorical goals?
 
  +
| Question || Design the architecture of IT infrastructures || 0
* What characterizes the Unix system in terms of usability?
 
  +
|-
 
  +
| Question || Deploy and operate IT infrastructures e.g. a helpdesk and bug tracking engine || 0
'''Typical questions for seminar classes (labs) within this section'''
 
  +
|}
 
  +
==== Section 2 ====
* How to troubleshoot system and daemons?
 
  +
{| class="wikitable"
* Install a GNU/Linux system and configure it for it to be used a server
 
  +
|+
* Fix the boot-loader or recover the root account
 
  +
|-
* Use Version Control Systems
 
  +
! Activity Type !! Content !! Is Graded?
* Build software daemons from source
 
  +
|-
* Build the Linux kernel from source
 
  +
| Question || Choose a Linux bonding mode and explain its pros/cons, then setup link aggregation with it || 1
* Design the architecture of IT infrastructures
 
  +
|-
* Deploy and operate IT infrastructures e.g. a helpdesk and bug tracking engine
 
  +
| Question || Create a self-signed certificate, set it up against e.g. an HTTP service and use it from your browser || 1
 
  +
|-
'''Test questions for final assessment in this section'''
 
  +
| Question || Create a CA and sign a few certificates, see how your browser behaves compared to a self-signed certificate || 1
 
  +
|-
* How to disable recent hardware mitigations in the Linux kernel?
 
  +
| Question || How to troubleshoot network issues? || 0
* How to disable IPv6 at boot time?
 
  +
|-
* How GIT repositories does differ from CVS repositories in terms of architecture?
 
  +
| Question || How to setup network link aggregations? || 0
* What are the requirements to get a robust and spam-unfriendly Mail eXchange up and running?
 
  +
|-
 
  +
| Question || What are the requirements for an authoritative DNS service to be up and running? || 0
=== Section 2 ===
 
  +
|-
 
  +
| Question || How to verify SSL certificates and sessions? || 0
'''Section title:'''
 
  +
|-
 
  +
| Question || How to tune SSL cipher suites for a service? || 0
Network &amp; Security
 
  +
|}
 
  +
==== Section 3 ====
'''Topics covered in this section:'''
 
  +
{| class="wikitable"
 
  +
|+
* Network fundamentals &amp; IPv6 intro
 
  +
|-
* Link aggregation
 
  +
! Activity Type !! Content !! Is Graded?
* NOC use-cases &amp; DDoS mitigations
 
  +
|-
* DNS fundamentals
 
  +
| Question || How is a High Availability cluster architecture designed? || 1
* SMTP fundamentals
 
  +
|-
* Network discovery &amp; sniffing
 
  +
| Question || How is a Load-balancing cluster architecture designed? || 1
* Spoofing intro
 
  +
|-
* Man in the middle intro
 
  +
| Question || How is a Virtualization architecture designed? || 1
* Stripping SSL
 
  +
|-
* Stripping STARTTLS
 
  +
| Question || How is a Distributed storage architecture designed? || 1
* PKI intro &amp; Let’s encrypt
 
  +
|-
* SSL interception
 
  +
| Question || How are Convergence and hyper-convergence designed? || 1
* SSL pinning &amp; certificate transparency
 
  +
|-
* Asymmetric ciphers from a practical perspective
 
  +
| Question || How to bootstrap guest machines from the host? || 0
* Key negotiation algorithms from a practical perspective
 
  +
|-
* Symmetric ciphers from a practical perspective
 
  +
| Question || How to deal with RAW and QCOW2 sparse files? || 0
* Mode of operation &amp; padding
 
  +
|-
 
  +
| Question || How does network disks (block devices) compare to virtual disks as sparse files? || 0
'''What forms of evaluation were used to test students’ performance in this section?'''
 
  +
|-
 
  +
| Question || How does network file-systems compare with shared-disk file-systems? || 0
Low-load weekly lab assignments (reports of two-three pages including command line outputs or screenshots)
 
  +
|}
 
  +
=== Final assessment ===
'''Typical questions for ongoing performance evaluation within this section'''
 
  +
'''Section 1'''
 
  +
# How to disable recent hardware mitigations in the Linux kernel?
* Choose a Linux bonding mode and explain its pros/cons, then setup link aggregation with it
 
  +
# How to disable IPv6 at boot time?
* Create a self-signed certificate, set it up against e.g. an HTTP service and use it from your browser
 
  +
# How GIT repositories does differ from CVS repositories in terms of architecture?
* Create a CA and sign a few certificates, see how your browser behaves compared to a self-signed certificate
 
  +
# What are the requirements to get a robust and spam-unfriendly Mail eXchange up and running?
 
  +
'''Section 2'''
'''Typical questions for seminar classes (labs) within this section'''
 
  +
# What is the difference between caching DNS forwarder and an authoritative DNS service?
 
  +
'''Section 3'''
* How to troubleshoot network issues?
 
  +
# What are the architectural requirements and use-cases for High Availability?
* How to setup network link aggregations?
 
* What are the requirements for an authoritative DNS service to be up and running?
+
# What are the architectural requirements and use-cases for load-balancing?
  +
# What are the architectural requirements and use-cases for virtualization?
* How to verify SSL certificates and sessions?
 
  +
# What are the architectural requirements and use-cases for distributed storage?
* How to tune SSL cipher suites for a service?
 
  +
# What are the challenges & constraints when attempting to define a convergent or even a hyper-convergent virtualization infrastructure setup?
 
  +
# What are the requirements to automate the deployments of several servers at once?
'''Test questions for final assessment in this section'''
 
 
* What is the difference between caching DNS forwarder and an authoritative DNS service?
 
 
=== Section 3 ===
 
 
'''Section title:'''
 
 
Storage &amp; clusters
 
 
'''Topics covered in this section:'''
 
 
* High Availability clusters
 
* Load-balancing clusters
 
* File-systems &amp; shared-disk file-systems
 
* Storage clusters &amp; distributed block devices
 
* Virtualization clusters
 
* Automated provisioning &amp; configuration automation
 
 
'''What forms of evaluation were used to test students’ performance in this section?'''
 
 
Low-load weekly lab assignments (reports of two-three pages including command line outputs or screenshots)
 
 
'''Typical questions for ongoing performance evaluation within this section'''
 
 
* How is a High Availability cluster architecture designed?
 
* How is a Load-balancing cluster architecture designed?
 
* How is a Virtualization architecture designed?
 
* How is a Distributed storage architecture designed?
 
* How are Convergence and hyper-convergence designed?
 
 
'''Typical questions for seminar classes (labs) within this section'''
 
   
  +
=== The retake exam ===
* How to bootstrap guest machines from the host?
 
  +
'''Section 1'''
* How to deal with RAW and QCOW2 sparse files?
 
* How does network disks (block devices) compare to virtual disks as sparse files?
 
* How does network file-systems compare with shared-disk file-systems?
 
   
  +
'''Section 2'''
'''Test questions for final assessment in this section'''
 
   
  +
'''Section 3'''
* What are the architectural requirements and use-cases for High Availability?
 
* What are the architectural requirements and use-cases for load-balancing?
 
* What are the architectural requirements and use-cases for virtualization?
 
* What are the architectural requirements and use-cases for distributed storage?
 
* What are the challenges &amp; constraints when attempting to define a convergent or even a hyper-convergent virtualization infrastructure setup?
 
* What are the requirements to automate the deployments of several servers at once?
 

Latest revision as of 12:58, 12 July 2022

System and Network Administration

  • Course name: System and Network Administration
  • Code discipline: ?
  • Subject area:

Short Description

This course covers the following concepts: Unix & system tuning; Free and Open Source licensing; Firmware & boot loaders; Disks & partitioning; Daemons’ setup and operation; Text processing tools & Regular Expressions; Backup & Monitoring; Network fundamentals; Link aggregation; DNS fundamentals; Network discovery & sniffing; Introduction to spoofing and man in the middle; Cryptography from a practical perspective; High Availability clusters; Load-balancing clusters; File-systems & shared-disk file-systems; Storage clusters & distributed block devices; Virtualization clusters; Automated provisioning & configuration automation.

Prerequisites

Prerequisite subjects

Prerequisite topics

Course Topics

Course Sections and Topics
Section Topics within the section
Infrastructure fundamentals
  1. What is a server
  2. Unix basics
  3. Unix tips & tricks
  4. System preparation
  5. FOSS licensing paradigms
  6. Unix culture & traditions
  7. Daemons’ setup and operation
  8. Software & kernel building
  9. Firwmare & boot loaders
  10. Disks & partitioning
  11. Text processing tools & Regular Expressions
  12. Shell scripting
  13. XML/CSS
  14. Backup & Monitoring
  15. Groupware, helpdesk & bug tracking
Network & Security
  1. Network fundamentals & IPv6 intro
  2. Link aggregation
  3. NOC use-cases & DDoS mitigations
  4. DNS fundamentals
  5. SMTP fundamentals
  6. Network discovery & sniffing
  7. Spoofing intro
  8. Man in the middle intro
  9. Stripping SSL
  10. Stripping STARTTLS
  11. PKI intro & Let’s encrypt
  12. SSL interception
  13. SSL pinning & certificate transparency
  14. Asymmetric ciphers from a practical perspective
  15. Key negotiation algorithms from a practical perspective
  16. Symmetric ciphers from a practical perspective
  17. Mode of operation & padding
Storage & clusters
  1. High Availability clusters
  2. Load-balancing clusters
  3. File-systems & shared-disk file-systems
  4. Storage clusters & distributed block devices
  5. Virtualization clusters
  6. Automated provisioning & configuration automation

Intended Learning Outcomes (ILOs)

What is the main purpose of this course?

This course covers the system and network administration for GNU/Linux and BSD operating systems. The students with the minor of security and blockchain must be able to operate GNU/Linux as their main server-oriented system and perform different tasks such as setting up and operating various tools and daemons. This is a very essential course for the security expert which will give the students hands-on experience of system deployment, firmware, booting, partitions, volume management, system and network optimization. At the end of this course, the students will be equipped with the tools and skills that they can use in industrial production environments. This course is practice-oriented similarly to a certification training. After completion, the students could be entitled as (junior) system and network analysts.

ILOs defined at three levels

Level 1: What concepts should a student know/remember/explain?

By the end of the course, the students should be able to ...

  • Free and Open-Source Software paradigms
  • Principles of the Unix culture
  • Linux bonding modes and link aggregation
  • CA vs intermediate vs leaf SSL certificates
  • High Availability cluster architecture
  • Load-balancing cluster architecture
  • Virtualization architecture
  • Distributed storage architecture
  • Convergence and hyper-convergence

Level 2: What basic practical skills should a student be able to perform?

By the end of the course, the students should be able to ...

  • In-depth operational knowledge of GNU/Linux and system daemons
  • How GIT differs from CVS
  • How rather critical IT infrastructures are handled
  • Difference between caching DNS forwarder and an authoritative DNS service
  • Requirements and use-cases for High Availability
  • Requirements and use-cases for load-balancing
  • Requirements and use-cases for virtualization
  • Requirements and use-cases for distributed storage
  • Challenges & constraints with convergence and hyper-convergence
  • Requirements to automate the deployments of several servers at once

Level 3: What complex comprehensive skills should a student be able to apply in real-life scenarios?

By the end of the course, the students should be able to ...

  • System & daemons troubleshooting - read the logs
  • Install a GNU/Linux system and configure it for it to be used a server
  • Fix the boot-loader or recover the root account
  • Use Version Control Systems
  • Build software daemons from source
  • Build the Linux kernel from source
  • Design the architecture of IT infrastructures
  • Deploy and maintain IT infrastructures
  • Network troubleshooting - check for open ports
  • Setting up network link aggregations
  • Securing SSL web browser sessions
  • SSL cipher suites tuning
  • Bootstrap guest machines from the host
  • Deal with RAW and QCOW2 sparse files
  • Evaluate the need for network disks (block devices)
  • Evaluate the need for network file-systems versus shared-disk file-systems

Grading

Course grading range

Grade Range Description of performance
A. Excellent 90-100 -
B. Good 80-89 -
C. Satisfactory 70-79 -
D. Poor 0-69 -

Course activities and grading breakdown

Activity Type Percentage of the overall course grade
Labs/seminar classes 70
Interim performance assessment 10
Exams 20

Recommendations for students on how to succeed in the course

Resources, literature and reference materials

Open access resources

  • Joshua Davies, Implementing SSL / TLS Using Cryptography and PKI, Wiley Publishing, 2011
  • Eric Raymond, The Cathedral & the Bazaar, O’Reilly Media, 2008
  • Æleen Frisch, Essential System Administration, Third Edition, O’Reilly & Associates, 2002
  • Evi Nemeth, Garth Snyder, Scott Seebass, and Trent R. Hein, UNIX System Administration Handbook, Third Edition, Prentice Hall, 2000
  • Mark Sobell, A Practical Guide to the Unix System, Third Edition, Addison-Wesley, 1994
  • GNU Manuals Online https://www.gnu.org/manual/manual.html
  • The Linux Kernel documentation https://www.kernel.org/doc/Documentation/
  • The Revised Slackware Book Project https://www.slackbook.org/

Closed access resources

Software and tools used within the course

Teaching Methodology: Methods, techniques, & activities

Activities and Teaching Methods

Activities within each section
Learning Activities Section 1 Section 2 Section 3
Development of individual parts of software product code 1 1 1
Homework and group projects 1 1 1

Formative Assessment and Course Activities

Ongoing performance assessment

Section 1

Activity Type Content Is Graded?
Question What is the difference between MIT, BSD and GPL licenses? 1
Question How do those licensing models differ in terms of ethical and rhetorical goals? 1
Question What characterizes the Unix system in terms of usability? 1
Question How to troubleshoot system and daemons? 0
Question Install a GNU/Linux system and configure it for it to be used a server 0
Question Fix the boot-loader or recover the root account 0
Question Use Version Control Systems 0
Question Build software daemons from source 0
Question Build the Linux kernel from source 0
Question Design the architecture of IT infrastructures 0
Question Deploy and operate IT infrastructures e.g. a helpdesk and bug tracking engine 0

Section 2

Activity Type Content Is Graded?
Question Choose a Linux bonding mode and explain its pros/cons, then setup link aggregation with it 1
Question Create a self-signed certificate, set it up against e.g. an HTTP service and use it from your browser 1
Question Create a CA and sign a few certificates, see how your browser behaves compared to a self-signed certificate 1
Question How to troubleshoot network issues? 0
Question How to setup network link aggregations? 0
Question What are the requirements for an authoritative DNS service to be up and running? 0
Question How to verify SSL certificates and sessions? 0
Question How to tune SSL cipher suites for a service? 0

Section 3

Activity Type Content Is Graded?
Question How is a High Availability cluster architecture designed? 1
Question How is a Load-balancing cluster architecture designed? 1
Question How is a Virtualization architecture designed? 1
Question How is a Distributed storage architecture designed? 1
Question How are Convergence and hyper-convergence designed? 1
Question How to bootstrap guest machines from the host? 0
Question How to deal with RAW and QCOW2 sparse files? 0
Question How does network disks (block devices) compare to virtual disks as sparse files? 0
Question How does network file-systems compare with shared-disk file-systems? 0

Final assessment

Section 1

  1. How to disable recent hardware mitigations in the Linux kernel?
  2. How to disable IPv6 at boot time?
  3. How GIT repositories does differ from CVS repositories in terms of architecture?
  4. What are the requirements to get a robust and spam-unfriendly Mail eXchange up and running?

Section 2

  1. What is the difference between caching DNS forwarder and an authoritative DNS service?

Section 3

  1. What are the architectural requirements and use-cases for High Availability?
  2. What are the architectural requirements and use-cases for load-balancing?
  3. What are the architectural requirements and use-cases for virtualization?
  4. What are the architectural requirements and use-cases for distributed storage?
  5. What are the challenges & constraints when attempting to define a convergent or even a hyper-convergent virtualization infrastructure setup?
  6. What are the requirements to automate the deployments of several servers at once?

The retake exam

Section 1

Section 2

Section 3