C & Docker & LINUX

리눅스 접근 통제(tcpwrapper), PAM

로픽 2017. 10. 28. 13:27
300x250

리눅스 접근 통제 (Tcpwrapper), PAM

출처: 알기사 정보보안기사/산업기사 실기 대비 1권


접근 통제

  1. tcpwrapper는 외부에서 들어오는 클라이언트에 대해 접근통제 기능을 제공한다.

     - 클라이언트의 ip 주소를 확인하여 시스템 관리자가 접근을 허용한 호스트들에 대해서만 서비스를 허용하기

       때문에 외부의 해킹으로부터 시스템을 보호할 수 있다.

  2. 접근허용 및 차단에 대한 판단은 /etc/hosts.allow와 /etc/hosts.deny 파일에 정의된 호스트 정보(IP 정보)를 기준으로 한다.

     - 접근 순서가 중요하다. 먼저 /etc/hosts.allow 파일을 참조하여 해당 호스트 정보가 있다면 접근을 허용하고, 없다면

       /etc/hosts.deny를 확인하여 접근을 차단한다. 만약 deny에도 없을 경우 default로 모든 접근을 허용한다.


  3. tcpwrapper를 사용하기 전과 후의 telnet 서비스에 대한 /etc/inetd.conf 파일 구조

- 설정 후 실행경로가 /usr/sbin/tcpd로 변경되어 tcpd에서 allow, deny파일을 확인하여 외부 클라이언트 실행한다.

- host.deny 설정을 살펴보면, all:all로 설정되어 있다. 이는 모든 서비스에 대해서 모든 호스트의 접근을 차단한다는 의미


** 예약어

  - all : 모든 서비스 또는 모든 호스트를 의미한다.

  - local : 같은 네트워크에 있는 모든 호스트를 의미한다.

  - b except a : 리스트 b에서 a를 제외한 모든 b를 의미한다.



PAM(장착형 인증 모듈)

 - 리눅스는 로그인이나 telnet, ftp 등 각종 프로그램 사용 시 pam을 통해 인증을 처리한다.

 - 프로그램 개발 시 인증모듈을 별도 개발하지 않고 플러그 방식의 pam을 사용하여 불필요한 소요를 줄일 수 있고 무엇보다 중앙통제가 가능

 - pam은 리눅스 배포판에서사용자 인증의 핵심이며, 각 응용 프로그램에 대한 인증 형태, 사용자 권한, 접근 자원 등을 선택할 수 있는 

   라이브러리

 - 기존 응용 프로그램을 수정할 필요 없이 새로운 인증 서비스 모듈을 추가하여 사용할 수 있다.


 1. pam을 사용한 인증 절차

   - 각 프로그램에 인증이 필요한 부분에 pam 라이브러리를 호출한다.

   - pam 라이브러리가 호출되면 해당 프로그램의 pam 설정파일을 참조하여 등록된 여러 pam 모듈들을 수행하고 그 결과를 응용프로그램에 반환

   -  /etc/pam.d : pam 라이브러리를 이용하는 각 응용 프로그램의 설정 파일이 위치한다.

   -  /lib/security : pam 라이브러리가 제공하는 다양한 인증 모듈들이 위치한다.

   -  /etc/security : pam 모듈 실행에 필요한 추가 설정 파일이 위치한다.

반응형