实战:使用TCP/IP筛选保护服务器安全

简介:

使用TCP/IP筛选保护服务器安全

对于部署在Internet的服务器,安全是必须要考虑的事情。为了降低服务器受攻击的危险,停止不必要的服务或在本地连接的TCP/IP属性中只打开必要的端口。

如图2-127所示,实验环境为Server的IP地址192.168.1.200,运行着Web服务,SMTP服务、POP3服务、FTP服务和DNS服务。Client的IP地址为192.168.1.121。只允许Client计算机访问Server计算机的Web服务、FTP服务和DNS服务。以下演示配置Server计算机的TCP/IP筛选只允许TCP目标端口为80和21的数据包进入,以及只允许UDP目标端口为53的数据包进入。

image

▲图2-127 TCP/IP筛选示意图

(1)如图2-128所示,在Client计算机上安装ScanPort软件,输入起始地址和结束地址都为Server计算机的IP地址192.168.1.200,并输入端口号的范围,单击“扫描”按钮。

(2)如图2-128所示,可以看到扫描结果。通过扫描结果,可以断定该服务器运行着FTP服务、SMTP服务,DNS服务、Web服务和POP3服务等。

(3)如图2-129所示,在Server上,打开“本地连接 属性”对话框,选中“Internet协议(TCP/IP)”复选框,单击“属性”按钮。

clip_image003 clip_image004

▲图 2-128 端口扫描 ▲图2-129 “本地连接 属性”对话框

(4)如图2-130所示,在打开的“Internet协议(TCP/IP)属性”对话框中,单击“高级”按钮。

(5)如图2-131所示,在出现的“高级TCP/IP设置”对话框的“选项”选项卡中,选中“TCP/IP筛选”选项,单击“属性”按钮。

clip_image005 clip_image006

▲图2-130 “Internet协议(TCP/IP)属性”对话框 ▲图2-131 “高级TCP/IP设置”对话框

(6)如图2-132所示,在出现的“TCP/IP筛选”对话框中,选中“启用TCP/IP筛选”复选框,TCP端口选中“只允许”单选按钮,单击“添加”按钮。

(7)如图2-132所示,在出现的“添加筛选器”对话框中,输入80,单击“确定”按钮。

(8)如图2-133所示,同样添加TCP的21端口。

(9)如图2-133所示,UDP端口选中“只允许”单选按钮,添加端口53,单击“确定”按钮。

clip_image007 clip_image008

▲图2-132 添加允许的TCP端口 ▲图2-133 添加允许的UDP端口

(10)如图2-134所示,提示需要重启计算机,单击“是”按钮,重启计算机。

(11)如图2-135所示,在Client上,发现只能扫描到21和80端口,端口扫描只是扫描TCP的端口,不扫描UDP端口。这样Client计算机只能访问Server FTP服务和Web服务。

clip_image009 clip_image010

▲图2-134 需要重启计算机 ▲图2-135 扫描端口

(12)如图2-136所示,在Server上,在命令提示符下输入netstat –an查看侦听的端口。可以看到该服务器在TCP的25、110端口侦听。这说明TCP/IP筛选并不控制服务器侦听的端口。

(13)如图2-137所示,在Client上,运行ping www.ess.com,可以看到Client计算机可以通过Server进行域名解析。

(14)如图2-137所示,telnet Server的25端口和110端口失败。说明TCP/IP筛选没有允许这些端口。

clip_image011 clip_image012

▲图2-136 查看侦听的端口 ▲图2-137 测试域名解析

(15)如图2-138所示,在Client上可以访问Server的Web服务,也能够访问FTP服务。

(16)如图2-139所示,在Server上访问Client计算机的共享文件夹,输入Client计算机的用户名和密码,能够访问成功。

clip_image013 clip_image014

▲图2-138 能够访问Web和FTP站点 ▲图2-139 TCP/IP筛选不影响出去的流量

(17)如图2-140所示,在命令提示符下输入netstat –n,可以看到建立的会话,说明TCP/IP筛选并不控制出去的流量。

