\documentstyle{jarticle}
\topmargin -60pt
\oddsidemargin -40pt
\textwidth 500pt
\textheight 750pt

\title{tcp wrapper}
\author{ŷ� ����2ǯ ���ܽ���}
\date{4��26��������}

\begin{document}
\maketitle
\section{inetd}
UNIX�����ƥ�ؤΥͥåȥ����ͳ�Υ��������ϡ�sendmail�Τ褦�ʾ��󷿤�
daemon�ؤΤ�Τȡ�����Ϥ����˥��������׵᤬���ä����˵�ư������Τ�ʬ
�����ޤ���inetd�ϡ���Ԥξ��˥��������׵�������ꡢ�׵�˱�����
daemon�ʤɤ�ư���ޤ���

inetd�������/etc/inetd.conf�˵��Ҥ��ޤ������Υե�����ˤϥͥåȥ����
���Υ��������ͥåȥ���ۤ��Υե�����ž���ʤɤ�ʤ�ץ�������ư��
�뤿���ɬ�פʥǡ������񤤤Ƥ���ޤ����ޤ���/etc/inetd.conf�򸫤Ƥߤޤ���
�������餺��Ȥ�����ʻ����񤤤Ƥ���ޤ������ۤȤ�ɤϼ��Τ褦�ʥ�������
�ˤʤäƤ���Ȼפ��ޤ���
\begin{verbatim}
ftp	stream  tcp	nowait  root	/usr/libexec/ftpd	ftpd -l
\end{verbatim}
���줾��ι��ܤΰ�̣�ϡ���˥����ӥ�̾�������åȥ����ס��ץ��ȥ��롿
��wait|nowait�ѡ��桼��̾�������Хץ������̾�������Хץ����������Ȥʤ�
�Ƥ��ޤ�\footnote{�ܤ�����man inetd���ɤ�ǲ�������}���Ԥ���Ƭ�ˡ����Ĥ�
�Ƥ���Ԥϥ����ȹԤǡ���ۤɤΤ褦�ʹԤˤĤ��Ƥ������Ϥ��Υ����ӥ���
̵���ˤʤäƤ���Ȥ������ˤʤ�ޤ��������ӥ���ͭ���ˤʤäƤ����Τϡ���
������Υ���������������б�����ץ�������ư�����ޤ���

\section{tcp wrapper�Ȥ�?}
inetd��ͳ�Υͥåȥ������������ƻ뤷�������������¤�Ԥ��Τ�tcp
wrapper�Ǥ����㤨��telnet�ξ��ϡ��̾ﳰ������telnet�Υ������������ä�����
á���줿�ݡ���(����23��)�˱�����telnetd����ư�����������ޤ���tcp wrapper
������Ƥ����Ȥ��ϡ���������Υ���������ޤ�tcp wrapper������ꡢ���Υ�
�������������Ǥ���ȳ�ǧ�Ǥ��Ƥ���(�٤������꤬��ǽ)�����telnetd��ư
���ޤ���

\section{tcp wrapper������}
FreeBSD�ξ�硢������tcpd�Ȥ����̤Υץ��������Ѱդ���tcp wrapper���Ѥ�
�Ƥ��ޤ����������ߤ�inetd��tcp wrapper�ε�ǽ���Ȥ߹��ޤ�Ƥ��ޤ��Τ�tcpd
��𤵤��˥������������椬�Ԥ��ޤ���

inetd���Ȥ߹��ޤ�Ƥ���tcp wrapper��ͭ���ˤ���ˤϡ���
ư����{\tt inetd -wW}�Ȥ�����ɤ�\footnote{w�ϳ��������ӥ����Ф��ơ�W��
�Ȥ߹��ߤ����������ӥ����Ф��Ƥ��줾��tcp wrapper�򥪥�ˤ��ޤ���}���ޤ�
����ǥե���ȤǤ��Υ⡼�ɤǵ�ư����ޤ���

\section{������������}
tcp wrapper������IP���ɥ쥹�ˤ�äƥ��������ε���/���Ĥ����꤬�Ǥ��ޤ���
�����������Ԥ��ե�����ϡ�������/etc/hosts.allow��/etc/hosts.deny��
�����ե�����ˤ��줾����ĥۥ���/���ݥۥ��Ȥ򵭽Ҥ��Ƥ��ޤ����������ߤ�
����/etc/hosts.allow�˵��Ҥ���褦�ˤʤäƤ��ޤ���

�ޤ��Ϻǽ餫���Ѱդ���Ƥ���/etc/hosts.allow�򸫤Ƥߤޤ��礦��������Ϥ�
�륳���ȹԤ����餺����¤�Ǥ���Ȧ�Ǥ������Ф餯į��Ƥ����ȼ��Τ褦��
�Ԥ�����ޤ���
\begin{verbatim}
# The rules here work on a "First match wins" basis.
ALL : ALL : allow
\end{verbatim}
�����˽񤤤Ƥ���褦�ˡ����Υե�����ǤϺǽ�˥ޥå������롼�뤬Ŭ�Ѥ���
�ޤ�\footnote{�ޥå��������Ƥ��ʤ��ä����ϵ��ĥۥ��Ȥȸ��ʤ���ޤ���}��
�����ܤι�
�ϡ������ƤΥ����ӥ����Ф������ƤΥۥ��Ȥ���Υ�����������Ĥ���פȤ���
��̣�Ǥ����Ĥޤꡢ���Υǥե���Ȥξ��֤Ǥ�tcp wrapper�θ��̤����¾�̵��
�ˤʤäƤ������Ǥ��������ǡ����Υե������񤭴����Ƥ��ɬ�פ�����ޤ���

