Konfiguration af SNMPv3 på Cisco IOS/IOS XE

Konfiguration af SNMPv3 er ikke lige så nemt som med SNMPv1 og SNMPv2c hvor man benytter et community navn og definerer om det er readonly eller write adgang. SNMPv3 kræver et SNMPv3 View, en SNMPv3 Gruppe samt en SNMPv3 bruger.

Følg denne guide, for at konfigurere det.

Konfiguration af SNMPv3 View,

Et SNMPv3 View er en definition af hvilke SNMP OID der gives adgang til. Her giver vi adgang til hele SNMP OID træstrukturen.

snmp-server view snmpv3-oid-all iso included

Herefter skal vi knytte dette SNMP View til en Gruppe. Når man opretter en gruppe, skal man træffe nogle valg.

Ved oprettelsen skal man angive følgende

  1. Hvilken validering og kryptering af kommunikation der skal benyttes
  2. Om man skal have skrive adgang eller læse adgang.

I dette eksempel, vælger vi at benytte priv (Det vil sige at vi vil validere en bruger, samt benytte kryptering for kommunikationen)

Udover det vil vi kun give læse adgang via SNMP kommunikationen.

snmp-server group snmpv3group-read-all v3 priv read snmpv3-oid-all

Herefter skal brugeren oprettes, også her skal der træffes nogle valg ved oprettelsen.

  • Brugernavn
  • hvilken gruppe brugeren skal være medlem af.
  • hvilken kryptering der skal benyttes for validering, MD5 eller sha.
  • hvilken kryptering der skal benyttes ved kommunikation DES, 3DES, AES, AES192, AES384.
  • Password for bruger validering, her har vi valgt : h4KhA5cRXU3sEB
  • Password for Kryptering, her har vi valgt : XQ2EUKf2quaXN7

Der kan være forskel på hvilke sikkerheds protokoller og krypterings protokoller der kan benyttes på de forskellige netværks enheder. Dette har noget at gøre med alderen på udstyret, men også noget med versionen og understøttelse af sikkerhed.

snmp-server user snmpv3user snmpv3group-read-all v3 auth sha h4KhA5cRXU3sEB priv aes 256 XQ2EUKf2quaXN7

Herefter kan man overvåge en Cisco switche eller router med SNMPv3.

Der kan være forskel på hvilke sikkerheds protokoller og krypterings protokoller der kan benyttes på de forskellige netværks enheder. Dette har noget at gøre med alderen på udstyret, men også noget med versionen og understøttelse af sikkerhed. DES/3DES kryptering og SHA1 Hash algoritme, ses som usikre, men der er stadig hardware derude som kun understøtter disse, i forhold til AES kryptering og SHA2 Hash algoritme.

SNMPv3

SNMPv3 er en overbygning til SNMPv1 og SNMPv2c. SNMPv1 er basis SNMP som benytter u-krypteret kommunikation og kun understøtter 32 bit værdier. SNMPv2c er som SNMPv1 men kan håndtere 64 bit værdier som er nødvendige ved overvågning af Netværks interfaces som håndtere mere end 100Mbit. Med SNMPv1 og SNMPv2c benyttes en community tekst streng som password og validering af SNMP kommunikationen.

Med SNMPv3 gives der mulighed for mere sikkerhed i forbindelse med kommunikation til netværksenheder. Her benytter man ikke en community streng, men en bruger. Brugeren skal være medlem af en gruppe, hvor man har mulighed for at konfigurere forskellige adgange for de enkelte bruger. Men vigtigst af alt, med SNMPv3 introdusere man kryptering af SNMP kommunikationen imellem server og SNMP Agent (enheden der overvåges).

Sikkerheds adgang

SNMPv3 benytter følgende tre sikkerheds niveauer

  • NoAuthNoPriv – Ingen bruger validering, ingen kryptering
  • AuthNoPriv – Bruger validering, ingen kryptering
  • AuthPriv – Benytter både bruger validering og kryptering af kommunikation

Krypterings protokoller

Følgende krypterings protokoller kan benyttes ved SNMPv3 kommunikation

Validering:

I mange år har man kun kunnet benytte SHA1, MD5 ved validering, men i det at man anser disse former for usikre, bør man i dag benytte SHA256, SHA384, SHA512

Kryptering:

Igen har man i mange år benyttet DES og 3DES som standard protokoller for kryptering af SNMPv3 kommunikation. Disse protokoller er i dag anset som usikre og man bør benytte AES128, AES192 og AES256 for kryptering af kommunikationen.

SNMP View

SNMP Views, benyttes til at give adgang til hele SNMP OID træet eller kun dele af den. Dette styres på den enkelte netværks enheds som skal overvåges. Normalt vil man give adgang til hele træet i læse adgang, sådan at man har adgang til alle SNMP værdier på enheden.

SNMP Grupper

En SNMP Gruppe styrer adgangen til et SNMP View, man tilknytter en SNMPv3 bruger, som så får adgang til det tilknyttede SNMP View. Man kan give læse adgang eller skrive adgang til en gruppe.

Neosec Security Server

SNMPv3 er understøttet i Neosec Security Server og kan benyttes direkte via serveren samt via Network Agenten.

Følg nedenstående links for konfiguration af SNMPv3 på SNMP Agenter på netværks udstyr.

Links

Konfiguration af SNMPv3 på Cisco IOS/IOS XE

Oprettelse af SNMPv3 på Cisco Secure Firewall via Firepower Management Center

Oprettelse af SNMPv3 på Cisco Secure Firewall via Rest API FDM.

Konfiguration af SNMP overvågning på Ubuntu server

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