Home Map Index Search News Archives Links About LF
[Top Bar]
[Bottom
Bar]
[Photo of the
Author]
Javi Polo
�@��²���G �ڤ��~�Q�K���A �b�E�뤧�e�A ���M�O Catalan �Ǯո̡u�μ����v�����ǥ͡C �̤j������O�q����ǡA �ڧƱ�ӽ� UIB �q�L�A �H���׹q�dzq�T�A �åD�׹q����ǡC �ڳ��w�w�����֡A �åB�[�J�F�@�ӥs�� Niko-Chan's Kingdom ���ֹΡC �ڦ��ӫܦn���k�B�ͥs�� Xiska�A �j���N�o�ˡA �S��L�n�����F 0:)

�P�@���pô

TCPD �P�ϥ� IPFWADM �ӳ]�w������

[Ilustration]

���e�K�n�G �����n�a���СA �b�t�θ̳]�w inetd �A�ȡA �H�W�i�t�Φw������k�A �ڭ̧�J�I��b IPFWADM �o�Өt�κ޲z�u��A �H�� inetd �A�Ȫ��]�w�W���C




�����A �ڭ̥�����M����O inetd�C ²��a���A inetd �O�@�Ӧ��A�{���A �ΥH����D���s�W�����ɡA �Ҵ��Ѫ��U���A�ȡC �z���i��|�J��@���q���A ��w�]���p�å��]�w�n inetd �ӱ���Ҧ����A�ȡA �]���A �Ĥ@��ơA �K�O��X /etc/inetd.conf �ɮסA ���ˬd�����Dz{�s���A�ȥѥ����� ( �]�N�O�S�� "#" �Ÿ��}�Y�����X�椺�e )�C ���z���Ĥ@�ө��i�N�O�A ���D�u���ݭn�o���A�ȡA ���M�d�U�O�Ұʥ��A ���DZq���ϥΪ����A�{���̡A �i���æ����A �קK���H�Q�Φ����|�}�J�I���̦n��k�A �N�O���n�Υ��C ���]Ū�̤��䦳�@�� inet.conf �ɮת����e�A ���U�ӧڴN��Ķ�@�U���Y���N�q�C

�|�Ҩӻ��A �U���o�@��G
ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a

�Ĥ@�Ӧr�O�Ҵ��Ѫ��A�ȦW�� ( ���Ҥ������O "ftp"�A �ڭ̥i�H�t�~�b /etc/services �ɮ׸̡A �d�X���ҳs�����O���@�Ӱ� )�C

�ĤG�����O�Ҷ}�Ҫ� socket �����A���i�H�O�G stream ( �p���ҧY�O )�B dgram�B raw�B rdm�B �� seqpacket�C

���U�Ӫ����O�ҨϥΪ��q�T��w�A �z�������b /etc/protocols �ɮפ��ŧi�A �b�e�Ҥ��A �ڭ̰��w�z�w�g�b���ɸ̫ŧi�F TCP �q�T��w�C

