웹사이트 검색

Debian 8 Jessie에서 Cisco 라우터와 함께 TACACS+ 설치 및 구성


오늘날 기술은 네트워킹 장비와 해당 네트워킹 장비의 적절한 구성에 크게 의존합니다. 관리자는 구현 전에 구성 변경 사항을 철저히 테스트할 뿐만 아니라 변경 권한이 있는 개인이 구성 변경을 수행했는지 확인하고 변경 사항이 기록되도록 하는 임무를 맡습니다.

이 보안 원칙은 AAA(Triple-A) 또는 인증, 승인회계로 알려져 있습니다. 관리자가 장치 및 해당 장치가 제공하는 네트워크에 대한 액세스를 보호할 수 있도록 AAA 기능을 제공하는 두 가지 매우 유명한 시스템이 있습니다.

RADIUS(원격 액세스 전화 접속 사용자 서비스) 및 TACACS+(터미널 액세스 컨트롤러 액세스 제어 시스템 플러스).

Radius는 전통적으로 TACACS가 장치 관리에 사용된다는 점에서 TACACS와 대조되는 네트워크에 액세스하기 위해 사용자를 인증하는 데 사용됩니다. 이 두 프로토콜의 가장 큰 차이점 중 하나는 TACACS가 AAA 기능을 독립적인 기능으로 분리할 수 있다는 것입니다.

TACACS의 AAA 기능 분리의 이점은 특정 명령을 실행하는 사용자의 능력을 제어할 수 있다는 것입니다. 이는 네트워킹 직원이나 기타 IT 관리자에게 매우 세부적인 수준에서 다양한 명령 권한을 제공하려는 조직에 매우 유리합니다.

이 문서에서는 TACACS+ 시스템으로 작동하도록 Debian 시스템을 설정하는 과정을 안내합니다.

환경설정

  1. Debian 8이 설치되고 네트워크 연결로 구성됩니다. 데비안 8 설치 방법에 대한 이 글을 읽어보세요.
  2. Cisco 네트워크 스위치 2940(대부분의 다른 Cisco 장치도 잘 작동하지만 스위치/라우터의 명령은 다를 수 있음)

Debian 8에 TACACS+ 소프트웨어 설치

이 새로운 TACACS 서버를 설정하는 첫 번째 단계는 저장소에서 소프트웨어를 얻는 것입니다. 이는 'apt' 명령을 사용하여 쉽게 수행할 수 있습니다.


apt-get install tacacs+

위 명령은 49 포트에 서버 서비스를 설치하고 시작합니다. 이는 여러 유틸리티로 확인할 수 있습니다.


lsof -i :49
netstat -ltp | grep tac

이 두 명령은 TACACS가 이 시스템의 포트 49에서 수신 대기 중임을 나타내는 줄을 반환해야 합니다.

이 시점에서 TACACS는 이 시스템의 연결을 수신하고 있습니다. 이제 TACACS 서비스와 사용자를 구성할 차례입니다.

TACACS 서비스 및 사용자 구성

서버에 여러 주소가 있는 경우 일반적으로 서비스를 특정 IP 주소에 바인딩하는 것이 좋습니다. 이 작업을 수행하려면 기본 데몬 옵션을 수정하여 IP 주소를 지정할 수 있습니다.


nano /etc/default/tacacs+

이 파일은 TACACS 시스템이 시작해야 하는 모든 데몬 설정을 지정합니다. 기본 설치에서는 구성 파일만 지정합니다. 이 파일에 '-B' 인수를 추가하면 TACACS가 수신 대기하는 데 특정 IP 주소를 사용할 수 있습니다.


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

Debian의 특별 참고 사항: 어떤 이유로 TACACS+ 서비스를 다시 시작하여 새 데몬 옵션을 읽으려는 시도가 실패했습니다(service tacacs_plus를 통해). 다시 시작).

여기서 문제는 init 스크립트를 통해 TACACS가 시작될 때 PID가 정적으로 “PIDFILE=/var로 설정되는 것 같습니다. /run/tac_plus.pid ” 단, 데몬 옵션으로 “-B X.X.X.X ”를 지정하면 pid 파일 이름이 “/var/run으로 변경됩니다. /tac_plus.pid.X.X.X.X”.

