Oefen challenges technologie-laag

Inhoudsopgave

Operating System

Leg uit wat het verschil is tussen harddisk geheugen en werkgeheugen. Waarom is bijv. de een sneller dan de ander? Zet voor- en nadelen naast elkaar.

Er zit een groot verschil tussen harddisk geheugen en werkgeheugen:

Harddisk:

  • Trager
  • Slaat bestanden op, ook als er geen stroom op staat
  • Bestanden opslaan voor een langere tijd

 random access memory (RAM):

  • Zeer snel
  • Heeft stroom nodig om iets op te slaan, alles gaat verloren als de stroom eraf gaat.
  • Word gebruikt door de CPU op tijdelijk bestanden op te slaan (seconden, of minuten)

RAM/ Geheugen is dus voor het zeer kort opslaan van data. Dat dan vervolgens zeer snel kan worden verwerkt door de PC. Dit wordt dus ook niet gebruikt om bestanden in om te slaan, maar voor het gebruik van programma’s.

Harddisk opslag wordt gebruikt op bestanden in op te slaan. Deze opslag is trager omdat de data opgeslagen moet worden voor als er geen stroom meer op de component staat.

Voor harddisk worden HDD’s en SSD’s gebruikt, HDD’s zijn goedkoper om te maken als SSD’s en werden daarom tot kort voorheen weinig gebruikt. Echter zijn de prijzen van SSD gedaald en worden ze nu ook zeel vaker gebruikt.

Een HDD is trager als een SSD omdat het mechanisch werkt. De data worden met magnetische lading opgeslagen op verschillende schijfjes binnen de HDD.

Een SSD is sneller omdat er geen gebruikt maakt van deze mechanische techniek. Maar gebruik maakt van o.a. mosfet-transistoren die stroom kunnen bewaren op verschillende spanningen

Maak een systeem met een dual boot: bijv. Windows en Ubuntu. Leg uit hoe dit werkt.

Mijn opstelling:

Windows 10 educatie + Ubuntu desktop 20.04

Ubuntu desktop heeft automatisch een boot loader geïnstalleerd tijdens de installatie van Ubuntu

2 CPU Cores, 4GB RAM, 80 + 40 GB HDD

Ik heb er voor gekozen om 2 schijven te instelleren, en hierop de besturingssystemen op te installeren. Dit omdat dat ik denk dat dat sneller en makkelijker is om te installeren

Algemene info Multi boot

Dual-boot, of Multi-boot is het installeren van meerdere besturingssystemen op dezelfde hardware. Dit is een techniek die nog weinig wordt gebruikt en is vervangen door virtualisatie.

Dit kan gedaan worden door 2 harde schrijven hebben aangesloten, en per schijf een ander besturingssysteem.

Het kan ook worden gedaan met verschillende partities, echter is dan een boot loader nodig. Zoals NTLDR, LILO, or GRUB. De verschillende besturingssystemen hebben dan echter wel hun eigen partitie nodig om te kunnen werken.

Zorg dat de gegevens op je laptop geencrypt worden opgeslagen. Hoe werkt het onder water?

Ik ga geen encryptie opstellen op mijn harde schijf, omdat het herstellen van gegevens bij een crash o.i.d. Zeer lastig wordt gemaakt

In plaats daarvan heb ik het wel op een virtuele machine ingesteld:

Omdat het instellen van bit Locker op de C: (OS) schijf niet mogelijk was, heb ik het op de E: schijf geïnstalleerd

Dit is zeer gemakkelijk in te stellen op Windows met bit Locker. Welke gebruikt het AES-encryptiealgoritme in CBC-modus met een 128 bits sleutel, gecombineerd met de Elephant Diffuser voor extra specifieke schijfencryptie beveiliging die niet door AES ondersteund wordt.

Bron: https://nl.wikipedia.org/wiki/BitLocker

Linux kan meerdere programma’s parallel uitvoeren. Hoe kun je nu bepaalde processen meer procespower geven. Leg uit hoe dit werkt.

Doormiddel van de kernel scheduler kan je dit aanpassen. Dit bepaalt doormiddel van een algoritme welke processen het eerst worden uitgevoerd

Om dit in te zien kan je gebruik maken van de commando’s ps, top of htop.

Je kan ook hulpprogramma’s top of htop gebruiken om Linux-processen nice waarden te bekijken.

