none
연결된서버 (Linked-Server) 권한관련되어 문의드립니다. RRS feed

  • 질문

  • 안녕하세요?

    현재 외부 시스템에 저희 시스템에 SP를 실행할 수 있도록 Linked-Server 계정을 제공하였습니다.

    근데 문제가.. 해당 로그인 계정을 통해서 저희 SQL서버 로그인을 하면 저희쪽 Linked-Server로 등록된 관계없는 다른서버들에 대한 권한도 같이 부여받아서 조회 및 쿼리를 날리는게 가능하더군요.

    이 부분 조절하고 싶어서 온갖 옵션을 클릭해봤지만 안되는데 방법좀 가르쳐주시면 감사하겠습니다.

    정리해서 다시말씀드리자면

     1. 타 시스템 SQL서버에 SQL 서버 로그인 계정을 제공

     2. 타 시스템 SQL서버에서 해당계정을 통해 우리쪽 SQL 서버에 로그인을 할 수 있음

     3. 로그인할 시 타 시스템과는 관련없는 우리쪽 SQL에 연결된 다른 시스템의 서버가 보이며 카탈로그 조회가 가능하며 쿼리도 실행가능

     4. 결론적으로 타 시스템에 제공한 계정에 우리쪽 Linked-Server에 관련된 권한은 어떤것도 주지않길 원함.

    정도 입니다. 아무리 검색해봐도 내용들이 없어 질문드립니다.

    감사합니다. 

    2016년 7월 28일 목요일 오전 12:34

답변

  • 안녕하세요.

    제가 질문을 잘 이해했는지 모르겠습니다.

    타시스템에 제공한 우리쪽 로그인으로 우리쪽 SQL Server에 로그인하면,

    우리쪽 SQL Server에 구성된 Linked server 리스트가 해당 로그인에 보이고 연결도 된다는 내용이 맞나요?

     

    일단 우리쪽 서버에 구성된 Linked Server 의 보안 설정을 확인해봐야 할 것 같습니다.

    혹시 아래와 같이 "다음 보안 컨텍스트를 사용하여 연결"이나, "로그인의 현재 보안 컨텍스트를 사용하여 연결" 혹은 "보안 컨텍스트 없이 연결"이 선택되어 있지는 않나요?

    그렇다면, SSMS로 로그인 시 Linked server의 리스트가 보이게 됩니다.

    그리고 "다음 보안 컨텍스트를 사용하여 연결"이 지정되어 있다면, 해당 linked server에 연결도 가능할거구요.

    이는 당연한 현상이고, 딱히 막을 방법이 없는 것으로 보입니다.

     

    위와 같이 구성되어 있다면 이렇게 해보면 어떨까 싶습니다.

    Linked server를 위해서 연결시에는 상단에 "로컬 서버 로그인과 원격 로그인 매핑"에 로그인을 명확하게 지정합니다.

    그리고 하단에 "위 목록에서 정의되지 않은 로그인에 대한 연결 설정"에서는 "연결 안 함"을 지정합니다.

    이렇게 하면, Linked server 리스트가 보이지도 않게되며, 로그인 매핑이 되어 있지 않으므로 다른 서버에 접속도 불가능 하게 됩니다.

    Linked server의 보안을  위해서라도 위와 같이 설정할 것을 권고 드립니다.

     

    답변이 도움이 되었으면 좋겠습니다.

    Younggun Kim

    MCDBA, MCITP
    Consultant @ Database Division in SQLRoad
    http://www.sqlroad.com  http://www.sqlserver.co.kr
    ygkim@sqlroad.com
    • 편집됨 Younggun KimMVP 2016년 7월 30일 토요일 오전 8:00
    • 답변으로 표시됨 SK Y 2016년 8월 2일 화요일 오전 5:43
    2016년 7월 30일 토요일 오전 7:57

모든 응답

  • 안녕하세요.

    제가 질문을 잘 이해했는지 모르겠습니다.

    타시스템에 제공한 우리쪽 로그인으로 우리쪽 SQL Server에 로그인하면,

    우리쪽 SQL Server에 구성된 Linked server 리스트가 해당 로그인에 보이고 연결도 된다는 내용이 맞나요?

     

    일단 우리쪽 서버에 구성된 Linked Server 의 보안 설정을 확인해봐야 할 것 같습니다.

    혹시 아래와 같이 "다음 보안 컨텍스트를 사용하여 연결"이나, "로그인의 현재 보안 컨텍스트를 사용하여 연결" 혹은 "보안 컨텍스트 없이 연결"이 선택되어 있지는 않나요?

    그렇다면, SSMS로 로그인 시 Linked server의 리스트가 보이게 됩니다.

    그리고 "다음 보안 컨텍스트를 사용하여 연결"이 지정되어 있다면, 해당 linked server에 연결도 가능할거구요.

    이는 당연한 현상이고, 딱히 막을 방법이 없는 것으로 보입니다.

     

    위와 같이 구성되어 있다면 이렇게 해보면 어떨까 싶습니다.

    Linked server를 위해서 연결시에는 상단에 "로컬 서버 로그인과 원격 로그인 매핑"에 로그인을 명확하게 지정합니다.

    그리고 하단에 "위 목록에서 정의되지 않은 로그인에 대한 연결 설정"에서는 "연결 안 함"을 지정합니다.

    이렇게 하면, Linked server 리스트가 보이지도 않게되며, 로그인 매핑이 되어 있지 않으므로 다른 서버에 접속도 불가능 하게 됩니다.

    Linked server의 보안을  위해서라도 위와 같이 설정할 것을 권고 드립니다.

     

    답변이 도움이 되었으면 좋겠습니다.

    Younggun Kim

    MCDBA, MCITP
    Consultant @ Database Division in SQLRoad
    http://www.sqlroad.com  http://www.sqlserver.co.kr
    ygkim@sqlroad.com
    • 편집됨 Younggun KimMVP 2016년 7월 30일 토요일 오전 8:00
    • 답변으로 표시됨 SK Y 2016년 8월 2일 화요일 오전 5:43
    2016년 7월 30일 토요일 오전 7:57
  • 오.. 감사합니다.. 제가 봤던거랑은 다르지만 이렇게하면 그냥 연결된 서버 목록에서 빠져버리네요 (권한 없는 계정 로그인 시)

    제 설명이 조금 허접해서 이해하기 어려우셨을텐데 답변해주셔서 감사합니다. 덕분에 해결했습니다.

    다만 스케줄이 작동안되길래 왜그런가하고 봤더니 기본계정에도 매핑시켜야하는걸 뒤늦게알았습니다.

    정말 감사합니다 ^^

    2016년 8월 2일 화요일 오전 5:43