һ. ����ǽ�ĸ���
��������������ͨ������û�Ⱥ������������������ǽ��һ���Ѿ������Ƿ����������ר�𣬴ּ�ͥ�û���֪��Ϊ�Լ�������װ���֡�����ǽ�������ˡ����ǣ������������û����ԡ�����ǽ�������˽�ģ�һ�����û�������Ϊ��������ǽ����һ�����������ơ���
����ʲô���Ƿ���ǽ����������ʲôλ�ã�����ʲô���ã�������ʷ�鼮��֪���Ŵ�������ʹ��ľ�ƽṹ���ݵ�ʱ��Ϊ��ֹ���ֵķ��������ӣ����ǽ���̵�ʯ������ڷ�����Χ��Ϊ���ϣ����ַ���������ͱ���Ϊ������ǽ����FireWall����ʱ��������ż����������ķ�չ�����ֹ��������ֶ�Ҳ��̳����ˣ�Ϊ�˱���������İ�ȫ�����ǿ�����һ������ֹ�����֮��ֱ��ͨ�ŵļ������������˹Ŵ�����������ܵ����֡���������ǽ��������Դ�ڴˡ���רҵ������˵������ǽ��һ��λ��������������䣬ʵʩ����֮����ʿ��Ƶ�������ϡ�������ͨ�û���˵����ν������ǽ����ָ�ľ���һ�ֱ��������Լ��ļ�������������֮��ķ���ϵͳ�������緢����������������ݶ�Ҫ���������жϴ����Ż�����ܲ��ܰ���Щ���ݽ����������һ�������к����ݣ�����ǽ�ͻ�����������ʵ���˶Լ�����ı������ܡ�
����ǽ�����ӵ�����ʼ������һ�̲�ͣ�ķ�չ�ţ����ֲ�ͬ�ṹ��ͬ���ܵķ���ǽ�������������ϵ�һ����������̡�
��. ����ǽ�ķ���
������û��һ��������Ψһ�ģ�����ǽҲһ����Ϊ�˸���Ч�ʵĶԸ������ϸ��ֲ�ͬ�����ֶΣ�����ǽҲ�ɷֳ����ַ����ܹ��������������ԣ�����ǽ��Ϊ�����࣬Ӳ������ǽ����������ǽ����������ǽ��һ�ְ�װ�ڸ�����������ת�������ط��������߶����ĸ��˼�����ϵ������������������ʽ���ڵģ�����ǽ�������ϵͳ������ͨ��������Ring0�������������ģ��ѷ������Ʋ���ϵͳ��������Ĵ������ֺ�����ӿ��豸����֮�䣬�γ�һ�����ϵķ�����ϵ��
��û����������ǽ֮ǰ��ϵͳ������ӿ��豸֮���ͨ����ֱ�ӵģ�����ӿ��豸ͨ��������������ӿڣ�Network Driver Interface Specification��NDIS���������ϴ����ĸ��ֱ��Ķ���ʵ�Ľ���ϵͳ����������һ̨��������յ������г����������й�����Դ�����ݱ��ģ�NDISֱ�Ӱ���������ύ��ϵͳ��ϵͳ�ڴ�����ͻ᷵����Ӧ���ݣ���ijЩ����¾ͻ������Ϣй©����ʹ����������ǽ����NDIS���յ���Ȼ����ԭ�ⲻ�������ݱ��ģ��������ύ��ϵͳ��ͨ���϶���һ��������ƣ��������ݱ��Ķ�Ҫ���������Ƹ���һ���Ĺ����жϴ�����ֻ������Ϊ��ȫ�����ݲ��ܵ���ϵͳ������������������Ϊ�й����ᵽ���г�������Դ����Ϊ��Σ�յġ�������ڷ���ǽ���ж��£�������Ļᱻ����������һ����ϵͳ���ղ������ģ�����Ϊʲô����Ҳû��������Ҳ�Ͳ������Ϣй©��ȥ�ˡ�
��������ǽ������ϵͳ�ӿ���NDIS֮�䣬���ڼ�������NDIS�����������ݣ�������Ķ�Ӳ����ǰ���±���ʵ��һ��ǿ�ȵİ�ȫ���ϣ�����������������ǽ��������������ϵͳ�ϵij����ɱ������Ҫռ��һ����CPU��Դά�ֹ������������������жϴ�����Ҫһ����ʱ�䣬��һЩ������������������������ǽ��ʹ����ϵͳ����Ч�ʺ����������ٶ��½���������Щ��������ǽ�����©���������к����ݿ����ƹ����ķ�����ϵ�������ݰ�ȫ������ʧ����ˣ�������ҵ�����ῼ������������ǽ������Ϊ��˾����ķ�����ʩ������ʹ�ÿ��ü������ŵ�Ӳ������ǽ��
Ӳ������ǽ��һ����������ʽ���ڵ�ר���豸��ͨ����������������IJ��Ӵ���ֱ�Ӵ������豸�ϼ������к������ݱ��ģ�λ�ڷ���ǽ�豸��˵�������߷��������յ����Ǿ�������ǽ���������ȫ�����ݣ���������ֳ�CPU��Դȥ���л��������ܹ���NDIS���ݼ�⣬���Դ����߹���Ч�ʡ�
Ӳ������ǽһ����ͨ�������������ⲿ����ӿ����ڲ�����������ҵ����֮����豸�������������ɷֳ����ֽṹ��һ������ͨӲ���������ǽ����ӵ�б��������Ӳ��ƽ̨��һЩ���ܾ���������UNIXϵ�в���ϵͳ�ͷ���ǽ���������ַ���ǽ��ʩ�൱��ר���ó�һ̨�������װ����������ǽ�����˲���Ҫ���������������⣬���Ͼ�����һ��IJ���ϵͳ������п��ܻ����©���Ͳ��ȶ����أ���ȫ�Բ�����������ã���һ������ν�ġ�оƬ����Ӳ������ǽ��������ר����Ƶ�Ӳ��ƽ̨��������������Ҳ��ר�ſ����ģ��������еIJ���ϵͳ��������Դﵽ�Ϻõİ�ȫ���ܱ��ϡ�������������Ӳ������ǽ������Ա������ͨ�������������ȥ���ù�������������Ӳ������ǽ����Ҫ�����ǰѴ�������ݱ��Ľ��й��˴�����ת����λ�ڷ���ǽ����������У������������Ӳ�����Ҳ�Ƿֵ��εģ�����Ӳ������ǽ�Ѿ�����ʵ�ֱȽϸߵ���Ϣ����Ч�ʣ�������һЩ������������Ҫ��ܸߵ���������ε͵ķ���ǽ��Ȼ���γ�ƿ�������Զ���һЩ����ҵ���ԣ�оƬ����Ӳ������ǽ�������ǵ���ѡ��
����Ҳ������ô�룬��ȻPC�ܹ��ķ���ǽҲ������ˣ���ô�������ַ���ǽ�������Լ��Ҽ�����Աר���ڳ�һ̨�������������ǽ�����ˡ���Ȼ������Ҳ�ǿ��Եģ����ǹ���Ч�ʲ����ܺ�������PC�ܹ�����ǽ��ȣ���ΪPC�ܹ�����ǽ���õ���ר���ļ���ϵͳ����Ӧ����ǽ����һ������ϵͳ����������ǽ���߶Ƚ��ܼ��ϣ������������Ĺ������ʾ�������Ҫ�߱��dz��ߵ��ȶ��ԡ�ʵ���Ժͷdz��ߵ�ϵͳ�������ܣ���ЩҪ���ǰ�װ�˶������ļ�������ܼ�����ģ����PC�ܹ�����ǽ��Ȼ���������������ã��۸�ȴ���ܴ�
��ʵ�����������ᷢ�֣�����������ҵ��������оƬ��Ӳ������ǽ��������PC�ܹ�����ǽ����ǰ���ᵽ�ļ�����������֧���ţ�Ϊʲô�����ž���Ӳ������ǽ��������ȱ���ˣ���̫���ˣ�����һ̨PC�ܹ�����ǽ�ijɱ����ٶ�Ҫ��ǧԪ���ߵ��ε�оƬ������ǽ����������ʮ��Ԫ���ϣ���Щ�۸���С��ҵ���ܳ��ܵģ����Ҷ���һ���ͥ�û����ԣ��Լ������ݺ�ϵͳ��ȫҲ����ר���õ�һ��Ӳ���豸ȥ�������ο�Ϊһ̨����ǽͶ����ʽ��������û�������ߵ��ĵ����ˣ��������û�ֻҪ��װһ�ֺ��õ���������ǽ���ˡ�
Ϊ����ǽ����ķ����ܶ࣬���˴���ʽ�ϰ�����Ϊ��������ǽ��Ӳ������ǽ���⣬�����ԴӼ����Ϸ�Ϊ���������͡�����Ӧ�ô����͡��͡�״̬���ӡ����ࣻ�ӽṹ���ַ�Ϊ��һ��������ǽ��·�ɼ���ʽ����ǽ�ͷֲ�ʽ����ǽ���֣�������λ�÷�Ϊ�߽����ǽ�����˷���ǽ�ͻ�Ϸ���ǽ��������ǽ���ܷ�Ϊ��������ǽ��ǧ������ǽ�������Ȼ��������࣬����ֻ����Ϊҵ��������ͬ���ˣ�����һ̨Ӳ������ǽ�Ϳ������ڽṹ����������������λ�ö��滮Ϊ������״̬�����ͱ߽����ǽ�������������Ҫ���ܵ��Ǽ�������ķ��࣬�����������͡�����Ӧ�ô����͡��͡�״̬�����͡�����ǽ������
��ô����Щ��ν�ġ��߽����ǽ��������һ��������ǽ������ʲô�����أ���ν���߽硱������ָ��������֮��Ľӿڴ��������ڴ˵ķ���ǽ�ͱ���Ϊ���߽����ǽ������֮��Ե��С����˷���ǽ��������ͨ���ǻ��������ķ���ǽ��ֻ����һ̨����������ݶ�����������������ݣ�����һ���ͥ�û�ʹ�õ���������ǽ������������ˡ�������һ��������ǽ���أ��������������һ̨̨Ӳ������ǽ�ˣ�һЩ����Ϊ�˽�Լ�ɱ���ֱ�Ӱѷ���ǽ����Ƕ��·���豸����γ���·�ɼ���ʽ����ǽ����
��. ����ǽ����
��ͳ�����ϵķ���ǽ������Ϊ�����࣬�������ˡ���Packet Filtering������Ӧ�ô�������Application Proxy���͡�״̬���ӡ���Stateful Inspection��������һ������ǽ��ʵ�ֹ��̶�ô���ӣ����������������ּ����Ļ����Ͻ��й�����չ�ġ�
1.�����˼���
������������ʹ�õ�һ�ַ���ǽ���������ĵ�һ��ģ���ǡ���̬�����ˡ���Static Packet Filtering����ʹ�ð����˼����ķ���ǽͨ��������OSIģ���е�����㣨Network Layer���ϣ�������չ���µġ���̬�����ˡ���Dynamic Packet Filtering�������˴���㣨Transport Layer���������֮�������˼��������ĵط����Ǹ��ֻ���TCP/IPЭ������ݱ��Ľ�����ͨ����������������Ϊ���ݼ�صĶ���ÿ�����ݰ���ͷ����Э�顢��ַ���˿ڡ����͵���Ϣ���з���������Ԥ���趨�õķ���ǽ���˹���Filtering Rule�����к˶ԣ�һ������ij������ij��������������˹���ƥ�䲢������Ϊ����ֹ����ʱ��������ͻᱻ�������ʵ������ù��˹�������÷���ǽ�����ø���ȫ��Ч���������ּ���ֻ�ܸ���Ԥ��Ĺ��˹�������жϣ�һ������һ��û���������Ա����֮�е��к����ݰ�������������ǽ�ı������൱�ڰ����ˡ�Ҳ������룬���û��������Ӳ����𣿵��DZ����ˣ�����ҪΪ����ͨ������û����ǣ������������˶��˽�����Э��ģ��������ǽ���߳����˹�����©���⣬����ֻ�ܵ��ű������ˡ�һЩ��˾���ö��ڴ������������˹���ķ�������������Ȼ���Է���һ���ּ�ͥ�û������Ƕ���ԱȽ�רҵ���û����ԣ�ȴ�����þ��Ǻ��£���Ϊ���ǿ��ܻ��и����Լ��Ļ��������趨�Ķ��Ĺ�������������պú��������Ĺ�������ͻ���û��������ˣ�����������������ͻ�ˣ�����ǽ����˭�ģ���ᵱ���������㿴������������Ҳ������Ϊ���ǵ���Щ���أ�������û�����ж��ٸ���Ʒ���ṩ���˹�����¹��ܵģ��Ⲣ���ܺ�ɱ�������IJ�������������ԭ�����Ტ�ۡ�Ϊ�˽�������������Ƶ����⣬���Ƕ����˼��������˸Ľ������ָĽ���ļ�����Ϊ����̬�����ˡ����г��ϴ���һ�֡�����״̬�İ����˷���ǽ����������Stateful-based Packet Filtering��������ʵ��ͬһ���ͣ���������ǰ����ȣ���̬�����˹����ڱ�����ԭ�о�̬�����˼������˹���Ļ����ϣ�����Ѿ��ɹ����������ӵı��Ĵ�����и��٣������жϸ����ӷ��͵����ݰ��Ƿ���ϵͳ������в��һ���������жϻ��ƣ�����ǽ�ͻ��Զ������µ���ʱ���˹�����߰��Ѿ����ڵĹ��˹�������ģ��Ӷ���ֹ���к����ݵļ������䣬�������ڶ�̬��������Ҫ���Ķ������Դ��ʱ������ȡ���ݰ����ݽ����жϴ����������뾲̬��������ȣ����ή������Ч�ʣ����Ǿ�̬�������Ѿ������˳��г��ˣ�������ѡ��ģ���Ҳֻ�ж�̬�����˷���ǽ�ˡ�
���ڰ����˼����ķ���ǽ����ȱ���Ǻ������ģ������Խ�������������һ�����ݶ����ڹ��˹����ʵʩ������ƫ�ֲ������㽨����ϸ�����Ҫ���������ͷ���ǽ���ܳɷ��ȣ���������ֻ�ܹ����������ʹ���㣬�������жϸ�Э����������Ƿ��к����������������ۣ�����ʵ�֣���������Ȼ�����ڸ��������ڼ�����ԱƵ����������Ϊ���ǹ����š�
2.Ӧ�ô�������
���ڰ����˼������ṩ���Ƶ����ݱ�����ʩ������һЩ����ı��Ĺ�������ʹ�ù��˵ķ�������������Σ������SYN������ICMP��ˮ�ȣ������������Ҫһ�ָ�ȫ��ķ���ǽ�����������������������£����á�Ӧ�ô�������Application Proxy�������ķ���ǽ�����ˡ����ǵĶ����ǵá��������ĸ����𣿴�����������Ϊһ��Ϊ�û����ܻ���ͻ�Ʒ������Ƶ�����ת��ͨ������������Ӧ�ù㷺�����Ƕ�֪����һ�������Ĵ����豸����һ������˺Ϳͻ��ˣ�����˽��������û��������������Ŀͻ���ģ��һ�������û���������ӵ�Ŀ����������ٰ�Ŀ����������ص�����ת�����û������һ�δ����������̡���ô�������һ̨�����豸�ķ���˺Ϳͻ���֮������һ�����˴�ʩ�أ�������˼�������ˡ�Ӧ�ô���������ǽ�����ַ���ǽʵ���Ͼ���һ̨С�͵Ĵ������ݼ����˹��ܵ���������������Transparent Proxy���������������ǵ�������һ�������豸��Ƕ������˼���������һ�ֱ���Ϊ��Ӧ��Э���������Application Protocol Analysis�����¼�����
��Ӧ��Э�����������������OSIģ�͵���߲㡪��Ӧ�ò��ϣ�����һ�����ܽӴ������������ݶ���������ʽ��Ҳ����˵������ǽ�������������ݺ����ǿ�������һ���ģ�������һ�������ŵ�ַ�˿�Э���ԭʼ���ݵ����ݰ������������ʵ�ָ��������ݼ����̡�������������ǽ������ӳ��Ϊһ������·�����û�����������·����������֮������Ӳ�û���κ��谭������������ӵ������շ�ʵ�����Ǿ����˴�������ǽת��ģ���������ݽ����������ǽ�Ŀͻ���ʱ����Ӧ��Э�������ģ������Ӧ�ò�Э�鴦��������ݣ�ͨ��Ԥ�õĴ�������û�������ǹ�����ǽ�벻������ѯ��������Ƿ����Σ����������һ����Ե��Ѿ�������������ı���Э�飬��������ʶ�������ڡ�GET /sql.asp?id=1 and 1�����������ݣ����Է���ǽ�����ܸ������ݲ��ṩ����Ϣ�ж����ݣ����������Ա������������־�������������ݱ�Σ�����������ڹ�����Ӧ�ò㣬����ǽ������ʵ��˫�����ƣ��ڹ����ⲿ�����к����ݵ�ͬʱҲ������ڲ��������Ϣ������Ա�������÷���ǽʵ��һ��������֤������ʱ�Ĺ��ܣ���һ����ֹ�ڲ�������Ϣй©��������������ڴ�������ǽ��ȡ�Ǵ������ƽ��й��������ⲿ����֮���ͨ�Ŷ����Ⱦ���������������ˣ�ͨ�������ɴ������������ӣ�����û�и��ָ������ⲿ�������ߵļ����ֱ�ӻỰ�Ļ��ᣬ���Ա���������ʹ�á�����������������ʽ��һ����ͨ�������˼�������ǽ��������ݱ��ģ����ǵ�����������������ȴ����ܹ���ϵͳ���ú��û����ݵĶ�����룩���ڲ����磬����˵����Ӧ�ô������DZȰ����˼��������Ƶķ���ǽ������
���ǣ��ƺ��κζ������������ӱܡ�ī�ƶ��ɡ��Ĺ������ͷ���ǽ�Ľṹ����ƫƫ�����������ȱ�㣬�������ǻ��ڴ��������ģ�ͨ������ǽ��ÿ�����Ӷ����뽨����Ϊ֮�����Ĵ�����������ϣ�����������������Ҫ����һ��ʱ��ģ����ο����������ﻹ��һ���ӵ�Э�����������ͬʱ����������������ͨ����������ǽʱ�Ͳ��ɱ���ķ������ݳ��������������˵����ÿ�����������ھ�����������ǽʱ�����ȱ���������Һȱ����������ټ�����·���������Ĺ����ٶȲ����ܺܿ졣��������ǽ���������ٶ�Ϊ���ۻ�ȡ�˱Ȱ����˷���ǽ���ߵİ�ȫ���ܣ����������������Ǻܴ������£�Ҳ���û���������ʲô��Ȼ���������ݽ���Ƶ����ʱ�̣���������ǽ�ͳ������������ƿ��������һ������ǽ��Ӳ������֧�Ų�ס��ǿ�ȵ����������������չ�������������ܾͻ����̱���ˡ����ԣ���������ǽ���ռ���Χ��ԶԶ�����������ͷ���ǽ��������������ǽ������Ǽ���û�������Ʋ�Ʒ�ˡ������������߱�����������������������Ծ�Ŀǰ�����Ӵ����������ǽ�г���˵����������ǽ����������֮�ء�
3.״̬���Ӽ���
���Ǽ̡������ˡ������͡�Ӧ�ô�����������չ�ķ���ǽ����������CheckPoint������˾�ڻ��ڡ������ˡ�ԭ���ġ���̬�����ˡ�������չ�����ģ���֮���Ƶ��������������Ϸ�չ�ġ���Ȱ���⡱��Deep Packet Inspection�����������ַ���ǽ����ͨ��һ�ֱ���Ϊ��״̬���ӡ���ģ�飬�ڲ�Ӱ�����簲ȫ����������ǰ���²��ó�ȡ������ݵķ���������ͨ�ŵĸ������ʵ�м�⣬�����ݸ��ֹ��˹���������ȫ���ߡ�
��״̬���ӡ���Stateful Inspection�������ڱ����˶�ÿ�����ݰ���ͷ����Э�顢��ַ���˿ڡ����͵���Ϣ���з����Ļ����ϣ���һ����չ�ˡ��Ự���ˡ���Session Filtering�����ܣ���ÿ�����ӽ���ʱ������ǽ��Ϊ������ӹ���һ���Ự״̬���������������������ݰ���������Ϣ���Ժ�������Ӷ��������״̬��Ϣ���У����ּ��ĸ���֮�����ܶ�ÿ�����ݰ������ݽ��м��ӣ�һ��������һ���Ự״̬����˺�����ݴ��䶼Ҫ�Դ˻Ự״̬��Ϊ���ݣ�����һ�����ӵ����ݰ�Դ�˿���8000����ô���Ժ�����ݴ�����������ǽ��������������Դ�˿ڻ��Dz���8000������������ݰ��ͱ����أ����һỰ״̬�ı�������ʱ�����Ƶģ��ڳ�ʱ�ķ�Χ�����û���ٽ������ݴ��䣬����Ự״̬�ͻᱻ������״̬���ӿ��Զ����ݽ��з������Ӷ������˴�ͳ����ǽ�������ڼ�����ͷ����Ϣ�ļ�����㣬�������ַ���ǽ���ؿ��Ź���˿ڣ���һ���ž��˿�����Ϊ���Ŷ˿ڹ���������İ�ȫ������
����״̬���Ӽ����൱�ڽ���˰����˼�����Ӧ�ô�����������������Ƚ��ģ���������ʵ�ּ������ӣ���ʵ��Ӧ���л�����������������ȫ��Ч�����ݰ�ȫ��⣬������һ��ļ����Ӳ��ϵͳ�Ϻ�����Ƴ����ڴ˼��������Ʒ�����ʩ�������ϴ���������ǽʹ�õ���ʵֻ�ǰ����˼�������һ�����������Զ��ѣ���
��. ����չ��
����ǽ��Ϊά�����簲ȫ�Ĺؼ��豸����Ŀǰ���õ����簲ȫ�ķ�����ϵ�У�ռ���ž������ص�λ�á��������������ķ�չ������Ӧ�õ��ռ���Խ��Խ�����ҵ����嶼��������ͬ�̶ȵİ�ȫ���⣬����г��Է���ǽ���豸����ͼ���Ҫ���ڲ�������������Խ��Խ�Ͼ������簲ȫ����ҲҪ�����ǽ�����и������ߣ������������һ�������ַ�ʱ�����ߡ�
��ܡ��߰�ȫ�Եķ���ǽ�������û�����������ǣ���ǰ����Ҫȷ�����������Ч�ʣ�����ڷ���ǽ��չ�����У�����ʼ�ս������ܷ�����Ҫλ�ã�Ŀǰ���������ڳ��������Ŭ�������ҷḻ�IJ�Ʒ����Ҳ���û�ѡ�����ǽ������֮һ��һ�����Ƶķ���ǽ��Ʒ��Ӧ�ð����з��ʿ��ơ������ַת������������֤����־��ƵȻ������ܣ���ӵ���Լ���ɫ�İ�ȫ��ؼ��������������ȣ�����ķ���ǽ����������η�չ����������Ŀ�Դ���