�b�q�T��w����A ���۬O wait/nowait �����C ���F datagram (dgram) �������~�� socket�A ��L�����ӬO nowait�A �ܩ� datagram ������ socket�A �p�G���A�{���䴩�h������A ����ڭ����ӳ]�w nowait�A �p�G���A�{���Ȥ䴩��@������A ����г]�w�� wait�C ��]�O�h������t�ΡA ���䦬��s�u�n�D�ɡA ���|�Ұʤ@�ӷs�� process�A �M��A��쥻�� socket ���񱼡A �� inetd �i�H�~�� listen ��L���s�u�n�D�A �]���n�ϥ� nowait�C �b��@������t�Ϊ����X�A �h�ݭn�]�w�� wait�A �]�����A�{���|�@���u�ۦP�@�� socket�A �Ӥ���t�~���� process �H�ѳs���C �������~�A �٦��@�Ǯ榡�W���ܤơA �ڭ̥i�H�g�� nowait.50 �С� �N���u�ɶ����A �̦h�i�H�Ұ� 50 �Ӧ��A�{�� ( �q�t�@�Ө��רӬݡA �Ϊ̥i�H���A �O�����o��h�ӳs�u�n�D )�C ��w�]�ȬO 40 �ӡC

�Ĥ������A �����F���A�{���A �O�H����ϥΪ̪��W�٨Ӱ���A �b�o�ӨҤl���A ftp �O�H root �o�ӨϥΪ̦W�٨Ӱ���C

�Ĥ��ӥH�α��U�Ӫ����A �K�O���檺�{���P��ұ����ѼƤF�C �b�ڭ̪��Ҥl�����A ���A�{�� tcpd �Q�ҰʡA ���Y���F���A�{�� in.ftpd �P -l -a ���ѼơC ���U�ӡA �ڭ̴N�n�ӽͽͳ̦��쪺�����A TCPD ���]�w���D�C

��A tcpd �O�ӥΨӹL�o�s�u�n�D�����A�{���A ���|�ھڭ��Ӧ��A�{���Y�N�Q�ҰʡA �ӨM�w�����ǨơA �H�V���X�o�dzs�u�n�D�� IP ��}�A ���X�^�����ʧ@�C �Өs���|��򰵨M�w�A �h�� /etc/hosts.allow �P /etc/hosts.deny �o����ɮצp��]�w�C

��h�W�A /etc/hosts.deny �ɮ׬O�Ψӫ��w�ڵ��V���ǥD�����ѪA�ȡA �� /etc/hosts.allow �ɮ׫h�O�Ψӫ��w���\�V����ɧ�����ѪA�ȡC

�o����ɮת��]�w�榡�p�U�G
DAEMON: IP[: OPTION1 [: OPTION2 ]]

�W�z�� DAEMON�A �i�H�O�Q�n�Ұʪ����A�{���W�١A �p�e�Ҥ��ҥܪ� in.ftpd�A �Ϊ̬O ALL �o�Ӧr�A ���N���۩Ҧ������A�{���C

IP �i�H�O�Y�ӯS�w�� IP�A �άO�Y�� URL�A �άO�Y�@�d�� IP ( �� URL )�A �Ϊ̬O���@�U�|�����쪺�U�Φr�C

���F������w�Y�@�d�� IP ��}�A �Ҧp���A �ڭ̥i�H�o�˼g�G `123.32'�A �o�Ӫ��ܤ覡�A �N���F 123.32.XXX.XXX ���Ҧ� IP�A �P�˦a�A �� `.ml.org' �i�H�Ψӫ��w�Y�@�d�� URL�A ���N���Ҧ� ml.org ���U���l�����C

�H IP/MASK ���榡�ӫ��w�Y�@�d�� IP�A �h�O�󬰶DzΪ���k�A �|�Ҩӻ��A �q 127.0.0.0 �� 127.0.255.255�A ���@�d�� IP �i�Q���w�� 127.0.0.0/255.255.0.0

�e�����쪺�U�Φr���G
ALL �N���ɮ׸̡A �Ҧ��i�઺�ƭȳ��O���\��
LOCAL �|�ŦX��Ҧ��W�ٸ̨S�� ^�.^� ���D��
UNKNOWN �N���Ҧ��W�٩� IP ��}���������D��
KNOWN �N���Ҧ��W�٤� IP ��}�����w�����D��
PARANOID �N���Ҧ��W�ٻP IP ��}�ä��@�P���D��

�e�����쪺�ﶵ���G

allow ���� hosts.allow �P hosts.deny �ɮ׸̪��]�w����A �ŦX���@�]�w����̡A ��������s�u�n�D�C �o�ӿﶵ�]�w�A ���Ӹm��Ӧ檺�̫᭱�C
deny �����W�����ﶵ�]�w�A ���L�A ���O�Ψӫ��w�ڵ��s�u������C
spawn ������s�u�n�D�ɡA �|�Ұʤ@�өR�O�ߪ����O�A Ĵ�p���A �i�H�b�C�����H�Q�n�q�~���A �s�i�ڪ������ɡA ����@�ӹ��n�q���C
twist �o�өM spawn �ﶵ�����A ���L�A ���R�O�߫��O���槹����A �s�u���A�K�|���_�C ���@�ﶵ�A �P�˥����m��]�w�檺�̫᭱�C