NI – is de nice waarde, wat een waarde is gegeven door de gebruiker

PR of PRI – is de werkelijke prioriteit van het proces, zoals gezien door de Linux-kernel.

Bron: https://www.tecmint.com/set-linux-process-priority-using-nice-and-renice-commands/

Hoe kun je in je operating system inzicht in je resources krijgen? Welke zijn er? (bijv. voor USB)

In Windows kan je dat makkelijk inzien met task manager, of broncontrole

In Linux kan dat met o.a.

  • GNOME
  • top
  • htop
  • Lm-sensors

Hoe kun je gewiste bestanden terughalen? En hoe in Linux? (en als ze ook uit de prullenbak verwijderd zijn?)

Om verwijderde bestanden terug te kunnen halen is een back-up terug zetten de beste optie. Er bestaan (betaalde) tools en gespecialiseerde bedrijven die kunnen proberen data terug te halen als er geen back-up. Maar dat is meestal duurder, en is de kans kleiner dat de bestanden terug komen.

In Windows 10 zitten back-up opties ingebouwd. Dit zijn:

  • Bestandsgeschiedenis/ FileHistory
  • Back-up and restore

En er bestaan nog veel gratis, en betaalde programma’s om back-ups te maken. Ook voor Linux bestaan er veel back-up programma’s. Welke dat zijn is per versie verschillend.

Een veelgebruikte optie is om je data op te slaan en/of te back-uppen in de Cloud. Vaak als je je data in een clouddienst opslaat wordt hier ook automatisch een back-up van gemaakt, daarnaast is bij een Cloud dienst de kans dat je data kwijt raakt door een crash veel kleiner. Omdat deze meestal redundant zijn, en dus op meerdere plekken zijn opgeslagen.

Hardware

Hoe kun je ervoor zorgen dat als je een harde schijf kapot gaat je nog steeds over je data kan beschikken?

Met specialistische kennis en apparatuur is het mogelijk om de harde schijf alsnog uit te lezen, zolang de data niet is overschreven. Dit kan omdat de data niet fysiek van de schijf wordt verwijderd totdat het wordt overschreven

Wat is nu het verschil tussen CPU’s en Cores? Laat het verschil zien in een aantal testjes.

CPU is het hardware component

  • Een PC of Server kan een of meerdere CPU’s hebben

Core is een deel veel de CPU

  • Een CPU kan een of meerdere Cores hebben

Een core kan onafhankelijk van de andere cores werken. Dus als er meerdere cores zijn kunnen er meerdere taken tegelijk worden uitgevoerd,

In het begin van computers hadden (bijna) alle CPU’s maar 1 core, maar vanwege betere technologie kunnen de individuele cores kleiner gemaakt worden, en goedkoper worden geproduceerd. Daarom hebben huidige CPU’s meestal 4 of 8 cores. Maar dat kan oplopen tot 64 cores.

Middleware

Wat is het nut van table space bij een Data Management system en hoe kan ik die uitbreiden? (en waarom kan dat nodig zijn?)

Table spaces zijn tabellen binnen een database. Dit is administratief hanig, omdat je dan een hiërarchie kan maken. Met deze hiërarchie kan je je database server bet beveiligen, omdat je dan bepaalde personen bepaalde rechten kan geven.

Hoe kan ik op een fysieke server met 1 IP adres meerdere websites beschikbaar stellen met verschillende domeinnamen? Laat het zien

Bron: https://dasunhegoda.com/what-how-to-apache-virtual-host/444/#:~:text=Apache%20Virtual%20Hosts%20A.K.A%20Virtual,on%20the%20user’s%20requested%20URL

Op Linux kan je dit doen met virtual host.

Je maak meerdere sites aan in de /var/www/ folder. Waarin de gegevens van de site in staan opgeslagen.

Door de standaard 000-default.conf file te kopiëren naar naam.nl.conf en aan te passen, kan je een domeinnaam toekennen aan de website

Als iemand dan de website opvraagt, wordt degene automatisch naar de juiste document root gestuurd, op basis van de opgevraagde domeinnaam.

Het aantal websites dat op een apache2 server kan worden gemaakt is onbeperkt.

Eigen oefening

Zelf heb ik 2 virtual host gemaakt: example.com en test.com.

Ik heb dit gedaan met de instructie van: https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-16-04#step-three-%E2%80%94-create-demo-pages-for-each-virtual-host

