Jag har dock knäckt det.
Det script jag använde har jag modifierat till följande:
--------- SNIP! ---------
#!/bin/bash
snmp_community="public"
snmp_host="1.1.1.1"
rm -f /tmp/wlc.txt
IFS=$'\n'
while [ "1" -ne "2" ]
do
Unique_OID=($(snmpwalk -v 2c -O x -c $snmp_community $snmp_host 1.3.6.1.4.1.14179.2.1.4.1.1))
Client_IP=($(snmpwalk -v 2c -c $snmp_community $snmp_host 1.3.6.1.4.1.14179.2.1.4.1.2))
Client_Username=($(snmpwalk -v 2c -c $snmp_community $snmp_host 1.3.6.1.4.1.14179.2.1.4.1.3))
count1=${#Unique_OID[@]}
count2=${#Client_IP[@]}
count3=${#Client_Username[@]}
if [ "$count1" -eq "$count2" ]; then
if [ "$count2" -eq "$count3" ]; then
break
fi
fi
done
wait
index=0
while [ "$index" -lt "$count1" ]
do
id=$(echo ${Unique_OID[$index]} | cut -d "=" -f1 | awk -F "." '{print $8 "."$9 "." $10 "." $11 "." $12 "." $13 }')
cIP=$(echo ${Client_IP[$index]} | grep $id | awk -F " " '{print $4}')
cUser=$(echo ${Client_Username[$index]} | grep $id | awk -F " " '{print $4}' | sed s/\"//g)
if [[ $cUser = TEST* ]] || [[ $cUser != "" ]] && [[ $cUser != host* ]] && [[ $cIP != "0.0.0.0" ]]; then
if [[ $cUser = TEST* ]]; then
echo "SYSTEM=CISCO IP="$cIP "USER="$cUser >> /tmp/wlc.txt
else
echo "SYSTEM=CISCO IP="$cIP "USER=TEST\\\\"$cUser >> /tmp/wlc.txt
fi
fi
((index++))
done
logger -d -f /tmp/wlc.txt -n 172.17.1.101 -P 514
--------- SNIP! ---------
Det var väl inte så svårt?
Det jag gör är alltså att skapa en fil med innehållet Etikett (SYSTEM=CISCO), IP= (själva adressen) och USER= (användarnamnet), de två sistnämnda drar jag ut via SNMPWalk från WLC:n.
Problemet med att vissa användare inte dök upp var för att de inte hade vårt domännamn som prefix och brandväggen därför inte kunde slå upp dem via Active Directory. Så för dem användarnamn som saknar domännamn skjuter jag helt enkelt in det framför deras namn och skriver ner dem i filen.
Scriptet är testat och fungerar på Ciscos 5508. Det fungerar dock högst sporadiskt på Ciscos 4xxx men de börjar bli så gamla att de börjar fasas ut (vi gör det).
På Palo Alto:n ska du in under Device -> User Identification -> User Mapping -> Palo Alto Networks User ID Agent Setup (Klicka på kugghjulet (Edit)). I dialogen som kommer upp ska du till Syslog Filters. Där skapar du ett nytt filter enligt nedan:
Du är inte riktigt färdig ännu. Du ska också in under Device -> User Identification -> User Mapping -> Server Monitoring, klicka på Add.
Lägg till en ny enligt följande:
Märk väl att ditt filter heter Test om du följt mitt exempel enligt ovan istället för, som i mitt fall, LS-ID.
Glöm inte att köra en commit på dina ändringar. Sätt scriptet att köra med lämpligt intervall via cron och njut av att se när du kan identifiera de trådlösa användarna i din brandvägg.
Och ja, man kunde lika gärna tagit bort domännamnet i filen man genererar och skjuta in den i fältet Default Domain name i sista dialogen.
Verifierat och fungerar med PAN-OS 6.0.1.
Inga kommentarer:
Skicka en kommentar