리눅스 접근 통제 (Tcpwrapper), PAM
접근 통제
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 모듈 실행에 필요한 추가 설정 파일이 위치한다.
'C & Docker & LINUX' 카테고리의 다른 글
Linux) 리눅스 find 명령어 (0) | 2018.03.17 |
---|---|
리눅스 로그파일 (0) | 2017.10.29 |
리눅스 - 프로세스 실행권한 (0) | 2017.10.28 |
리눅스 시스템 보안 - 패스워드 (0) | 2017.10.28 |
리눅스 사용자, 파일 시스템 관리 (0) | 2017.10.25 |