Software / 개발공간

SW/ 개발팁 / 추천프로그램, 꿀팁 공유
  • 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
질문

SSH 접근 통제를 위한 Azure AD(Entra ID) 연동 방법이 있을까요?

nullyfied 128

0

22

안녕하세요, 첫 가입 후 남기는 글이 질문이라 송구스럽습니다.


혹시 여러분들은 회사에서 다수의 인원이 하나의 서버에 SSH로 접근하는 상황에서 어떻게 접근통제를 달성하고 계신가요?

제가 적용하고자 하는 방법은 온프레미스 리눅스 서버의 SSH에 Azure AD(Entra ID)를 이용한 접근통제입니다.

이유는, 저희 회사의 개발자들은 필수적으로 회사 도메인으로 Microsoft 계정이 생성되고 퇴사와 동시에 삭제되기 때문입니다.

또한, 저희 회사 서비스 특성상 현장에 직접 서버가 납품되고 있어서.. 온프레미스 서버 댓수가 생각보다 많고, 모니터링 시스템이 막 구축중인 상황이라 장애 발생시 자세한 원인파악을 위해서는 서버에 직접 붙어야 하는 상황입니다.

 

이런 상황속에서 누가 서버에 접근했으며 누가 접근이 가능한지를 파악하는 내용이 점점 중요해지고 있어 이런 고민을 하게 됐습니다.

물론 현장 서버 방화벽에 회사 IP로 기본적인 접근제한이 걸려있으나, 이는 완벽한 접근제어가 아니라 Azure AD(Entra ID)를 통한 접근제어를 구현하기 전 여러 방안을 고려해봤습니다.

제가 생각한 방안은...

  1. 개발자마다 ssh key를 발급한다.
    1. 이건 키 관리가 매우 힘들어져서 포기.
  2. 개발자마다 ssh 계정을 발급한다.
    1. 마찬가지로 이건 불가능.
  3. ssh gateway를 세운다
    1. 기술적/보안적으로 옳은 선택일까..?(잘 모르겠습니다) 
    2. 이럴 경우 azure ad는 어떻게 연동해야할까...? 직접 코드로 구현해야 하는 것인지 해야한다면 하겠지만.. 
    3. scp나 sftp 같은걸 쓰려면 직접적인 릴레이를 제공하는 ssh jumphost 같은 기능에 의존하여 구현하지 않으면 생각보다 이용이 불편할 것 같다.
    4. 구현 방식에 따라 ssh local portforward 혹은 dynamic socket proxy는 포기해야한다.


그런데 왜 굳이 Azure 연동을 해야하나?에 대한 질문이 있으실 것 같아 동기를 말씀드리자면,

  1. 회사의 다양한 서비스들이 이미 MS 계정을 통한 접근제어가 이루어지고 있다. 
    1. PinPoint
    2. Kafka
    3. ELK
    4. Jenkins
    5. Jira/Confluence
    6. Microsoft 제품들
    7. Postman
    8. VPN(Azure AD 연동해야함...)
      1. 이것도 지금 삽질중입니다 T^T
    9. 기타 자체 개발 서비스 등..
  2. 입/퇴사자 프로세스 개선이 이루어지고 있다.
    1. 현재 입/퇴사자 발생시 생성/삭제 정보들을 A4용지 하나에 쭉 나열하고 담당자 서명을 받도록 되어있는데 상당히 비효율적이다...


특히나 사무실 WIFI 패스워드를 아는 사람이라면 Public IP를 사무실 IP로 변경하고 현장 서버에 접근할 수 있는 1차적인 권한을 획득하는 것에는 문제가 없기에 사실상 구멍에 있는 것과 다름이 없습니다.

 

일단 SSH 접근시 Azure AD를 통한 접근 제어가 가능한지 여부부터 알고 싶은데...

저랑 같은 요구조건이 있는 사람들이 별로 없는건지 정보를 찾기가 어렵네요.

 

Github쪽에 aad-login, aad(Azure Active Directory)라는 이름으로 8~9년전 자료는 있는데, 이게 Ubuntu 14 대역에서 사용하던거고 지금은 Deprecated 되었습니다.

 

그리고 위 aad 관련해서 Microsoft에서 Azure VM에 접근하기 위해서 제공하는 플러그인(?)은 있어보이는데, Azure를 벗어난 온프레미스에 적용하는 모델은 아닌것 같습니다.

 

 

 

구글링 한다고 참 많이 했는데...
아무리 찾아봐도 아래 유튜브 영상에 있는 내용보다 제가 원하는 내용에 가까운 정보를 찾을 수 없더군요.


이걸로 지금 1주째 삽질 중인데 쉽지가 않아서 찾다찾다 이곳에 글 남기게 되었습니다. 

혹시 꼭 Azure AD를 통한 접근통제가 아니더라도, 접근통제에 이상적인 모델이 있으신지 조언 부탁드립니다.

긴 글 읽어주셔서 감사합니다.

 

신고공유스크랩
22
도도새 2024.05.03. 19:25
Authentik이나 keycloack이 비슷한 대안일껍니다.
Ad에 연결한다음 관리해도 잘 적용되더라고요

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story