예전것/시스템 보안2009. 5. 29. 12:02

문제:
솔라리스의 NFS(Network File System)을 이용하여 NFS서버로부터 파일시스템을
마운트하는 NFS클라이언트 시스템을 구축하고 싶다.
현재 네트웍에 존재하는 NFS서버의 hostname은 nserver 이며
NFS서버에서 제공하는 파일시스템은 /export/share이다.
그런데 위 NFS서버에서는 kerberos를 이용한 암호화 NFS만을 제공한다고 하며,
본 시스템(hostname은 nclient)은 이미 위 NFS서버의 principal에 등록이 된
상태이며, NFS서버로부터 kerberos ticket도 이미 받은 상태이다.
Kerberos의 암호화 옵션을 이용하여
위 NFS서버의 파일시스템을 본 시스템의 /home2로 mount하시오.
단, 이문제에서는 현재 접속된 쉘 상태에서 일회성으로 mount하면 되며,
시스템이 부팅될때마다 항상 mount되도록 설정할 필요는 없다.

NFS란? (http://www.terms.co.kr/NFS.htm 참조)


NFS는 컴퓨터 사용자가 원격지 컴퓨터에 있는 파일을 마치 자신의 컴퓨터에 있는 것처럼 검색하고, 마음대로 저장하거나 수정하도록 해주는 클라이언트/서버형 응용프로그램이다. 사용자 시스템에는 NFS 클라이언트가 있어야하며, 다른 컴퓨터 (원격지의 컴퓨터)에는 NFS 서버가 설치되어 있어야 한다. 또한, 둘 모두 TCP/IP 프로토콜이 설치되어 있어야 하는데, 왜냐하면, NFS 서버와 클라이언트가 파일을 보내거나 수정하는 프로그램으로 TCP/IP를 사용하기 때문이다 (그러나, 초기버전의 NFS에서는 TCP 대신에 UDP가 사용되기도 한다).

NFS는 썬마이크로시스템즈에 의해 개발되었으며, 파일서버의 표준으로 정착되었다. 이 프로토콜은 컴퓨터들 간의 통신 방법으로서 RPC를 사용한다. 윈도우 95와 썬(Sun)의 Solstice Network Client와 같은 제품을 사용하는 일부 운영체계에 NFS를 설치할 수 있다.

NFS를 이용하여, 사용자나 시스템관리자는 파일시스템의 전부 또는 일부를 설치할 수 있다. 설치된(액세스할 수 있도록 지정된) 파일시스템은 각 사용자들의 권한에 따라 개개의 파일을 액세스할 수 있게된다.

NFS는 인터넷 기술이 가미된 WebNFS로 확장되었으며, 이 제품과 제시된 표준안은 현재 넷스케이프 커뮤니케이터 브라우저의 일부이다. WebNFS는 썬마이크로시스템즈가 웹 페이지와 다른 인터넷 파일들을 빠르게 액세스할 수 있는 방법이라고 믿고 있는 바로 그것을 제공한다.

kerberos란? (http://www.terms.co.kr/Kerberos.htm 참조)

커베로스는 개방된 컴퓨터 네트웍 내에서 서비스 요구를 인증하기 위한 안전한 방법이다. 커베로스는 미국 MIT의 Athena 프로젝트에서 개발되었다. 이 이름은 그리스 신화에서 따왔는데, 커베로스는 저승의 신 하데스의 문을 지키는 머리가 셋 달린 개이다. 커베로스는 사용자가 인증 과정으로부터 암호화된 "티켓"을 요청할 수 있게 해주는데, 이 티켓은 서버에 특정 서비스를 요구하는데 사용될 수 있다. 사용자의 암호는 네트웍을 지나가야 할 필요가 없다. 커베로스의 클라이언트서버 버전은 MIT로부터 다운로드 하거나, 또는 상용 버전을 구입할 수 있다.

아래에 커베로스의 동작원리를 간단하게 설명하였다.

  1. 당신이 지금 텔넷이나 기타 이와 비슷한 로그인 요청을 통해, 다른 컴퓨터에서 서버에 액세스하기 원한다고 가정해 보자. 이 서버는 당신의 요청을 받아들이기 전에, 커베로스 "티켓"을 요구한다.
  2. 티켓을 받기 위해, 당신은 먼저 인증 서버에 인증을 요구한다. 인증 서버는 당신이 입력한 패스워드에 기반하여 "세션 키"와, 서비스 요구를 나타내는 임의의 값을 만든다. 세션 키는 사실상 "티켓을 부여하는 티켓"이다.
  3. 그 다음에 세션 키를, 티켓 부여 서버, 즉 TGS (ticket-granting server)에 보낸다. TGS는 인증 서버와 물리적으로는 동일한 서버에 있을 수 있지만, 그러나 지금은 다른 서비스를 수행한다. TGS는 서비스를 요청할 때 서버에 보낼 수 있는 티켓을 돌려준다.
  4. 그 서비스는 티켓을 거절하거나, 또는 받아들여서 서비스를 수행한다.
  5. TGS로부터 받은 티켓은 발송일자와 시간이 적혀있기 때문에, 일정 시간 동안 (대체로 8시간 동안) 내에는 재인증 없이도 동일한 티켓으로 다른 추가 서비스를 요청할 수 있다. 티켓을 제한된 시간 동안에만 유효하게 만듦으로써, 후에 어떤 사람이 그것을 사용할 수 없도록 만든다.
실제의 과정은 위에 설명한 것보다 더 복잡하며, 사용자 절차도 구현 내용에 따라 다소 달라질 수 있다.

mount 명령은 mount될 file system type의 지정을 위한 -F option을 갖고 있다.