Hva er R-kommandoer I tilfelle av $ HOME /rhosts det ikke er behov for en brukerdefinisjon siden filen er lagret som en skjult fil i brukerens hjemmekatalog. &Quot; bruker " variabel er avledet fra eieren av $ HOME-katalogen. Her er syntakseksempler for rhosts: Med en slik lett godkjenningsskjemaet, bør stor forsiktighet. Etter innlysende, husk den opprinnelige forutsetningen med R-kommandoer er at " peer verter " inneholdes i en lukket, sikkert miljø. R-kommandoene ble ikke beregnet for brukere over hele Internett, men de er mer enn tilstrekkelig for bruk i et sikret privat nettverksmiljø. R-kommando OS støtte Hvorfor bruke R-kommandoer Den andre, og kanskje mer overbevisende fordel er fleksibiliteten. Fordi fjernkommando effekt vises lokalt, kan det bli manipulert lokalt. Dette er en stor seier for skripting og utvikle overvåkingsverktøy. Lyst til å analysere rutingtabellen med AWK, bruke rsh til < show ip rute > og rør (Unix " | ", for å omdirigere stdio) output til en fil eller direkte inn AWK. Den r-kommandoen tilnærmingen gir en god del flere databehandlings alternativer enn å bruke FORVENTER " hente og lagre " baserte skript, fordi dataene kan håndteres direkte, i stedet for å være samlet, deretter etterbehandlet. Nå la oss se på hvordan du konfigurerer ruteren for å støtte r-kommando tilgang. Konfigurering IOS r-kommandoen støtte Aktiver R-tjenester < ip rcmd kilde-grensesnitt {interface} > kommandoen setter kilden IP-adressen til den utgående r-kommandoen forespørsler. Dette er IP-adressen som er lagt til /etc/hosts.equiv hærskarenes som ruteren har tillatelse til å utføre RSH forespørsler og kopiere filer via rcp. Brukernavnet som er knyttet i /etc/hosts.equiv fil med ruterens IP-adresse er ruterens vertsnavn. Dette er den lokale brukeren som utfører den rsh /rcp forespørsel. ≪ ip rcmd fjern brukernavn {brukernavn} > definerer brukernavnet på den eksterne verten hvor rsh og RCP forespørsler er utført. Denne kontoen må finnes på klarert rekke. Konfigurer vert /brukeren stoler Når dette er tilfelle, er lokal brukernavn ruterens ruterens vertsnavn og vertsadressen er IP-adressen som er definert som < ip rcmd kilde-grensesnitt {interface} >. På ruteren kjører vi kommandoen: Konfigurere ruteren tilgang sikkerhet
R-kommandoer (" r " står for fjern) rlogin, rcp br> (r-kopi), og rsh plakater (r-shell) ble utviklet på 1970-tallet. En del av det amerikanske forsvarsdepartementet finansierte et TCP /IP utviklingsarbeidet ved University of California i Berkeley. R-kommandoen støtte ble først distribuert som en produksjonsservice i BSD 4.2 Unix distribusjon - den første produksjonen TCP /IP nettverk operativsystem. Premisset for R-kommandoer er å gi en rekke verktøy som lar brukeren logge inn, kopiere og utføre kommandoen på eksterne systemer uten ytterligere godkjenning utover sitt opprinnelige lokale systemet innlogging. R-kommandoen " autentisering " fungerer ved hjelp av en " klarert peer " modell. Brukertilgang er definert på hver verts enten globalt med /etc/host.equiv
fil eller lokalt med $ HOME /rhosts
fil. Filene definere en kombinasjon av pålitelige vertsnavn eller IP-adresseoppføringer med troverdige brukernavn. Begge filene bruker samme syntaks format for å definere brukertilgang. Her er syntakseksempler for /etc/hosts.equiv:
" + + " Alle verter og alle brukere er klarert, til enhver bruker har logget inn fra en hvilken som helst vert.
" oedion.outland.net + " eller " 172.16.100.2 + " Verts oedion er klarert. Alle brukere på oedion eller 172.16.100.2 å koble mai til verten
+ martin Brukeren martin er klarert og kan koble til verten, fra enhver vert.
fury.outland.net Zach Brukeren Zach er klarert bare fra fury.outland.net.
" + " Alle verter er klarert, og brukeren kan logge fra enhver vert.
" oedion.outland.net + " eller " 172.16.100.2 + " Verts oedion er klarert og alle brukere kan logge inn fra oedion.
+ Fred Alle verter er klarert og den eksterne brukeren fred kan logge inn som $ HOME bruker.
R-kommandoen støtte er tilgjengelig på alle Unix-varianter, Mac OS X og Windows NT /2000 /XP. Unix og Mac OS X-systemer støtter full r-kommando komplement: rlogin, rcp og rsh. Windows NT /2000 /XP støtter bare rcp og rsh. Her er CLI syntaks og funksjonsbeskrivelse for hver av R-kommandoer. Merk at det er en liten forskjell mellom Unix og Windows syntaks:
rlogin Den rlogin eller ekstern pålogging kommandoen åpner et kommandoskall på det eksterne systemet. På Unix-systemer kommandosyntaksen er: user @ system $: rlogin l brukernavn verts- bruker @ system $: rlogin brukernavn @ host
RCP rcp
eller ekstern kopi kommandoen kopierer en lokal fil til en ekstern vert. På Unix-systemer kommandosyntaksen er: user @ system $: rcp dir /fil brukernavn @ host: /dir /filnavn på Windows-systemer RCP kommandosyntaksen er:
C: rcp dirfilename brukervertsnavn: /dir /filnavn
rSH rsh eller fjern skall utfører en kommando på en ekstern system og utganger resultatene på executive vert. På Unix-systemer kommandosyntaksen er: user @ system $: rsh vert commandor bruker @ system $: RSH l brukernavn vert kommandoen på Windows-systemer rsh syntaks er:
C: rsh vert l brukernavn kommandoen < .no>
Du kan spørre deg selv, "? Hvorfor skulle jeg ønske å gjennomføre en iboende usikker tilgang metoden, spesielt for å håndtere min rutere " Vel, det er et godt spørsmål. Verdien av r-kommandoen suite er todelt. For det første er det praktiske. R-kommandoene ble opprinnelig tenkt å gi enkel tilgang til utviklings- og produksjonssystemer, uten ekstra stresset av å måtte godkjenne hver gang tilgang var nødvendig. I en ruter miljø, R-kommandoene gjør det enkelt å raskt se kritisk statusinformasjon.
Implementering IOS r-kommandoen støtte er veldig enkel prosess:
Aktiver R-tjenester
Konfigurer Vert /bruker Trust
Konfigurer Router Access Security
IOS støtter innkommende og utgående (litt avhengig av oppstrøms serveren og ruterens vertsnavn lengde) rcp og rsh tilgang. Rlogin støttes ikke, bortsett fra via Kerberos. RSH og RCP server støtte må være aktivert individuelt. Dette gir en viss fleksibilitet så langt som graden av r-kommando tilgang du ønsker å gjøre tilgjengelig. For eksempel, hvis du ønsker å kopiere filer til ruterens filsystem eller oppstart eller kjører konfigurasjonsfiler, vil du aktivere kun rcp tjenesten. Her er en -konfigurasjonssyntaksen eksempel slik at både rcp < ip rcmd rcp aktivere > og rsh < ip rcmd rsh aktivere > tjenester:
r-3640 (config) # ip rcmd RCP-tilretteleggerne-3640 (config) # ip rcmd rsh-tilretteleggerne-3640 (config) # ip rcmd kilde-grensesnitt Ethernet 0/0 r-3640 (config ) # ip rcmd fjern brukernavn cisco-2600
Når innkommende rcp og rsh støtte er aktivert, vert /brukeren stoler equivalencies må konfigureres før alle brukere kan få tilgang til ruteren ved hjelp rcp eller rsh. Trust ekvivalenser er konfigurert ved hjelp av konfigurasjons kommandoen < ip rcmd fjern vert {lokale brukernavn} {host liste ACL # | vertsnavn /IP add} {fjern brukernavn} [aktivere (1-15)] >. Hver < ip rcmd fjern host > kommando oppføringen er IOS tilsvarer en /etc/hosts.equiv oppføring på et Unix-system. Det er denne lokale datasettet som brukes til å autentisere innkommende r-kommandoen forespørsler. La oss se på et kommandosyntaks eksempel, deretter definere forskjellige verdier:
r-3640 (config) # ip rcmd fjern vert martin 22 martin enabler-3640 (config) # ip rcmd fjern vert blob 172,30. 71,5 martin aktiver det første eksemplet bruker en standard tilgangsliste for å definere de klarerte verter hvorfra troverdige lokal /ekstern bruker " martin " kan kjøre RCP og rsh kommandoer. Det andre eksemplet sier klarert lokal bruker " blob " kan utføre RCP og rsh kommandoer på ruteren fra pålitelige verts 172.30.71.1 logget inn som martin (ekstern bruker). Forstod det? Hvis du ikke gjorde det, det er OK. Fordi mens R-kommandoer har ingen passordsikkerhet, de krever at verts lokale og eksterne verten tillit definisjoner finnes, hvis de ikke gjør det er ingen tilgang. For å få en bedre forståelse, la oss se på hvordan en rsh kommandoen er godkjent. På vår Unix vert, med andre syntaks eksempel (lokal bruker blob og ekstern bruker martin) vi kjører kommandoen:
172.30.71.5 $ rsh -l blob r-3640 viser innkjørings config Ruteren ser anmodningen eksterne brukeren martin og utfører kommandoen " vis innkjøringen config " som den lokale brukeren blob. Det refererer til sin " fjern vert " database og verifiserer tillit:
ip rcmd fjern vert blob 172.30.71.5 martin aktiver Deretter forespørsel rsh kommandoen utføres. Brukerautentisering er avhengig av ekstern bruker og vert verdier; i dette tilfellet er det IP-adressen 172.30.71.5 og brukernavn martin. Utgangen av kommandoen er diktert av lokale bruker verdi klumpen, som i dette tilfelle har 15 privilegier-nivåforskjell. Det samme gjelder for rsh kommandoer kjøres fra ruteren.
r-3640 # rsh treenighet /bruker martin ps aux Unix verts tolker anmodning om at den eksterne brukeren r-3640 utfører en kommando fra verts 172.39.66.1 som den lokale brukeren martin. Unix verts treenighet sjekker sin /etc/hosts.equiv og finner posten:
! hosts.equiv Trinity 172.30.71.5 C Date 12-19-98172.39.66.1 r-3640 Den finner også den lokale brukeren " martin ":
martin: *: 0: 100: Michael Martin: /home /martin: /bin /bash Med tillit legitimasjon funnet, utfører systemet kommandoen. Selv om dette er ikke altfor komplisert, er det nyttig å forstå godkjennings mekanikken når du oppretter klareringsrelasjons definisjoner. Remote r-kommandoen kjøres er ikke et predikat for rsh /rcp tilgang til ruteren, men det er et krav for å støtte eksterne filsystemet kopi fra ruteren til en annen vert via rcp.
Det siste trinnet er å begrense vertene som ruteren kan samhandle ved hjelp av R-kommandoer. For å kontrollere innkommende r-kommando tilgang, bruk vty adgangskontroll mekanisme < access-klasse >. En tilgangs-klassen erklæringen gjelder inngående (og utgående) vert adgangskontroll til VTYs, begrense ip rcmd, telnet, og SSH tilgang til vertene oppført i standard tilgangsliste IP. For å starte, definerer vi en standard IP tilgangsliste:
r-3640 (config) # access-list 4 tillatelse vert 172.30.71.4r-3640 (config) # access-list 4 tillatelse vert 172.30.71.6r -3640 (config) # access-list 4 tillatelse vert 172.30.71.48 så slipper vi inn på linjen vty konfigurasjonsmodus, definere hvilke VTYs vi ønsker å endre, definere protokollene akseptert på de vty, og deretter bruke tilgangsgruppe:
r-3640 (config) #line vty 0 4r-3640 (config-line) #transport innspill rlogin telnetr-3640 (config-line) # access-klasse 4 i Vi er ferdige. Bare vertene definert i tilgangslisten fire kan få tilgang til verten via telnet, SSH, eller R-kommandoer. Hvis du ønsker å begrense vertene som ruteren kan samhandle via utgående R-kommandoer, må en utgående IP-tilgang gruppe brukes til grensesnittet definert som < ip rcmd kilde-grensesnitt >. Her er en utvidet aksess-liste eksempel som tillater ip rcmd mellom en vert og tillater alle andre IP-tjenester.
aksess-liste 120 tillatelse tcp vert 172.30.71.5 host 172.30.71.100 eq cmdaccess-liste 120 tillatelse tcp vert 172.30.71.5 host 172.30.71.100 establishedaccess-liste 120 nekte tcp alle alle eq cmdaccess-liste 120 tillatelse ip alle alle < p> Det konkluderer vår titt på gjennomføring r-kommandoen støtte på IOS-baserte rutere. Jeg håper at du fant denne utgaven nyttig. Jeg tror dette er egentlig en veldig kul IOS alternativ, selv om det har noen potensielle sikkerhets implikasjoner. Hvis implementert på riktig måte og i riktig miljø, kan den benyttes med stor fordel. Som alltid, spørsmål og kommentarer er velkomne, spesielt artikkelen ideer. Send en e-post og gi oss beskjed!