20TD02W Nettverk 1‐2 - itnett/FTD02H-N GitHub Wiki

La oss gå gjennom de ulike temaene og læringsutbyttene knyttet til Nettverk 1:

Emnets innhold

LAN/WAN teknologi

  • LAN (Local Area Network): Nettverk som dekker et begrenset geografisk område, som et hjem, kontor eller campus.
  • WAN (Wide Area Network): Nettverk som dekker et større geografisk område, ofte for å koble sammen flere LANs. Eksempler inkluderer internett og bedriftsnettverk som strekker seg over flere lokasjoner.

Nettverkstopologier

  • Stjernetopologi: Alle noder er koblet til en sentral node.
  • Ringtopologi: Hver node er koblet til to andre noder, og danner en ring.
  • Bustopologi: Alle noder er koblet til en enkelt kabel.
  • Meshtopologi: Hver node er koblet til flere andre noder, og gir redundans og pålitelighet.

OSI-modellen (Open Systems Interconnection)

En syv-lags modell som beskriver hvordan data kommuniserer over et nettverk:

  1. Lag 1: Fysisk (Physical) – Fysisk overføring av data.
  2. Lag 2: Datalink (Data Link) – Feilfri dataoverføring mellom to noder.
  3. Lag 3: Nettverk (Network) – Ruting av data mellom forskjellige nettverk.
  4. Lag 4: Transport (Transport) – Pålitelig dataoverføring og flytkontroll.
  5. Lag 5: Sesjon (Session) – Opprettelse, håndtering og terminering av forbindelser.
  6. Lag 6: Presentasjon (Presentation) – Dataformatering og kryptering.
  7. Lag 7: Applikasjon (Application) – Støtte for nettverksapplikasjoner.

Nettverkskomponenter

  • Rutere: Kobler forskjellige nettverk og ruter trafikken.
  • Switch: Kobler sammen enheter innenfor et nettverk, typisk på datalink-laget.
  • Hub: En enkel enhet som kobler sammen flere Ethernet-enheter.
  • Access Points: Gir trådløs tilkobling til nettverket.

IPv4 og IPv6

  • IPv4: 32-bits adresseformat, begrenset antall adresser.
  • IPv6: 128-bits adresseformat, langt større adresseområde.

Nettverksprotokoller

  • TCP/IP: Grunnlaget for internett, kombinasjon av TCP og IP protokoller.
  • HTTP/HTTPS: Protokoller for overføring av webinnhold.
  • FTP: Filoverføringsprotokoll.
  • SMTP: Protokoll for e-postoverføring.

Nettverkstjenester

  • DNS (Domain Name System): Oversetter domenenavn til IP-adresser.
  • DHCP (Dynamic Host Configuration Protocol): Dynamisk tildeling av IP-adresser.
  • VPN (Virtual Private Network): Sikker tilkobling over et usikret nettverk.

Trådløs teknologi

  • Wi-Fi: Trådløse nettverk som bruker radiobølger.
  • Bluetooth: Kortdistanse trådløs teknologi.
  • NFC (Near Field Communication): Kortdistansekommunikasjon for enheter i nærheten.

Simuleringsverktøy

  • Packet Tracer: Simuleringsverktøy fra Cisco for å designe og teste nettverk.
  • GNS3: Åpen kildekode verktøy for å simulere komplekse nettverk.

Læringsutbytte

Kunnskap

Kandidaten skal ha:

  • Grunnleggende forståelse av nettverksbegreper og -komponenter.
  • Kjennskap til relevante nettverksstandarder.
  • Forståelse av metoder for feilsøking.
  • Grunnleggende nettverkssikkerhet.

Ferdigheter

Kandidaten skal kunne:

  • Sette opp grunnleggende nettverk.
  • Feilsøke nettverksproblemer.
  • Vurdere og implementere grunnleggende sikkerhetstiltak.

Generell kompetanse

Kandidaten skal kunne:

  • Kommunisere effektivt med andre fagfolk innen IKT.
  • Vedlikeholde og utvikle sin egen kompetanse innen nettverk.

La oss gå gjennom de ulike temaene og læringsutbyttene knyttet til Nettverk 2 med fokus på nettverkssikkerhet:

Emnets innhold

Dokumentasjon

  • Viktigheten av å føre nøyaktig og oppdatert dokumentasjon for nettverksoppsett, endringer, og vedlikehold.
  • Bruk av dokumentasjonsverktøy og maler.

