扬帆
在上网冲浪的过程中,我们经常要和网络端口打交道。网络端口对上网连接的重要性不言而喻,任何网络应用都要借助特定的网络端口,才能正常进行。但是,您上网冲浪这么长时间了,对网络端口有过关注吗?我们现在的网络应用需求五花八门,可能是简单访问网页内容,可能是远程控制管理,也有可能是网络下载或其他需求,不同的需求都有对应的网络端口在默默地承受着我们所有的任务。正因为网络端口如此重要,许多病毒、木马等恶意程序才会紧紧盯住它,并偷偷利用它进行各种恶意操作。为了避免非法应用和攻击,我们需要及时了解端口状态,加强端口安全控制,不让其任人摆布。
关闭易被利用端口
135、137、138、139、445等网络端口,很容易在无意中会被开启。事实上,我们在平时工作中,可能很少会用到它们,或者根本就用不到它们,如果对它们的开启状态不闻不问,黑客可能就会偷偷利用它们,对本地系统进行恶意攻击。所以,对待上面几个很少用到,但会被非法利用的端口,我们必须及时将其关闭,以切断黑客的入侵通道。
一般来说,只有启动运行了RPC系统服务时,黑客才能利用135端口发动攻击,所以,在RPC服务暂停运行的情况下,135端口根本就没有任何作用,这就相当于135端口已被关闭了。在关闭RPC服务工作状态时,只要依次点击“开始”|“运行”命令,弹出系统运行文本框,输入“services.msc”命令并回车,展开系统服务管理窗口。用鼠标双击其中的“Remote Procedure Call”服务,弹出如图1所示的服务属性对话框,点击“停止”按钮,并且将启动类型设置为“已禁用”选项,单击“确定”按钮保存设置操作,这样135端口就不会被黑客偷偷利用了。
在局域网环境中,启动NetBIOS协议组件的情况下,网络端口137、138、139会被自动打开。相反,要是关闭该协议组件时,那么137、138、139端口自然也就不会被他人非法利用了。在进行这项操作时,可以逐一选择“开始”|“设置”|“网络连接”选项,切换到网络连接列表窗口,用鼠标右击“本地连接”图标,点击右键菜单中的“属性”命令,选中“Internet协议(TCP/IP)”选项,单击“属性”按钮,再按下“高级”按钮展开高级设置对话框。点击“WINS”选项卡,打开如图2所示的选项设置页面,在“NetBIOS设置”位置处,选中“禁用TCP/IP上的NetBIOS(S)”选项,单击“确定”按钮返回,这样137、138、139端口就相当于被关闭了。
要关闭445端口运行状态时,不妨使用“Win+R”快捷键,弹出系统运行对话框,输入“regedit”命令,单击“确定”按钮,打开系统注册表编辑界面,依次跳转到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters”注册表节点上,在目标节点下手工创建好“SMBDeviceEnabled”双字节键值,再将其数值输入为“0”,最后将计算机重新启动一下即可。
探测端口连接安全
俗话说“知己知彼,百战不殆”,如果能够通透系统中所有网络端口的安全连接状态,那么我们就能对网络应用的安全性进行有效控制,确保系统始终能够安全、稳定运行。要做到这一点,不妨“请”CurrPorts这款免费的网络端口探测工具帮忙,它能直观列出所有TCP连接和UDP连接端口,并能将开放端口使用的应用程序信息显示出来,当发现有恶意程序在使用网络端口时,还能配合Process Explorer工具,强行终止恶意程序的运行状态,避免系统继续遭遇非法攻击。
CurrPorts工具启动运行后,会自动扫描系统,将系统中所有网络应用程序使用的本地端口和远程端口列写出来,如图3所示。除此之外,所有程序的名称、ID标识、路径、本地IP地址、远程IP地址等信息,也能被探测并显示出来。如果探测出来的内容比较多时,可以点击主程序界面中的标题栏,程序会根据名称内容排序显示,这样查看起来会高效一些。
用鼠标双击某个应用程序,弹出对应程序属性对话框,在这里能看到该程序使用的进程名称、进程ID、进程路径、进程创建时间,程序使用的本地端口、远程端口、本地地址、远程地址,应用程序使用的网络协议以及协议连接状态。当怀疑某个程序为恶意程序时,不妨先用鼠标选中它,同时单击右键,选择右键菜单中的“关闭选定的TCP连接”命令,强行关闭目标程序的运行状态。接着继续跟踪目标程序有没有再次打开新的网络端口,如果它还会悄悄打开端口,基本就能断定目标程序为恶意程序。这个时候,可以下载使用Process Explorer工具,将探测出来的恶意进程强行杀死,该工具支持杀死进程树功能,也就是说它能自动将与恶意进程有关的所有进程全部杀死,并且会利用Autoruns程序检查本地计算机中的所有自启动项和服务,以确保将恶意程序的自动加载项删除干净,之后它还能进入恶意文件所在文件夹,强行删除恶意程序的可执行文件,避免它继续危害Windows系统的安全运行。
当然,如果发现系统中存在多个可疑程序时,可以借助Shift或Ctrl功能键,一次性选中多个应用程序选项,并用鼠标右键单击之,选择快捷菜单中的“结束选定端口的进程”命令,这样就能快速断开多个可疑网络连接。通过这种方法,也能将多余的网络连接快速切断,以利于高效排查恶意程序。
调整远程桌面端口
为了改善网络管理维护效率,不少网管员经常会利用远程桌面连接程序,远程管理局域网中的重要主机系统。然而,在享受方便、快捷服务的同时,远程桌面连接程序会用到人所皆知的3389端口,而该端口也是黑客或恶意程序重点瞄准的对象,所以轻易建立远程桌面连接,容易给本地网络或系统带来安全威胁。
事实上,将远程桌面连接服务端口,调整为陌生的号码,日后使用指定的新端口号码与重要主机建立远程桌面连接,就能保证远程桌面连接操作不会受到黑客或恶意程序的攻击了。例如,要将远程桌面连接端口号码修改为“68721”时,可以进行下面的设置操作:
首先使用“Win+R”快捷键,打开系统运行对话框,输入“Regedit”命令,点击“确定”按钮,弹出系统注册表编辑窗口。在该编辑窗口左侧区域,依次跳转到注册表节点“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp”上,找到该节点下的“PortNumber”键值,并用鼠标双击之,弹出编辑键值对话框,在这里将默认使用的“3389”端口号码设置为“68721”,点击“确定”按钮保存设置操作。需要注意的是,新设定的端口号码,不能与已经打开的端口相同。
接着逐一跳转到注册表节点“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp”上,用鼠标双击指定节点下的“PortNumber”键值(如图4所示),切换到编辑键值对话框,在这里也输入“68721”,确认后刷新系统注册表,这样远程桌面连接程序使用的端口号码就变成“68721”了。
将本地系统的远程桌面连接端口设置为“68721”后,还需要在使用远程桌面连接程序的计算机中指定好该端口号码。在进行该操作时,依次点击“开始”|“运行”命令,弹出系统运行文本框,输入“mstsc.exe”命令并回车,打开远程桌面连接设置框。按下“选项”按钮,弹出如图5所示的选项设置界面,在“计算机”文本框中,设置好远程主机的IP地址,在IP地址后面直接加上“:68721”,再输入好登录账号与密码,点击“连接”按钮后,Windows系统就会使用新的端口号码与目标主机建立远程桌面连接了,其他不知道新端口的用户,是无法远程连接到目标主机系统中的。当然,为了保证下次可以高效建立远程桌面连接,我们还可以按下“保存”按钮,将本次的远程桌面连接各项参数保存下来,日后不需要重复设置,就能快速建立远程桌面连接。
禁止别人使用端口
关闭一些安全威胁大的网络端口后,我们自己在上网连接时,可能也会受到“牵连”。能否找到一种合适的办法,确保我们自己可以随意使用任何网络端口,而别人不能使用一切端口呢?虽然利用专业防火墙工具,能够有效管理网络端口的启用或关闭状态,可是防火墙程序使用起来一般很麻烦,都要经过复杂设置,而且消耗的系统资源也比较多。现在,只要通过“PortsLock”这款小巧的工具,根据实际控制要求简单地设置好端口访问规则,就能达到禁止别人使用网络端口的目的,同时还不影响自己的上网连接。
启动运行“PortsLock”工具后,打开对应程序主操作界面(如图6所示),逐一点击“File”|“Quick Start Wizard”选项,打开快速设置向导框,按下“下一步”按钮,选中“The Administrators local group has full access but access for all other users is denied”选项,再按默认设置完成剩余操作。日后,在“PortsLock”工具的控制下,只有本地管理员用户有权限访问计算机系统中的任何网络端口,而其他用户尝试使用网络端口时,都会遇到访问受限的提示。
如果希望普通用户能够上网访问本地网络资源时,不妨选中“access but all other users can only access the local network resources”选项,这样除了本地管理员用户可以随意访问所有网络端口外,其他用户也能访问本地网络资源,只不过是无法访问外网内容而已。倘若想更加灵活地控制网络端口的访问权限时,也可以进入“Permissions”控制面板,在这里根据实际访问要求,定义好用户或用户组访问网络端口的控制规则。在每个用户的配置项下面,都存在“Incoming”、“Outgoing”等控制选项,通过它们可以定制接受规则和发送规则,确保网络端口访问既高效又安全。
限制使用下载端口
在多用户共用一台计算机的情况下,要是允许任意用户在公共计算机中自由进行下载操作,很容易引起安全麻烦。为了拒绝他人下载,很多网管员会采取禁用网卡、断开网线等措施,来保护本地系统的上网安全,不过这些措施容易得罪人,要是通过专业工具进行限制,也会被他人轻易看穿。那么怎样才能礼貌地限制他人使用网络下载端口呢?使用TCP/IP筛选法,就能很礼貌地拒绝他人在本地系统进行网络下载操作:
首先打开公共计算机的“开始”菜单,选择“设置”|“网络连接”选项,展开网络连接列表窗口,选中“本地连接”图标并用鼠标右键单击之,执行快捷菜单中的“属性”命令,弹出本地连接属性设置框。选中“常规”标签页面中的“Internet协议(TCP/IP)”选项,点击“属性”按钮,进入TCP/IP协议属性设置框,按下“高级”按钮,打开TCP/IP协议高级设置框。点击“选项”标签,选中“TCP/IP筛选”选项,按下“属性”按钮,这时我们能看到如图7所示的设置对话框。
将“TCP端口”、“UDP端口”、“IP协议”都设置为“只允许”,同时点击“添加”按钮,将它们的数值都调整为“1”,单击“确定”按钮保存设置内容,再重启计算机系统。这时,我们尝试在公共计算机系统中下载信息,或进行其他网络应用操作时,就发现操作无法成功了,但是查看网络连接状态时却一切正常,既能接收信息,也能发送信息,一般用户根本看不出其中的“猫腻”。日后,如果我们自己想从网上下载信息或访问内容时,只要重新打开TCP/IP筛选设置框,将这里的“TCP端口”、“UDP端口”、“IP协议”都设置为“全部允许”即可。
当然,上面的方法在限制下载端口的同时,也会限制其他网络应用端口。如果要对下载端口单独限制时,可以使用防火墙来帮忙。例如,在Windows 7系统中,我们可以设置高级防火墙规则,限制使用默认开放的21端口,禁止用户进行FTP操作,下面就是详细的限制步骤:
首先打开Windows 7系统高级安全防火墙配置界面,选择“入站规则”选项,右击目标规则选项,点击快捷菜单中的“新规则”命令,弹出入站规则新建向导对话框。选中“端口”选项,点击“下一步”后,依次选中“TCP”选项和“特定本地端口”选项,输入要限制使用的网络端口号码,这里应该输入“21”。
接着向导设置框会弹出提示,询问我们要执行什么操作时,必须选中“阻止连接”(如图8所示),并将“域”、“公用”、“专用”等选项按需选中,再设置好安全规则名称,并点击“完成”按钮,这样Win7系统就会禁止用户使用21端口进行FTP上传操作了。按照同样的操作,再手工定义一个出站规则,禁止用户使用21端口进行FTP下载操作。
查看端口使用程序
利用Windows系统自带的一些命令,例如tasklist、netstat等,可以查看到Windows系统究竟有哪些端口处于开放状态。但如果想进一步了解开放的网络端口,正被哪些应用程序使用,这些程序的路径位于什么位置时,Windows系统自身的命令就无能为力了。此时,我们可以使用DOS环境下的Fport工具,来查看开放端口使用的应用程序名称和路径。
从网上下载获得Fport工具后,将其解压到特定目录中,例如解压到“D:\aaa”目录中。之后,依次点击“开始”|“运行”命令,弹出系统运行对话框,输入“cmd”命令并回车,切换到DOS命令行窗口。使用“cd”命令,将当前目录设置为Fport工具所在的路径,再执行“fport /ap”命令,在其后返回的结果信息中,就能查看到开放端口使用的应用程序名称和路径了。通过这些信息,我们往往能够大概判断出,开放端口究竟是被木马程序打开的,还是被正常程序打开的。
当确认某端口是被木马程序打开时,我们必须及时杀死木马病毒进程,之后根据应用程序路径信息,进入相应的文件夹窗口,将木马源头文件删除干净,避免它们继续攻击Windows系统。值得注意的是,只有管理员级别的用户才能使用Fport工具。