OneLogin의 RADIUS를 사용하여 AWS WorkSpace의 MFA를 실현할 때 막힌 곳

기본적으로 다음 두 편의 기사에 따라 진행하면 문제가 없지만 막힌 곳이 있으니 적어 두세요.

  • OneLogin으로 WorkSpace에서 MFA를 했습니다.

  • OneLogin의 MFA를 이용한 WorkSpaces 2단계 인증 – 서버 작업 엔지니어 블로그
  • TL;DR

  • OneLogin AD Connector를 설치할 수 없음
  • 매뉴얼의 필요조건 확인

  • 미리 준비하세요AD Domain Service
  • AWS Wordspaces의 VDIID/PW에 넣었지만 MFA 사용하면 넣을 수 없습니다.
  • radtest RADIUS 테스트
  • RADIUS가 어떤 속성 값을 사용하여 OPP를 던지는지 확인하고 확인할 수 없으면 합계
  • OneLogin AD 커넥터를 설치할 수 없습니다.


    매뉴얼에 기재된 필수 조건을 충족시켜야 하는데 설치 프로그램은 전진할 수 없다.

  • Install & Configure Active Directory Connector 5 - OneLogin Knowledge Base
  • 이유는 간단하지만, 원래 Windows ServerAD Domain Service가 설치되기 전이어서 들어가지 못했습니다.AD Domain Service에 넣고 시동을 걸면 순조롭게 설치할 수 있습니다.

    OneLogin RADIUS에서 Reject


    사용자 동기화에도 문제가 없어 ID/PW를 통해 로그인할 수 있다는 점이 확인됐지만 MFA는 OTP를 효율적으로 보냈고 OneLogiin RADIUS도 리ject를 진행했다.

    나는 패스워드인지 OPP인지 정확하지 않다고 생각하지만, OneLogin의 화면은 문제없이 로그인할 수 있다.

    FreeRADIUS의 등장 번호입니다.


    이번이 처음으로 존재를 알고 만진 것이다. radtest 이 지령으로 RADIUS에 문의할 수 있다.

  • RADIUS 테스트하기
  • OTP에 문제가 없다면 원로그 라디오에 이상한 점이 있다고 생각해서 radtest부터 쳤어요.

  • Configure the RADIUS Server Interface - OneLogin Knowledge Base
  • 설치하다.

    # apt-get -y install freeradius
    

    의사소통이 불가능할 때의 로그


    사용 환경에서는 1812 포트의 Outbound가 꺼집니다.
    # radtest user password 52.34.255.206 1812 secret
    Sending Access-Request of id 174 to 52.34.255.206 port 1812
        User-Name = "user"
        User-Password = "password"
        NAS-IP-Address = 172.17.0.3
        NAS-Port = 1812
        Message-Authenticator = 0x00000000000000000000000000000000
    Sending Access-Request of id 174 to 52.34.255.206 port 1812
        User-Name = "user"
        User-Password = "password"
        NAS-IP-Address = 172.17.0.3
        NAS-Port = 1812
        Message-Authenticator = 0x00000000000000000000000000000000
    Sending Access-Request of id 174 to 52.34.255.206 port 1812
        User-Name = "user"
        User-Password = "password"
        NAS-IP-Address = 172.17.0.3
        NAS-Port = 1812
        Message-Authenticator = 0x00000000000000000000000000000000
    radclient: no response from server for ID 174 socket 3
    
    # traceroute -U -p 1812 52.34.255.206
    

    잘못된 값을 입력했을 때의 로그

  • OneLogin RADIUS Attribute
  • User-Name
  • SAMAccountName
  • User-Password
  • Password
  • OneLogin에서는 MFA가 필수인데 OTP를 보내지 않았고, RADIUS 측에서도 OTP를 받기 위해 Attribute를 설정하지 않아 오류가 발생했기 때문이다.
    # radtest user password 52.34.255.206 1812 secret
    Sending Access-Request of id 92 to 52.34.255.206 port 1812
        User-Name = "user"
        User-Password = "password"
        NAS-IP-Address = 172.17.0.3
        NAS-Port = 1812
        Message-Authenticator = 0x00000000000000000000000000000000
    rad_recv: Access-Challenge packet from host 52.34.255.206 port 1812, id=92, length=168
        Reply-Message = "Please enter your one-time password (OTP). If you do not have an OTP, please register an authentication device in your OneLogin user profile."
        State = 0x353535
    

    MFA를 제거하려면 ID/PW 테스트의 로그만 사용해야 합니다.

  • OneLogin RADIUS Attribute
  • User-Name
  • SAMAccountName
  • User-Password
  • Password
  • Access-Accept가 되었습니다.
    # radtest user password 52.34.255.206 1812 secret
    Sending Access-Request of id 15 to 52.34.255.206 port 1812
        User-Name = "user"
        User-Password = "password"
        NAS-IP-Address = 172.17.0.3
        NAS-Port = 1812
        Message-Authenticator = 0x00000000000000000000000000000000
    rad_recv: Access-Accept packet from host 52.34.255.206 port 1812, id=15, length=20
    

    OTP가 Attribute를 통해 OTP를 받아들여야 할 때의 로그

  • OneLogin RADIUS Attribute
  • User-Name
  • SAMAccountName
  • User-Password
  • Password+OTP
  • Access-Accept가 되었습니다.
    # radtest user password+OTP 52.34.255.206 1812 secret
    Sending Access-Request of id 225 to 52.34.255.206 port 1812
        User-Name = "user"
        User-Password = "password+OTP"
        NAS-IP-Address = 172.17.0.3
        NAS-Port = 1812
        Message-Authenticator = 0x00000000000000000000000000000000
    rad_recv: Access-Accept packet from host 52.34.255.206 port 1812, id=225, length=20
    
    여러 옵션을 넣고 다시 확인합니다.
    # radtest -t pap user password+OTP 52.34.255.206 1812 secret 1
    Sending Access-Request of id 173 to 52.34.255.206 port 1812
        User-Name = "user"
        User-Password = "password+OTP"
        NAS-IP-Address = 172.17.0.3
        NAS-Port = 1812
        Message-Authenticator = 0x00000000000000000000000000000000
        Framed-Protocol = PPP
    rad_recv: Access-Accept packet from host 52.34.255.206 port 1812, id=173, length=32
        Framed-Protocol = PPP
        Framed-Compression = Van-Jacobson-TCP-IP
    

    RADIUS 패킷

  • Radius 인증
  • RADIUS는 --Key:잡학사전
  • OneLogin의 RADIUS에서 Attribute 설정User-NameUser-Password은 RADIUS의 속성 값 쌍의 이름이다.
    속성 값으로 교부되는 것을 정의했고 제작자 특유의 속성 값을 추천하지 않습니다.
    그래서 OTP를 납품할 때 사용했다User-Password.

    AWS의 AD 커넥터는 어떻게 OTP를 RADIUS에 보냈을까.


    여기까지 와서 과연 원인을 알았다.
    OneLogin RADIUS의 Attribute 설정이 AWS의 ADConnector에서 보낸 값과 일치하지 않기 때문입니다.
    radtest를 사용하기 전OTP은 전용 프로젝트라고 생각했기 때문User-Password의 프로젝트는 Password에 설정되었다.
    AWS 매뉴얼을 찾아봤자 어떻게 보냈는지 알아내지 못해 여기서부터는 평균치였다.
    Attribute 설정에는 다음 선택 항목이 있습니다.
  • User-Name
  • Email
  • Username
  • Password
  • OTP
  • Password+OTP
  • SAMAccountName
  • User-Password
  • Email
  • Username
  • Password
  • OTP
  • Password+OTP
  • SAMAccountName
  • User-Name 프로젝트로 OTP를 보내지 않을 것 같아서 후보로 User-Password 프로젝트OTPPassword+OTP 중 어느 것이 나올까.
    둘 다 시도했지만 우리 환경에서는 이 모드로만 로그인할 수 있습니다.
  • User-Name
  • SAMAccountName
  • User-Password
  • OTP
  • 끝맺다


    ServerWorks 블로그에는 RADIUS의 Attribute 설정이 수록되어 있습니다.놓쳤어...

    OneLogin RADIUS의 IP가 변경되었습니다.


    여기에는 오류가 없지만 처음에 소개한 블로그에 쓴 IP 설정은 매우 낡았다.
    Configure the RADIUS Server Interface - OneLogin Knowledge Base
    US측radius.us.onelogin.comradius2.us.onelogin.com이라면

    좋은 웹페이지 즐겨찾기