标题：8SIGNS FIREWALL
深入剖析8SIGNS FIREWALL
关于8SIGNS FIREWALL的简介，官方的介绍如下：
Quote: 
8Signs Firewall is a software firewall for administrators wanting to protect a Windows Internet server, and power users who want complete information and control over their network security. With these users in mind, the 8Signs Firewall includes features such as: 
·   Stateful Packet Inspection 
·   Tarpits 
·   Port Scan Detection - Server Only 
·   SYN Flood Detection 
·   Remote Administration Server Only 主界面如下图(3张)
·   IP Address Ban List 
·   HTTP Filtering 
·   MAC Address Filtering
概括起来就如下几点：
1、   状态包检查；
2、   Tarpits;(这个功能非常有用，允许你为黑客设置陷阱，减缓“蠕虫”病毒的传播速度和阻止垃圾信息的散发。通过设置Tarpits,你的系统接受外部TCP的连接，但从不回答也从不理睬它的它关闭连接的请求。这样一直耗着HACKER的资源，困陷其达几小时到几天不等。“以其人之道还其人之身”，这是8SIGNS FIREWALL的特色之一)
3、   端口扫描侦察（仅服务器版）；
4、   SYN洪水泛滥侦察；（也就是防止DDoS攻击）
5、   远程管理（仅服务器版）；
6、   IP地址禁止清单；（也即黑名单功能）
7、   HTTP过滤；
8、   基于MAC地址的过滤；
通过与其他包过滤类防火墙（如：LNS等）比较，8SIGNS FIREWALL的优点表现在：
1、   Tarpits;
2、   Port Scan Dtection;
3、   SYN Flood Dtection;
4、   IP Address Ban List;
5、   规则控制灵活、设置简单，用户容易上手，并且可以设置每个规则的生效时间段；
6、   支持多网卡；当然也有几个缺点很明显：1、   无应用程序过滤功能；
2、   规则不能同应用程序捆绑结合起来；
3、   状态包检测只提供TCP协议的检测，不提供UDP等别的协议的状态包检测功能。
资源占用：8SIGNS FIREWALL内存占用一般在6M左右，最高时发现有10M，CPU基本没有。所以说占用情况还比较理想，特别作为一款服务器使用的软墙，完全可以接受。请看我的机子的资源占用情况：
安装过程就不用说了，我们主要谈谈它的功能、设置等方面的问题：
主界面如下图：
左边为控制窗口区，给你一个快速接入到所有的设置和状态的区域。右边的窗口即是显示详细信息的区域。
控制窗口区：
Network Adapters:对监测的网卡进行配置和设置规则的地方，可以为不同的网卡建立不同的规则，设置不同的策略。这是我将要详细说明的地方。
Ban List:被拖入黑名单的IP清单；
Tarpit:即我们所说的陷阱，所有被困住的IP都在这个地方可以看到。
Ports:本机端口使用情况，这里可以详细看到目前所有程序使用端口的情况。
Connections:即本机目前与网络的连接情况；
Log:日志显示。
如果你使用了服务器版本的远程管理功能，你已连接的任意远端防火墙系统也在这个控制窗口区出现。这个功能我不打算本次详谈。防火墙的全局参数配置：依次点击菜单栏的view---settings..会出现如下窗口：
log file区：设置log文件的存放地址、大小、开始新LOG文件的时间以及是否给你邮寄LOG文件；
Startup区：设置8SIGNS FIREWALL是否随系统启动；
Shutdown区：当关闭系统时是否需要确认防火墙的关闭；
Administration区：当允许防火墙远程接入控制时在这里配置接入密码和端口；（注意，远程接入控制功能的实现还需要另下载一个软件）
When Not Running区：当防火墙没有运行时，是允许所有通信还是阻止所有通信就在这个地方设置。（这个功能也不错，你就不怕被病毒、木马意外终止防火墙而偷偷传送数据出去）
When Running区：防火墙运行时是采用“过滤”功能还是“允许所有适配器的所有通信”或“阻止所有适配器的所有通信”。当然我们选择“过滤”功能，“允许所有”、“阻止所有”作为应急措施，我们有更方便的快捷方式，这个在后面的说明中将会提及。刚上手8SIGNS时对规则制订不太清楚时，在这里可以开启“学习模式”。适配器配置：8SIGNS   除检测到系统安装的所有物理网卡以外，还有个Dial_Up Adapter,凡是使用拨号上网的用户，配置规则就要在这个地方设置，而实际的网卡需要设置为“允许所有”；但非拨号用户，如LAN用户等配置规则一定要在实际使用的那个物理网卡上配置。
点击相应适配器，选定Configuration后会在右边窗口看到如下图示：我只挑重要的说明在Controls区：
要想放行本适配器的所有通信就选择“Allow all traffic on this adapter”,想阻止本适配器的所有通信就选择“Block all traffic on this adapter”.这两个选项的功能还是比较实用的。这里也许有人要说了“这有什么实用的？其他不提供该功能的包状态检测防火墙一样可以实现这个功能，只要在最上面加一条允许所有通信或阻止所有通信不就成了？”这个想法没错，不过没考虑到占用资源及对网络流量影响的情况。在遇到网络大流量的情况，加一条允许所有通信的规则，这需要防火墙耗费系统资源比对过滤、检测该规则，会明显影响网络数据的传送速度；而8SIGNS的这个选项是直接跳过防火墙的监测，网络直接与系统通信，所以不会对网络速度造成影响。（这是对单个网卡设置的地方，如果要对所有网卡临时允许或阻止所有通信，只需要在系统状态栏8SIGNS RIREWALL的标识上点右键，选择“Allow All Traffic”或“Block All Traffic”即可。）
“Filter traffic on this adapter”即是根据本适配器上的规则设置过滤通信。“Use Stateful Inspection”即是使用状态包检测功能。状态包检测是8SIGNS FIREWALL的安全机制的核心，在非特殊需要的情况下请不要随意禁止它。禁止了状态包检测，8SIGNS的行为就只成了非常简单的包过滤了，每个包到达后，8SIGNS只简单地与规则进行比较，按规则设置的行为只做放行或拦截的动作。而启用状态包检测功能后，8SIGNS不但要与规则进行比较，而且还要判断该连接行为是否合法，如果不合法，就是规则允许也不会放行的。但8SIGNS FIREWALL只支持对TCP协议的状态包检测，对其他协议不支持。
Advanced：在这里设置默认的过滤选项。点击该按钮将出现如下界面：
8SIGNS FIREWALL提供了丰富的协议设置，不但有通用的TCP/UDP/ICMP/ARP/RARP外，还提供256种IP协议及上面未提及到的所有其他协议类型。这里设置当该适配器检测到一个数据包，不能与已有的所有规则相匹配时，默认情况下是允许呢还是拦截？以及是否要记录日志？Block旁边打上对号就是默认行为为拦截，无对号就是默认放行。“Steteful Inspection”只对TCP协议有效，也就是前面所说的“Use Stateful Inspection”的选项。“Sequence Number Hardening”是另一个特别重要的安全机制，所以非特殊需要一般不要取消，该功能通过改进序号产生的随机性，帮助保护WINDOWS避免通过最初序号猜测而进行的TCP欺骗连接。“Connection Timeout”非活跃TCP连接超时600秒（10分钟）自动断开连接，当然你也可以设置为别的超时时间，建议选此。
Configuration图右边部分为端口开放情况的直观显示，通过拉动ZOOM IN/OUT，可以直观看到0-65535范围内任意区域的本地、远端的TCP/UDP端口开放情况，红色表示端口关闭，绿色表示端口开放。Rule# [Port]内显示的是该区域中规则设置情况（即第几条规则，设置的是什么端口），点击某个规则后可以在左边的窗口看到该规则的详细设置。
在主界面控制窗口区点选某个适配器的RULES，我们就可以进行本适配器的规则设置了，具体图形如下示：
8SIGNS FIREWALL对规则的分类比较详细，从图就可以看出。 TCP/UDP/ICMP好理解，不多做说明；ARP地址解析协议，是将IP地址转换为网卡的物理MAC地址，在局域网中允许该协议是必须的；RARP是反地址解析协议，刚好与ARP协议相反，是由计算机的物理网卡地址寻找到它的INTERNET IP地址；MAC Address 即Media Access Control address，不说大家也知道—连接网络的设备的物理地址，用一个48-bit的十六进制数表示。
默认情况下，8SIGNS FIREWALL带有四个标准规则，分别是StandardDialupRules、StandardInternetRules、StandardLANRules、StandardRules，根据自己的使用情况，通过点击工具栏的“Import”按钮可以导入相应规则，当然也可以用此导入外部规则。然后在此基础上再建立属于自己的规则。