Router Expert: tacacs triks med skript, del 1

Nettverks- og systemadministratorer har tre felles attributter: oppfinnsomhet, grundighet og dovenskap. Disse dyder kom til tankene når jeg leste et innlegg på en TACACS + mailingliste ber om informasjon om verktøy for administrasjon tac_plus bruker regnskap. Det var lite i form av svar - bortsett fra " du bør skrive en " --because det ikke finnes slike verktøy. Nå kan du spørre hvorfor denne forespørselen brakt disse attributtene til tankene. For det første, forfatteren av notatet var å være snarrådig i å nå ut til andre for å finne et svar på hans problem. Eller kanskje forfatteren tenkte på å lage et verktøy og spørringen var et forsøk på å være grundig, slik at han skulle vie sin energi til å fikse et problem som i dag ikke har et svar. Uavhengig av forfatterens intensjon, arten av spørsmålet indikerte administrator hadde klart slothful tendenser. Jeg mener, hvor vanskelig er det å redigere en enkelt konfigurasjonsfil?

Men så tenkte jeg på det. Fordelen med å bruke tac_plus daemon er dens funksjonalitet og utvidbarhet enn kommersielle implementeringer. Men kommer det fleksibilitet med en pris. Mens TACACS + " tjenesten " er gitt, ikke mye annet er. Kommersielle tacacs implementeringer komme med GUI /CLI verktøy for å administrere systemet og gi rapportering evner. Tac_plus tilbyr ingen av disse perks, bare en solid TACACS + service. Så for de av dere finne redigere filer kjedelig eller er bare sjalu av administrator venner med sine dyre TACACS + implementeringer som har store administrasjonsgrensesnitt, her er et verktøy for å håndtere tac_plus bruker regnskap.

Verktøyet består av tre skript:


tadduser Anmeldelser - Dette skriptet oppretter brukerprofil oppføringer støtter følgende godkjenningsmetoder: S /Key, klar tekst, lokal DES og PAM og gruppemedlemskap oppdrag.
tdeluser Anmeldelser - Dette skriptet fjerner avhengige brukerkontoer, søker en tac_plus konfigurasjonsfil for fjerning kandidater, og håndterer feilsjekking og statusrapportering.
pwedit Anmeldelser - Dette skriptet fjerner brukerprofildata fra en tac_plus konfigurasjonsfil (kalt av tdeluser script, ikke kan brukes som en frittstående script)

De skript er. skrevet for Bourne eller bash shell miljø og avhenger av grep, awk Hotell og sed
for formatering og redigering. De skal kjøre i de fleste Unix-miljøer (testet på RH 6.x og RH7.x) med liten innsats. Bare tadduser manuset krever litt lokal konfigurasjon; den tdeluser og pwedit krever ingen lokalt satt variabler. De tre skript må også være plassert i samme katalog, ideell /usr /local /etc /tacadmin. I forhold til de tac_plus operative miljøkrav, er versjon 4.0.4 eller 4.0.3 av tac_plus nissen med Linux-PAM Patch nødvendig sammen med en riktig formatert tac_plus konfigurasjonsfil. Tidligere tac_plus artikler har referert buskas versjonen av tac_plus som ikke støtter Linux PAM, så du må oppdatere den. PAM lapp, i tilfelle du lurer på, gir mulighet til å bruke PAM /shadow passord suite som leveres med Linux. Det legger til " pam innlogging " verdien til attributtet A /V par logg
. Her er en konfigurasjon syntaks eksempel:

user = emmet {login = pam innlogging medlem = admin}

Uten PAM-støtte, kan tac_plus serverens lokale brukerregnskapsdatabasen ikke bli benyttet av tac_plus daemon. Vi vil komme til hvorfor dette er dårlig i et øyeblikk. Formatet på tac_plus konfigurasjonsfilen spiller en nøkkelrolle i skriptene atferd. Den tac_plus nissen har ingen strenge krav så langt som formatet og bestilling av konfigurasjonsfilen er opptatt av, annet enn riktig konstruksjon dvs. hekke av A /V-parene. Ved redigering konfigurasjonsfilen for hånd, er bestillings ikke en reell bekymring. Når et skript redigerer tac_plus konfigurasjonsfilen, blir formatet ganske viktig. Scripts bruke mønster og ord matching for å finne datapunkter i konfigurasjonsfilen for å finne ut hva som er slettet, og hva som kan bli lagt til. Hvis konfigurasjonen er over alt, eller bruker de samme viktige ord og uttrykk gjentatte ganger, kan skriptet gjøre feil og ende opp med å slette eller duplisere viktige data.

