防火墙是电脑的重要安全壁垒,为了提高电脑数据的安全,防止黑客入侵,微软在Windows中集成了防火墙程序。在这一章中,将介绍常用的防火墙管理命令,利用这些命令可以快速设置、关闭防火墙
阻挡黑客前进的关键——防火墙
防火墙是防御黑客攻击的重要安全屏障。如果网络上的目标主机已经启用了防火墙,要入侵和控制目标t机,往往需要突破防火墙的限制。
防火墙作用简目前,防火墙总体上可以分为两大类:
.一是软件防火墙,需要安装在操作系统上,方便进行安全设置。通常我们所说的Windows防火墙、瑞星防火墙、诺顿个人防火墙、安全之星、ZoneAlann、McAfeePersonalFirewali等均属于软件防火墙,是个人电脑最重要的安全工具之一。图4-1为“Windows防火墙”对话框
A1.png
二是硬件防火墙,有的硬件防火墙安装在经过优化的UNIX、Liriux和FreeBSD等操作系统中,较适用于小型企业;有的硬件防火墙采用专门的ASIC芯片,并配置了专用的操作系统。著名的生产厂商有NetScreen、FortiNet、Cisco等,这种防火墙具有速度快、处理能力强和漏洞少等优点,但价格比较昂贵
无论是软件防火墙还是硬件防火墙,它们的作用均有共同之处,包括:
·监控网络问传送的数据。
·扫描网络通信,过滤一些攻击。
·关闭不使用的端口,禁止特定的端口通信,以封锁木马。
·过滤不安全的服务和协议,防止外部入侵者利用这些服务和协议来攻击网络。
·强化网络安全策略,集中管理所有安全软件
·监控审计网络数据,记录经过防火墙的访问日志,统计网络数据并在发现有威胁的数据时报警。
·防止内部信息泄漏,防止内部网络的DNS信息、用户登录情况、域名和lP地址等信息被外部网络获知。
·命令行修改防火墙的优势
·通过远程网络入侵主机时,可以使用命令行修改系统防火墙,它具有以下优点:
·操作便捷,执行速度快。
·无论防火墙是否开启都可以设置。
·可以将常用的命令创建为批处理文件,以便快速、定时执行这些命令。
·对网络上的主机执行溢出攻击后,远程控制被入侵的主机时,通常只有CLI(CommandLineInterface.命令行输入界面)Shell,这时可以通过命令行来修改系统防火墙,开放指定的端口或放行程序,为入侵提供了方便。
查看Windows防火墙
在WindowsXP系统中,可以通过控制面板来查看Windows防火墙的开扁状态和配置信息,方法如下:
Stepl单击“开始”按钮,选择“控制面板”命令,打开“控制面板”窗口。
StopZ单击“安全中心”链接文字,然后单击“Windows防火墙”链接丈字,4-2
A2.png
Step3打开“Windows防火墙”对话框后,在“常规”选项卡下可以选择启用或关闭防火墙,4-3,如果电脑处于公共网络,还可以阻止所有外部连接访问本机。
A3.png
Step4切换至“例外”选项卡,在“程序和服务”列表中可以查看当前允许,阻止访问网络的程序和服务名称,4-4。其中,处于选中状态的程序和服务允许访问网络。此外,还可以手动添加允许/阻止访问网络的程序或端口。
A4.png
Step5切换至“高级”选项卡后,可以设置要应用防火墙的网络连接、安全日志、ICMP配置等参数,4-5。
在WindowsXP系统中,Windows防火墙日志默认保存在C:\WINDOWS\pfirewall.Iog(这强假设系统安装在C盘),用户可以通过记事本查看日志的内容,方法如下:
Stepl启动记事本程序后,单击“文件”按钮,在其下拉菜单中选择“打开”命令,4_15。
A5.png
Step2出现“打开”对话框后,定位至C:\WINDOWS目录,然后在“文件类型”下拉列表中选择“所有文件”选项,最后选择pfirewall.log文件并单击“打开”按钮,即可查看最近的防火墙日志记录,4-7。
A6.png
命令方式修改防火墙常用设置
如果要在本地电脑设置Windows防火墙,可以通过GUI界面快速完成。如果因溢出或入侵成功而获得的cmdshell,则需要以命令方式设置防火墙
防火墙命令简介
在WindowsXP系统中,是使用Netshfirewall命令来配置Windows防火墙的,详细的命令及说
明如下:
.Netshfirewall?:显示命令帮助信息。
·Netshfirewallhelp:显示命令帮助信息。
·Netshrirewaliadd:添加防火墙允许的程序或端口配置。
·Netshfirewalldelete:删除防火墙允许的程序或端口配置。
·Netshflrewalldump:创建包含当前配置的脚本文件。
·Netshfirewallreset:将防火墙恢复成Windows系统默认的设置。
·NetshfIrewallset:设置防火墙允许的程序配置、ICMP配置、日志记录、多播广播响应配置、通知配置、操作配置、端口配置、服务配置等。
·Netshfirewallshow:显示设置防火墙允许的程序配置、ICMP配置、日志记录、多播/广播响应配置、通知配置、操作配置、端口配置、服务配置等信息。
接下来就详细说明在WindowsXI,中使用命令行配置Windows防火墙的方法
查询当前防火墙配置和状态
如果要奁询当前登录主机的Windows防火墙配置信息,可以通过Netshfirewallshowconfg命令来完成。打开命令提示符窗口,输入Netshfirewallshowconflg命令并按【Enter]键,稍候就会列出当前系统防火墙的状态,包含了以下信息,4-8
A7.png
·域和标准配置文件中启用的模式,包括操作模式、例外模式、多播/广播响应模式、通知模式等配置信息。
·域和标准配置文件中启用的防火墙服务,如本例主机上启用了文件和打印机共享服务。
·域和标准配置文件中允许通过防火墙的程序配置,疑示程序的路径、名称及是古启用
·域和标准配置文件中开放的端口配置,包括端口编号、协议及对应的进程。
·防火墙安全日志的保存位置、文件大小上限及其他记录选项。
此外,还可以执行Netshfirewallshowstate命令显示防火墙状态,此命令可查看当前防火墙的配置文件类型、启用或禁用的各种模式及开放的端口配置
A8.png
命令行关闭防火墙
入侵网络上的主机后,如果该主机当前并没有其他用户正在使用,可以选择停用防火墙,允许部署在主机上的黑客工具访问外部网络。关闭防火墙的方法如下:
打开命令提示符窗口后,输入netstopsharedaccess命令并按IEnterl键,即可停用Windows防火墙相关的服务,Windows防火墙也将随之关闭,4-9。
A9.png
在被入侵的主机完成部署后,如果需要重新启动防火墙,可以打开命令提示符窗口.输入netstart
haredaccesa命令并按【Enterl键,即町重新启用Windows防火墙相关的服务,开启Windows防火墙,如例4-10
A10.png
命令方式修改防火墙明细规
防火墙对程序和服务的监控主要通过配置防火墙规则来完成,下面将说明以命令方式修改防火墙明细规则的方法,包括开放/删除端U、添加/删除放行的程序。
开放端口
端口是一个网络lP地址与外界通信的门户,一个lP地址的端叫柯65536个,范围是0-65565。删络应用程序和服务在通信时必须通过指定的端口来完成,下面将介绍在Windows防火墙中以命令行开放和删除端口的方法。
在WindowsXP系统中,开放和设置端LJ吖以通过Addportopening命令来完成。
1.Addportopening命令和参数
A11.png
参数说明:
·protocol:端口协议类型,可选参数有TCP、UDP和ALL三个。
≯TCP:传输控制协议。
≯UDP:用户数据报协议。
》ALL:包括TCP和UDP两种协议。
·port:端口号,可设置的范围是1-65535。
·name:可选参数,自定义端口在防火墙规则中的名称,方便识别
·mode:可选参数,可以设置为ENABLE或DISABLE。
》ENABLE:允许通过防火墙。
》DISABLE:不允许通过防火墙。
·scope:可选参数,可以设置为ENABLE、SUBNET或CUSTOM。
》ENABLE:允许所有流最通过防火墙。
≯SUBNET:H允许本地子网流量通过防火墙
≯CUSTOM:只允许指定的流量通过防火墙。
·addresses:可选参数,如果scope参数指定为CUSTOM,口j’自定义IP地址范围。
·profile:可选参数,用于设置配置文件的类型。
≯CURRENT:当前配置文件。
≯DOMAIN:域配置文竹。
》STANDARD:标准配置文件。
》ALL:所有配置文件。
·InterfaCe:可选参数,用于设置接口名称。在俐。命令中,该参数不能和scope或profile参数同时使用。
范倒1
添加开放端口54,协议类型包括TCP和UDP,自定义端口名称DNS,且只能让指定IP地址范围的流量通过此端口
A12.png
除了addportopening命令之外,还可以使用setportopenmg命令来设置端Ll,这两个命令的参数和作用效果相同。
范例2
开放TCP端口8080,自定义端口名称为MywehPort
A13.png
2.查看当前开放的端口
端口设置完毕,可以通过Netshflrewallshowportopening命令来查看当前主机中开放的端口配置
A14.png
删除开放的端口
对于不需要开放的端口,可以通过deleteportopening命令将其删除。
命令格式
A15.png
参数说明:
.protocol:端口协议类型,可选参数有TCP、UDP和ALL三个。
》TCP:传输控制协议。
》UDI-:用户数据报协议。
》ALL:包括TCP和UDP两种协议。
.port:端口号,可设置的范围为1-65535。
·profile:可选参数,用于设置配置文件的类型。
》CURRENTi:当前配置文件。
》DOMAIN:域配置文件。
>STANDARD:标准配置文件。
》ALL:所有配置文件。
·interface(接口名称):是可选参数,在同一命令中,该参数不能和profile参数一起指定。
范例3
将TCP端口54从所有配置文件中删除
A16.png
范例4
将端口22从域配置文件中删除。
A17.png
添加放行程序
要设置允许通过防火墙的程序,可以通过setallowedprogram命令来完成。
命令格式:
A18.png
参数说明:
·program:用于指定程序的路径和文件名。
·name:可选参数:用于自定义允许的程序在防火墙规则中的显示名称。
·mode:可选参数:设置是否允许指定的程序通过防火墙。
≯ALL:允许通过防火墙。
≯DISABLE:不允许通过防火墙。
·scope:可选参数:设置程序可以通过防火墙的范围。
≯ALL:允许所有流量通过防火墙。
≯SUBNET:只允许本地网络子网流量通过防火墙
≯CUSTOM:只允许指定的流量通过防火墙
·addr-esses:可选参数,用于指定地址范围,只有scope参数为custom的情况下才能使用此参数。
·profile:可选参数,用于设置规则的配置文件。
≯CURRENT:当前配置文件。
>DOMAIN:域配置文件
≯STANDARD:标准配置文件。
tALL{所有配置文件。
范例5
允许保存在CI、Windows目录下的ps.exe程序通过防火墙,并将该程序配置在防火墙中的名称设置为QQ,另外限定了只能从本地子网与此程序通信,最后此规则保存在当前配置文件中。
A19.png
其实,还可以使用addallowedprogram命令添加允许的程序配置,其参数和效果与setallowedprogram命令一样。
要显示当前主机的Windows防火墙中允许的程序配置,可以通过Netshfirewallshowallowedprogram命令来完成,4-11。
A20.png
删除放行程序
对于不需要的程序配置,可以使用deleteallowedprogram命令将其从Windows防火墙中删除。
命令格式:
A21.png
参数说明:
·program:指定程序的保存路径和文件名。
·profile:可选参数,指定配置文件类型。
≯CURRENT:当前配置文件。
》DOMArN:域配置文件。
≯STANDARD:标准配置文件。
≯ALL:所有配置文件。
范倒6
将C:\windows目录下的ps.exe程序从WindoWs防火墙的当前配置文件中删除。
A22.png
设置防火墙日志配置
防火墙安全日志记录了防火墙事件,用户可以通过setlogging命令来设置Windows防火墙日志配置。
1.设置日志记录
命令格式:
A23.png
参数说明:
·filelocation:可选参数,用于设置保存日志的路径和文件名。
·maxfilesize:可选参数,用于设置臼志文件的大小上限,默认以KE:为单位,设置范围为1~32767。
·droppedpackets:可选参数,用于记录丢弃数据包日志。
》ENABLE:在防火墙中记录。
》DISABLE:在防火墙中不记录。
·connections:’可选参数,用于记录成功的连接日志。
≯ENABLE:在防火墙中记录。
≯DISABLE:在防火墙中不记录。
范例7
将防火墙安全日志记录保存在e:\windows\\pfrirewatl.log目录下,大小限制为4096(默认单位为KB),记录内容包括被丢失的数据包
A24.png
2.显示日志记录
要显示当前Windows防火墙的日志记录配置信息,可以通过showlogging命令来完成。
A25.png
设置ICMP配置
通过配置ICMP(InternetCornrolMessageProtocol,Intemet控制报文协议)可以改变防火墙对ICMP报文的处理方式。例如禁止入站回显请求,那么其他主机使用Ping检测该电脑时,就会出现“无法访问目标主机”的提示信息,无法通过Ping反馈判断主机是否开机。假如你已经掌控了一台“肉鸡”,开启防火墙并屏蔽ICMP后,可以大幅减低其他黑客与你分享“肉鸡”的机会
1.命令格式和参数
命令格式
A26.png
参数说明:
·type:用于设置ICMP类型,后面用等号=连接类型,这些类型代表的编号如下:
》2:允许出站数据包太大。
>3:允许不达出站目标。
》4:允许出站源抑制
≯5:允许重定向。
>8:允许入站回显请求。
≯9:允许入站路由器请求。
>11:允许出站超时。
>12:允许出站参数错误。
》13:允许入站时间戳请求。
≯":允许入站掩码请求。
≯ALL;所有类型
·mode:可选参数,用于设置ICMP模式,后面用等号=连接ENABLE或DISABL参数。
》ENABLE:允许通过防火墙。
》DISABLE:不允许通过防火墙。
·profile:可选参数,用于设置配置文件类型。
≯CURRENT:当前配置文件(默认值)。
》DOMAIN:域配置文件。
≯STANDARD:标准配置文件。
》ALL:所有配置文件。
·interface:可选参数,表示接口名称,后面用等号=连接接口名称。
需要注意的是,profne和interface不能在同一个命令中一起使用,当设置ICMP类型为2时,也不能在同一命令中一起指定interface接口名称。
范倒8
让所有ICMP连接类型都不允许通过防火墙
A27.png
显示ICMP配置
当需要查看Windows防火墙的ICMP配置信息时,可以通过showicmpsetting命来完成
A28.png
设置防火墙服务配置
Setservice命令除了让用户决定哪些服务可穿过Windows防火墙对外提供服务,哪些服务或程序被屏蔽之外,还能进一步精确配置服务对外工作的范围,例如只对指定的lP地址开放远程桌面服务。
1。Setservice命令和参数
命令格式
A29.png
参数说明:
.type:服务类型。
》FILEANDPRINT:文件和复印机共享。
≯REMOTEADMIN:远程管理。
》REMOTEDESKTOP:远程协助和远程桌面。
》UPNP:UPnP框架。
≯ALL:所有类型
·mode:可以设置ENABLE或DISABLE参数。
》ENABLE:允许通过防火墙。
≯DISABLE:不允许通过防火墙。
·scope是可选参数:用于指定服务范围。
≯ENABLE;允许所有流量通过防火墙。
≯SUBNET:只允许本地网络流量通过防火墙。
》CUSTOM:只允许指定地址的流量通过防火墙。
·addresses:可选参数,只有scope参数设置为CUSTOM,才能自定义范围地址。
·profile:可选参数,用于指定配置文件类型。
》CURRENT:当前配置文件。
≯DOMAIN:域配置文件。
》STANDARD:标准配置文件。
≯ALL:所有配置文件。
需要注意的是,如果mode参数设置为DISABLE,scope参数将被忽略
范例9
启用远程协助和远程桌面服务,只允许IP地址为157.60.0.1的主机通过防火墙使用此服务,此规则在所有配置文件中有效。
A30.png
范例10
将所有配置文件中的远程协助和远程桌面服务关闭
A31.png
2.显示舫火墙服务配置
要显示当前主机的Windows防火墙服务配置,可以使用Netshfirewallshowservic命令来完成
A32.png
设置防火墙通知配置
默认情况下,当Windows防火墙拦截未曾设置的程序或服务访问网络时,会出现相关的提示消息,用户可以使用setnotifcations命令来设置防火墙通知配置。
命令格式:
A33.png
·mode:通知模式,可以设置为ENABLE或DISABLE。
≯ENABLE:允许来自防火墙的弹出通知。
》DISABLE:不允许来自防火墙的弹}出通知。
·profile:可选参数,用f指定配茕文件类型,如果不使用此参数,默认保存到当前配置文件。
·CURRENT:当前配置文件。
》DOMAIN:域配置文件。
≯STANDARD:标准配置文件。
》ALL:所有配置文件。
范例11
让所有的防火墙配置都不弹出通知消息。
A34.png
恢复防火墙默认配置
如果Windows防火墙的设置过于混乱,纠正各种设置的工作量非常大,不妨使用Netshfirewallreset命令将防火墙恢复默认配置,然后重新配置详细的防火墙规则。
打开命令提示符窗口后,输入Netshtirewallreset命令并按IEnterl键,稍候片刻,防火墙即可恢复成安装系统时的状态
A35.png