Difference between revisions of "BSc: System And Network Administration"
R.sirgalina (talk | contribs) |
|||
(5 intermediate revisions by 2 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: ? |
||
− | == |
+ | == Prerequisites == |
− | === |
+ | === 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 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 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 |
||
− | ==== |
+ | ==== 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 & |
+ | * 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 |
||
− | ==== |
+ | ==== 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 & |
+ | * 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 |
+ | === 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 |
||
− | | |
+ | |- |
+ | | 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 |
||
|- |
|- |
||
− | | |
+ | | 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, 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 & the Bazaar'', O’Reilly Media, 2008 |
||
− | * |
+ | * 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 |
* 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/ |
||
− | == |
+ | === 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 |
||
− | * What is a server |
||
+ | |- |
||
− | * Unix basics |
||
+ | | Development of individual parts of software product code || 1 || 1 || 1 |
||
− | * Unix tips & tricks |
||
+ | |- |
||
− | * System preparation |
||
+ | | Homework and group projects || 1 || 1 || 1 |
||
− | * FOSS licensing paradigms |
||
+ | |} |
||
− | * Unix culture & traditions |
||
+ | == Formative Assessment and Course Activities == |
||
− | * 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 |
||
− | === |
+ | === Ongoing performance assessment === |
+ | ==== Section 1 ==== |
||
− | {| |
||
+ | {| class="wikitable" |
||
− | ! |
||
+ | |+ |
||
− | !align="center"| '''Yes/No''' |
||
|- |
|- |
||
+ | ! Activity Type !! Content !! Is Graded? |
||
− | | Development of individual parts of software product code |
||
− | |align="center"| 1 |
||
|- |
|- |
||
+ | | Question || What is the difference between MIT, BSD and GPL licenses? || 1 |
||
− | | Homework and group projects |
||
− | |align="center"| 1 |
||
|- |
|- |
||
+ | | Question || How do those licensing models differ in terms of ethical and rhetorical goals? || 1 |
||
− | | Midterm evaluation |
||
− | |align="center"| 0 |
||
|- |
|- |
||
+ | | Question || What characterizes the Unix system in terms of usability? || 1 |
||
− | | Testing (written or computer based) |
||
− | |align="center"| 0 |
||
|- |
|- |
||
+ | | Question || How to troubleshoot system and daemons? || 0 |
||
− | | Reports |
||
− | |align="center"| 0 |
||
|- |
|- |
||
+ | | Question || Install a GNU/Linux system and configure it for it to be used a server || 0 |
||
− | | Essays |
||
− | |align="center"| 0 |
||
|- |
|- |
||
+ | | Question || Fix the boot-loader or recover the root account || 0 |
||
− | | Oral polls |
||
− | |align="center"| 0 |
||
|- |
|- |
||
+ | | Question || Use Version Control Systems || 0 |
||
− | | Discussions |
||
+ | |- |
||
− | |align="center"| 0 |
||
+ | | Question || Build software daemons from source || 0 |
||
− | |} |
||
+ | |- |
||
− | Low-load weekly lab assignments (reports of two-three pages including command line outputs or screenshots) |
||
+ | | Question || Build the Linux kernel from source || 0 |
||
− | |||
− | ====Typical questions for ongoing performance evaluation within this section==== |
||
− | |||
− | * What is the difference between MIT, BSD and GPL licenses? |
||
− | * How do those licensing models differ in terms of ethical and rhetorical goals? |
||
− | * What characterizes the Unix system in terms of usability? |
||
− | |||
− | ====Typical questions for seminar classes (labs) within this section==== |
||
− | |||
− | * How to troubleshoot system and daemons? |
||
− | * 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 operate IT infrastructures e.g. a helpdesk and bug tracking engine |
||
− | |||
− | ====Test questions for final assessment in this section==== |
||
− | |||
− | * How to disable recent hardware mitigations in the Linux kernel? |
||
− | * How to disable IPv6 at boot time? |
||
− | * How GIT repositories does differ from CVS repositories in terms of architecture? |
||
− | * What are the requirements to get a robust and spam-unfriendly Mail eXchange up and running? |
||
− | |||
− | === Section 2 === |
||
− | |||
− | ====Section title==== |
||
− | |||
− | Network & Security |
||
− | |||
− | ====Topics covered in this section==== |
||
− | |||
− | * 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 |
||
− | |||
− | ====What forms of evaluation were used to test students’ performance in this section?==== |
||
− | ====What forms of evaluation were used to test students’ performance in this section?==== |
||
− | |||
− | {| |
||
− | ! |
||
− | !align="center"| '''Yes/No''' |
||
|- |
|- |
||
+ | | Question || Design the architecture of IT infrastructures || 0 |
||
− | | Development of individual parts of software product code |
||
− | |align="center"| 1 |
||
|- |
|- |
||
+ | | Question || Deploy and operate IT infrastructures e.g. a helpdesk and bug tracking engine || 0 |
||
− | | Homework and group projects |
||
+ | |} |
||
− | |align="center"| 1 |
||
+ | ==== Section 2 ==== |
||
+ | {| class="wikitable" |
||
+ | |+ |
||
|- |
|- |
||
+ | ! Activity Type !! Content !! Is Graded? |
||
− | | Midterm evaluation |
||
− | |align="center"| 0 |
||
|- |
|- |
||
+ | | Question || Choose a Linux bonding mode and explain its pros/cons, then setup link aggregation with it || 1 |
||
− | | Testing (written or computer based) |
||
− | |align="center"| 0 |
||
|- |
|- |
||
+ | | Question || Create a self-signed certificate, set it up against e.g. an HTTP service and use it from your browser || 1 |
||
− | | Reports |
||
− | |align="center"| 0 |
||
|- |
|- |
||
+ | | Question || Create a CA and sign a few certificates, see how your browser behaves compared to a self-signed certificate || 1 |
||
− | | Essays |
||
− | |align="center"| 0 |
||
|- |
|- |
||
+ | | Question || How to troubleshoot network issues? || 0 |
||
− | | Oral polls |
||
− | |align="center"| 0 |
||
|- |
|- |
||
+ | | Question || How to setup network link aggregations? || 0 |
||
− | | Discussions |
||
+ | |- |
||
− | |align="center"| 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 |
||
− | Low-load weekly lab assignments (reports of two-three pages including command line outputs or screenshots) |
||
+ | |- |
||
− | |||
+ | | Question || How to tune SSL cipher suites for a service? || 0 |
||
− | ====Typical questions for ongoing performance evaluation within this section==== |
||
+ | |} |
||
− | |||
+ | ==== Section 3 ==== |
||
− | * Choose a Linux bonding mode and explain its pros/cons, then setup link aggregation with it |
||
+ | {| class="wikitable" |
||
− | * Create a self-signed certificate, set it up against e.g. an HTTP service and use it from your browser |
||
+ | |+ |
||
− | * Create a CA and sign a few certificates, see how your browser behaves compared to a self-signed certificate |
||
+ | |- |
||
− | |||
+ | ! Activity Type !! Content !! Is Graded? |
||
− | ====Typical questions for seminar classes (labs) within this section==== |
||
+ | |- |
||
− | |||
+ | | Question || How is a High Availability cluster architecture designed? || 1 |
||
− | * How to troubleshoot network issues? |
||
+ | |- |
||
− | * How to setup network link aggregations? |
||
+ | | Question || How is a Load-balancing cluster architecture designed? || 1 |
||
− | * What are the requirements for an authoritative DNS service to be up and running? |
||
+ | |- |
||
− | * How to verify SSL certificates and sessions? |
||
+ | | Question || How is a Virtualization architecture designed? || 1 |
||
− | * How to tune SSL cipher suites for a service? |
||
+ | |- |
||
− | |||
+ | | Question || How is a Distributed storage architecture designed? || 1 |
||
− | ====Test questions for final assessment in this section==== |
||
+ | |- |
||
− | |||
+ | | Question || How are Convergence and hyper-convergence designed? || 1 |
||
− | * What is the difference between caching DNS forwarder and an authoritative DNS service? |
||
+ | |- |
||
− | |||
+ | | Question || How to bootstrap guest machines from the host? || 0 |
||
− | === Section 3 === |
||
+ | |- |
||
− | |||
+ | | Question || How to deal with RAW and QCOW2 sparse files? || 0 |
||
− | ====Section title==== |
||
+ | |- |
||
− | |||
+ | | Question || How does network disks (block devices) compare to virtual disks as sparse files? || 0 |
||
− | Storage & clusters |
||
+ | |- |
||
− | |||
+ | | Question || How does network file-systems compare with shared-disk file-systems? || 0 |
||
− | ====Topics covered in this section==== |
||
+ | |} |
||
− | |||
+ | === Final assessment === |
||
− | * High Availability clusters |
||
+ | '''Section 1''' |
||
− | * Load-balancing clusters |
||
+ | # How to disable recent hardware mitigations in the Linux kernel? |
||
− | * File-systems & shared-disk file-systems |
||
+ | # How to disable IPv6 at boot time? |
||
− | * Storage clusters & distributed block devices |
||
+ | # How GIT repositories does differ from CVS repositories in terms of architecture? |
||
− | * Virtualization clusters |
||
+ | # What are the requirements to get a robust and spam-unfriendly Mail eXchange up and running? |
||
− | * Automated provisioning & configuration automation |
||
+ | '''Section 2''' |
||
− | |||
+ | # What is the difference between caching DNS forwarder and an authoritative DNS service? |
||
− | ====What forms of evaluation were used to test students’ performance in this section?==== |
||
+ | '''Section 3''' |
||
− | |||
+ | # What are the architectural requirements and use-cases for High Availability? |
||
− | Low-load weekly lab assignments (reports of two-three pages including command line outputs or screenshots) |
||
+ | # What are the architectural requirements and use-cases for load-balancing? |
||
− | |||
+ | # What are the architectural requirements and use-cases for virtualization? |
||
− | ====Typical questions for ongoing performance evaluation within this section==== |
||
+ | # What are the architectural requirements and use-cases for distributed storage? |
||
− | |||
+ | # What are the challenges & constraints when attempting to define a convergent or even a hyper-convergent virtualization infrastructure setup? |
||
− | * How is a High Availability cluster architecture designed? |
||
+ | # What are the requirements to automate the deployments of several servers at once? |
||
− | * 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 & 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
Section | Topics within the section |
---|---|
Infrastructure fundamentals |
|
Network & Security |
|
Storage & clusters |
|
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
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
- How to disable recent hardware mitigations in the Linux kernel?
- How to disable IPv6 at boot time?
- How GIT repositories does differ from CVS repositories in terms of architecture?
- What are the requirements to get a robust and spam-unfriendly Mail eXchange up and running?
Section 2
- What is the difference between caching DNS forwarder and an authoritative DNS service?
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 & 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?
The retake exam
Section 1
Section 2
Section 3