이것이 버그인지 아닌지는 확실하지 않지만 상황을 일시적으로 해결하기 위해 init 스크립트에서 PIDFILE 행을 <으로 변경하여 수동으로 설정할 수 있습니다. Strong>“PIDFILE=/var/run/tac_plus.pid.X.X.X.X ” 여기서 X.X.X.X는 TACACS가 수신 대기하고 다음을 사용하여 서비스를 시작해야 하는 IP 주소입니다.


service tacacs_plus start

서비스를 다시 시작하면 lsof 명령을 다시 사용하여 TACACS 서비스가 올바른 IP 주소에서 수신 중인지 확인할 수 있습니다.


lsof -i :49

위에서 볼 수 있듯이 TACACS는 위의 TACACS 기본 파일에 설정된 특정 IP 주소의 IP 주소를 수신하고 있습니다. 이 시점에서 사용자와 특정 명령 세트를 생성해야 합니다.

이 정보는 '/etc/tacacs+/tac_plus.conf'라는 다른 파일에 의해 관리됩니다. 적절하게 수정하려면 텍스트 편집기로 이 파일을 엽니다.


nano /etc/tacacs+/tac_plus.conf

이 파일은 모든 TACACS 사양(사용자 권한, 액세스 제어 목록, 호스트 키 등)이 상주해야 하는 위치입니다. 가장 먼저 만들어야 할 것은 네트워크 장치의 입니다.

이 단계에는 많은 유연성이 있습니다. 모든 네트워크 장치에 대해 단일 키를 구성하거나 장치당 여러 키를 구성할 수 있습니다. 옵션은 사용자에게 달려 있지만 이 가이드에서는 단순성을 위해 단일 키를 사용합니다.


key = "super_secret_TACACS+_key"

키가 구성되면 나중에 사용자에게 할당될 권한을 결정하는 그룹을 구축해야 합니다. 그룹을 생성하면 권한 위임이 훨씬 쉬워집니다. 다음은 전체 관리자 권한을 할당하는 예입니다.


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

  1. 그룹 이름은 "group=admins " 줄로 결정되며 admins는 그룹 이름입니다.
  2. "기본 서비스=허용" 줄은 명령이 명시적으로 거부되지 않은 경우 암시적으로 허용함을 나타냅니다.
  3. "service=exec { priv-lvl=15 } "는 Cisco 장치의 exec 모드에서 권한 수준 15을 허용합니다(권한 수준 15는 Cisco 장치에서 가장 높습니다). 시스코 장비).

이제 사용자를 관리 그룹에 할당해야 합니다.


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

  1. “user=rob ” 스탠자는 rob라는 사용자 이름이 일부 리소스에 액세스할 수 있도록 허용합니다.
  2. “member=admins ”는 TACACS+에게 이 사용자에게 권한이 부여된 작업 목록을 보려면 admins라는 이전 그룹을 참조하라고 지시합니다.
  3. 마지막 줄인 “login=des mjth124WPZapY”는 이 사용자가 인증할 암호화된 비밀번호입니다(크래커를 사용하여 이 매우 “복잡한” 비밀번호 예를 알아보세요)!

중요: 일반적으로 일반 텍스트보다는 암호화된 비밀번호를 이 파일에 저장하는 것이 모범 사례입니다. 이렇게 하면 누군가 이 글을 읽을 경우에 대비해 약간의 보안이 추가됩니다. 파일이며 반드시 액세스할 필요는 없습니다.

이에 대한 좋은 예방 조치는 최소한 구성 파일에 대한 전체 읽기 액세스도 제거하는 것입니다. 이 작업은 다음 명령을 통해 수행할 수 있습니다.


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

이 시점에서 서버 측은 네트워크 장치에서 연결할 준비가 되었습니다. 이제 Cisco 스위치로 가서 이 Debian TACACS+ 서버와 통신하도록 구성해 보겠습니다.