/etc/hosts.allow�ε��Ҥλ����ϼ��Τ褦�ˤʤ�ޤ���
\begin{verbatim}
daemon̾ : ���饤����ȥꥹ�� : ���ץ����
\end{verbatim}
\begin{itemize}
 \item daemon̾\\%
       ��ư�����daemon��̾��(ftpd��telnetd�ʤ�)�Ǥ��������ӥ�̾�ǤϤʤ�%
       ���Ȥ����դ��Ƥ���������ALL�ȵ��Ҥ��뤳�Ȥ����ƤΥͥåȥ���ǡ�%
       ������ꤹ�뤳�Ȥ�Ǥ��ޤ���%
 \item ���饤����ȥꥹ��\\%
       ����ޤǶ��ڤ�줿�ۥ���̾���ɥᥤ��̾���ͥåȥ��̾�Ǥ����ۥ�%
       ��̾�ϥɥᥤ��̾���դ�����ΤǤ⡢IP���ɥ쥹�Ǥ����Ǥ��ޤ���%
       �ɥᥤ��̾�Ϻǽ�˥ԥꥪ�ɤ�Ĥ��ޤ���
       ���饤����ȥꥹ�ȤǤ�ALL�ȵ��Ҥ��뤳�Ȥ����ƤΥ�����������ꤹ�뤳�Ȥ�%
       �Ǥ��ޤ���%
       %
 \item ���ץ����\\%
       ����Ū�ˤ����Ǥϡ�allow,deny�Ѥ����ꤷ�ޤ����ޤ����������ä���ۤ�%
       �Υ��ޥ�ɤ���ꤷ���ꤹ�뤳�Ȥ�Ǥ��ޤ���
\end{itemize}
�㡧
\begin{verbatim}
telnetd : 192.168.33. : allow
ftpd : 133.5.18.0/255.255.255.0 : allow
ALL : .db.is.kyushu-u.ac.jp : allow
ALL : ALL : deny
\end{verbatim}
1���ܤ�IP���ɥ쥹��192.168.33.*�Ǥ���ۥ��Ȥ����telnet���Ф��륢
����������Ĥ��ޤ���2���ܤ�Ʊ�ͤ�IP���ɥ쥹133.5.18.*�����ftp��
�Ф��륢����������Ĥ��ޤ���3���ܤϤ��٤ƤΥ����ӥ����Ф���
*.db.is.kyushu-u.ac.jp����Υ��������ε��Ĥ򼨤��ޤ���
4���ܤϤ��٤ƤΥ����ӥ����Ф��뤹�٤ƤΥ�����������ݤ��ޤ���

\subsubsection*{���漼�ˤ����륻�����ƥ��ݥꥷ��}
���漼�ˤ����Ƥϡ�����Ū�ˤ��������Υ����ӥ�������ƤϤ��٤ƤΥ���������
���ݤ��ޤ���

�ޤ���/etc/inetd.conf��ftp�ʳ��Υ����ӥ��Ϥ��٤�̵���ˤ�����
���������Τ�������ʤ��褦�ˤ��ޤ���
���ˡ�/etc/hosts.allow��񤭴����ޤ��������Ǥϡ���ۤ�ͭ���ˤ���ftp�ˤ�
���Ƹ��漼�Υޥ��󤫤�Υ���������133.5.18�饤���192.168.33�饤��ˤ���
�Τߥ�����������Ĥ��ޤ����ޤ���ssh�ˤĤ��Ƥϡʤ����餯�ˤ��٤ƤΥۥ���
����Υ�����������Ĥ��Ƥ��ɤ��Ǥ��礦�����ȤϤ��٤Ƶ��ݤ��ޤ���

\section{������������γ�ǧ}
�������������椬������ȤǤ��Ƥ��뤫�ɤ������ǧ����Τˤϡ�tcpdchk��
tcpdmatch��Ȥ��ޤ���

tcpdchk��¹Ԥ���ȡ�/etc/hosts.allow�ν񼰤ʤɤ������å�����ޤ���
�񼰤����꤬������ˤϷٹ𤬽Фޤ���

tcpdmatch�ϼ��Τ褦���Ѥ��ƥ����������¤��Ԥ��Ƥ���Τ����ǧ���ޤ���
\begin{verbatim}
tcpdmatch �����ӥ�̾ ����������
\end{verbatim}
�㤨��ftp�������������Ĥ���Ƥ�����ˤϼ��Τ褦�ʷ�̤�ɽ������ޤ���
\begin{verbatim}
% tcpdmatch ftpd �ۥ���̾
client:   hostname �ۥ���̾
client:   address  �ۥ��ȤΥ��ɥ쥹
server:   process  ftpd
matched:  /etc/hosts.allow line 1
access:   granted
\end{verbatim}
�ޤ����������������ݤ���Ƥ�����ˤϼ��Τ褦�ˤʤ�ޤ���
\begin{verbatim}
% tcpdmatch ftpd �ۥ���̾
client:   hostname �ۥ���̾
client:   address  �ۥ��ȤΥ��ɥ쥹
server:   process  ftpd
matched:  /etc/hosts.deny line 1
access:   denied
\end{verbatim}

\section{�ޥ˥奢��}
��äȾܤ�����������hosts\_options(5)��hosts\_access(3)�˽񤤤Ƥ���ޤ���
\begin{verbatim}
% man hosts_options
% man hosts_access
\end{verbatim}
�����Ϥ����ɤ�Ǥߤޤ��礦��

\end{document}