Sikkerhetsrutiner

  • Etablering av sikkerhetspolicyer og prosedyrer.
  • Regelmessig oppdatering og revisjon av sikkerhetsrutiner for å møte nye trusler.

Cisco IOS (Internetwork Operating System)

  • Grunnleggende og avanserte kommandoer i Cisco IOS.
  • Konfigurasjon og administrasjon av Cisco-rutere og switcher.
  • Sikkerhetsfunksjoner i Cisco IOS, som AAA (Authentication, Authorization, and Accounting) og sikkerhetssoner.

Routing protokoller

  • OSPF (Open Shortest Path First): Link-state routing-protokoll for store bedriftsnettverk.
  • EIGRP (Enhanced Interior Gateway Routing Protocol): En hybrid routing-protokoll utviklet av Cisco.
  • BGP (Border Gateway Protocol): Protokoll brukt for ruting mellom ulike autonomiske systemer på internett.

IPv4 og IPv6

  • Implementering og feilsøking av IPv4- og IPv6-adressering.
  • Migrasjon fra IPv4 til IPv6 og doble stakkoppsett.

Nettverkskomponenter

  • Dybdekunnskap om bruk og konfigurasjon av rutere, switcher, firewaller, og andre sikkerhetsenheter.
  • Forståelse av funksjoner og roller til ulike nettverkskomponenter i både små og store nettverk.

VLAN (Virtual Local Area Network)

  • Opprettelse og administrasjon av VLAN for å segmentere nettverk.
  • Sikkerhetsfordeler ved å bruke VLAN og implementasjon av inter-VLAN ruting.

Nettverkstjenester

  • DHCP, DNS, NTP og andre essensielle nettverkstjenester.
  • Sikkerhetsmekanismer for å beskytte nettverkstjenester mot angrep.

Nettverkssikkerhet

  • VPN (Virtual Private Network): Opprettelse og administrasjon av sikre nettverkstilkoblinger over usikre nettverk.
  • ACL (Access Control Lists): Bruk av ACL for å kontrollere tilgang til nettverksressurser.
  • Sikkerhetsrutiner og tiltak for å beskytte lokale nettverk mot interne og eksterne trusler.

Trusler og tiltak

  • Identifisering av vanlige nettverkstrusler som malware, phishing, DDoS-angrep, og man-in-the-middle angrep.
  • Implementering av sikkerhetstiltak som IDS/IPS (Intrusion Detection/Prevention Systems), brannmurer, og antivirusprogrammer.
  • Regelmessig gjennomføring av sikkerhetsvurderinger og penetrasjonstesting for å identifisere og rette sikkerhetssårbarheter.

Verktøy for penetrasjonstesting

  • Bruk av verktøy som Metasploit, Nmap, Wireshark, og Kali Linux for å teste nettverkets sikkerhet.
  • Metodikk og beste praksis for gjennomføring av penetrasjonstesting.

Læringsutbytte

Kunnskap

Kandidaten skal ha:

  • Dybdekunnskap om installering, drift og feilsøking av IKT-nettverkskomponenter.
  • Innsikt i hvordan IKT-nettverk kan tilpasses organisasjoners behov for stabilitet, funksjonalitet og sikkerhet.
  • Forståelse av nettverkssikkerhetskonsepter og standarder.
  • Kunnskap om trusler og angrepsmetoder, samt tiltak for å beskytte nettverk mot disse.

Ferdigheter

Kandidaten skal kunne:

  • Designe, installere, drifte og feilsøke IKT-nettverk.
  • Gi råd om skalering og anskaffelser for IKT-nettverk.
  • Kommunisere teknisk informasjon på en forståelig måte.
  • Lede og delta i IKT-prosjekter, basert på vanlige prosjektmetoder.
  • Gjenkjenne og konfigurere tiltak mot sikkerhetstrusler.
  • Inngå avtaler og koordinere med leverandører og spesialister innen IKT.

Generell kompetanse

Kandidaten skal kunne:

  • Planlegge arbeidsoppgaver i henhold til bedriftens krav og etiske retningslinjer.
  • Vurdere eget behov for utvikling av kunnskap og ferdigheter.
  • Delta i diskusjoner og utveksle synspunkter innenfor IKT-bransjen.
  • Kommunisere tekniske løsninger og valg til kunder og samarbeidspartnere.

