iPerf3 installation Ubuntu server

Dette indlæg omhandler installation af iPerf3 som er et performance tool som måler båndbredden imellem klient og server. iPerf3 er udviklet af nogle franske udviklere og man kan læse mere omkring dette på iperf.fr.

Installation af iPerf3

sudo apt install iperf3

Konfigurer herefter iperf3 som en server service

For at sikre at iPerf3 automatisk startes som en service når enheden hvor den er installeret på starter, eller genstarter, gøres følgende.

Opret et nyt dokument i /etc/systemd/system/iperf3.service med følgende indhold.

[Unit]
Description=iperf3

[Service]
ExecStart=/usr/bin/iperf3 --server

[Install]
WantedBy=multi-user.target

Aktiver service

sudo systemctl enable iperf3

Start iperf3 servicen

sudo system iperf3 start

Tjek herefter at iperf3 service er startet og kørende.

sudo system status iperf3

Ovenstående status viser at service er startet og klar til at modtage data. For at teste iPerf3 serveren, kør herefter iperf3 som klient fra en anden maskine mod serveren. Jeg har installeret iPerf3 på en maskine med navnet speedtest. Derfor udføres kommandoen som: sudo iperf3 -cv speedtest.

Ovenstående resultat er fra en Raspberry Pi 2 enhed og viser at den kan håndtere en båndbredde på 100Mbit. Raspberry Pi har kun et 100 Mbit Interface i forhold til 1Gbit på de nye Raspberry Pi 4.

Her er en test som blev køre fra en Raspberry Pi 4.

For at teste sin båndbredde mod Internettet, så kan man benytte følgende offentlige iPerf servere som er listet på iperf.cc.

Raspberry Pi Zero W

Raspberry Pi Zero (headless)

Når du første gang sidder med en Raspberry Pi Zero Wifi i hånden, tænker du hvordan får jeg lige et keyboard på denne enhed.

Men det er der råd for, man kan nemlig konfigurere Raspberry Pi Zero ved nogle små tricks. Tag SD-kortet ud af din Raspberry Pi, sæt den i din PC og vælg det drev som indeholder boot partitionen.

Giv adgang til SSH

Opret en fil ved navn SSH uden indhold

Oprettelse af forbindelse til Wifi

Opret en fil ved navn : wpa_supplicant.conf

tilføj følgende i filen:

country=US
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="NETWORK-NAME"
    psk="NETWORK-PASSWORD"
}

rediger filen, sådan at matcher Wifi konfigurationen på dit Wifi.

country=DK
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="IoT"
    psk="Deterikkesaasikkert"
}

Gem filen og flyt SD-kortet over i Raspberry Pi igen og sæt strøm til. Herefter skulle du Raspberry Pi enheden logge på det trådløse net, aktivere SSH adgang. For at få adgang, skal man kende IP adressen på enheden. Dette kan gøres ved at lave en IP scan af det net som deler IP adresser ud til det trådløse netværk-

Benyt NMAP eller anden form for IP Scanner. For at identificere en Raspberry Pi, så vil MAC Addressen altid starte med følgende prefixes:

  • DC:a6:32
  • E4:5F:01
  • B8:27:EB
  • 3A:35:41

Når man har fundet enheden på netværket, log da på enheden ved hjælp af SSH.

Ændre Hostname

For at ændre hostnavnet på enheden, benyt den indbyggede kommando hostnamectl eller ændre /etc/hostname filen.

sudo hostnamectl set-hostname rp2

Med ovenstående kommando er hostnavnet på raspberry pi enheden nu skiftet til ‘rp2’.

Ubuntu

Konfiguration af SNMP overvågning på Ubuntu server

For at kunne overvåge en Ubuntu server, skal der installeres en SNMP Daemon først [SNMPD]. SNMPD bliver ikke installeret som standard på en Ubuntu server. Tjek med følgende kommando om SNMPD allerede er installeret.

sudo service --status-all

[ + ] apparmor
[ + ] apport
[ + ] atd
[ - ] console-setup.sh
[ + ] cron
[ - ] cryptdisks
[ - ] cryptdisks-early
[ + ] dbus
[ + ] grub-common
[ - ] hwclock.sh
[ + ] irqbalance
[ - ] iscsid
[ - ] keyboard-setup.sh
[ + ] kmod
[ - ] lvm2
[ - ] lvm2-lvmpolld
[ + ] multipath-tools
[ - ] open-iscsi
[ + ] open-vm-tools
[ - ] plymouth
[ - ] plymouth-log
[ + ] procps
[ - ] rsync
[ + ] rsyslog
[ - ] screen-cleanup
[ + ] ssh
[ + ] udev
[ + ] ufw
[ + ] unattended-upgrades
[ - ] uuidd

Listen viser de services der er installeret på serveren, hvis der er angivet [+] så er servicen startet. Listen viser at SNMPD ikke er installeret.

Kør følgende for at installere SNMPD.

  1. opdater pakke listen: sudo apt-get update
  2. Installer SNMPD: sudo apt-get install snmp, snmpd

Herefter skal SNMPD konfigureres, dette gøres ved at ændre snmpd.conf filen. sudo nano /etc/snmp/snmpd.conf

Find linjen med følgende tekst: agentaddress 127.0.0.1,[::1]

Denne tekst skal ændres til følgende: agentaddress udp:161,udp6:[::1]:161

Find linjerne med følgende tekst:

rocommunity public default -V systemonly
rocommunity6 public default -V systemonly

