Router Expert: Gjennomføre et nettverk inventar, del 1

Selv om du tror du har informasjonen, er det en god idé å gjennomføre inventar og verifisere informasjonen som et første skritt til en revisjon. Dette gjør det mulig å bygge et komplett bilde av miljøet, og som en ekstra fordel, vil avdekke uoverensstemmelser som bør ryddes opp. Tilnærmingen dekket i denne artikkelen forutsetter at du har administrativ tilgang til nettverket du revisjon. De åpne kildekode-skript følger med ballen Unix /Linux, Apples OS X, og Cygwin for Windows-miljøer og arbeid på IOS-baserte svitsjer og rutere som støtter SSH eller RCMD tilgang.

Samle inventar attributter
Før vi kommer inn i prosessen, er det en god ide å tenke på hvorfor vi er interessert i IP, MAC og DNS-informasjon. Når du arbeider med noder koblet til nettverksbrukere og administratorer, vi bruker vanligvis enten verts IP-adresser eller DNS-oppføringer å etablere kommunikasjon og utveksle data. Begge disse identifiseringsmetoder ble designet for å være brukervennlig og enkel å administrere. De ofte tildelt menneskelige navn (og tall) for å hjelpe oss å samhandle med utpreget ikke-menneskelige maskiner. Begge ordningene ble utformet på slutten av syttitallet, da serie terminaler var det primære middel for maskin-interaksjon og den opprinnelige ARPANET vert bord var en fil som var e-post rundt.

Den dynamikken i de to metodene, i form av tildeling og gjennomføring, har tillatt dem fleksibilitet til å støtte både globale og private driftsmodeller. Imidlertid er det på denne dynamikken som gjør dem problematisk fra et sikkerhetsmessig synspunkt. Fordi oppgavene er dynamiske og overførbar, kan forskjellige fysiske verter anta samme " nettverk identitet. &Quot; De fleste nettverksbaserte angrep utnytte IP og DNS sin unverifiable natur. Distributed denial-of-service (DDOS) angrep deaktivere legitim vert og tillate at angriperen å anta offerets IP identitet. ID fiske e-poster bruke falske nettadresser for å omdirigere intetanende brukere til falske nettsteder som fanger personlig identitet og finansiell kontoinformasjon.

Bare NIC MAC-adresser er unike, fordi de er forbundet med vertens NIC, snarere enn verten. De fleste av dagens arbeidsstasjoner og servere har innebygd nettverksgrensesnitt, slik at MAC-adressen til et ideelt nettverk attributt som skal brukes for sporing og tilgangskontroll (via Layer 2 filtrering og /eller statisk DHCP). Dette er ikke å si MAC-adresser er idiotsikre; hvis en angriper har tilgang til det lokale nettverket, er ARP /MAC spoofing mulig. Og hvis en server ble erstattet på grunn av feil, ville dens MAC informasjon også endres. Så, mens ingen sporing metoden er perfekt, sporing (og kontrollere tilgang bruker) MAC, IP og DNS attributter er en av de beste virkemidlet for å bekrefte og sikre kontinuitet i nettverket.

Vertsidentifikasjonsinformasjonskilder og metode
å starte, trekk ut på at regneark, notepad eller hva du bruker til å dokumentere noder i nettverket. Du vil bruke denne informasjonen som styringsdata. En ideell revisjon miljø fungerer fra perspektivet til verifisering: Vi bekrefter det vi allerede mener å være på plass. Hvis denne informasjonen ikke tidligere eksisterer, vil den første revisjonen fungere som baseline for sammenligning med fremtidige revisjoner.

Som vi snakket om ovenfor, samler verten inventar tre datapunkter: IP-adresse, MAC-adresse og DNS-oppføringer. På slutten av varelageret, bør vi ha en opptelling datasett som ser omtrent slik ut:


 172.30.100.1 0000.0c07.ac05 Cisco Systems, gw.outlan.net172.30.100.100 0004.ac5e.4810 IBM CORP. yp.outlan.net172.30.100.14 000b.cd83.53f6 Ukjent OUI oscar.outlan.net172.30.100.15 0008.02a1.4d80 Compaq Computer auth.outlan.net172.30.100.16 0050.8b2c .f25e Compaq Computer mail.outlan.net172.30.100.17 0002.a528.b2b3 Compaq Computer home.outlan.net172.30.100.172 0008.c7f4.4655 Compaq Computer foo.outlan.net172.30.100.18 000b.cd50.786a Ukjent OUI kermit.outlan.net172.30.100.19 0008.c72a.c8fb Compaq Computer bigbird.outlan.net172.30.100.2 0001.812b.fe08 Nortel Networks rs01.outlan.net172.30.100.3 0005.5fe7.0800 Cisco Systems, rs02 .outlan.net 

