개발자의뇌

hosts.allow hosts.deny tcp wrapper 사용시 주의점 본문

개발/Linux

hosts.allow hosts.deny tcp wrapper 사용시 주의점

devbrain 2019. 6. 5. 15:05

많은 관리자들이 iptables와 hosts.allow, hosts.deny를 이용하여 접근 제어를 한다.

 

그 중 hosts.allow, hosts.deny는 tcp wrapper 라는 필터링 유틸을 사용한다.

 

tcp wrapper 는 inetd(xinetd) 데몬에서 관리하는데

 

외부에서 특정 서비스로 접속할 때 필터링 역할을 해준다.

 

tcp wrapper 를 사용하려면 적용하려는 서비스에서도 tcp wrapper 라이브러리를 사용해야 한다.

 

예를 들면 host.allow/deny 에서 httpd 필터링이 동작한다면

httpd는 tcp wrapper 라이브러리를 사용하고 있는 것이다.

 

그럼 서비스가 tcp wrapper를 적용하는지 알아볼 수 있는 방법이 필요한데

 

그것은 ldd 명령어를 사용하면 확인 가능하다.

 

# 서비스 데몬 실행경로 찾기

whereis sshd

sshd: /usr/sbin/sshd /usr/share/man/man8/sshd.8.gz

 

# ldd로 서비스 데몬에서 wrap 관련 라이브러리를 검색하면

ldd /usr/sbin/sshd | grep wrap

        libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f64ef1c3000)

 

이렇게 libwrap.so.0 라이브러리를 사용하고 있다.

 

이 라이브러리를 포함하고 있는 서비스 데몬들은 tcp wrapper 가 적용된다고 보면 된다.

 

대부분의 유명 오픈소스들 서비스들은 tcp wrapper가 적용되지만 

 

간혹 별로 알려지지 않은 비주류의 서비스 데몬을 사용할 때는 위 방법으로 확인하자.

Comments