7.3. TACACS 를 이용한 인터넷 사용자 인증

우리 회사에서는 다이얼업으로 접속하는 인터넷 사용자 (우리의 모뎀 풀로 연결하면 이는 다시 두대의 시스코 250x 엑세스 서버로 연결된다) 의 인증을 위하여 Vikas 버전의 "xtacacsd" 를 사용하고 있다.

Vikas 패키지를 (최신판은 ftp://ftp.navya.com/pub/vikas 에서 구할 수 있다; RPM 형식으로는 나와있지 않는 것 같다.) 컴파일하고 설치한 뒤, ``/etc/inetd.conf'' 파일에 다음과 같은 항목을 추가하여서 TACACS 요청이 수신될 때 마다 inetd 데몬에 의하여 데몬이 자동으로 실행되도록 하여야 한다.

# TACACS is a user authentication protocol used for Cisco Router products.
tacacs dgram udp wait root /etc/xtacacsd xtacacsd -c /etc/xtacacsd-conf

그런 다음, ``/etc/xtacacsd-conf'' 파일을 편집하여 시스템에 맞춰 필요에 따라 변경하여야 한다. (물론 디폴트 셋팅을 그대로 사용할 수도 있을 것이다)

참고: 주의: 만약 섀도우 패스워드를 (자세한 내용은 6.6절 을 참조하시요) 사용하고 있다면 이 패키지를 사용하는데 문제가 있을 것이다. 불행히도, 레드햇이 사용자 인증을 위하여 사용하는 PAM (Pluggable Authentication Module) 을 이 패키지는 지원하지 않는다. 내가 이 문제를 해결하는 방법은 별도의 ``passwd'' 파일을 ``/usr/local/xtacacs/etc/'' 디렉토리에 두는 것이다. 이 파일은 /etc/ 에 있는 것과 같지만 섀도우를 사용하지 않는다. 이는 물론 약간 혼란스런 방식이다. 만약, 이렇게 하기로 하였다면 그 패스워드 파일이 루트만 읽을 수 있도록 퍼미션을 조정해주어야 한다:

chmod a-wr,u+r /usr/local/xtacacs/etc/passwd

정말로 섀도우를 사용한다면, ``/etc/xtacacsd-conf'' 파일을 편집하여 섀도우가 아닌 패스워드 파일의 (앞에서 설명한 내가 쓰는 방식을 쓴다면) 위치를 알려주어야 한다.

그 다음 단계는 액세스 서버가 (다이얼업 모뎀과 같이) 원하는 장치로 들어오는 로그인을 TACACS 를 이용하여 인증하도록 설정하는 것이다. 어떻게 설정하는지를 보여주는 세션의 예는 다음과 같다:

mail:/tftpboot# telnet xyzrouter
Escape character is '^]'.
User Access Verification
Password: ****
xyzrouter> enable
Password: ****
xyzrouter# config terminal
Enter configuration commands, one per line.  End with CNTL/Z.
xyzrouter(config)# tacacs-server attempts 3
xyzrouter(config)# tacacs-server authenticate connections
xyzrouter(config)# tacacs-server extended
xyzrouter(config)# tacacs-server host 123.12.41.41
xyzrouter(config)# tacacs-server notify connections
xyzrouter(config)# tacacs-server notify enable
xyzrouter(config)# tacacs-server notify logouts
xyzrouter(config)# tacacs-server notify slip
xyzrouter(config)# line 2 10
xyzrouter(config-line)# login tacacs
xyzrouter(config-line)# exit
xyzrouter(config)# exit
xyzrouter# write
Building configuration...
[OK]  
xyzrouter# exit

Connection closed by foreign host.

모든 TACACS 활동 로그 메시지는 상세한 검사를 위하여 ``/var/log/messages'' 파일에 기록된다.