En tabell som dette bør opprettes for hvert segment i nettverket. Så langt har vi diskutert tre av de fire attributtene ovenfor. Datapunktene i den tredje kolonnen er organisatorisk unike identifikatorer (OUI) for hver av de MAC-adresser. De første 24 biter av hver Ethernet MAC-adressen er maskinvareprodusenten oui, som har blitt tildelt av IEEE. En produsent bruker sin OUI i kombinasjon med en unik 24 bit verdi å skape en unik MAC-adresse for hvert nettverksgrensesnitt.

Å vite OUI av en nettverksnode kan bistå i sporing og feilsøking dårlig oppførsel verter. I de tidlige dagene av nettverk, nettverkskort var en tilleggskomponent lagt til datamaskinen, som krever MAC-adresse som skal spores og forbundet med en vert for nyttig sporing. I dag, de fleste hardware produsenter tilbyr en eller flere om bord nettverksgrensesnitt, så løse en rekke MAC OUI kan i mange tilfeller identifisere hvilken type maskinvare som er koblet til nettverket, og i forlengelsen, typen operativsystem.

Når lageret er ferdig, påfølgende varelager kan kjøres og sammenlignes, slik at du enkelt identifisere endringer og feil, slik at du kan undersøke og korrigere dem. Alle disse dataene kan samles inn av nettverket; ingen tilgang til nodene er nødvendig. Dataene for inventar samles ved å trekke ut data fra nettverkets switch og ruter ARP og grensesnitt bord, DNS sone dumper, og ICMP ping skanninger. ARP og ICMP-skanninger gi informasjon om aktive IP-verter. DNS sone og grensesnitt tabeller gir informasjon om IP-nettverk innenfor det administrative domenet, sammen med vertsnavn informasjon. Mens hver datakilde gir en unik brikke i puslespillet, de gir også overflødig informasjon som kan sammenlignes med de andre kilder for å sikre nøyaktighet og avdekke eventuelle uoverensstemmelser.

Verktøyene
Å kjøre følgende skript, trenger du en datamaskin som tåler Perl, SED, awk, sh, sortere, dato, diff og grep. Du må også laste ned og kompilere domainscan og fping. (Fping er en ping erstatning som støtter en rekke skanning og utenheter, noe som gjør det til et flott verktøy for administratorer som er avhengige av ICMP for feilsøking.) Den scripts funksjon som programpakkemaskiner som utvinner og formatere inventar data, slik at det er lett tilgjengelig . Her er oversikt over hver av skript, forklarer programmene de er avhengige av, og hva de gjør:


vidump.sh Anmeldelser - Dette Bourne shell script bruker SSH til å hente en liste av et ruterens fysiske grensesnitt eller en svitsjens VLAN-grensesnitt. Den bygger en liste over IP-nettverk som er koblet til ruteren eller svitsjen som du kan bruke til å finne ut hvilke nettverk du bør revidere. Det hjelper også å identifisere enheter mot å kjøre ARP dumper.
arpextract.sh Anmeldelser - Dette Bourne shell script bruker også SSH for å hente en IP-adresse eller IP-adresse og ARP tabellen fra en IOS-baserte ruter eller svitsj. ARP-tabeller må trekkes fra enheter som har direkte forbindelser til nettverkssegmenter som du samler inn ARP informasjon (helst standard gateway for segmentet). Hvis ikke, løser ARP-oppføringer for IP du spør vil resultere i det fysiske grensesnittet ruteren eller svitsjen bruker for å nå målet vertene.
dnsdump.sh Anmeldelser - Dette er et Bourne skall skript som kaller domainscan å utføre et DNS-oppslag på en klasse C nettverk. Det formaterer utgang for sammenligning og data fusjonere med utgangen av de andre verktøyene. For best resultat, kjøre dnsdump.sh bruker nettverket segmentet rot DNS server og en sekundær DNS-server og sammenligne resultatene. Hvis du har verter som er offentlig tilgjengelig, vil du ønsker å sammenligne DNS root oppføringene mot andre offentlige DNS-servere for å sørge for at dataene er konsistent.
activehosts.sh Anmeldelser - Dette er en annen Bourne shell script som kaller fping å utføre et ICMP ping scan mot en IP-adresseområde. Normalt ville du bruke den på et klasse C nettverk med 255 IP-adresser eller mindre. Større skanner vil fungere, men dataene blir vanskelig å administrere. Som dnsdump.sh, er kommandoen utgang fra fping formatert til å brukes sammen med de andre scripts.
ouiresolv.pl Anmeldelser - Dette er et Perl skript som løser OUI delen av 48 bit Ethernet MAC-adressen. Den ouiresolv.pl skriptet får sin input fra arpresolv.txt filen. Denne filen genereres når arpextract.sh kjøres for å generere en ARP tabellen dump med mulighet til å ha kommandoen utgang lagres i en fil.
ouilookup.sh Anmeldelser - Dette er et Bourne skall wrapper script for ouiresolv.pl Perl-skript. Det formaterer ouiresolv.pl utgang for fusjonere med rapportdata fra de andre scripts.

