Information Security
접근통제(TCP Wrapper) 본문
1) 개요
- 외부에서 들어오는 클라이언트에 대해 접근통제 기능을 제공한다. 클라이언트의 IP 주소를 확인하여 시스템 관리자가 접근을 허용한 호스트들에 대해서만 서비스를 허용하기 때문에 외부의 해킹으로부터 시스템을 보호할 수 있다.
- 먼저, /etc/hosts.allow 파일을 참조하여 해당 호스트 정보가 있다면 접근을 허용한다. 없다면, /etc/hosts.deny 파일을 참조하여 해당 호스트 정보가 있다면 접근을 차단한다. hosts.deny 파일에도 해당 호스트 정보가 없다면 default로 모든 접근을 허용한다.
2) 설정
- hosts.deny 설정을 살펴보면, ALL:ALL로 설정이 되어 있다. 이는 모든 서비스에 대해서 모든 호스트의 접근을 차단한다는 의미이다.
- 일반적인 설정이 hosts.allow 파일에 허용할 호스트를 명시한 후, hosts.deny 파일에 그 외의 모든 호스트를 차단하도록 설정한다. 결과적으로 먼저 처리되는 hosts.allow 파일에 허용하지 않는 호스트들은 모두 차단하게 된다.
- shell_command
> shell_command에 정의한 쉘 명령은 접근 통제 리스트에 일치하는 것이 있으면 실행하는 명령으로 일반적으로 hosts.deny 파일에 이를 설정하여 차단된 호스트에게 즉시 통보나 경고 메시지를 보내는 용도로 사용한다.
> 쉘 명령을 실행하는 방법으로는 twist나 spawn이 있다. twist는 명령의 결과를 클라이언트에게 전송하기 때문에 클라이언트에게 메시지를 보낼 때 유용하고, spawn은 명령의 결과를 클라이언트에게 전송하지 않는다.
> in.telnetd : 192.168.0.104 : twist /bin/echo "!!! 192.168.0.104는 연결이 거부되었음!!!"
192.168.0.104의 IP 주소를 갖는 호스트에서 Telnet 연결요청이 오면 연결을 거부하고
"!!! 192.168.0.104는 연결이 거부되었음!!!" 라는 메시지를 전송한다.
> in.telnetd : 192.168.0.104 : spawn /bin/mail -s "%a is denied" root
192.168.0.104의 IP 주소를 갖는 호스트에서 Telnet 연결 요청이 오면 연결을 거부하고
"%a is denied" 라는 제목으로 root 에게 메일을 전송한다.
'§IT > 정보보안기사-시스템' 카테고리의 다른 글
버퍼오버플로우 공격 (0) | 2020.05.12 |
---|---|
PAM(장착형 인증 모듈) (0) | 2020.05.10 |
슈퍼 데몬(xinetd) (0) | 2020.05.10 |
슈퍼 서버(inetd 데몬) (0) | 2020.05.10 |
계정관리 (0) | 2020.05.06 |