torsdag 3 april 2014

Cisco trådlöst nätverk med controller och Palo Alto Networks

Som jag tidigare nämnt fungerar User-ID med Palo Alto Networks brandvägg riktigt bra. Det förutsätter att man har en källa att hämta informationen ifrån, självklart, och på det trådade nätet är den källan självklart Active Directory.



På ett trådlöst nät med controller som autentiserar via Raduis-server mot AD finns det bara en källa som kopplar ihop användaren med IP-adressen: controllern.

Eftersom vi har Cisco slog jag på syslog på controllern och började kolla på vad den gav ifrån sig genom att mata in trafiken i Splunk. Det visade sig snart att autentiseringsmeddelanden inte loggas till syslog på en Cisco-controller. Istället skickar den SNMP-traps med den informationen, alternativt kan man polla ut informationen via SNMP.

Lyckligtvis kan den här informationen behövas i fler sammanhang så någon hade redan knåpat ihop ett bash-script som plockar ut den. Jag redigerade till det så det fungerade mot vår controller och vips hade jag informationen i en text-fil. Allt jag behövde göra var sända textfilen som syslog-meddelande till brandväggen.

Det finns ett kommando i Linux för det, logger, men just den versionen som följer med Ubuntu har en bugg som gör att den inte skickar meddelandena till en extern server. Eftersom jag varken kände för att kompilera en ny logger eller ge upp letade jag upp en nyare version av util-linux där logger följer med, extraherade den och ersatte den på mitt system. Det funkade fint.

Men, för det finns alltid ett men... Nu hade jag en fin kedja, ett bash-script jag kan köra via cron som plockar ut den information jag vill ha, skriver den till en fil och skickar över till brandväggen med logger. Och det funkade fint på vår nya controller. Vi har dock 7 controllers, varav bara en i dagsläget är ny. På den nya controllern där jag först testade att köra bash-scriptet plockade den ut informationen på strax över 2 sekunder.

På de gamla controllerna tog det evinnerlig tid. Så lång tid att jag trodde scriptet hängt sig och började debugga, till slut insåg jag att informationen från de gamla controllerna snudd på aldrig går jämnt upp, något scriptet måste uppnå för att bearbeta den data det tar emot. Det slutade med att jag körde scriptet med time när jag gick hem igår för att se om det någonsin gick jämnt upp.

Scriptet kördes i 31 minuter(!) och nådde förmodligen bara jämnvikt för att folk helt enkelt kopplade ner sig från det trädlösa.

Plan B blir att försöka ta emot SNMP-traps och omvandla dem till en log och skicka in i brandväggen men där är jag inte ännu.

Inga kommentarer:

Skicka en kommentar