Samle nettverk inventar data
Den mest effektive måten å bygge en opptelling er en IP-subnett gangen. Hvert nettverk har sin egen logisk layout, men hver nettverket bruker en eller flere subnett. Det gjør IP-subnett den minste logisk enhet som å arbeide. Hvis du reviderer ditt eget nettverk, er det ikke nødvendig å kjøre vidump.sh, fordi du bør allerede vet subnett som utgjør nettverket. Men hvis du er glemsk, eller ikke er kjent med den delen av nettverket du er revisjon, trekke grensesnittet eller VLAN liste fra gateway enheten ved hjelp av vidump.sh kommandoen. Manuset åpner en SSH-økt til enheten. Du blir bedt om å oppgi passordet ditt, og kommandoutdataene sendes til CLI og lagret som en tekstfil (for referanse). På en IOS-baserte router, bruker ¡ VR kommando flagg, og på en iOS-baserte bryter bruke ¡ Vv flagg. Hvis du har et spørsmål om syntaksen, kjøre kommandoen etterfulgt av ¡ Vh flagg. Den fulle kommandosyntaks ser slik ut: vidump.sh < bruker > < vert > {v | -i}
. Her er et eksempel CLI gjennomføring:


 Trinity # ./vidump.sh Amin out-rs01 -vamin @ out-rs01 passord: Vlan179 172.30.179.3Vlan168 172.30.168.3Vlan5 172.30.5.3 Vlan11 172.30.11.3Vlan168 172.30.169.67Vlan177 172.30.177.3Vlan172 172.30.172.3Vlan164 172.30.164.3Vlan133 172.30.169.133Vlan165 172.30.165.3Vlan169 172.30.169.163The Rapporter navn er: Vlan-liste-out-rs01-10-21-04 .txtTrinity # 

Når du har en liste over subnett, velg et segment og samle DNS-postene for subnettet bruker dnsdump.sh script. Som vidump, åpner dette skriptet en SSH-økt til enheten. Du vil bli bedt om å oppgi et passord før kommandoen utføres. Kommandoen vil, som standard, dumpe utgang til CLI. Bruk ¡, VR flagg for å lagre dataene i en rapport fil. Den fulle kommandosyntaks ser slik ut: dnsdump.sh < xxx.xxx.xxx > {-r}
. Følgende eksempel skanner 172.30.100 subnet og sparer utgang til en rapport fil:


 Trinity # ./dnsdump.sh 172.30.100 -r172.30.100.1 gw.outlan. net172.30.100.100 yp.outlan.net172.30.100.14 oscar.outlan.net172.30.100.15 auth.outlan.net172.30.100.16 mail.outlan.net172.30.100.17 home.outlan.net172.30.100.172 foo.outlan.net172.30.100.18 kermit.outlan.net172.30.100.19 bigbird.outlan.net172.30.100.2 rs01.outlan.net172.30.100.3 rs02.outlan.netReport 172.30.5-dnsdump-12-05 -04 Complete! Trinity # 

Etter at DNS informasjon har blitt samlet inn, er neste steg å finne aktive verter på IP-subnett. Mens det kan virke opplagt for noen, kjører en IP-vert inventar mot en IP-subnett som bruker dynamisk DHCP vil gi svært lite nyttig informasjon. Det vil gi deg med et øyeblikksbilde av vertene tilkoblet, men at data vil kun være gyldig så lenge vertene holde kontakten og /eller leiekontraktene utløper. Det er mulig å " flekk revisjon " verter ved korrelere ARP dumpe data fra bryteren og leieavtalen bordet fra DHCP-serveren til fingeravtrykk vertene, men det er et tema for en annen artikkel. For nå, la oss nok til å si at lagrene skal kjøres mot subnett hvor IP oppdrag statisk tildelt (eller tildelt via DHCP).

