RADIUS(Remote Authentication Dial-In User Service) 안정성 및 확장성

카테고리 보기

RADIUS(Remote Authentication Dial-In User Service) 안정성 및 확장성

7 분 읽음

회사 개요 #

반지름 or 원격 인증 다이얼인 사용자 서비스 사용자 및 장치의 인증, 권한 부여 및 계정을 중앙 집중식으로 관리하는 네트워크 프로토콜입니다. 이는 인터넷 서비스 제공업체 및 기업에서 Wi-Fi 액세스 포인트 등을 통해 인터넷, 로컬 서비스, 무선 네트워크에 대한 액세스를 제어하는 ​​데 널리 사용됩니다.

RADIUS 프로토콜은 TCP 또는 UDP를 전송 계층으로 사용할 수 있고 다음과 같은 사용자 데이터베이스와 통신할 수 있는 클라이언트-서버 아키텍처를 통해 애플리케이션 계층에서 구현됩니다. Active Directory의, LDAP 서비스 or 리눅스 회계 시스템. 가장 널리 사용되는 RADIUS 솔루션은 FreeRadius 또는 Microsoft NPS Radius Server입니다.

RADIUS 메시징 프로토콜 #

프로토콜 메시징은 아래와 같이 클라이언트 요청 및 서버 응답 방식을 기반으로 합니다.

1. 클라이언트는 액세스 요청 서버 포트에 인증할 각 사용자 또는 장치에 대해 서버로 TCP / UDP 1812 (이전 서버 버전에서는 1645 인증을 위해서도 마찬가지입니다.)
2. 정책에 따라 서버가 응답함 액세스 가능 인증이 허용되면 액세스 거부 접근이 허용되지 않거나 접근 도전 서버가 액세스를 결정하기 위해 추가 정보를 요구하는 경우(예: 두 번째 검증: PIN, 비밀번호, 인증서 등)

선택적으로 클라이언트와 서버는 다음과 같은 회계 메시지를 교환할 수 있습니다. 회계요청 회계-대응 고유한 세션 식별자를 유지하기 위해.

3. 클라이언트는 회계요청 포트를 통해 서버로 TCP / UDP 1813 회계 세션 관리를 위해(이전 서버 버전에서는 1646 인증을 위해서도 마찬가지입니다.)
4. 서버는 다음과 같이 응답합니다. 회계-대응 새 세션을 확인하기 위한 메시지입니다.

RADIUS 환경에서는 사용자 데이터베이스 관리를 위한 추가 서비스가 필요하며 고가용성을 고려하는 것이 중요하며 이에 대해서는 다른 특정 기사에서 다루겠습니다.

RADIUS 로드 밸런싱 및 고가용성 환경 #

RADIUS 서비스가 다운된 경우 문제는 사용자가 서버 네트워크에 액세스할 수 없거나 애플리케이션에 로그인할 수 없거나 사용자가 장치에 대한 세션을 열 수 없거나 장치에서 권한을 사용할 수 있는 권한을 얻을 수 없는 위험을 초래할 수 있습니다. 비즈니스 프로세스. 이러한 상황을 해결하기 위해 본 글에서는 아래와 같은 환경을 설정하는 것을 목표로 한다.

RELIANOID 다른 사이트나 로컬 사이트에 있는 모든 RADIUS 서버 간에 RADIUS 프로토콜 메시지를 공유합니다. 다음 섹션에서는 이러한 종류의 환경 구성, RADIUS 서비스에 대한 고급 상태 확인 및 이 프로토콜의 보안 과제에 대해 설명합니다.

RADIUS 가상 서비스 구성 #

RADIUS 프로토콜의 성격은 UDP 패킷을 기반으로 하기 때문에 안정적인 RADIUS 환경 구성은 LSLB 농장 L4xNAT 레이어 4의 프로필, 포트 1812 1813, 프로토콜 유형 UDP 및 선호 DTA 투명성을 확보하고 백엔드 측에서 클라이언트 IP를 얻기 위해(비록 NAT 완벽하게 작동해야 합니다).

. 서비스, 클라이언트-반경 서버 간의 일부 고정성이 필요하지 않는 한 기본적으로 지속성은 필요하지 않습니다.

UDP가 아닌 TCP를 통해 RADIUS를 사용하는 경우 프로토콜 유형 필드에서 변경할 수 있습니다. 설정도 가능해요 공통 동일한 가상 IP에서 TCP와 UDP를 동시에 허용하기 위한 프로토콜입니다.

마지막으로 포트가 구성되지 않은 상태에서 백엔드를 구성하고(클라이언트 연결의 대상 포트를 사용하므로) 연결을 테스트합니다. RADIUS 가상 서비스가 성공적으로 구성되면 이 서비스에 대한 고급 상태 확인을 설정할 수 있습니다.

RADIUS 고급 상태 확인 구성 #

고급 점검이 포함되어 있습니다. RELIANOID 이름으로 check_radius 기본 폴더 아래 /usr/local/zenloadbalancer/app/libexec/.

이 명령의 도움말은 다음과 같이 나열될 수 있습니다.

