����
����ʸ�ϤǤϡ�iptables��Ȥä��ѥ��åȥե��륿��󥰤δ�ñ������λ�����Ҳ𤷤Ƥ��ޤ����ѥ��åȥե��륿��󥰤μºݤα��Ѥ˴ؤ��ƤϳƼ�����Ǥ�򤪼�꤯��������ɮ�Ԥϰ��ڤ���Ǥ���餤�ޤ��󡣤ޤ����Ƥϡ�2001ǯ10��ߤΤ�ΤǤ����ǿ��ξ�����碌�Ƽ������뤳�Ȥ򤪤����ᤷ�ޤ���
�ܼ�
�������ƥ���ͤ��ơ�ssh��tcp_wrapper��ȤäƤ��롢�Ȥ����ͤϷ빽���뤫�Ȼפ��ޤ����������ƥ���¿�ؤ��ɸ椬ɬ�פǤ����������ѿ����Ƥ��ꤹ�����Ȥ������ȤϤ���ޤ��󡣤�äȤ⥳���Ȥ����������ٳ��뤷�ƤϻȤ��륷���ƥ�ˤϤʤ�ޤ��󡣲��������äѤʥ������ƥ������ƥ�˵����������ΰ�ĤǤ����ѥ��åȥե��륿��󥰤Ǥϡ�ɬ�פʥ����ӥ��Τ���Υѥ��åȤ��̤�������ʳ��Υѥ��åȤ���Ǥ��뤳�Ȥ�¸����ޤ�����������ݻ������ޤޤǥ������ƥ��������Ǥ���櫓�Ǥ����������ʤ���Ϥ���ޤ��󡣤�����Linux kernel 2.4��Ƴ�����줿netfilter��Ȥäơ��ѥ��åȥե��륿��󥰤ˤ���ɤ�Ĥ�����ˡ�δ��ܤ��������ޤ���
�ƥǥ����ȥ�ӥ塼�����Υѥå������ǥ��󥹥ȡ���Ǥ�����ϼ���ˤ�����Ǥ��������������Ǥϥ��������饤�󥹥ȡ��뤹����ˡ�ˤĤ��Ƶ��Ҥ��Ƥ��ޤ����ޤ���netfilter�Υڡ����ˤ��ä�tar ball�򤪤Ȥ��Ƥ��ޤ������θ塢
%
tar xvzf /some/where/iptables-1.2.2.tar.gz
%
cd iptables-1.2.2
%
./configure && make
%
su
#
make install
�ǥ��󥹥ȡ��뤷�ޤ���
����kernel��ƹ��ۤ��ޤ���ɬ�פǤ���С�iptables�����ۤ˴ޤޤ�Ƥ���(���Τ���kernel�˴ޤޤ�Ƥ��ʤ�)patch�򤢤Ƥޤ���
#
cd patch-o-matic
#
./runme
��°�Υɥ�����ȡ��ޥ˥奢����ܤ��̤��Ƥ���������HOWTO��FAQ�ʤɤ⻲�ͤˤʤ�ޤ�����������ǽ�ʬ�狼�äƤ��ޤ��С�����ʸ�ϤΰʹߤϤޤä����ɤ�ɬ�פϤ���ޤ��󡣰ʲ��Ǥϥ��ޥ�ɤΥ��ץ�������Ϥ狼��/Ĵ�٤��뤳�Ȥ�����Ȥ��ޤ����������ߤʤ��顢ʷ�ϵ���Ĥ���Ǥ�餦�Τ������Ǥ���
�Ȥꤢ����IP masquerade��Ȥ��������Ȥ������ˤϼ��Τ褦�ˤ��ޤ���
#
iptables -t nat -A POSTROUTING -o $PPPINTERFACE -j MASQUERADE
#
echo 1 > /proc/sys/net/ipv4/ip_forward
$PPPINTERFACE��ppp��interface(ppp0�ʤ�)�Ǥ���2���ܤ�ip_forward�������˺���줬���ʤΤ����դ��Ƥ���������
�������ƥ���ͤ�����ˤϥݥꥷ���Ȥ�����Τ����ɬ�פ�����ޤ����ɤΤ褦���̿����������Ϥä�����ʤ��Ȥ����ޤ��󡣤��Τ���ˤϤ��Υޥ��󤬤ɤΤ褦����Ū�˻Ȥ��뤫��Ϥä��ꤵ���ʤ��ƤϤ����ޤ��󡣤ޤ�������Ū�ʥ��饤����ȤǤ���Ȥ��ޤ���
���˥ͥåȥ����ͳ�Ǥ��뤳�Ȥ򤺤餺���¤٤Ƥߤޤ���web, mail, ftp, ssh���㤨�Ф���4�Ĥ��ǽ�ˤ���Ȥ��ޤ���ssh��daemon�ⵯư����Ƥ��ꡢ�������login��������Ȥˤ��ޤ����ФƤ������Υѥ��åȤϤʤˤ⤷�ʤ����Ȥˤ��ơ���������äƤ����������¤򤹤뤳�Ȥ�ͤ��ޤ���
�ѥ��åȥե��륿��󥰤Ǥϡ��롼�뤬���ꤵ��Ƥ��ꡢ���äƤ���ѥ��åȤ򸡺����ơ����ꤷ���롼��˽��äơ��̤����ꡢ�̤��ʤ��ä��ꤷ�ޤ������Υ롼��򤳤줫�����ꤷ�Ƥ����ޤ����ɤΥ롼��ˤ�ޥå����ʤ��ѥ��åȤϥǥե���ȤΥݥꥷ���ˤ�äƽ�������ޤ��������Ǥޤ����Υǥե���ȤΥݥꥷ�������ꤷ�ޤ���
#
iptables -P INPUT DROP
#
iptables -P OUTPUT ACCEPT
#
iptables -P FORWARD ACCEPT
�ǥե���ȤǤϥѥ��åȤϤʤˤҤȤļ����Ȥ�ޤ��󡣤������Ƥ����ơ��̤��ѥ��åȤ�����Ū�˻��ꤷ�Ƥ����ޤ����̤��ѥ��åȤ�Ǿ��¤ˤ��뤳�Ȥ�����Ǥ���
�������äƤ���Τ���Ĥ���ѥ��åȤ���ꤹ��롼������ꤷ�ޤ����ޤ���lo interface���̤�ѥ��åȤ��̤��ޤ���
#
iptables -A INPUT -i lo -j ACCEPT
���ˡ�����connection��ĥ���Ƥ����̿�����Ĥ��ޤ��������connection��Ϥ뤿���bind�����ݡ��Ȥ��狼��ʤ��Ƥ�ѥ��åȤ�ή������ĤǤ��ޤ���web,mail,ssh(client)�ˤĤ��ƤϤ���ǽ�ʬ�Ǥ���
#
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
����state�ˤ��ѥ��åȥե��륿��󥰤ϤȤƤ⶯�Ϥǡ�2.4��netfilter�λ�ʪ�Ǥ���conntrack�Ȥ��������ˤ�ꡢestablished(��³����Ω���Ƥ���)�ʥѥ��åȤϤ�Ȥ�ꡢrelated(��³����Ĥ����ѥ��åȤΥץ��ȥ���˴�Ϣ�Τ���ftp-data�Τ褦�ʥѥ��å�)����³����ĤǤ��ޤ���
����icmp����Ĥ��ޤ�������ϥݥꥷ���ˤ��Τ��Ե��Ĥˤ���٤��ʾ��⤢��ޤ��������ΤǤ����狼��䤹�������ȡ�ping���̤����̤��ʤ����Ǥ�����ECHO�ʤɤ���Ƥ�FRAG_NEEDED���̤��褦�ˤ��Ƥ��������ˡ�
#
iptables -A INPUT -p icmp -d $MYSELF -j ACCEPT
$MYSELF�ϼ�ʬ��IP address�Ǥ�������Ū��IP����ꤹ���broadcast�ˤϱ����ʤ��ʤ�ޤ������Τ������ݥꥷ���ˤ��ޤ���
���ơ��ĤäƤ�Τ�ftp��ssh(daemon)�Ǥ���������Ϥɤ����connection�򤳤��餫��Ϥ�ΤǤϤʤ��������Ĥ���ɬ�פ�����ޤ���sshd������ñ�ˤ��ޤޤ��̤�ACCEPT��������Ǥ���ftp�����ϡ�passive�Ǥʤ�ftp-data connection������Ĥ���ΤǤ���������Ͼ�Ҥ�related�ˤ�ä��̤����Ȥ��Ǥ��ޤ�(��ip_conntrack_ftp, ip_nat_ftp)���Ǥ����顢
#
iptables -A INPUT -p tcp -d $MYSELF --dport ssh -j ACCEPT
�Ǥ������Ȥˤʤ�ޤ���
��Υѥ��åȡ��㤨�С�telnet�ǤĤʤ��Ǥ��褦�Ȥ����ѥ��åȤʤɤϼΤƤ��ޤ���DROP�ϼΤƤƤ⥨�顼�򼨤��ѥ��åȤ��֤��ޤ����֤��褦�ˤ������REJECT��Ȥ��ޤ��������μΤƤ���ѥ��åȤ�����ˤȤäƤ����Ȥ褤�Ǥ��礦�������ˤȤ�ˤϼ��Τ褦�ˤ��ޤ���
#
iptables -A INPUT -j LOG --log-prefix "Bad packet: "
���Υͥåȥ������Υѥ��åȤȥ�������ͥåȥ������Υѥ��åȤȤǤϰ������Ѥ������Ȥ������ȤϤ褯���뤳�ȤǤ��礦������ˤ�chain���Ѥ��ޤ���chain�ϥ��֥롼����ߤ����ʤ�Τǡ��ޥå������ѥ��åȤ�target�˽񤫤졢����chain�ΰ�Ϣ�Υ롼�뤬Ŭ�Ѥ���ޤ���chain�ν�ü�ޤǤ���ȡ���Ȥ�chain�μ��Υ롼�뤫��ޥå���Ƴ����ޤ����¤�INPUT,OUTPUT,FORWARD��chain�����̤�built-in chain�ʤɤȸƤФ�ޤ���
�ޤ�chain����ޤ���
#
iptables -N localnet
��������ͥåȥ������Υѥ��åȤ򡢤���chain�˰ܤ餻��ˤϼ��Τ褦�ˤ��ޤ���
#
iptables -A INPUT -s $MYNET -d $MYSELF -j localnet
��������ͥåȥ������sunrpc�ؤΥѥ��åȤ���Ĥ���ˤϼ��Τ褦�ˤ��ޤ���
#
iptables -A localnet --dport sunrpc -j ACCEPT
��������ͥåȥ�����������ѥ��å��������̤��Ǥ�����ĤȤ�������򤹤�ΤϳڤǤ�����������Ǥ��ޤ��������������Υޥ��󤬴������������ﳲ�����礷�Ƥ��ޤ�����Ǥ�����������ͥåȥ������Υѥ��åȤȤ����ɤ��̤��ѥ��åȤϺ���¤��ޤ�������򤷤Ƥ���������
�����Ǥϡ�����¾�Τ������������󤲤Ƥ����ޤ����ޤ���web server�Ǥ�����Ϥɤ�����Ф����Ǥ��礦����ñ�Ǥ���www port������Ĥ���褦�ˤ��ޤ���
#
iptables -A INPUT -p tcp -d $MYSELF --dport www -j ACCEPT
���뤵��netbios�Υѥ��åȤ��̤��Ƥʤ��ΤϤ����ΤǤ�����������¿���ƺ���Ĥ���������������Ū��DROP���ޤ�����������Х����ˤȤ��ޤ���
#
iptables -A INPUT -d $MYSELF --dport netbios-ns -j DROP
#
iptables -A INPUT -d $MYSELF --dport netbios-dgm -j DROP
#
iptables -A INPUT -d $MYSELF --dport netbios-ssn -j DROP
IRC��DCC�ǡ��ץ饤�١��ȥ��ɥ쥹�������³�׵�Ϥ��ΤޤޤǤ��̤�ޤ��󡣤����Ȥ������Ȥ������ϡ�ftp�Τ褦�����Ѥ�module��Ȥ�ɬ�פ�����ޤ�������module��2.4.7���ߡ�kernel�ˤȤꤳ�ޤ�Ƥޤ���iptables��patch-o-matic��Ȥ�ɬ�פ�����ޤ���IRC��Ϣ��patch�򤢤Ƥơ�kernel�����ꤷ�ƺƹ��ۤ��Ƥ������������IRC��server��port����ꤷ��module���Ȥ߹��ߤޤ���port�ϥ���ޤǶ��ڤä�ʣ������Ǥ��ޤ���
#
modprobe -k ip_nat_irc ports=6667
#
modprobe -k ip_conntrack_irc ports=6667
�ץ饤�١��ɥ��ɥ쥹����ä�client���ѥ��åȥե��륿��󥰤򤷤Ƥ���ˤ�ip_conntrack_irc���������ɤ��Ƥ������������������related���̤�褦�ˤʤ�ޤ���
kernel�ˤ�¾�ˤ⥻�����ƥ��˴ؤ������꤬�����Ĥ��Ǥ��ޤ����㤨�С�IP spoofing���ɤ�rp_filter��syn cookie�ʤɤ�����ޤ���syn cookie��kernel�����ꤷ�Ƥ�default�Ǥ�Í���ˤʤ�ޤ��󡣰ʲ��Τ褦�ˤ��ޤ���
if [ -f /proc/sys/net/ipv4/tcp_syncookies ]; then echo 1 > /proc/sys/net/ipv4/tcp_syncookies fi