TACACS+:n asennus ja konfigurointi Cisco Routerilla Debian 8 Jessiellä


Nykyään tekniikka on vahvasti riippuvainen verkkolaitteista ja näiden verkkolaitteiden oikeasta konfiguraatiosta. Järjestelmänvalvojien tehtävänä on varmistaa, että kokoonpanomuutoksia ei vain testata perusteellisesti ennen käyttöönottoa, vaan että kaikki konfiguraatiomuutokset tekevät henkilöt, joilla on lupa tehdä muutoksia, sekä varmistaa, että muutokset kirjataan lokiin.

Tämä suojausperiaate tunnetaan nimillä AAA (Triple-A) tai todennus, valtuutus ja kirjanpito. On olemassa kaksi erittäin näkyvää järjestelmää, jotka tarjoavat järjestelmänvalvojille AAA-toimintoja, joilla varmistetaan pääsy laitteisiin ja verkkoihin, joita nämä laitteet palvelevat.

RADIUS (Remote Access Dial-In User Service) ja TACACS+ (Terminal Access Controller Access-Control System Plus).

Sädettä käytetään perinteisesti todentamaan käyttäjät päästäkseen verkkoon, mikä eroaa TACACSista, koska TACACSia käytetään perinteisesti laitteen hallintaan. Yksi suurista eroista näiden kahden protokollan välillä on TACACSin kyky erottaa AAA-toiminnot itsenäisiksi toiminnoiksi.

AAA-toimintojen TACACS-erottelun etuna on, että käyttäjän kykyä suorittaa tiettyjä komentoja voidaan hallita. Tämä on erittäin edullista organisaatioille, jotka haluavat tarjota verkkohenkilöstölle tai muille IT-järjestelmänvalvojille erilaisia komento-oikeuksia erittäin yksityiskohtaisella tasolla.

Tässä artikkelissa käydään läpi Debian-järjestelmän määrittäminen toimimaan TACACS+-järjestelmänä.

Ympäristön asetukset

  1. Debian 8 asennettu ja määritetty verkkoyhteydellä. Lue tämä artikkeli Debian 8:n asentamisesta
  2. Cisco-verkkokytkin 2940 (Useimmat muut Cisco-laitteet toimivat myös, mutta kytkimen/reitittimen komennot voivat vaihdella).

TACACS+ -ohjelmiston asennus Debian 8:aan

Ensimmäinen askel tämän uuden TACACS-palvelimen määrittämisessä on ohjelmiston hankkiminen arkistoista. Tämä onnistuu helposti 'apt'-komennolla.


apt-get install tacacs+

Yllä oleva komento asentaa ja käynnistää palvelinpalvelun portissa 49. Tämä voidaan varmistaa useilla apuohjelmilla.


lsof -i :49
netstat -ltp | grep tac

Näiden kahden komennon pitäisi palauttaa rivi, joka osoittaa, että TACACS kuuntelee tämän järjestelmän porttia 49.

Tässä vaiheessa TACACS kuuntelee tämän koneen yhteyksiä. Nyt on aika määrittää TACACS-palvelu ja käyttäjät.

TACACS-palvelun ja käyttäjien määrittäminen

Yleensä on hyvä idea sitoa palvelut tiettyihin IP-osoitteisiin, jos palvelimella sattuu olemaan useita osoitteita. Tämän tehtävän suorittamiseksi demonin oletusasetuksia voidaan muokata IP-osoitteen määrittämiseksi.


nano /etc/default/tacacs+

Tämä tiedosto määrittää kaikki demoniasetukset, jotka TACACS-järjestelmän tulee käynnistää. Oletusasennus määrittää vain asetustiedoston. Kun lisäät tähän tiedostoon argumentin '-B', TACACS voi kuunnella tiettyä IP-osoitetta.


DAEMON_OPTS="-C /etc/tacacs+/tac_plus.conf " - Original Line
DAEMON_OPTS="-C /etc/tacacs+/tac_plus.conf -B X.X.X.X " - New line, where X.X.X.X is the IP address to listen on

Erikoishuomautus Debianissa: Jostain syystä TACACS+-palvelun uudelleenkäynnistysyritys uusien demonivaihtoehtojen lukemiseksi epäonnistui (palvelun tacacs_plus kautta käynnistä uudelleen).

Ongelma näyttää olevan, kun TACACS käynnistetään init-skriptin kautta, PID asetetaan staattisesti arvoon "PIDFILE=/var" /run/tac_plus.pid ” mutta kun “-B X.X.X.X ” on määritetty daemon-vaihtoehdoksi, pid-tiedoston nimi muutetaan muotoon “/var/run /tac_plus.pid.X.X.X.X ”.