Målet her er å gjennomføre en revisjon av nettverkstjenestene som kjører på servere som er koblet til nettverket. En liste over aktive verter er bygget ved hjelp av activehosts.sh script. Den activehosts.sh skriptet må kjøres som root eller med en rot tilsvarer ID på en Unix /Linux-system, fordi fping må kjøres som root. Den activehosts.sh kommandoen sender kommandoutdataene til CLI som standard, og vil spare det til en rapport fil med ƒ {r flagget etter at IP-nettverk spekter uttalelse. Den fulle kommandosyntaks ser slik ut: activehosts.sh (start IP) < xxx.xxx.xxx.xxx > (slutten IP) < xxx.xxx.xxx.xxx > {-r} >.
Her er en CLI utgang eksempel:


 Trinity # ./activehosts.sh 172.30.100.1 172.30.100.254 -r 172.30.100.1 172.30.100.100172 .30.100.14 172.30.100.15 172.30.100.16172.30.100.18 172.30.100.17 172.30.100.172 172.30.100.18 172.30.100.19 172.30.100.2 172.30.100.3 172.30.100.31172.30.100.44 Rapporten heter 172.30.100.1-acthost-out -rs01-11-20-04.txtTrinity # 

Etter å ha kjørt ICMP samlingen ved hjelp activehosts.sh, må vi generere to flere IP-verts rapporter, en liste de aktive IP-verter og en liste de aktive IP-verter og deres respektive MAC adresser. IP " bare " Rapporten fra gateway-enheten i de fleste tilfeller vil gi overflødig informasjon i forhold til rapporten som genereres av activehosts.sh. Imidlertid vil det være tilfeller hvor en rekke kan reagere svært sakte eller ikke i det hele tatt til ICMP forespørselen, fordi verten har filtrert eller deaktivert ICMP. IP-gateway ARP tabellen ikke lider av disse ulempene, fordi noen vert på IP segment som overfører data på eller av segmentet må ha en gyldig MAC oppføring i bryteren /ruteren ARP tabellen.

arpextract.sh script kan styre sin produksjon til CLI eller en rapport. I motsetning til de andre scripts, kan det enten dumpe hele IP eller ARP tabellen eller bare IP- eller ARP informasjon for en bestemt IP-subnett eller VLAN ved å tilby IP-prefiks eller VLAN ID følge rapporten flagget. For å fullføre datainnsamling for våre vert inventar, trenger vi å samle både IP og ARP data for målet IP subnett. Å generere IP bordet, bruker vi ¡, VI flagg for å sende utdata til CLI eller ¡, Vir flagg for å sende utdata til CLI og en rapport fil. Å generere ARP tabellen, bruker vi ¡, Va flagg for å sende utdata til CLI eller ¡ Var flagg for å sende utdata CLI og en rapport fil.

Standard for alle utenheter genererer en rapport med oversikt over hver oppføring i ARP tabellen. Denne listen kan være ganske stor, spesielt hvis trafikken bundet for Internett-verter passerer gjennom, fordi router /switch vil tildele MAC-adressen til en gateway som det videre Internett-bundet trafikk og for hver Internett-IP-adresse. For å gjøre rapportene mer håndterlig, kan du spesifisere søk basert på IP-subnett prefiks eller VLAN ID følgende rapporten flagget. Den fulle kommandosyntaks ser slik ut: arpextract.sh < bruker > < vert > {-a | -ar | -i | -ir} < streng >.
Her er et eksempel gjennomføring innsamling av data på de aktive IP-verter:


 Trinity # ./arpextract.sh admn outlan-rs01 -ir 172.30.100admn@outlan-rs01's passord: Tilkobling til Outland-rs01 lukket av ekstern host.Collection Complete.Formatting data ... Active IP Host Table for 172.30.100 på outlan-rs01 Fullført. ..172.30.100.1 172.30.100.100172.30.100.14 172.30.100.15 172.30.100.16172.30.100.18 172.30.100.17 172.30.100.172 172.30.100.18 172.30.100.19 172.30.100.2 172.30.100.3 172.30.100.31172.30.100.44 Rapporter Lagret som 172.30.100-IPdump-outlan-rs01-12-05-04.txtTrinity # 

Her er resultatet av en april tabellrapport for samme subnett bruker VLAN ID som søkestreng:


 Trinity # ./arpextract.sh admn outlan-rs01 ¡ Var Vlan5admn @ outlan-rs01 passord: Tilkobling til Outland-rs01 lukket av ekstern host.Collection Complete.Formatting data ... ARP Tabell for Vlan5 på outlan -rs01 Fullført ... 172.30.100.1 0000.0c07.ac05 172.30.100.100 0004.ac5e.4810 172.30.100.14 000b.cd83.53f6 172.30.100.15 0008.02a1.4d80 172.30.100.16 0050.8b2c.f25e 172.30.100.17 0002.a528. b2b3 172.30.100.172 0008.c7f4.4655 172.30.100.18 000b.cd50.786a 172.30.100.19 0008.c72a.c8fb 172.30.100.2 0001.812b.fe08 172.30.100.3 0005.5fe7.0800Report Lagret som Vlan5-ARPdump-outlan-rs01-12 -05-04.txt Laget arpresolv.txt for ARP-Lookup.plTrinity # 

OUI oversettelse Rapporten må kjøres sist. Det er to skript involvert, ouiresolv.pl og ouilookup.sh. Begge skript operere under samme prinsipp. De leser innholdet i arpresolv.txt. De løse OUI delen av adressen og utføre oppslag mot http://standards.ieee.org/cgi-bin/ouisearch nettstedet bruker curl program. Den ouiresolv.pl genererer følgende CLI-utgang:


 Trinity $ perl ouiresolv.pl ser opp OIDs.172.30.100.4 - > Nortel Networks172.30.100.19 - > Compaq Computer CORPORATION172.30.100.2 - > Nortel Networks172.30.100.15 - > Compaq Computer Corporation172.30.100.1 - > Cisco Systems, INC.172.30.100.18 - > Ukjent OUI172.30.100.14 - > Ukjent OUI172.30.100.172 - > Compaq Computer CORPORATION172.30.100.16 - > Compaq Computer CORPORATION172.30.100.5 - > DITECH CORPORATION172.30.100.83 - > Compaq Computer CORPORATION172.30.100.85 - > Compaq Computer CORPORATION172.30.100.3 - > Cisco Systems, Inc.172.30.100.100 - > IBM CORP.172.30.100.17 - > Compaq Computer CorporationTrinity $ 

ouilookup.sh skriptet kjører ouiresolv.pl og formaterer utgang, sender den til CLI og lagre det i en fil som heter oui-join.txt. Den oui-join.txt fil data er en av de datasettene som er slått sammen med andre rapportdata for å fullføre nettverk inventar rapporten. Her er en utgang eksempel på ouilookup.sh skriptet:


 Trinity: $ ./ouilookup.sh 172.30.100.1 Cisco Systems, 172.30.100.100 IBM CORP.172.30.100.14 Ukjent OUI172. 30.100.15 Compaq Computer172.30.100.16 COMPAQ COMPUTER172.30.100.17 Compaq Computer172.30.100.172 COMPAQ COMPUTER172.30.100.18 Ukjent OUI172.30.100.19 COMPAQ COMPUTER172.30.100.2 Nortel Networks172.30.100.3 Cisco Systems, 172.30. 100,4 Nortel Networks172.30.100.5 DITECH CORPORATION172.30.100.83 COMPAQ COMPUTER172.30.100.85 COMPAQ COMPUTERTrinity: $ 

Når du har samlet alle dataene, bygge rapporten er et blunk. På dette punktet, bør du ha en samling av filer som ligner på de som er oppført her:


 Trinity $ ls172.30.100-IPdump-fny-rs01-12-05-04.txt Vlan -liste-outlan-rs01-12-05-04.txt172.30.100-dnsdump-12-05-04.txt Vlan5-ARPdump-outlan-rs01-12-08-04.txt172.30.100.1-acthost-12- 05-04.txt oui-join.txtIPdump-fny-rs01-12-07-04Trinity $ 

Nå som vi har samlet alle de vert identifikasjonsdata, er du klar til å kryssreferanse datasettene og bygge nettverk inventar rapport. Vi dekker at i neste måneds artikkelen. I mellomtiden, hvis du har spørsmål, kommentarer eller artikkel forslag, vennligst send en e-post til oss.

For mer informasjon om hele revisjonsprosessen, lese forrige måneds spissen, hvorfor du trenger en nettverkstjenester revisjon.