모든 VPN 로그인은 어떤 계정 네임스페이스에 도착하며, 렐름은 그중 어느 것인지 결정하는 선택자입니다. 렐름은 국가, 서버 위치, 신뢰 수준에 대해 아무것도 말하지 않습니다. 두 개의 동일한 사용자 이름이 서로 다른 렐름에 존재할 수 있으므로, 올바른 비밀번호가 때때로 잘못된 계정을 인증합니다. 이 런북은 먼저 신원 형식을 확정한 다음, 요청을 실제로 응답한 시스템까지 추적합니다.

렐름이 선택하는 것

게이트웨이는 사용자 이름을 받고 어디서 확인할지 결정해야 합니다. 렐름은 그 이름의 일부 또는 옆의 속성으로서 디렉터리, RADIUS 풀, 로컬 계정 파일 같은 데이터베이스를 고릅니다. Microsoft의 NPS는 이를 렐름 이름이라 부르고 그것으로 연결 요청을 라우팅하며, EAP 네트워크 액세스 식별자는 RFC 7542에서 앳 기호 뒤의 접미사로 같은 개념을 담습니다. 둘 다 선택자이며, 어느 것도 자격 증명이 유효한지 결정하지 않습니다.

이 분리는 매우 다른 두 가지 실패를 만듭니다. 올바르게 라우팅하는 렐름은 잘못된 비밀번호로 한 번의 거부를 주지만, 잘못된 데이터베이스로 라우팅하는 렐름은 올바른 비밀번호를 거부하거나 다른 사람의 비밀번호를 받아들일 수 있습니다. 어느 오류도 렐름을 언급하지 않으므로 첫 진단은 항상 같습니다: 어떤 시스템이 응답했는지 확인.

렐름 구문은 배포 환경에 속합니다. 어떤 서비스는 정규화되지 않은 이름과 속성을 원하고, 다른 서비스는 user@domain을 원하며, 몇몇은 대부분의 안내서가 언급하지 않는 백슬래시 형식을 기대합니다.

백엔드가 기대하는 형식을 사용하십시오

튜토리얼의 접미사를 시도하기 전에 운영자에게 어떤 형식을 입력할지 물어보십시오. 단순한 이름을 기대하는 백엔드에 도달한 도메인 정규화 이름은 보통 비밀번호 검사가 아니라 조회에서 실패합니다. 두 디렉터리에 같은 짧은 이름이 있는 경우가 렐름 누락이 가장 큰 피해를 내는 상황입니다.

관리 계정을 증거로 삼지 마십시오. 서비스를 관리하는 웹 콘솔은 로컬 파일로 인증할 수 있지만, 터널은 전혀 다른 디렉터리를 검사합니다. 실제 사용자가 쓸 자격 증명으로, 실제 사용자가 쓸 인터페이스에서 테스트하십시오. 콘솔 로그인 성공은 게이트웨이가 VPN 인증에 적용하는 렐름에 대해 아무것도 말하지 않습니다.

브라우저와 메일 클라이언트는 때때로 이전 신원을 캐시하고 조용히 다시 제출합니다. 보고된 사용자 이름이 입력한 것과 다르면 그 캐시를 먼저 확인하십시오.

프록시를 통해 요청을 추적하십시오

FreeRADIUS 프런트 엔드에서 렐름은 프록시 구성에 선언되며, 선언된 접미사가 어느 홈 서버가 요청을 받을지 결정합니다. 어떤 렐름과도 일치하지 않는 요청은 기본적으로 로컬에서 처리되므로, 무엇이든 바꾸기 전에 그 파일을 읽으십시오.

grep -n -A4 '^realm' /etc/freeradius/3.0/proxy.conf
radtest '[email protected]' 'wrong-password' 10.20.30.10 0 testing123
journalctl -u freeradius --since '-10 min' | grep -iE 'realm|stripped'

grep은 어떤 접미사가 존재하고 각각 어느 풀을 대상으로 하는지 보여 줍니다. radtest 호출은 렐름이 있는 이름과 의도적으로 잘못된 비밀번호를 보내므로, 거부는 라우팅과 자격 증명 검사가 모두 실행되었음을 증명합니다. 그 시도 전후의 저널 줄은 프록시 전에 이름이 제거되었는지, 어느 홈 서버가 받았는지를 보여 줍니다. 로그에 렐름 일치가 전혀 없으면 요청은 로컬 서버를 떠나지 않았고 문제는 비밀번호가 아니라 접미사입니다.

입력이 실행마다 다를 때만 로그가 라우팅과 자격 증명 실패를 구분하기 때문에, 한 번에 하나씩 바꾸고 시도를 반복하십시오. 공유 비밀은 도구가 파일이나 프롬프트에서 읽기를 지원하는 곳에서는 셸 기록에 남기지 마십시오.

시도를 유출하지 않고 기록하십시오

관리자가 조치할 수 있는 형식으로 실패를 적으십시오: 인터페이스, 신원 형식, 렐름 존재 여부, 그리고 정확한 비밀 아닌 오류입니다. 실제 사용자 이름은 공개 보고서에서 빼고 렐름은 남기십시오. 모든 신원을 같은 자리 표시자로 가리는 것은 바로 찾고 있는 불일치를 숨깁니다. 게이트웨이, 프록시, 디렉터리가 별도 로그를 유지하므로 타임스탬프도 중요합니다.

다음에 잘못 입력하는 사람이 같은 티켓을 열기 때문에, 그다음 사용자를 위해 이긴 형식을 문서화하십시오. 비밀번호 재설정은 잘못된 네임스페이스에 계속 도착하는 요청을 고치지 않습니다. 렐름은 라우팅 결정이며, 라우팅 결정은 올바르게 이름 붙여서 고칩니다.

관련 글