Wel moest ik de DNS handmatig toevoegen aan de DNS configuratie file. Omdat ik anders moet betalen voor een domeinnaam. De verschillende sites zijn dus enkel bereikbaar als je de DNS handmatig instelt

Virtualisatie

Hoe kun je bepaalde services/applicaties isoleren binnen het operating system?

proces isolatie

Bij proces isolatie is een beveiligingstechniek, waarbij elk proces dat geheugen nodig heeft een “geheugenruimte” krijgt, de geheugenruimtes van verschillende processen kunnen alleen communiceren als dat wordt toegestaan met inter-process communicatie (IPC).

inter-process communicatie (IPC) is interactie via kanalen zoals gedeeld geheugen, lokale stopcontacten of internetaansluitingen.

Bron: https://www.easytechjunkie.com/what-is-process-isolation.htm

Bron: https://en.wikipedia.org/wiki/Process_isolation

Windows 10 app isolation (windows sandbox)

Vanaf windows 1903 update heft windows een sandbox (windows 10 & Enterprise).

Dit is een gevirtualiseerde versie van windows, dat is ingebouwd in windows. Om dit te starten hoe je niks te configureren. En elke keer als je deze start is de ge reset

Deze windows sandbox kan worden gebruikt om bestanden of programmas, waarvan je niet zeker weet dat ze veilig zijn. Uit te voeren in een geïsoleerde omgeving

Bron: https://securityboulevard.com/2020/07/app-isolation-in-windows-10/

Identity management

Zet een ADServer of LDAP server op en richt deze in met meerdere gebruikers en meerdere groepen.

Ik heb op een test-server in seclab een Windows server 2019 machine aangemaakt. Hierin heb ik ADDS geinstalleer, en een kleine structuur gemaakt, met OU’s, Global groups, en Local groups.

Zet een wachtwoord policy op.

Voor beheerbaarheid heb ik een nieuwe GPO gemaakt, genaamd Pasword Policy.

Packet Tracer (PT)

Bouw in PT je thuisnetwerk na.

Deze opdracht was redelijk makkelijk, omdat de home netwerk devices automatisch configureren.

Ik woon in een studentenhuis, waar iedereen gebruik maakt van wifi. De wifi access-points vormen een mesh-systeem. Echter is dat niet uit te beelden met PT

Statisch routeren

Maak een Proof of Concept (PoC) waarin je statisch routeren demonstreert.

Ik heb een Packet tracer als PoC 2 netwerken met elkaar verbonden via statisch routeren

IoT (Internet of Things)

Hoe communiceren IoT devices met elkaar?

IoT apparaten kunnen op verschillende manieren met elkaar communiceren.

  • Via WIFI
  • Via Ethernet
  • Via Zigbee, (via een HUB)]
  • Via Bluetooth

Vaak worden er hubs gebruikt om apparaten via 1 punt te verbinden met het internet of LAN. Dat is vooral van toepassing als je gebruik wordt gemaakt van meerdere IoT apparaten die automatisch dingen doen. Of apparaten die niet direct verbinden met het internet, maar via een protocol als bijv., Zigbee

comms

Bron: https://www.postscapes.com/internet-of-things-protocols/

Remote Management

Zet SSH-toegang op voor een Linux server, en RDP voor een Windows server.

Waarom is de best-practice om dergelijke remote toegang niet direct vanuit het internet open te zetten maar alleen intern toe te staan of via een vpn-verbinding?

SSH en RDP zijn beveiligde verbindingen. Echter is het aangeraden om meerdere authenticatie ‘lagen’ te hebben, als je VPN en SSH gecombineerd is het 2x zo veilig. Omdat elk protocol wel kwetsbaarheden heeft. Dat is vooral belangrijk omdat via SSH of RDP veel schade kan worden aangebracht worden als het wel gekraakt wordt.

Ook als je meerdere authenticatie-lagen gebruikt heb je automatisch Multi-Factor Authenticatie (MFA), omdat je meerdere keren moet authentiseren. Dus als er wachtwoorden worden gelekt hebben hackers niet gelijk toegang.

Kun je voorbeelden vinden in de afgelopen jaren van hoe directe remote management toegang tot incidenten heeft geleid door bugs of door menselijke zwakheden?

Bron: https://security.stackexchange.com/questions/154873/why-is-external-access-to-a-server-via-ssh-considered-insecure