(18)如图2-141所示,在Server上ping www.sohu.com,发现不能域名解析,输入nslookup后,输入www.sohu.com,可以看到解析失败。为什么Server不能将域名解析呢?

clip_image015 clip_image016

▲图2-140 查看建立的会话 ▲图2-141 域名解析

Server为什么不能解析Internet DNS服务器的域名?举例说明:Server向Internet DNS发送域名解析的请求,协议是UDP,目标端口为53,源端口为1027,当数据包发出去后,由于UDP不建立会话,发出去的数据包或请求就忘记了,在域名解析结果返回来的时候,由于TCP/IP筛选UDP只打开了53端口,而没有打开1027端口,因此被TCP/IP筛选拦截。因此域名解析失败。

为什么Server的TCP/IP筛选访问Client的共享文件夹?举例说明:如图2-142所示,Server访问Client的共享文件夹,Server向Client发送访问共享文件夹的请求数据包,使用TCP协议,目标端口为445,源端口为1045,因为TCP是建立会话的,所以Server会临时打开端口1045,这样Client返回的数据包,能够进入Server。

clip_image017

▲图2-142 UDP不建立会话






本文转自 onesthan 51CTO博客,原文链接:http://blog.51cto.com/91xueit/1135837,如需转载请自行联系原作者





相关文章
|
5月前
|
存储 缓存 安全
高并发内存池实战:用C++构建高性能服务器(下)
高并发内存池实战:用C++构建高性能服务器
高并发内存池实战:用C++构建高性能服务器(下)
|
6月前
|
Linux
生产环境Linux服务器磁盘分区、无损扩容根分区以及挂载磁盘到目录实战
生产环境Linux服务器磁盘分区、无损扩容根分区以及挂载磁盘到目录实战
214 0
|
6月前
|
人工智能 机器人 网络架构
企业实战(1) 服务器断电重启业务异常随笔
企业实战(1) 服务器断电重启业务异常随笔
|
7月前
|
安全 Windows
一次简单的服务器 cpu 占用率高的快速排查实战
一次简单的服务器 cpu 占用率高的快速排查实战
|
2月前
|
存储 缓存 网络协议
Go语言并发编程实战:构建高性能Web服务器
【2月更文挑战第6天】本文将通过构建一个高性能的Web服务器实战案例,深入探讨如何在Go语言中运用并发编程技术。我们将利用goroutine和channel实现高效的请求处理、资源管理和并发控制,以提升Web服务器的性能和稳定性。通过这一实战,你将更好地理解和掌握Go语言在并发编程方面的优势和应用。
|
8月前
|
开发框架 前端开发 Linux
Go语言实战框架,GoFly全栈开发社区的Go快速开发框架简介与阿里服务器部署说明
GoFly中后台框架永久开源可商用。api文档管理并一键生成api接口代码,一键生成 CRUD前后端代码, GoFly快速开发框架是一款基于Go语言的 Gin和 Vue3的Arco Design的快速后台开发框架,基于JWT接口验证和Auth验证的权限管理系统,附件管理系统,天生支持saas架构。可打包部署在阿里云Linux系统上。
408 1
|
5月前
|
弹性计算 双11
购买阿里云服务器先优惠券再购买流程参考
如果我们想阿里云服务器的价格更优惠一些的话,先优惠券再购买是非常有效的一个方式,首先就是要注意部分云服务器的购买条件,部分云服务器仅限新用户购买,其次一定要先领取阿里云送的各种优惠券,然后是在实际购买过程中尽量选择阿里云活动中的各种云服务器。本文为大家分享先领优惠券然后再通过阿里云的活动或者云服务器产品页面选购云服务器的实战教程,以供参考。
购买阿里云服务器先优惠券再购买流程参考
|
5月前
|
存储 缓存 Linux
高并发内存池实战:用C++构建高性能服务器(上)
高并发内存池实战:用C++构建高性能服务器
|
6月前
|
域名解析 监控 网络协议
企业实战(17)记录一次使用DDNS动态域名解析服务外网通过域名访问内网服务器服务的过程
企业实战(17)记录一次使用DDNS动态域名解析服务外网通过域名访问内网服务器服务的过程
409 0