Radius 서버 설정 방법
네트워크 관리자는 관리해야 하는 각 네트워크 장치의 관리를 위해 사용자 정보를 저장해야 합니다. 그러나 네트워크 장치는 제한된 사용자 관리 기능만 지원하는 경우가 많습니다. 특히 LDAP 서버를 통해 Linux에서 외부 RADIUS 서버를 사용하여 사용자를 인증하는 방법을 알아보세요. LDAP 서버에 저장되고 RADIUS 서버에서 인증된 사용자 정보를 중앙에 배치할 수 있으므로 사용자 관리 오버헤드가 줄어듭니다. 오버헤드를 줄여 원격 로그인 프로세스를 더욱 안전하게 만들 수 있습니다.
데이터 보안은 현대 시스템의 네트워크 보안의 일부로서 시스템 보안만큼 중요하므로 데이터 보호(기밀성, 무결성 및 가용성 보장)는 관리자에게 매우 중요합니다.
이 기사에서는 데이터 보안의 기밀성 측면, 즉 승인된 사용자 또는 시스템만 보호된 데이터에 액세스할 수 있도록 보장하는 것에 대해 다룰 것입니다. 사용자 인증, 권한 부여 및 계정(AAA)을 수행하기 위해 Linux 시스템에서 RADIUS(Remote Authentication Dial-In User Service) 서버를 설정하고 구성하는 방법을 배우게 됩니다.
각 구성 요소 소개
먼저 RADIUS 프로토콜, AAA 구성 요소 및 작동 방식, LDAP 프로토콜에 대해 이야기하겠습니다.
원격 인증 전화 접속 사용자 서비스 프로토콜은 IET의 RFC 2865에 정의되어 있습니다(관련 링크는 리소스 참조). 이를 통해 NAS(Network Access Server)가 사용자의 인증, 권한 부여 및 계정을 수행할 수 있습니다. RADIUS는 UDP 기반의 클라이언트/서버 프로토콜입니다. RADIUS 클라이언트는 일반적으로 라우터, 스위치 또는 무선 액세스 포인트(액세스 포인트는 네트워크에 특별히 구성된 노드이며 WAP는 무선 버전)인 네트워크 액세스 서버입니다. RADIUS 서버는 일반적으로 UNIX 또는 Windows 2000 서버에서 실행되는 모니터링 프로그램입니다.
RADIUS 및 AAA
NAS가 사용자 연결 요청을 받으면 이를 지정된 RADIUS 서버로 전달하여 사용자를 인증하고 사용자 구성 정보를 NAS에 반환합니다. 그런 다음 NAS는 연결 요청을 수락하거나 거부합니다.
전체 기능을 갖춘 RADIUS 서버는 LDAP 외에도 다음을 포함하여 다양한 사용자 인증 메커니즘을 지원할 수 있습니다.
PAP(PPP와 함께 사용되는 비밀번호 인증 프로토콜, 이 메커니즘에서 비밀번호는 다음과 같습니다. 비교를 위해 일반 텍스트로 클라이언트에 전송됨)
CHAP(Challenge Handshake 인증 프로토콜, Challenge Handshake 인증 프로토콜, PAP보다 안전하며 사용자 이름과 비밀번호를 모두 사용함)
로컬 UNIX/Linux 시스템 비밀번호 데이터베이스(/etc/passwd),
기타 로컬 데이터베이스.
RADIUS에서는 인증과 승인이 결합됩니다. 사용자 이름을 찾고 비밀번호가 올바른 경우 RADIUS 서버는 사용자에 대한 액세스를 보장하기 위해 일부 매개변수(속성-값 쌍)가 포함된 액세스 허용 응답을 반환합니다. 이러한 매개변수는 RADIUS에서 구성되며 액세스 유형, 프로토콜 유형, 해당 사용자에 대한 사용자 지정 IP 주소, 액세스 제어 목록(ACL) 또는 NAS에 적용할 정적 경로 등의 값이 포함됩니다.
RADIUS 계정 기능(RFC 2866에 정의됨, 링크는 리소스 참조)을 사용하면 연결 세션의 시작과 끝에서 데이터를 전송할 수 있습니다. 이는 세션 중에 보안 또는 보안을 위해 사용될 수 있음을 나타냅니다. (과금)에는 시간, 패킷, 바이트 등 많은 리소스가 필요합니다.
경량 디렉터리 액세스 프로토콜
LDAP(경량 디렉터리 액세스 프로토콜)는 클래스 X .500에 대한 액세스 및 업데이트를 위한 프로토콜을 정의하는 개방형 표준입니다. 카탈로그의 정보에 대한 방법입니다. LDAP를 사용하면 사용자 정보를 중앙 위치에 저장할 수 있으므로 모든 시스템에 동일한 정보를 저장할 필요가 없습니다. 또한 일관되고 통제된 방식으로 정보를 유지하고 액세스하는 데에도 사용할 수 있습니다.
LDAP는 중앙 디렉토리에서 사용자를 관리하여 사용자 관리를 단순화합니다. 사용자 정보를 저장하는 것 외에도 LDAP에서 사용자를 정의하면 로그인 수 제한과 같은 일부 선택적 기능을 사용할 수 있습니다. 이 기사에서는 LDAP 기반 사용자를 인증하기 위해 RADIUS 서버를 구성하는 방법에 대해 설명합니다. 이 기사의 초점은 RADIUS에 있으므로 LDAP 서버의 설치 및 구성에 대한 자세한 내용은 설명하지 않습니다.
OpenLDAP는 LDAP의 오픈 소스 구현입니다. 이에 대한 자세한 정보는 OpenLDAP.org에서 확인할 수 있습니다(링크는 참고자료 참조).
시나리오
다음 시나리오를 상상해 보세요.
집에 있는 사용자는 전화 접속 인증을 통해 회사 인트라넷에 액세스할 수 있습니다.
무선을 지원하는 노트북은 무선 인증을 통해 캠퍼스 네트워크에 연결할 수 있습니다.
관리자는 워크스테이션을 사용하여 관리 사용자 인증을 사용하는 텔넷 또는 HTTP를 통해 네트워크 장치에 로그인합니다.
이러한 모든 인증 작업은 중앙 LDAP 서버를 기반으로 하는 RADIUS 서버를 통해 수행할 수 있습니다(그림 1 참조).
그림 1 RADIUS 및 LDAP를 통한 인증
이 기사에서는 솔루션 소개로서 마지막 옵션의 구현을 중점적으로 설명하겠습니다. 먼저 RADIUS 서버를 설치합니다.
RADIUS 설치
RADIUS 서버 소프트웨어는 여러 곳에서 구할 수 있습니다. 이 기사에서는 FreeRADIUS(링크는 참고자료 참조)를 사용할 예정이지만 Cisco Secure Access Control Server(ACS)는 UNIX 및 Windows 관리에서 여러 Cisco 장치의 사용자를 위한 중앙 집중식 사용자 액세스 제어 프레임워크이며 Cisco의 고유한 프로토콜 TACACS(TACACS를 지원하는 장치는 더 많은 기능을 가질 수 있다고 합니다).
FreeRADIUS는 오늘날의 분산 및 이기종 컴퓨팅 환경에서 사용할 수 있는 오픈 소스 커뮤니티의 강력한 Linux 기반 RADIUS 서버입니다. FreeRADIUS 1.0.2는 LDAP, MySQL, PostgreSQL 및 Oracle 데이터베이스를 지원하며 EAP 및 Cisco LEAP와 같은 네트워크 프로토콜과 호환됩니다. FreeRADIUS는 현재 많은 대규모 프로덕션 네트워크 시스템에 배포되어 있습니다.
다음 단계에서는 Red Hat Enterprise Linux Advanced Server 3.0에서 FreeRADIUS 1.0.2를 설치하고 테스트하는 방법을 보여줍니다.
목록 1 FreeRADIUS 설치 및 테스트
tar -zxvf freeradius-1.0.2.tar.gz - gunzip 및 tar로 추출
./configure
make
make install - 이 명령을 다음과 같이 실행합니다. root
radiusd 또는 - RADIUS 서버 시작
radiusd -X - 디버그 모드에서 RADIUS 서버 시작
radtest test localhost 0 테스트123 - RADIUS 서버 테스트
p>
radtest가 응답을 받으면 FreeRADIUS 서버가 제대로 작동하고 있다는 의미입니다.
또한 Windows 클라이언트의 인증 및 승인 요청을 테스트하는 데 사용할 수 있는 또 다른 무료 도구인 NTRadPing을 추천합니다. 속성 값과 같이 RADIUS 서버에서 다시 전송된 자세한 응답을 표시할 수 있습니다.
이제 FreeRADIUS를 구성해 보겠습니다.
FreeRADIUS 구성
RADIUS 서버 구성에는 서버, 클라이언트 및 사용자 구성(모두 인증 및 권한 부여용)이 포함됩니다. 다양한 요구에 따라 RADIUS 서버는 다양한 구성을 가질 수 있습니다. 다행히도 대부분의 구성은 비슷합니다.
* 서버 구성
FreeRADIUS 구성 파일은 일반적으로 /etc/raddb 폴더에 있습니다. 먼저 radiusd.conf 파일을 다음과 같이 수정해야 합니다.
목록 2 radiusd.conf 수정
1) 전역 설정:
log_auth = yes - 인증 요청을 로그 파일에 기록합니다.
log_auth_badpass = no - 요청이 거부된 경우 비밀번호를 기록하지 않음
log_auth_goodpass = no - 요청이 승인된 경우 비밀번호를 기록하지 않음
2) LDAP 설정:
모듈 {
ldap {
서버 = "bluepages.ibm.com" - LDAP 서버의 호스트 이름 또는 IP 주소
포트 = 636 - 암호화된 통신
basedn = "ou=bluepages,o=ibm.com" - 기본 고유 이름(DN) 정의,
- 조직(O) "ibm.com" 아래,
- 조직 단위(OU) "bluepages"
filter = "(mail=u)" - 검색 기준 지정
base_filter = "(objectclass =사람)" - 기본 검색 기준 지정
}
인증 { - LDAP에 대한 인증 활성화
인증 유형 LDAP {
ldap
}
매개변수는 LDAP 서비스의 인스턴스인 IBM BluePages를 사용하도록 설정됩니다. 다른 LDAP 서버의 경우 매개변수가 다를 수 있습니다.
* 클라이언트 구성
클라이언트는 /etc/raddb/clients.conf 파일에서 구성됩니다. RADIUS 클라이언트를 구성하는 방법에는 두 가지가 있습니다. IP 서브넷을 기준으로 NAS를 그룹화하거나(목록 3) 호스트 이름 또는 IP 주소를 기준으로 NAS를 나열할 수 있습니다(목록 4). 두 번째 방법을 따르면 shortname과 nastpe를 정의할 수 있다.
목록 3 IP 서브넷별로 NAS 그룹화
client 192.168.0.0/24 {
secret = mysecret1 - "비밀"은 구성된 것과 동일해야 합니다. NAS
shortname = mylan - "shortname"은 로깅에 사용될 수 있습니다.
dirtype = cisco - "nastype"은 checkrad에 사용되며 선택 사항입니다.
}
목록 4 호스트 이름 또는 IP 주소로 NAS 나열
client 192.168.0.1 {
secret = mysecret1
shortname = myserver
불쾌한 = 기타
}
* 인증을 위한 사용자 구성
/etc/raddb/user 파일에는 사용자의 인증 및 구성 정보.
목록 5 /etc/raddb/user 파일
1) 인증 유형:
Auth-Type:= LDAP - LDAP에 대해 인증
Auth-Type: = Local, User-Password == "mypasswd"
-
- /etc/raddb/user에 설정된 비밀번호에 대해 인증
인증 유형: = 시스템 - 시스템 비밀번호 파일에 대해 인증
- /etc/passwd 또는 /etc/shadow
2) 서비스 유형:
Service-Type = 로그인, - 관리 로그인용
* 인증을 위한 사용자 구성
사용자 인증을 위해 다음 인증 서버 속성-값 쌍(AV)을 구성해야 합니다. 인증이 승인되면 이 속성-값 쌍은 관리자 로그인 요청에 대한 응답으로 NAS에 반환됩니다.
Cisco 라우터에는 다양한 권한 수준이 있습니다.
수준 1은 권한이 없습니다. 프롬프트는 로그인을 위한 기본 수준인 routergt;입니다.
레벨 15는 특권입니다. 프롬프트는 활성화 모드에 들어간 후의 레벨인 router#입니다.
기본 구성에서는 레벨 2~14가 사용되지 않습니다.
다음 명령을 사용하면 사용자가 네트워크 액세스 서버에서 로그인하여 EXEC 명령에 즉시 액세스할 수 있습니다.
cisco-avpair ="shell:priv-lvl=15"
다음 코드는 이번에는 Cisco 무선 액세스 포인트에 대해 동일한 작업을 처리합니다.
Cisco:Avpair= "aironet:admin-capability=write snmp ident Firmware admin"
모든 기능 조합은 다음 속성과 함께 반환됩니다:
Cisco:Avpair = "aironet:admin-capability=ident admin"
Cisco:Avpair = "aironet:admin -capability=admin"
이러한 명령에 대한 자세한 내용은 Cisco에 문의하세요.
네트워크 액세스 서버 구성
다음으로 NAS를 구성합니다. 먼저 Cisco 라우터를 구성한 다음 Cisco WAP를 구성합니다.
Cisco IOS 12.1 라우터의 경우 AAA를 활성화한 다음 인증, 승인 및 계정을 구성합니다.
목록 6 AAA 활성화
aaa 새 모델
radius-server 호스트 192.168.0.100
radius-server key mysecret1
p>p>
AAA는 라우터에서 활성화되어야 합니다. 그런 다음 NAS에 AAA 서비스를 제공할 수 있는 RADIUS 서버 목록을 지정합니다. 암호화 키는 NAS와 RADIUS 서버 간의 데이터 전송을 암호화하는 데 사용됩니다. FreeRADIUS에 구성된 것과 동일해야 합니다.
목록 7 구성 확인
aaa 인증 로그인 기본 그룹 반경 로컬
line vty 0 4
로그인 인증 기본값
이 예에서 네트워크 관리자는 RADIUS 인증을 사용합니다. RADIUS 서버를 사용할 수 없는 경우 NAS의 로컬 사용자 데이터베이스 비밀번호가 사용됩니다.
목록 8 인증 구성
aaa 인증 exec 기본 그룹 반경(인증된 경우)
사용자가 NAS에 로그인할 때 EXEC 셸을 실행할 수 있도록 허용합니다.
목록 9 회계 구성
aaa 회계 시스템 기본 시작-정지 그룹 반경
aaa 회계 네트워크 기본 시작-정지 그룹 반경
aaa 회계 연결 기본 시작-정지 그룹 반경
aaa 회계 exec 기본 정지 전용 그룹 반경
aaa 회계 명령 1 기본 정지 전용 그룹 반경
aaa 계정 명령 15 기본 대기 시작 그룹 반경
라우터는 계정 레코드를 RADIUS 서버로 보내도록 특별히 구성되어야 합니다. 목록 9의 명령을 사용하여 NAS 시스템 이벤트, 네트워크 연결, 출력 연결, EXEC 작업 및 레벨 1과 15의 명령에 대한 계정 정보를 기록합니다.
괜찮습니다. 이제 Cisco 무선 액세스 포인트의 구성을 살펴보겠습니다. 아래 구성은 펌웨어 12.01T1이 설치된 Cisco 1200 시리즈 AP에 대한 것입니다. 그림 2의 스크린샷에 표시된 대로 다음을 수행합니다.
* 서버 이름 또는 IP 주소와 *공유 비밀을 입력합니다.
* 유형을 "반경"으로 선택하고 "사용자 인증"을 확인하세요.
그림 2 WAP용 NAS 구성
실제로 여기서는 FreeRADIUS를 사용하여 무선 LAN의 일반 사용자를 인증할 수 있도록 EAP 인증을 구성할 수도 있습니다.
회계: RADIUS 작업
이제 모든 구성이 완료되었으므로 FreeRADIUS 서버는 NAS에서 보낸 모든 정보를 기록하기 시작할 수 있으며 이 정보를 /var/log/radius /에 저장할 수 있습니다. radius.log 파일은 다음과 같습니다:
목록 10 /var/log/radius/radius.log 파일
Thu Mar 3 21:37:32 2005: 인증: 로그인 확인: [David] (클라이언트에서
mylan 포트 1 cli 192.168.0.94)
월 3월 7일 23:39:53 2005: 인증: 잘못된 로그인: [John] (에서 p>
클라이언트 mylan 포트 1 cli 192.168.0.94)
자세한 계정 정보는 /var/log/radius/radacct 디렉터리에 저장됩니다. 목록 11에서는 David가 2005년 3월 4일 19시 40분에서 19시 51분 사이에 192.168.0.94에서 라우터 192.168.0.1에 로그인했음을 보여줍니다. 이러한 자세한 정보는 보안 사고를 조사하고 쉽게 감사할 수 있는 기록을 유지하려는 관리자에게 큰 도움이 됩니다.
목록 11 RADIUS에서 제공하는 회계 세부 정보의 예
Fri Mar 4 19:40:12 2005
NAS-IP-Address = 192.168.0.1
p> p>
NAS-포트 = 1
NAS-포트 유형 = 가상
사용자 이름 = "David"
Calling-Station -Id = "192.168.0.94"
Acct-Status-Type = 시작
Acct-Authentic = RADIUS
Service-Type = NAS-Prompt-User p>
Acct-Session-Id = "00000026"
Acct-Delay-Time = 0
클라이언트-IP-주소 = 192.168.0.1
Acct-Unique-Session-Id = "913029a52dacb116"
타임스탬프 = 1109936412
2005년 3월 4일 금요일 19:51:17
NAS-IP -주소 = 192.168.0.1
NAS-포트 = 1
NAS-포트 유형 = 가상
사용자 이름 = "David"
Calling-Station-Id = "192.168.0.94"
Acct-Status-Type = 중지
Acct-Authentic = RADIUS
서비스 유형 = NAS -Prompt-User
Acct-Session-Id = "00000026"
Acct-Terminate-Cause = 유휴 시간 초과
Acct-Session-Time = 665
Acct-Delay-Time = 0
클라이언트-IP-주소 = 192.168.0.1
Acct-Unique-Session-Id = "913029a52dacb116" p>
Timestamp = 1109937077
결론
이 문서에 설명된 간단한 단계에 따라 다음을 사용하는 원격 인증 전화 접속 사용자 서비스 서버를 설정할 수 있습니다. a 외부 LDAP 서버는 네트워크 보안 문제에 대한 인증, 권한 부여 및 계정을 처리합니다.
이 문서에서는 이 작업을 수행하는 데 도움이 되는 다음 콘텐츠를 제공합니다.
* RADIUS 및 LDAP 서버와 AAA 개념을 소개합니다.
* 설치 및 구성 작업이 통합된 시나리오입니다.
* RADIUS 서버 설치 및 구성 지침.
* 네트워크 액세스 서버 구성에 대한 세부 정보입니다.
* RADIUS가 제공하고 관리하는 세부 정보의 예입니다.
이러한 지침을 사용하면 Linux 시스템에서 인증된 개체만 보호된 데이터에 액세스할 수 있도록 신속하게 보장할 수 있습니다.