TCP Wrapper 편집하기

IT위키

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.

편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.

최신판 당신의 편집
1번째 줄: 1번째 줄:
[[분류:리눅스 프로그램]][[분류:보안 도구]]
==개요==
==개요==
* 서비스별 중앙통제 ACL 시스템
* 서비스별 중앙통제 ACL 시스템
* 리눅스 또는 BSD 같은 운영 체제의 인터넷 프로토콜 서버에서 네트워크 접근을 필터링하기 위해 사용됨
* 리눅스 또는 BSD 같은 운영 체제의 인터넷 프로토콜 서버에서 네트워크 접근을 필터링하기 위해 사용됨
* 대부분 서비스 자체적으로 ACL기능을 제공하기 때문에 점점 안 쓰이는 분위기다.
* 대부분 서비스 자체적으로 ACL기능을 제공하기 때문에 점점 안쓰이는 분위기다.


== TCP Wrapper 접근제어 가능 서비스 ==


* FTP
==지양되는 기술==
* Telnet
* 현대 리눅스에선 네트워크 단위의 접근 통제, 서비스 자체적인 ACL이 지원되고 있기 때문에 TCP Wrapper의 사용은 지양된다.<br>[https://fedoraproject.org/wiki/Changes/Deprecate_TCP_wrappers#Deprecate_TCP_wrappers 페도라 위키(원문) : 현대 리눅스에서 TCP Wrapper는 지양되어야 한다는 내용]
* SSH
* TFTP
* finger
* systat
* rlogin
* rsh
* talk
* exec


'''httpd는 해당사항이 없다!'''


==사용 방법==
==사용 방법==
hosts.allow와 hosts.deny를 통해 서비스별 필터링을 수행한다.
hosts.allow와 hosts.deny를 통해 서비스별 필터링을 수행한다.
 
<pre class='shell'>
* /etc/hosts.allow: 접근을 허용할 Source IP 설정
서비스 목록 : 호스트 목록
* /etc/hosts.deny: 접근을 제한할 Source IP 설정
<pre class="shell">
서비스 목록: 호스트 목록
</pre>
</pre>
형태로 사용된다. 특정 서비스에 대한 접근 통제만 하려면 hosts.deny만 작성해도 된다.
형태로 사용된다. 특정 서비스에 대한 접근 통제만 하려면 hosts.deny만 작성해도 된다.


* 둘다 설정되어 있을 경우 allow가 우선순위 높음
*'''서비스 목록''' : 서비스명이 아닌 실행 데몬명으로 적어야 한다.
** 예를 들어 telnet제어 시 in.telnetd 라고 적는다.
** 복수의 경우 따옴표로 구분한다.


=== 서비스 목록 ===
* '''호스트 목록''' : 아래와 같이 표현할 수 있다.
서비스명이 아닌 실행 데몬명으로 적어야 한다.
** 192.168.10.  
* 예를 들어 telnet제어 시 in.telnetd라고 적는다.
** 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


=== 호스트 목록 ===
아래와 같이 표현할 수 있다.
* 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="shell">
<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에 허용할 서비스만 연다.
화이트리스트 기반으로 운영 하려면 hosts.deny에서 ALL:ALL로 다 막아놓고 hosts.allow에 허용할 서비스만 연다.
<pre class="shell">
<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를 사용하여 어떤 서비스에 어떤 호스트가 접속할 경우 이메일을 발송하는 등의 고급 옵션을 지정할 수 있다.
* 잘 사용하진 않지만 shell Command를 사용하여 어떤 서비스에 어떤 호스트가 접속 할 경우 이메일 발송하는 등의 고급 옵션을 지정할 수 있다.
* hosts.allow 맨 아래쪽에 다음과 같은 특수한 정책을 넣어 hosts.deny의 역할을 대신할 수 있다.
* hosts.allow 맨 아래쪽에 다음과 같은 특수한 정책을 넣어 hosts.deny의 역할을 대신할 수 있다.
<pre class="shell">
<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>
== 지양되는 기술 ==
* 현대 리눅스에선 네트워크 단위의 접근 통제, 서비스 자체적인 ACL이 지원되고 있기 때문에 TCP Wrapper의 사용은 지양된다.<br>[https://fedoraproject.org/wiki/Changes/Deprecate_TCP_wrappers#Deprecate_TCP_wrappers 페도라 위키(원문): 현대 리눅스에서 TCP Wrapper는 지양되어야 한다는 내용]
* 다만 설정이 무척 간단하고 직관적이라 현장에선 아직 많이 사용되고 있다.
IT위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는 IT위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소 편집 도움말 (새 창에서 열림)