[STUDY] ADFS 2 : Configuration

Joseph·2024년 1월 21일
0

[STUDY] ADFS

목록 보기
2/2

요약

ADFS 서버를 간단히 구성해보기(내용 많음 주의)


1. Overview


먼저,Lab 환경이므로 AD의 CA(Certificate Authority) 기능을 통해 Internal SSL Certificate(or Private SSL Certificate)을 발급 받고 ADFS 서버에 등록한다.
Production environment에서는 반드시 Public SSL Certificate을 사용해야한다.


ADFS 서버에 인증서가 설치되고 나면 ADFS에서 사용되는 endpoints 중 Idinitiatedsignonpage URL을 활성화 시켜주어, Application 단에서 User Authentication이 정상적으로 작동하는지 확인한다.

2. Setup and Configuration

1. Issuing Certificate: AD CA

  1. 우선 AD에 CA 기능을 추가해준다.
  2. 설치 완료 후 CA 실행
  3. Right click on 'Template' -> Click 'Manage'
  4. Right click on 'Computer' -> Click 'Duplicate'
  5. General Tab에서 이름 설정 -> Check 'Publish certificate in Active Directory'
  6. Request Handling Tab -> Check 'Allow private key to be exported'
  7. Secutiry Tab에서 Click 'Add'
  8. Click 'Object Types'
  9. Check 'Computers'
  10. ADFS 서버 역할을 할 PC의 hostname을 찾아 선택해준다.
  11. 'Group or user names'리스트에 ADFS 서버가 입력되었는지 확인하고 하단에 Permission을 적당히 부여한다.
  12. 'Build from this Active Directory information에서 'Subject name format'을 Common name으로 설정해준다. 그리고 하단에 DNS name으로 AD에서 조회가 가능하도록 설정해준다.

이 외에 Template에서 다른 부분은 설정하지 않고 넘어간다.

  1. Certificate Template Consoles 에서 CA로 넘어와서,
    Right click on 'Certificate Templates' -> New -> Click 'Certificate Templates to Issue'
  2. 방금 생성한 Template을 선택하고 CA에 추가해준다.

2. Enroll Certificate

  1. Open Run -> enter 'mmc' -> File -> 'Add snap in' -> Certificate -> Computer account -> Local computer -> finish
  2. Right click on 'Personal' -> All Tasks -> Click 'Request New Certificate'
  3. Next를 클릭하다 보면 AD CA에서 ADFS 서버에 할당한 Certificate을 확인할 수 있다. Check 후 Enroll.

3. ADFS Server setup

  1. 해당 Farm에 첫번째 ADFS 서버가 되니 Next
  2. AD의 administrator permission(Credential) 입력
  3. SSL Certificate 선택, 서버 이름 확인, 마지막으로 로그인 페이지에 표시될 서비스 이름 입력
  4. ADFS에서 사용할 서비스 계정을 AD에서 생성하고 입력
  5. 사용하는 DB가 따로 없으면 'Next'

이후 설정은 따로 없기 때문에 Next 및 Install로 설정을 진행한다.

4. Service URL Configuration

  1. Open Powershell as administrator and Type jusk like this:
Get-AdfsEndpoint
  1. FullUrl 확인
# 1번에서 표시된 URL의 속성 중, FullUrl 속성만을 클립보드에 복사한다.
Get-AdfsEndpoint | Select FullUrl | Clip
  1. 메모장에 붙여 넣으면 다음과 같이 나온다. 이중 두번째 URL 주목. ADFS 서비스 이름이다.

  2. 브라우저에서 아래 링크로 접속해본다.
    https:// adfs.conceptswork.com/adfs/ls/idpinitiatedsignon.aspx

  3. 아마 화면이 이렇게 나올텐데 에러코드를 보면 리소스 사용 불가하다고 나온다.
    "The resource you are trying to access is not available"
    이는 서버 OS 2016 버전에서 ADFS를 설치할 경우, 기본적으로 EnableIdpInitiatedSignonPage가 False이기 때문이다. Powershell로 켜줘야 한다.

  4. 우선 진짜인지 확인해본다

    Get-AdfsProperties

  5. True로 바꿔준다

    Set-AdfsProperties -EnableIdpInitiatedSignonPage $True

5. Authentication method Configuration

  1. 'https:// adfs.conceptswork.com/adfs/ls/idpinitiatedsignon.aspx' 이 페이지를 다시 Refresh하면, 이제는 서비스가 활성화 되어 Sign in 버튼이 보일것이다.
  2. 하지만 Window OS에서 제공하는 AD Authentication prompt가 표시된다. 우리는 Web Application을 통해 From based Authentication을 사용하려고 하니, ADFS서버에서 특정 값을 변경해준다.
  3. ADFS 관리자에서 Service -> Authentication Methods -> Primary Authentication Methods -> External -> Click 'Edit'
  4. Uncheck 'Windows Authentication' -> Apply
  5. 다시 'https:// adfs.conceptswork.com/adfs/ls/idpinitiatedsignon.aspx' 이 페이지에 돌아와서 Sign in 버튼을 클릭하면 로그인 Form이 표시될 것이다.
  6. 정상 로그인 되었다는 표시가 뜨면 성공이다.

3. Other Feature

서비스 명 변경하기

  1. ADFS 관리자에서 Right click on 'ADFS' -> Click 'Edit Federation Service Properties'
  2. Federation Service display name을 변경하고 적용하면
  3. 서비스 URL을 Refresh하면 서비스 명이 변경되어 표시된다.

4. 참고자료

0개의 댓글

관련 채용 정보