강좌
클라우드/리눅스에 관한 강좌입니다.
해킹&보안 분류

리눅스마스터1급 : 인증 서비스의 구조 - NIS의 구조

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스마스터1: 인증 서비스의 구조 - NIS의 구조




 

 

NIS를 사용한다면, 네트워크상에 적어도 하나의 NIS 서버가 있을 것이다.

 

 

 

호스트는 여러 개의 다른 NIS 도메인들의 여러 개의 NIS 서버를 사용할 수 있다.

 

 

 

혹은 하나의 Master NIS 서버로, 다른 것들은 Slave NIS 서버로 NIS서버를 구성할 수 있다.

 

 

 

 

Slave NIS 서버는 단지 NIS 데이터베이스의 복사본을 가지고 있으며, 이것들이 갱신될 때마다, Master NIS서버는 Slave NIS서버에 yppush를 내리며, Slave NIS서버는 Master NIS서버로 부터 ypxfr 명령으로 복사본을 가져온다.

 

 

 

NIS 서버가 다운되거나 클라이언트에 대한 요구가 지연될 때마다, NIS 클라이언트는 더 빠른 NIS Slave에 접속한다.

 

 

 

 

 

NIS 데이터베이스은 /var/yp 디렉토리에 저장되며, NIS 데이터베이스들은 도메인명을 따서 이름이 붙여진 NIS 디렉토리의 하위 디렉토리에 해시 형식으로 저장된다.

 

 

 

데이터베이스는 파일을 검색하는데 사용하는 키 하나당 파일 하나를 둔다.

 

 

 

예를 들어 passwd 파일의 경우, 이름과 UID로 검색가능하므로 데이터베이스를 2개를 만든다.

 

 

 

데이터베이스를 만들기 위해 makedbm명령어를 사용한다.

 

 

 

NIS 서버는 ASCII 데이터베이스와 DBM 데이터베이스를 동시에 가지고 있다.

 

 

 

 

 

Slave 서버들은 주기적인 작업을 cron에 등록하여 ypxfr 명령어로 최근 갱신된 데이터베이스를 가져온다.

 

 

 

만약 Master NIS 서버에서 데이터베이스를 갱신했다면, /var/ypMakefile에의해 yppush 명령으로 Slave 서버들에게 ypxfr 명령을 실행시키게 하여 Slave NIS 서버들은 ypxfr 명령을 통해 서버에 갱신된 데이터베이스를 가져오게 된다.

 

 

 

 

전통적인 ypbind 프로그램은 NIS 서버를 찾기 위해 브로드캐스팅을 했다.

 

 

 

브로드캐스팅을 한다는 것은 보안상 아주 위험하다.

 

 

 

악의적인 침입자가 브로드캐스트에 응답하는 가짜 NIS 서버를 만들어서 가짜 데이터를 제공하거나, 클라이언트와 연결 후 실제 요청을 막는 방법으로 NIS 시스템을 사용하지 못하게 만들 수 있다.

 

 

 

 

NIS+Sun에서 개발한 새로운 버전의 NIS이다.

 

 

 

NISNIS+의 가장큰 차이점은 NIS+secure RPC를 통해 데이터의 암호화와 인증을 지원한다는 것이다.

 

 

 

NIS+의 모델은 Tree 구조에 근간하고 있다.

 

 

 

트리에서 하나의 노드는 하나의 NIS+ 오브젝트에 대응한다.

 

 

 

그 오브젝트들은 6개의 타입(directory, entry, group, link, table, private)을 가지고 있다.

 

 

 

NIS+ namespaceroot를 형성하는 NIS+ 디렉토리를 root 디렉토리라고 한다.

 

 

 

NIS+ 디렉토리에는 특별한 org_dirgroups_dir이 있다.

 

 

 

org_dir 디렉토리는 passwd, hosts 그리고 mail_aliases와 같은 관리 테이블로 이루어져 있다.

 

 

 

groups_dir은 접근 제어를 위해 사용되는 NIS+ 그룹 오브젝트로 이루어져 있다.

 

 

 

org_dir, groups_dir 그리고 그들의 상위 디렉토리는 NIS+ 도메인에 의해 참조된다.

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,038 명
  • 현재 강좌수 :  35,818 개
  • 현재 접속자 :  103 명