�W�z���̫��ӿﶵ�A �٥i�H�t�X�A�����X�R�r���� tcpd �ϥΡA �o���X�R�r�����G

%a �Ȥ�ݥD������}
%c �Ȥ�ݪ���T ( �i��O�� user@machine�A �άO��L�ѫȤ�ݩұo����T )
%d
%h �b�i�H���o�����p�U�A �o�|�N���Ȥ�ݪ��W�٩� IP ��}
%n �Ȥ�ݪ��W��
%p ���A�{���� PID
%s ���A�ݪ���T ( �Ҧp daemon@machine �Υu�� daemon ����T�A �����p�өw )
%u �Ȥ�ݨϥΪ̪��W��
%% �o�O���� % �o�Ӧr��

�t�X�o���X�R�r���P�ﭶ�A �z�w�g�i�H���ܦh�ƤF�A �Ҧp�A �ڪ��D���H�]�w���A �@�����H�Q�n�g�� telnet �s�i�L���D���A �K�۰ʰe�X�@�� teardrop ���� :)

�����G teardrop �O�@�� Dos ( Denial of Service�A �|�y���t�έ��s�}���A �έ��s�_�l�ƪ������覡 )�C ���O�]�� TCP �ʥ]���ծɪ����Ӱ_�A �h�ƪ��@�~�t�γ����o�Ӱ��D ( �Ϊ̻��A �H�����@�~�t�άO�p���A �]���\�h���֤ߵ{���w�g�w�惡���D�A �[�H�ץ��F )�A �b InterNet �W����ơA �O�z�L TCP/IP �q�T��w�Ӷǰe ( ���@�q�T�w�A �b��L�����������W�]�i�H�ݨ�A Ĵ�p�� intranet �N�O )�A ��ڤW�A ���O��سq�T��w�G TCP �t�d�N��ơA �[�H���Φ��@�q�q���ʥ]�A �M��A�⥦�ǵ� IP �q�T��w�A �ѥ��e���ت��a�F �@����ưe�F�ت��D����A TCP �q�T��w�|�ˬd�A �O�_�Ҧ��ʥ]������A �M��A�N���̭��զ��쥻����ơC �M�ӡA �W�z ( �H�γ\�h�ھڦ��@��z ) �������覡�A �Q�Φh�ƪ��@�~�t�ΡA �b���իʥ]���e�A ���|�ˬd�ʥ]�L�p�����D�A �]���A �o�˪������b���իʥ]��A �N�|�o�Ϳ��ê����p�C ��M�a�A �惡�b�U�ä��T�w��ˤ~�O���㪺�����A �]���w��j�a���X�U������P�����C �n���A �g�L�W�z��²�u������A ���ڭ��~��...

�d�ҡG
#hosts.allow 

ALL: 127.0.0.1 # ���\ localhost �i�J���Ҧ���

in.ftpd: ALL: spawn (wavplay /usr/share/sounds/intruder.wav & )
# ���Ҧ��H���i�H�z�L ftp �i�J�A
# ���|�Ұʤ@���n���� ( �]�����i�Hĵ�i�� )

in.telnetd:  ALL: twist ( teardrop %h %h )
# �Ҧ��H�Q�n�z�L telnet ���ܡA
# �e�^�@�� teardrop ������

#fin
#hosts.deny