eksempler på skript som dekker nøkkeltemaer som nettverkskomponenter, VLAN, nettverkstjenester, og sikkerhetstiltak. Jeg vil inkludere eksempler i Python, Java, Ansible, PHP, PowerShell, samt eksempler på å bruke skyplattformer som Azure, AWS og Google Cloud.

Nettverkskomponenter og VLAN (Python)

Python Skript for å konfigurere VLAN

import paramiko

def configure_vlan(switch_ip, username, password, vlan_id, vlan_name):
    client = paramiko.SSHClient()
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    client.connect(switch_ip, username=username, password=password)

    commands = [
        f"configure terminal",
        f"vlan {vlan_id}",
        f"name {vlan_name}",
        f"exit",
        f"end",
        f"write memory"
    ]

    for cmd in commands:
        stdin, stdout, stderr = client.exec_command(cmd)
        stdout.channel.recv_exit_status()

    client.close()

configure_vlan('192.168.1.1', 'admin', 'password', 10, 'Sales')

Nettverkstjenester (Ansible)

Ansible Playbook for å sette opp DHCP på en Linux-server

---
- name: Configure DHCP Server
  hosts: dhcp_servers
  become: yes

  tasks:
    - name: Install DHCP package
      apt:
        name: isc-dhcp-server
        state: present

    - name: Configure DHCP server
      copy:
        dest: /etc/dhcp/dhcpd.conf
        content: |
          default-lease-time 600;
          max-lease-time 7200;
          subnet 192.168.1.0 netmask 255.255.255.0 {
            range 192.168.1.100 192.168.1.200;
            option routers 192.168.1.1;
            option domain-name-servers 8.8.8.8, 8.8.4.4;
            option domain-name "example.com";
          }
      
    - name: Start and enable DHCP service
      systemd:
        name: isc-dhcp-server
        state: started
        enabled: yes

Nettverkssikkerhet (PowerShell)

PowerShell Skript for å sette opp en brannmurregel

# Create a new inbound firewall rule
New-NetFirewallRule -DisplayName "Allow HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow

Cloud Automation Eksempler

Azure (PowerShell)

# Create a new virtual network in Azure
$resourceGroup = "MyResourceGroup"
$location = "EastUS"
$virtualNetwork = "MyVNet"
$addressPrefix = "10.0.0.0/16"
$subnetName = "MySubnet"
$subnetPrefix = "10.0.0.0/24"

New-AzVirtualNetwork -ResourceGroupName $resourceGroup -Location $location -Name $virtualNetwork -AddressPrefix $addressPrefix
Add-AzVirtualNetworkSubnetConfig -Name $subnetName -AddressPrefix $subnetPrefix -VirtualNetwork $virtualNetwork
Set-AzVirtualNetwork -VirtualNetwork $virtualNetwork

AWS (Python using Boto3)

import boto3

ec2 = boto3.resource('ec2')

# Create a new VPC
vpc = ec2.create_vpc(CidrBlock='10.0.0.0/16')
vpc.create_tags(Tags=[{"Key": "Name", "Value": "my_vpc"}])
vpc.wait_until_available()

# Create a subnet
subnet = vpc.create_subnet(CidrBlock='10.0.1.0/24')

# Create an internet gateway and attach it to the VPC
internet_gateway = ec2.create_internet_gateway()
vpc.attach_internet_gateway(InternetGatewayId=internet_gateway.id)

# Create a route table and a public route
route_table = vpc.create_route_table()
route = route_table.create_route(
    DestinationCidrBlock='0.0.0.0/0',
    GatewayId=internet_gateway.id
)

# Associate the route table with the subnet
route_table.associate_with_subnet(SubnetId=subnet.id)

Google Cloud (gcloud CLI)

# Create a new VPC network
gcloud compute networks create my-vpc --subnet-mode=custom

# Create a new subnet
gcloud compute networks subnets create my-subnet \
    --network=my-vpc \
    --range=10.0.0.0/24

Oppsummering

Disse eksemplene viser hvordan man kan automatisere og administrere nettverkskonfigurasjoner og sikkerhetstiltak ved hjelp av ulike programmeringsspråk og skyplattformer. Disse skriptene gir en god start, og du kan tilpasse dem etter behovene til din spesifikke infrastruktur.