TCP Wrapper 편집하기
IT위키
편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
1번째 줄: | 1번째 줄: | ||
==개요== | ==개요== | ||
* 서비스별 중앙통제 ACL 시스템 | * 서비스별 중앙통제 ACL 시스템 | ||
* 리눅스 또는 BSD 같은 운영 체제의 인터넷 프로토콜 서버에서 네트워크 접근을 필터링하기 위해 사용됨 | * 리눅스 또는 BSD 같은 운영 체제의 인터넷 프로토콜 서버에서 네트워크 접근을 필터링하기 위해 사용됨 | ||
* 대부분 서비스 자체적으로 ACL기능을 제공하기 때문에 점점 | * 대부분 서비스 자체적으로 ACL기능을 제공하기 때문에 점점 안쓰이는 분위기다. | ||
==지양되는 기술== | |||
* 현대 리눅스에선 네트워크 단위의 접근 통제, 서비스 자체적인 ACL이 지원되고 있기 때문에 TCP Wrapper의 사용은 지양된다.<br>[https://fedoraproject.org/wiki/Changes/Deprecate_TCP_wrappers#Deprecate_TCP_wrappers 페도라 위키(원문) : 현대 리눅스에서 TCP Wrapper는 지양되어야 한다는 내용] | |||
* | |||
==사용 방법== | ==사용 방법== | ||
hosts.allow와 hosts.deny를 통해 서비스별 필터링을 수행한다. | hosts.allow와 hosts.deny를 통해 서비스별 필터링을 수행한다. | ||
<pre class='shell'> | |||
서비스 목록 : 호스트 목록 | |||
<pre class= | |||
서비스 목록: 호스트 목록 | |||
</pre> | </pre> | ||
형태로 사용된다. 특정 서비스에 대한 접근 통제만 하려면 hosts.deny만 작성해도 된다. | 형태로 사용된다. 특정 서비스에 대한 접근 통제만 하려면 hosts.deny만 작성해도 된다. | ||
* | *'''서비스 목록''' : 서비스명이 아닌 실행 데몬명으로 적어야 한다. | ||
** 예를 들어 telnet제어 시 in.telnetd 라고 적는다. | |||
** 복수의 경우 따옴표로 구분한다. | |||
* '''호스트 목록''' : 아래와 같이 표현할 수 있다. | |||
** 192.168.10. | |||
* | ** 192.168.10.0/255.255.255.0 | ||
* | ** .itwiki.kr | ||
** 192.168.10.0/255.255.255.0, .itwiki.kr | |||
** .itwiki.kr EXCEPT crack.itwiki.kr | |||
** .kr EXCEPT www.crack.kr | |||
===hosts.deny=== | ===hosts.deny=== | ||
접속을 막을 목록을 관리한다. 화이트리스트 기반으로 | 접속을 막을 목록을 관리한다. 화이트리스트 기반으로 운영 하려면 아래와 같이 설정한다. | ||
<pre class= | <pre class='shell'> | ||
# vi /etc/hosts.deny | # vi /etc/hosts.deny | ||
ALL:ALL | ALL : ALL | ||
</pre> | </pre> | ||
===hosts.allow=== | ===hosts.allow=== | ||
화이트리스트 기반으로 | 화이트리스트 기반으로 운영 하려면 hosts.deny에서 ALL:ALL로 다 막아놓고 hosts.allow에 허용할 서비스만 연다. | ||
<pre class= | <pre class='shell'> | ||
# vi /etc/hosts.allow | # vi /etc/hosts.allow | ||
ALL:localhost | ALL : localhost | ||
in.telnetd:192.168.10. | in.telnetd : 192.168.10. | ||
sshd, vsftpd:.itwiki.kr EXCEPT crack.itwiki.kr | sshd, vsftpd : .itwiki.kr EXCEPT crack.itwiki.kr | ||
</pre> | </pre> | ||
69번째 줄: | 54번째 줄: | ||
==기타== | ==기타== | ||
* 잘 사용하진 않지만 | * 잘 사용하진 않지만 shell Command를 사용하여 어떤 서비스에 어떤 호스트가 접속 할 경우 이메일 발송하는 등의 고급 옵션을 지정할 수 있다. | ||
* hosts.allow 맨 아래쪽에 다음과 같은 특수한 정책을 넣어 hosts.deny의 역할을 대신할 수 있다. | * hosts.allow 맨 아래쪽에 다음과 같은 특수한 정책을 넣어 hosts.deny의 역할을 대신할 수 있다. | ||
<pre class= | <pre class='shell'> | ||
# vi /etc/hosts.allow | # vi /etc/hosts.allow | ||
ALL:localhost | ALL : localhost | ||
in.telnetd:192.168.10. | in.telnetd : 192.168.10. | ||
sshd, vsftpd:.itwiki.kr EXCEPT crack.itwiki.kr | sshd, vsftpd : .itwiki.kr EXCEPT crack.itwiki.kr | ||
ALL:ALL:Deny | ALL : ALL : Deny | ||
</pre> | </pre> | ||