Man benytter snmp community som password for at kunne få lov til at hente informationer fra serveren via snmp.

Ændre public til den SNMP Community som man ønsker eller benyt public som standard. Her er snmp community ændret til neosec.

rocommunity neosec default -V systemonly
rocommunity6 neosec default -V systemonly

Som standard er snmd konfigurereret med et systemonly view som ikke giver så mange informationer på systemet.

Hvis vi gerne vil overvåge disk, memory m.m. så skal snmp viewet ændres.

view systemonly included .1.3.6.1.2.1.1

View systemonly included .1.3.6.1.2.1.25.1

opret nyt view

view systemAll included .1

Gem ændringerne i snmpd.conf filen og start snmpd servicen. sudo service snmpd restart

[ + ] apparmor
[ + ] apport
[ + ] atd
[ - ] console-setup.sh
[ + ] cron
[ - ] cryptdisks
[ - ] cryptdisks-early
[ + ] dbus
[ + ] grub-common
[ - ] hwclock.sh
[ + ] irqbalance
[ - ] iscsid
[ - ] keyboard-setup.sh
[ + ] kmod
[ - ] lvm2
[ - ] lvm2-lvmpolld
[ + ] multipath-tools
[ - ] open-iscsi
[ + ] open-vm-tools
[ - ] plymouth
[ - ] plymouth-log
[ + ] procps
[ - ] rsync
[ + ] rsyslog
[ - ] screen-cleanup
[ + ] snmpd
[ + ] ssh
[ + ] udev
[ + ] ufw
[ + ] unattended-upgrades
[ - ] uuidd

Man kan nu se at snmpd er tilføjet i listen og servicen er startet.

Test nu om man kan hente snmp informationer fra serveren.

snmpwalk -v2c -c neosec localhost

iso.3.6.1.2.1.1.1.0 = STRING: "Linux ubuntudocker 5.4.0-62-generic #70-Ubuntu SMP Tue Jan 12 12:45:47 UTC 2021 x86_64"
iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.8072.3.2.10
iso.3.6.1.2.1.1.3.0 = Timeticks: (2143) 0:00:21.43
iso.3.6.1.2.1.1.4.0 = STRING: "Me <me@example.org>"
iso.3.6.1.2.1.1.5.0 = STRING: "ubuntudocker"
iso.3.6.1.2.1.1.6.0 = STRING: "Sitting on the Dock of the Bay"
iso.3.6.1.2.1.1.7.0 = INTEGER: 72
iso.3.6.1.2.1.1.8.0 = Timeticks: (1) 0:00:00.01
iso.3.6.1.2.1.1.9.1.2.1 = OID: iso.3.6.1.6.3.10.3.1.1
iso.3.6.1.2.1.1.9.1.2.2 = OID: iso.3.6.1.6.3.11.3.1.1
iso.3.6.1.2.1.1.9.1.2.3 = OID: iso.3.6.1.6.3.15.2.1.1
iso.3.6.1.2.1.1.9.1.2.4 = OID: iso.3.6.1.6.3.1
iso.3.6.1.2.1.1.9.1.2.5 = OID: iso.3.6.1.6.3.16.2.2.1
iso.3.6.1.2.1.1.9.1.2.6 = OID: iso.3.6.1.2.1.49
iso.3.6.1.2.1.1.9.1.2.7 = OID: iso.3.6.1.2.1.4
iso.3.6.1.2.1.1.9.1.2.8 = OID: iso.3.6.1.2.1.50
iso.3.6.1.2.1.1.9.1.2.9 = OID: iso.3.6.1.6.3.13.3.1.3
...

Ovenstående resultat viser at SNMP Daemon servicen kører og man kan herefter konfigurere overvågning af serveren.

SSL Optimering

Ved en helt standard Microsoft IIS installation, er SSLv3 og SSLv2 slået til som standard. Disse protokoller ses som usikre og bør deaktiveres.

Udover det, er der som standard en række Krypterings algoritmer der er aktiveret som standard som også bør deaktiveres.

Via www.ssllabs.com, kan man teste sit website for hvilken SSL version der benyttes samt om websitet benytter en svag krypteringsalgoritme.

På www.neosec.dk har vi deaktiveret følgende svage algoritmer. RC4 og 3DES 168 bit.

For at slå algoritmerne fra, skal man tilføje nogle nye registrerings nøgler og værdier.

RC4, Triple DES 168 slås fra ved at tilføje nøgler under Ciphers.

Ved Diffie Hellman Key Exhange benyttes som standard 1024 bit. Dette skal ændres til minimum 2048 bit.

De fulde registrerings nøgler er listet længere nede.

SSL 2.0 protokollen styres under Protocols/SSL 2.0 her kan man styre Client og Server indstillingerne.

Det samme gør sig gældende for SSL 3.0.

 

 

 

 

RC4 og 3DES Cipher Deaktivering

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 128/128]
“Enabled”=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 40/128]
“Enabled”=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 56/128]
“Enabled”=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\Triple DES 168]
“Enabled”=dword:00000000

Konfiguration af Diffie-Hellman 2048 bit

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\KeyExchangeAlgorithms\Diffie-Hellman]
“ServerMinKeyBitLength”=dword:00000800

Deaktivering af SSL 3.0

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client]
“DisabledByDefault”=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server]
“Enabled”=dword:00000000


Qualsys SSL Labs Test you server

Link til SSLabs

Link til SSLLabs SSL Server Test