
파일에 적절한 정보를 직접 포함하여 모든 사용자를 RADIUS의 작은 Mac-ID 집합으로 제한하려고 합니다 users
. 모든 사용자가 하나의 Mac으로 제한되어 있어도 허용됩니다. 서버는 Ubuntu 13.10 저장소에서 FreeRADIUS 버전 2.1.12를 실행하고 있습니다. 사용되는 인증은 PEAP 및 MSCHAPv2입니다.
물리적 클라이언트(Nexus 5)가 액세스 포인트(Netgear WG-102)를 통해 연결을 시도하면 FreeRADIUS는 액세스 요청에서 Mac-id를 식별하지만 검사에서는 사용하지 않는 것으로 보입니다. 현재 테스트 설정에서 네트워크에 있는 유일한 장치는 Radius 서버, 액세스 포인트 및 테스트 클라이언트입니다. 파일 의 항목은 users
다음과 같이 설정됩니다.
testuser NT-Password := "<hash>", Calling-Station-Id == "a1b2c3d4e5f6"
파일 에는 Mac ID를 위 형식으로 정규화하는 기능이 policy.conf
있으며 이는 . 올바른 형식의 mac-id가 실행 중인 로그에 표시됩니다 . 그러나 요청은 거부됩니다. 속성이 존재할 때마다 통과해야 하는 검사가 로 대체되더라도 요청은 거부됩니다. 그러나 으로 대체되면 속성이 다음과 같은 경우에만 통과해야 합니다.rewrite.calling_station_id
available-sites/default
preprocess
freeradius -X
Calling-Station-Id =* "a1b2c3d4e5f6"
Calling-Station-Id !* "a1b2c3d4e5f6"
~ 아니다요청에 있으면 요청이 수락됩니다.
반대로 를 사용하면 radclient
예상한 동작이 관찰됩니다. 구성 파일 및 관련 로그는 아래에 링크되어 있습니다. 전체 /etc/freeradius
폴더가 연결되어 있으며 다음 네 가지 사례에 대한 로그도 포함되어 있습니다. 2번은 예상치 못한 유일한 동작입니다.
nexus-without-mac-success
:users
파일에 Mac 검사가 없으며 인증이 성공했습니다.nexus-with-mac-fail
:users
파일의 Mac 주소가 정확하여 인증에 실패했습니다.radclient-with-mac-expected-behaviour-fail-with-wrong
: radclient가 잘못된 mac 주소로 실행되어 거부되었습니다.echo "User-Name=testuser,User-Password=test,Calling-Station-Id=8c:3a:e3:19:70:0e" | radclient localhost auth testing123
radclient-with-mac-expected-behaviour-success-with-correct
: radclient가 올바른 mac 주소로 실행되고 허용됩니다.echo "User-Name=testuser,User-Password=test,Calling-Station-Id=8c:3a:e3:19:70:0f" | radclient localhost auth testing123
Calling-Station-Id
이 방법은 사용이 불가능한가요 ? 반대http://wiki.freeradius.org/guide/Mac-Auth, Mac-Id를 사용자별로 제한하고 싶습니다. 따라서 이를 수행하는 대체 방법이 있다면 그것도 환영할 것입니다.
http://portmasters.com/tech/docs/radius/userinfo.html#10048251999년에 작성되었지만 이것이 올바른 방법이라고 말하는 것 같습니다.
http://www.cmi.ac.in/~ronno/freeradius-test다음을 포함합니다:
freeradius
- 내용/etc/freeradius
logs
- 위에 설명된 4개의 로그wg102.cfg
- 액세스 포인트 구성snapshot.tar.gz
- 위의 모든 내용을 포함하는 타르볼
답변1
외부 요청의 속성을 내부 서버에 제공하지 않았습니다.
(eap.conf 또는 mods-available/eap에서) 설정합니다 copy_tunnel_request = yes
.eap{peap{}}
https://github.com/FreeRADIUS/freeradius-server/blob/master/raddb/mods-available/eap#L594
내부 서버의 파일 호출은 외부 요청의 Calling-Station-ID 속성에 액세스할 수 없고 어떤 항목과도 일치하지 않으므로 NT-Password 제어 속성을 설정하지 않습니다.