For å unngå at dette skjer, feilsjekking og retningslinjene for formatering er nødvendig. Feilsjekking håndteres av skriptet før du gjør noen endringer. Dette gjelder i hovedsak til brukernavn valg; skriptet vil feil ut verdier tilsvarende eller direkte til eksisterende verdier som allerede finnes. Forsøk på å bruke kommandoflagg eller feil rekkefølge på kommandoflagg vil også føre til feil. Alle arrangement - både suksesser og fiaskoer - blir rapportert til en feillogg. Standardplasseringen er /var/log/tac_user.log. I form av konfigurasjonsfilen formatering, kan reglene oppsummeres i tre ord: global, gruppe og bruker. Her er et eksempel /etc/tacacs.conf fil som er kompatibel med dette skriptet pakken:

# tac_plus konfigurasjonsfil ##################### ###################### # Global konfigurasjon verdier # delt nøkkel key = secretkey # regnskap filplassering regnskap file = /var /tmp /acctfile # standard Authentication standardgodkjenning = pam innlogging # standard Authorization standard autorisasjon = tillatelse ###### Legg ACL uttalelser her ############################## ############# # Gruppeprofiler ################################## ######### #add Gruppe Profiler Bellow (standardgruppen er nødvendig) group = admin {enable = klartekst " suuser " service = exec {priv-lvl = 15}} group = standard {service = exec {priv-lvl = 1} ############# Aktiver Brukere user = $ enab15 $ {login = klartekst " gl0bal " } ########################################### # Brukere profiler ### ######################################## # Den script legger brukerprofiler Nedenfor # Configuration utgang fra: tadduser -pam -g user = bobbie {login = pam login # medlem = admin # opprettet den apr-14} # Configuration utgang fra: tadduser -d -p user = sam {login = des vy.HupOrQVN .. # medlem = standard # opprettet den apr-14} # Configuration utgang fra: tadduser -d -g user = bobh {utløper = " 15 april 2003 " login = des 1TD2Xw581yAvw medlem = admin # opprettet den apr-14} # Configuration utgang fra: tadduser -s -g user = skinke {login = Skey # medlem = admin # opprettet den apr-14} # Configuration utgang fra: tadduser -c user = pod {utløper = " 15 mars 2003 " login = klartekst apassw22 medlem = standard # opprettet på Mar-14}

tac_plus konfigurasjonsfil starter med de globale konfigurasjonsvariabler som sikkerhetsnøkkelen og standard attributter. Busker tac_plus brukere bør også konfigurere sine ACL i denne delen. Neste kommer gruppeprofiler. I en tidligere artikkel, jeg argumentert for attributtet konfigurasjon tilnærming gruppe. Den tadduser verktøyet gjenspeiler denne troen. Uten tvil, er godkjenningsmetoden et nøkkelelement i en brukerprofil. Men attributter som en brukers privilegium nivå, deres kommando tilgang, etc., er like viktig når opprettholde en sikkerhetstilgang politikk. Den tadduser verktøyet er bygget fra et perspektiv av skalerbarhet for store brukerkonto volumer hvor attributtene er tildelt bruker gruppemedlemskap, snarere enn egendefinert brukerdefinisjoner. Dette gir en stor grad av fleksibilitet og minimerer feil og feilsøkings innsats, ettersom definisjoner gruppe må konfigureres manuelt. Teknisk sett er det ingen grense for hvor mange grupper som kan opprettes, og om nødvendig grupper kan tilhøre andre grupper. Skriptet krever minst en gruppe definisjon, standard
gruppe. Standardgruppen formål er å fungere som en plassholder, tildelt en brukerprofil når ingen gruppemedlemskap er definert. Standardgruppen eksplisitt definerer standard EXEC shell tilgang holdning, privilegium nivå 1, og grunnleggende shell tilgang. Som du kan se av eksemplet, er det heller ikke en dårlig idé å konfigurere aktivere brukerdefinisjoner innen gruppen delen også. Konfigurasjonsfilen slutter med brukerdefinisjonen delen. Seksjonen bestilling bør opprettholdes for å sikre skriptet oppfører seg på riktig måte, da som et spørsmål om funksjon, opererer tilføye brukerprofil definisjoner på til enden av konfigurasjonsfilen.

tac_plus konfigurasjonsfilen eksempel inneholder også noen brukerprofil eksempler generert med tadduser verktøyet. En brukerprofil består av seks linjer (inkludert braketter og en etablering stempel, ikke leses av tac_plus nissen). Men ikke alle profiler krever seks konfigurasjons strofer, så # s er satt som plassholdere ved behov for å opprettholde format konsistens. De seks-linje brukerprofil format er nødvendig, slik at en generisk redaktør kan brukes til å slette profiler. Opprettelsen av en brukerprofil krever brukernavn og passord metodedefinisjon. En brukers passord (når det er aktuelt) og gruppeoppgave kan eventuelt defineres ved hjelp flagg. Her er kommandosyntaks for alle tadduser brukerprofiler (i tilfeller der ingen definisjon passord eller gruppe er definert). Standardverdiene er angitt i manusets konfigurasjonsparametere brukes:


S /key Modus: Lag standard brukernavn -S Opprett bruker w /gruppe -s -g Clear Text Mode: Opprett bruker standard pw w /1d passord liv -c Opprett bruker w /passord -c -p {passere} Opprett bruker w /gruppe -c -g Opprett bruker w /passord og gruppe-c {passere} -g Lokal DES Modus: Lag grunnleggende bruker -D Opprett bruker w /passord -d -p {passere} Opprett bruker standard pw w /1d passord liv w /gruppe -d -g Opprett bruker standard pW m /ingen pW utløper w /gruppe -d -gn Opprett bruker w /passord og w /gruppe -d {passere} -G PAM Mode: Opprett bruker standard pw w /nei pw utløper -pam Opprett bruker w /passord -pam -p {passere} Opprett bruker w /gruppe -pam -g

Fjerne en bruker er ganske grei, men brukernavnet og passordet metoden er nødvendig (det pwedit manuset kalles av tdeluser verktøyet og er ikke direkte kjørbar). Her er kommandosyntaksen:


S /key-modus: Slette bruker -s Klartekst Mode: Slett bruker -c Lokal DES Mode Slett bruker -D PAM Mode Slett bruker -pam

klartekst og lokale DES metoder er uavhengige av tac_plus serverens lokale brukerautentisering. Disse to metodene lagre brukerens passord legitimasjon i konfigurasjonsfilen. Denne metoden har noen sikkerhets ulemper, hovedsakelig fordi brukeren ikke kan administrere sitt eget passord - en administrator må sette den i konfigurasjonsfilen. Når du bruker disse metodene, må brukeren oppgi administrator et passord utvalg gjennom noen sikker metode, eller et passord generator som Linuxbuilt passord generator bør brukes. Som en ekstra grad av beskyttelse, vil skriptet tillate en standard passord som skal brukes, men vil sette en ett-kalender-dag utløp. Dette kan overstyres ved bruk av lokale DES passord metoden bruker -gn operatør sammen med en eksplisitt gruppe definisjon. Den klartekst metoden ikke har dette alternativet; siden det er den mest usikre metoden det er vanligvis brukt for å gi begrenset tilgang leverandør kontoer, som ofte igjen på plass lenge etter at de trengs. Hvis du trenger å støtte en klartekst passord for mer enn en dag, er du fri til å endre tadduser skriptet.

S /Key og PAM metoder er avhengig av tac_plus serverens lokale autentiseringstjenester. S /Key engangspassord metoden forutsetter at brukeren allerede har en S /Key Account (og at tac_plus nissen har S /Key støtte). Av de tilgjengelige metoder, gir S /Key størst grad av sikkerhet; for kontoer med konfigurasjons privilegier, er S /Key den anbefalte metoden. PAM metoden bruker Linux skyggen passord mekanisme som kommer som standard med de fleste Linux-distribusjoner. Tidligere artikler i denne serien har foreslått å bruke tac_plus parameter A /V par login = fil som et alternativ til å gi en metode for å tillate brukere å uavhengig endre passordene du bruker tac_plus serverens lokale autentiseringsmekanisme. Denne tilnærmingen krever ekstra PAM moduler og kan bare brukes hvis du har implementert DES passord støtte bruker den gamle krypten algoritme eller genererer DES passord med generate_password verktøy som følger med tac_plus distribusjon (som, med mindre du oppretter en egendefinert verktøy, eliminerer muligheten for brukerne til selvstendig endre passord).

Ved å legge til PAM-støtte patch gjør det ganske enkelt å støtte en metode for å konfigurere TACACS + server for å tillate brukere å endre passordet sitt uten et kommandoskall. Du kan ganske enkelt legge til /usr /bin /passwd som tillates brukeren skall i /etc /shells fil. Så satt /usr /bin /passwd som bruker skall med alternativet flagget -s når du oppretter en bruker med /usr /sbin /adduser verktøyet. Denne metoden er standardhandlingen med tadduser verktøy når PAM alternativet er valgt som brukerne passord metoden. Med denne metoden på plass, kan brukerne koble seg til tac_plus server via telnet eller SSH og endre passordet sitt. Her er dialog grensesnitt eksempel:

[auser @ foo /root] # ssh -l auser TACACS auser @ TACACS passord: Endre passord for auser (strøm) UNIX passord: ******** New UNIX passord: ********* Gjenta nytt UNIX passord: ******** passwd: alle autentiseringstokener oppdatert vellykket tilkobling til TACACS lukket. [Auser @ foo /root] #

Vel, det er om det for " tacacs triks med skript, del 1. " Jeg håper du finner dette verktøyet verdifulle, enten som den er eller som et grunnlag for å skape ditt eget verktøy. Skriptene inneholde dokumentasjon sammen med funksjonene. Det anbefales å se dem over før du bruker dem. Neste måned vil vi se på noen enkle verktøyet skript for å kontrollere tac_plus daemon og generere noen enkle rapporter fra TACACS + regnskapsdata. Så følg med.

Var denne artikkelen nyttig for deg? Har du forslag til temaer du ønsker å få behandlet? Send en e-post og gi oss beskjed!



Next Page: