BSc: System And Network Administration

From IU
Jump to navigation Jump to search

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