X 창 인증
X Window authorizationX 창 시스템에서 프로그램은 X 클라이언트로 실행되며, X 표시 서버에 연결되며, 컴퓨터 네트워크를 통해 연결할 수 있다.다른 사용자가 네트워크에 접속할 수 있기 때문에 로그인한 사용자와 다른 사용자가 운영하는 프로그램에 접속하는 것을 금지하는 방법이 필요하다.
클라이언트 응용 프로그램이 X 디스플레이 서버에 연결할 수 있는지 여부를 제어하는 다섯 가지 표준 액세스 제어 메커니즘이 있다.세 가지 범주로 분류할 수 있다.
- 호스트 기반 액세스
- 쿠키 기반 액세스
- 사용자 기반 액세스
또한 다른 모든 네트워크 연결과 마찬가지로 터널링을 사용할 수 있다.
호스트 기반 액세스
호스트 기반 액세스 방법은 X 표시 서버에 연결할 권한이 있는 호스트 집합을 지정하는 데 있다.이 시스템은 그러한 호스트에 액세스할 수 있는 모든 사용자가 디스플레이에 연결할 수 있도록 하기 때문에 보안성이 떨어진다.프로그램과 3개의 X Window System 핵심 프로토콜 요청이 이 메커니즘을 활성화하고 인증된 호스트 목록을 표시하고 변경하는 데 사용된다.의 부적절한 사용xhost
부주의로 인터넷에 있는 모든 호스트에 X 디스플레이 서버에 대한 전체 액세스 권한을 부여할 수 있다.
쿠키 기반 액세스
쿠키 기반 인증 방법은 매직 쿠키(임의의 데이터 조각)를 선택하여 시작할 때 X 디스플레이 서버에 전달하는 것에 기초한다. 이 쿠키에 대한 지식을 증명할 수 있는 모든 클라이언트는 서버에 연결하는 권한을 갖는다.
이러한 쿠키는 별도의 프로그램에 의해 생성되어 파일에 저장된다..Xauthority
기본적으로 사용자의 홈 디렉토리에.결과적으로, 로컬 컴퓨터에서 클라이언트에 의해 실행되는 모든 프로그램은 이 파일에 접근할 수 있고, 따라서 서버의 승인을 받기 위해 필요한 쿠키에 접근할 수 있다.사용자가 네트워크의 다른 컴퓨터에서 프로그램을 실행하려면 쿠키를 다른 컴퓨터로 복사해야 한다.쿠키를 복사하는 방법은 시스템에 의존하는 문제인데, 예를 들어 유닉스 같은 플랫폼에서는 scp를 사용하여 쿠키를 복사할 수 있다.
이 방법을 사용하는 두 시스템은MIT-MAGIC-COOKIE-1
그리고XDM-AUTHORIZATION-1
첫 번째 방법에서 클라이언트는 인증 요청이 있을 때 쿠키를 보내기만 하면 된다.두 번째 방법에서는 비밀키도 에 저장된다..Xauthority
file. 클라이언트는 현재 시간, 전송 종속 식별자, 쿠키를 연결하여 문자열을 만들고, 결과 문자열을 암호화하여 서버로 전송한다.
xauth 애플리케이션은 에 액세스하기 위한 유틸리티 입니다..Xauthority
파일. 환경 변수XAUTHORITY
쿠키 파일의 이름과 위치를 재정의하도록 정의할 수 있다.
X11 클라이언트 간의 직접 통신을 위해 클라이언트 간 교환 라이브러리에 의해 구현된 ICE(Inter-Client Exchange) 프로토콜은 동일한 프로토콜 사용MIT-MAGIC-COOKIE-1
인증 방법. 그러나 자체 액세스에 대한 자체 iceauth 유틸리티가 있음.ICEauthority
환경 변수를 사용하여 재정의할 수 있는 파일ICEAUTHORITY
예를 들어, ICE는 DCOP와 X Session Management 프로토콜(XSMP)에 의해 사용된다.
사용자 기반 액세스
사용자 기반 액세스 방법은 특정 사용자에게 서버 연결을 허가하는 방식으로 작동한다.클라이언트가 서버와의 연결을 설정할 때, 인증된 사용자에 의해 제어되고 있음을 증명해야 한다.
네트워크 ID 관리 시스템을 사용하여 사용자를 인증하는 두 가지 방법은 다음과 같다.SUN-DES-1
그리고MIT-KERBEROS-5
. 첫 번째 시스템은 SunOS에서 개발된 ONC 원격 프로시저 호출 시스템의 보안 메커니즘에 기초한다.두 번째 메커니즘은 Kerberos 서버를 신뢰하는 클라이언트와 서버 모두에 기초한다.
세 번째 방법은 로컬 소켓의 다른 쪽 끝에 있는 사용자가 무엇인지 커널에 물어보기 위해 시스템 호출을 사용하는 로컬 연결로 제한된다.그xhost
프로그램을 사용하여 추가 또는 제거할 수 있음localuser
그리고localgroup
이 방법의 [1]항목
터널링
SSH 유틸리티(옵션으로 호출된 경우)-X
또는 옵션ForwardX11
)은 원격으로 호출된 클라이언트에서 로컬 서버로 X11 트래픽을 터널링한다.원격 사이트에서 설정하여DISPLAY
sshd에 의해 개방된 로컬 TCP 소켓을 가리키는 환경 변수, 그리고 나서 X11 통신을 ssh로 다시 터널링한다.그런 다음 Sshd는 원격 사이트에서 Xauth를 호출하여 MIT-MAGICE-COOKie-1 문자열을 에 추가.Xauthority
거기서 X11 클라이언트가 SSH 사용자의 로컬 X 서버에 액세스할 수 있도록 승인한다.
네트워크를 통한 클라이언트와 서버 간의 X11 연결은 Kerberos/GSSAPI 또는 TLS와 같은 다른 보안 채널 프로토콜을 사용하여 보호될 수 있지만, 그러한 옵션은 SSH보다 훨씬 더 드물다.
참조
- ^ "Server-interpreted Authentication Types "localuser" and "localgroup"". X.Org Foundation. Retrieved 16 January 2015.
외부 링크
- X 보안 매뉴얼 페이지(Xsecurity 7)