TCP Wrapper: Difference between revisions

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


*'''서비스 목록''' : 서비스명이 아닌 실행 데몬명으로 적어야 한다.
*'''서비스 목록:''' 서비스명이 아닌 실행 데몬명으로 적어야 한다.
** 예를 들어 telnet제어 시 in.telnetd 라고 적는다.
** 예를 들어 telnet제어 시 in.telnetd라고 적는다.
** 복수의 경우 따옴표로 구분한다.
** 복수의 경우 따옴표로 구분한다.


* '''호스트 목록''' : 아래와 같이 표현할 수 있다.
* '''호스트 목록''': 아래와 같이 표현할 수 있다.
** 192.168.10.  
** 192.168.10.  
** 192.168.10.0/255.255.255.0
** 192.168.10.0/255.255.255.0
Line 30: Line 30:
===hosts.deny===
===hosts.deny===
접속을 막을 목록을 관리한다. 화이트리스트 기반으로 운영 하려면 아래와 같이 설정한다.
접속을 막을 목록을 관리한다. 화이트리스트 기반으로 운영 하려면 아래와 같이 설정한다.
<pre class='shell'>
<pre class="shell">
# vi /etc/hosts.deny
# vi /etc/hosts.deny
ALL : ALL
ALL:ALL
</pre>
</pre>


Line 38: Line 38:
===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>


Line 56: Line 56:
* 잘 사용하진 않지만 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>

Revision as of 05:58, 18 November 2022

개요

  • 서비스별 중앙통제 ACL 시스템
  • 리눅스 또는 BSD 같은 운영 체제의 인터넷 프로토콜 서버에서 네트워크 접근을 필터링하기 위해 사용됨
  • 대부분 서비스 자체적으로 ACL기능을 제공하기 때문에 점점 안 쓰이는 분위기다.

지양되는 기술


사용 방법

hosts.allow와 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

접속을 막을 목록을 관리한다. 화이트리스트 기반으로 운영 하려면 아래와 같이 설정한다.

# vi /etc/hosts.deny
ALL:ALL


hosts.allow

화이트리스트 기반으로 운영 하려면 hosts.deny에서 ALL:ALL로 다 막아놓고 hosts.allow에 허용할 서비스만 연다.

# vi /etc/hosts.allow
ALL:localhost
in.telnetd:192.168.10.
sshd, vsftpd:.itwiki.kr EXCEPT crack.itwiki.kr

로그

TCP Wrapper가 기록하는 로그 내용은 운영체제별로 다음 장소에 기록

  • aix: /var/admin/messages
  • hpux10: /usr/spool/mqueue/syslog
  • irix: /var/admin/syslog
  • solaris: /var/log/syslog
  • linux: /var/log/messages, /var/log/secure

기타

  • 잘 사용하진 않지만 shell Command를 사용하여 어떤 서비스에 어떤 호스트가 접속 할 경우 이메일 발송하는 등의 고급 옵션을 지정할 수 있다.
  • hosts.allow 맨 아래쪽에 다음과 같은 특수한 정책을 넣어 hosts.deny의 역할을 대신할 수 있다.
# vi /etc/hosts.allow
ALL:localhost
in.telnetd:192.168.10.
sshd, vsftpd:.itwiki.kr EXCEPT crack.itwiki.kr
ALL:ALL:Deny