CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): terzeron (microkid)
날 짜 (Date): 2003년 12월 18일 목요일 오전 10시 24분 17초
제 목(Title): Re: [Q]TCP Wrapper에 대한 질문 


일단 일반적인 인터넷 서비스를 제공하는 서버는 standalone
daemon으로 부팅 스크립트나 어드민이 실행해서 계속 떠 있을 
수 있습니다. 

그런데 유닉스 시스템에서 공통적으로 사용하는 telnet이나 ftp 
등의 서버는 모두 따로 부팅 스크립트를 만들기도 귀찮고 
그 공통적인 서버들을 죄다 미리 띄워놓기도 뭐하고
게다가 일반적으로는 서비스별로 포트가 미리 정해져 있으므로 
굳이 standalone daemon으로 실행할 필요도 없습니다.

그래서 inetd(인터넷 디먼)가 대신 유명한 인터넷 서비스들에
대한 최초 요청을 접수하고 해당 서비스 포트를 보고서 그
포트에 맞는 서버 프로그램을 찾아서 실행시켜 주는 방식으로
동작하게 되어 있습니다.(/etc/services, /etc/inetd.conf가
그런 설정을 해놓고 inetd가 참고하는 거죠)

inetd --> in.telnetd

tcp wrapper는 inetd가 직접 telnet이나 ftp등의 서비스를
부르지 못하게 하고 그 사이에 끼어들어서 

inetd --> tcp wrapper --> in.telnetd

처럼 호출 순서의 중간에 놓이게 됩니다. 그래서 inetd.conf를
보면 /usr/sbin/in.telnetd대신에 /usr/sbin/tcpd라고 나오는
거죠. tcpd(tcp wrapper)가 클라이언트 주소를 검사해보고
허용된 주소면 in.telnetd를 실행하게 됩니다.

sshd도 마찬가지로 설정할 수 있습니다. 왜 안 되겠습니까? ^^
심지어는 RPC 서비스도 tcp wrapper에 물릴 수가 있는 걸요.


---
어떤 성취가, 어떤 조롱이, 또는 어떤 고뇌가 나를 기다리고 있을지 나는 모른다. 
나는 아무 것도 모른다. 그러나 나는 아직 과거의 경이로운 기적의 시대가 영원히 
과거의 것이 되어 버리지는 않았다는 사실을 굳게 믿고 있다.  - Stanislaw Lem -
[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.