ALL: `.bsa.org'   # �T��Ӧ� bsa.org ���쪺�Ҧ��s�u

in.fingerd: ALL	  # �T��Ҧ��� fingerd �A�� :)

#fin

���� tcpd�A �ڷQ�����N�O�o�ǤF�A �]���ҾǦ����A �i�����o�����n�C �b�U����ij�O�A �յۥh����@�dz]�w���ءA �åB��Ū�u�W��U ( tcpd, host_acess(5) �� manual pages )�A �۫HŪ�̥i�H�DZo��کұЪ��٭n�h�C

���U�ӡA ���ڭ̶i�J IPFWADM �u��{���������C

�����A ���i�ίʪ��O�A �n��֤ߵ{�����A ���� IP Firewalling ���䴩�[�J ( Networking -> Network firewalls + IP: firewalling )�C ���U�ӡA ���s�sĶ�Ψt�έ��s�}����A �ڭ̴N�dzƦn�i�H�ϥγo�Ӥu��F�C

IPFWADM �i�H���ڭ̺޲z�Y�ǵ{�� ( �o�����ε{���A �ä�����ڦb���夤�Ҥ��Ъ� )�A �� TCP�B UDP�B ICMP �ʥ]���i�X���p�C ²��a���A �޲z���i�H�W�w���ǫʥ]�~���\�i�J�A �i�H���w������]�A�G �Ӧ۩�Y�� IP�B �άY�q IP �d�򪺥D���A ���@�ӯS�w���𸹡A ���@�دS�w���q�T��w�A �άO�W�z�U�ر��󪺲զX... �P�˦a�A ���dzưe���D���~���ʥ]�A �ڭ̤]�i�H�㦳�ۦP�{�ת��޲z����C

ipfwadm ���X�إD�n���ѼơG

  • -A ���w�O�� (accounting) ���B�z�覡
  • -I ���w�dzƶi�J�D�������ʥ] (incoming packets) ���B�z�覡
  • -O ���w�dzưe���D���~���ʥ] (outgoing packets) ���B�z�覡
  • -F ���w�ʥ]��e (forwarding) ���B�z�覡
  • -M �ΨӶi�� IP masquareding ���޲z

���夤�A �ڥu���⤶�� -I �P -O �ѼơA ���̨�̳��㦳�ۦP���y�k�C

�o�ǰѼƪ��ﶵ���G

  • -a �b����᭱�[�i�@�өΦh�ӳB�z�覡
  • -i �b����e���[�J�@�өΦh�ӳB�z�覡
  • -d �q����̭��R���@�өΦh�ӳB�z�覡
  • -l ��ܪ���W�����B�z�覡
  • -f �R������W���Ҧ����B�z�覡
  • -p ���w���ǫʥ]�@�w�Q acceppted (a)�B denied (d) �� rejected (r)
  • -c �ˬd�Y�ӫʥ]�dzƶi�J�ɡA �����έ��dzB�z�覡
  • -h ���U����
���n���ѼƦ��G

-P ���w�Y�Ӫ���W�A �B�z�覡�ҧ@�Ψ쪺�q�T��w�C �o�̪��q�T��w�A �i�H�O TCP�B UDP�B ICMP �� all ( ���ܩҦ����q�T��w )
-S ���w�ʥ]���ӷ���}�C ��榡���G ADDRESS[/MASK] [PORT]   �|�Ҩӻ��A ���o�� 123.32.34.0/255.255.255.250 25 �K�N���q 123.32.34.0 �� 123.32.34.5 �� IP �d��
-D ���w�ʥ]���ت���}�A ��榡�P -S �ۦP

��h�W�A �o�dz��O�̰򥻪��ѼơA �]���A �Q�n���Ҧ��q�ڪ��q���o�X���ʥ]�A �����F�ڦۤv���q���A �i�H�o�˳]�w�B�z�覡�G

ipfwadm -I -i a -S 127.0.0.1

�ٷQ�n�ױ��Ӧ۩� 123.34.22.XXX ���ʥ]�A �i�H�o�˳]�w�G

ipfwadm -I -a d -S 123.34.22.0/255.255.255.0

���U�ӡA �p�G���F 111.222.123.221 �o�� IP ���~�A �ڷQ�n�ױ��Ҧ���L��� netbios �𸹪��s�u�n�D�A �i�H�o�˳]�w�G

ipfwadm -I -a a -P tcp -S 111.222.123.221 139
ipfwadm -I -a d -P tcp -D 0.0.0.0/0 139

�n�a�A �ڷQ�o�N�O�峹�������F�A �g�o���I���n�A �ҾǤ����o O:)


����� Penelope Marr ��½Ķ

�D������ Miguel Angel Sepulveda ���@
© Javi Polo 1998
LinuxFocus 1998