root@noid5# /usr/local/zenloadbalancer/app/libexec/check_radius --help RADIUS 서버가 연결을 수락하는지 테스트합니다. 사용법: check_radius -H 호스트 -F config_file -u 사용자 이름 -p 비밀번호 [-P 포트] [-t 시간 ​​초과] [-r 재시도] [-e 예상] [-n nas-id] [-N nas-ip-addr ] 옵션: -h, --help 자세한 도움말 화면 인쇄 -V, --version 버전 정보 인쇄 --extra-opts=[section][@file] ini 파일에서 옵션을 읽습니다. 사용법과 예는 https://www.monitoring-plugins.org/doc/extra-opts.html을 참조하세요. -H, --hostname=ADDRESS 호스트 이름, IP 주소 또는 Unix 소켓(절대 경로여야 함) -P, --port=INTEGER 포트 번호(기본값: 1645) -u, --username=STRING 사용자 authenticate -p, --password=STRING 인증을 위한 비밀번호(보안 위험) -n, --nas-id=STRING NAS 식별자 -N, --nas-ip-address=STRING NAS IP 주소 -F, --filename= STRING 구성 파일 -e, --expect=STRING 서버에서 예상되는 응답 문자열 -r, --retries=INTEGER 실패한 연결을 재시도하는 횟수 -t, --timeout=INTEGER 연결 시간이 초과되기까지의 시간(초)(기본값: 10) 이 플러그인은 RADIUS 서버를 테스트하여 연결을 수락하는지 확인합니다. 호출 시 테스트할 서버와 사용자 이름 및 비밀번호를 지정해야 합니다. 구성 파일도 있을 수 있습니다. 구성 파일의 형식은 radiusclient 라이브러리 소스에 설명되어 있습니다. 비밀번호 옵션은 프로세스 목록의 명령줄을 주의 깊게 관찰하여 비밀번호를 결정할 수 있기 때문에 상당한 보안 문제를 나타냅니다. 플러그인은 일반적으로 예측 가능한 정기적인 간격으로 실행되기 때문에 이러한 위험은 더욱 악화됩니다. 사용된 비밀번호가 민감한 시스템 리소스에 대한 접근을 허용하지 않는지 확인하십시오.

먼저 다음 예제 명령을 실행하여 제대로 작동하는지 확인해 보겠습니다. RELIANOID):

root@noid5# cd /usr/local/zenloadbalancer/app/libexec/ root@noid5# ./check_radius -H -피 -유 -피 -에프

시험은 다음부터 실시됩니다. RELIANOID 더미 사용자 검증을 통해 하나의 특정 RADIUS 서버에 어플라이언스를 연결하고 선택적으로 특정 클라이언트 매개변수에 대한 클라이언트 구성 파일을 추가합니다. 명령을 테스트한 다음, OK 서버와 고장 분석 다운되면 고급 상태 확인을 구성할 수 있습니다. 서비스 방금 생성된 가상 서비스의 섹션입니다.

사용하는 것을 잊지 마십시오 HOST 고급 상태 확인을 구성할 때 토큰 RELIANOID 아래에 따라.

check_radius -H HOST -P 1812 -u johndoe -p johnspass -F /etc/radius_client.cfg

아래 참조 서비스 섹션 구성.

RADIUS 보안 옵션 #

RADIUS 프로토콜은 전통적으로 UDP를 통한 패킷별 인증 및 무결성 검사를 위해 MD5 알고리즘을 사용해 왔습니다. 이 두 가지 방법은 보안 암호화 및 보호 기능을 제공하지 않기 때문에 여러 가지 접근 방식이 연구되었습니다.

RADIUS 배포 IPsec or 인터넷 프로토콜 보안 널리 배포되었지만 네트워크 계층에 내재되어 있는 보안 정책을 애플리케이션 계층에서 인식하지 못하기 때문에 이 옵션에는 몇 가지 어려움이 있습니다. 이 접근 방식을 사용하려면 RELIANOID 아직 통합되지 않았으므로 일부 수동 구성이 필요합니다.

의 사양 DTLS or 데이터그램 전송 계층 보안 암호화를 제공하고 해당 트래픽의 보안 정책을 모니터링 및 제어할 수 있습니다.

또 다른 옵션은 RADIUS over입니다. TLS 신뢰성과 순차 전송 계층의 TCP 기능을 제공합니다.

이러한 종류의 접근 방식에 대해서는 IANA 에 대한 공식 항목을 만들었습니다. RadSec (RADIUS 보안) UDP를 사용하려면 2083 ~을위한 항구 반경/TLS 구현.

또 다른 옵션은 다이제스트 및 인증 레이어를 강화하는 것입니다. EAP (확장 가능 인증 프로토콜)은 링크 설정 계층에서는 사용되지 않지만 연결 인증 단계에서는 MD5 약한 다이제스트의 사용을 피합니다.

또한 RELIANOID, RADIUS 서비스는 악성 패킷 및 호스트, DoS 공격, 무차별 공격 시도 등으로부터 IPDS 모듈을 사용하여 보호할 수 있습니다.

RADIUS 프록시 기능 #

여러 RADIUS 서버가 서로 다른 사이트에 배포된 경우 인증, 권한 부여 및 계정 데이터를 관리하는 사이트에 클라이언트 연결을 전달하는 것이 흥미로울 것입니다. 현재, RELIANOID RADIUS 프록시 기능은 지원하지 않지만 곧 포함될 예정입니다. 최신 개발을 기대하세요!

가용성과 확장성이 뛰어난 네트워크 액세스 서비스를 즐겨보세요!

📄 이 문서를 PDF 형식으로 다운로드하세요 #

    이메일 : *

    에 의해 구동 더 나은 문서