En ole täysin varma, onko tämä virhe vai ei, mutta tilanteen korjaamiseksi tilapäisesti voit asettaa PIDFILE manuaalisesti init-skriptiin muuttamalla riviksi "PIDFILE=/var/run/tac_plus.pid.X.X.X.X" jossa X.X.X.X on IP-osoite, jonka TACACSin tulee kuunnella ja käynnistää palvelu seuraavasti:


service tacacs_plus start

Kun palvelu käynnistetään uudelleen, lsof-komentoa voidaan käyttää uudelleen varmistamaan, että TACACS-palvelu kuuntelee oikeaa IP-osoitetta.


lsof -i :49

Kuten yllä näkyy, TACACS kuuntelee IP-osoitetta tietyssä IP-osoitteessa, joka on määritetty yllä olevassa TACACS-oletustiedostossa. Tässä vaiheessa käyttäjät ja erityiset komentosarjat on luotava.

Näitä tietoja hallitsee toinen tiedosto: '/etc/tacacs+/tac_plus.conf'. Avaa tämä tiedosto tekstieditorilla tehdäksesi tarvittavat muutokset.


nano /etc/tacacs+/tac_plus.conf

Tässä tiedostossa tulee sijaita kaikkien TACACS-määritysten (käyttäjäoikeudet, pääsynhallintaluettelot, isäntäavaimet jne.). Ensimmäinen asia, joka on luotava, on verkkolaitteiden avain.

Tässä vaiheessa on paljon joustavuutta. Yksi avain voidaan määrittää kaikille verkkolaitteille tai useita avaimia voidaan määrittää laitetta kohden. Vaihtoehto on käyttäjän päätettävissä, mutta tässä oppaassa käytetään yhtä avainta yksinkertaisuuden vuoksi.


key = "super_secret_TACACS+_key"

Kun avain on määritetty, tulee muodostaa ryhmiä, jotka määrittävät käyttöoikeudet, jotka käyttäjille myönnetään myöhemmin. Ryhmien luominen tekee käyttöoikeuksien delegoinnista paljon helpompaa. Alla on esimerkki täydellisten järjestelmänvalvojan oikeuksien määrittämisestä.


group = admins {
        default service = permit
        service = exec {
                priv-lvl = 15
        }
}

  1. Ryhmän nimi määräytyy rivillä "group=admins", jossa järjestelmänvalvojat ovat ryhmän nimi.
  2. Rivi "oletuspalvelu=lupa" osoittaa, että jos komentoa ei ole nimenomaisesti evätty, salli se implisiittisesti.
  3. "service=exec { priv-lvl=15 } " sallii käyttöoikeustason 15 exec-tilassa Cisco-laitteessa (oikeustaso 15 on korkein Cisco-laitteet).

Nyt järjestelmänvalvojaryhmään on määritettävä käyttäjä.


user = rob {
       member = admins
       login = des mjth124WPZapY
}

  1. Sana "user=rob" sallii robin käyttäjänimen pääsyn johonkin resurssiin.
  2. "Jäsen=järjestelmänvalvojat" kertoo TACACS+:n viittaavan edelliseen ryhmään nimeltä järjestelmänvalvojat saadakseen luettelon siitä, mitä tämä käyttäjä on valtuutettu tekemään.
  3. Viimeinen rivi, "login=des mjth124WPZapY" on salattu salasana, jonka tämä käyttäjä voi todentaa (voit käyttää krakkausta saadaksesi selville tämän erittäin "monimutkaisen" salasanaesimerkin)!

Tärkeää: Yleensä on paras käytäntö sijoittaa salatut salasanat tähän tiedostoon pelkän tekstin sijaan, koska se lisää hieman turvallisuutta siinä tapauksessa, että joku lukee tämän tiedostoa, eikä niillä välttämättä pitäisi olla pääsyä.

Hyvä ehkäisytoimenpide tähän on ainakin poistaa maailman lukuoikeus myös asetustiedostosta. Tämä voidaan suorittaa seuraavalla komennolla:


chmod o-r /etc/tacacs+/tac_plus.conf
service tacacs_plus reload

Tässä vaiheessa palvelinpuoli on valmis yhteyksiä varten verkkolaitteista. Siirrytään nyt Cisco-kytkimeen ja määritetään se kommunikoimaan tämän Debian TACACS+ -palvelimen kanssa.