TCP-Wrapper는 네트워크 서비스에 관한 트래픽을 제어하고 모니터링 할 수 있는 UNIX 기반의 방화벽 툴이다.
임의의 호스트가 서비스를 요청해 오면 실제 데몬을 구동하기 전에 접속을 허용한 시스템인지 여부를 확인하여 호스트명 및 서비스명을 남긴 후 허가된 시스템은 서비스를 제공하고 허가되지 않은 시스템은 서비스를 차단한다.
기존의 설정파일이나 소스코드에 별다른 수정이 필요치 않고, 정상적인 사용자들에게는 불편을 주지 않으면서도 허가되지 않은 접근의 제한 및 탐지가 가능하기 때문에 많은 서버 관리자들이 이 툴을 사용하고 있다.
TCP wrapper는 두 파일에 의해 제어가 된다
접근 제어 리스트
- hosts.allow : 접근 허용 리스트
- hosts.deny : 접근 제어 리스트
접근 제어 형식
접근 제어 리스트 파일에 아래와 같은 형식으로 데몬, 사용자 등의 리스트를 등록한다.
daemon_list : 하나 이상의 데몬 프로세스 이름
client_list : 하나 또는 그 이상의 호스트 이름, 호스트 어드레스, 패턴/와일드카드
shell_command : 규칙이 매칭될 때 수행되는 shell 명령으로 주로 허가되지 않은 접속 요청이 있을 경우 접속을 요청한 클라이언트의 단말기에 에러 메시지를 출력하거나 특정인에게 메일을 발송하는 형태로 주로 사용함.
와일드카드 | 지원 기능 | |
와일드카드 | ALL | 모든 호스트나 모든 서비스에 대해 허가 또는 제한 설정시 사용 ex)hosts.deny 파일에 ALL:ALL 이면 모든 호스들은 어떠한 서비스에도 접근 할 수 없다. |
KNOWN | hosts.allow나 hosts.deny 설정에서 알 수 없는 IP의 경우 | |
LOCAL | local 호스트 | |
PARANOID | IP 주소와 일치하지 않는 호스트 | |
UNKNOWN | hosts.allow나 hosts.deny 설정에서 알 수 없는 IP의 경우 | |
연산자 | EXCEPT | 데몬,클라이언트 둘다 사용할 수 있고 특정한 예외를 두고자 할때 사용 |
쉘 커맨드 특수문자 | %a(%A) | client (server) 호스트 어드레스 |
%c | Client 정보 : user@host, user@address, 호스트명 또는 주소 | |
%d | 데몬 프로세스 이름 (argv[0] value) | |
%p | 데몬 프로세스 id | |
%u | 클라이언트 사용자 이름 또는 unknown | |
%h(H) | 유용하지 않은 client (server) 호스트명 또는 어드레스 |
접근제어 방법
먼저 hosts.deny에서 모든 호스트들에 대한 접근을 막아놓고 허용할 호스트들은 hosts.allow에 추가시킨다.
'운영체제(OS) > 리눅스(Linux)' 카테고리의 다른 글
리눅스 스케쥴러 cron (0) | 2017.07.16 |
---|---|
리눅스 원격파일 전송 명령어 scp (0) | 2017.07.14 |
리눅스 레드마인 설치 (0) | 2017.07.13 |
리눅스 파일 속성 (0) | 2017.07.13 |
커널버전 별 OS 버전 (0) | 2017.07.13 |