用SYN包特性增强网络安全
考虑下面的情形:
内部网为198.199.1.0,用linux作路由器兼防火墙连接到Internet。在防火墙上,eth0接外网,eth1接内网。
针对www服务的安全性,设置如下一组ipchains 规则:
ipchains -A input -p tcp -s 198.199.1.0/24 :1024 -d 0.0.0.0/0 www -i eth1 -j ACCEPT
ipchains -A input -p tcp -s 0.0.0.0/0 www -d 198.199.1.0/24 1024: -i eth0 -j ACCEPT
在以上的设置中,只允许内部用户用1024(非定义端口)以上的端口访问Internet中的www主机;换句话说,允许内部网主机上大于1024的端口和Internet上的80端口建立连接。试想一下,这将允许Internet上的主机用80端口连接到你内部网主机的一个大于1024的端口上,由此我们看到,系统存在安全隐患,因为有好多服务的服务端口是大于1024的。那么,怎么样来克服这一隐患呢,我们可以用SYN包的特性来消除这一隐患。
先让我们来看一看TCP数据段头的标志位。TCP共有六位标志位,分别是:URG、ACK、PSH、RST、SYN和FIN。我们着重来看一下其中的ACK、SYN和FIN标志位。
ACK:表示确认号是否合法,1表示合法,0表示确认号无效。确认号指的是希望收到的下一个字节而不是前面已经收到的字节。由此可见,发起建立连接请求的包(即第一个保)的ACK为总是置0的,其后的包则总是置1。
SYN:用来建立连接。在连接请求中,SYN=1,连接请求确认中,SYN=1。因此,SYN表示CONNECTION REQUEST和CONNECTION ACCEPTED。在其后的TCP包中,SYN总是被置成0。
FIN:用于撤销连接。
以上可以用下表来加以总结:
ACK标志位 SYN标志位 该TCP包的含义
0 1 连接请求
1 1 连接请求确认(接受连接请求)
1 0 确认连接请求确认
1 0 数据包
... ... ...
我们所谓的SYN包,就是连接请求包。如上所示,SYN包具有如下特点:SYN=1,ACK=0,FIN=0。所以,为了过滤连接请求包,只要将SYN包过滤掉即可。
在ipchains中,我们可以这样来指定SYN包:
-p tcp -s x.x.x.x/x -y
如可以这样定义所有来自192.168.1.0的SYN包:
-p tcp -s 192.168.1.0/24 -y
我们也可以在-y前面加上!来定义所有非SYN包:
-P tcp -s x.x.x.x/x ! -y
所以,在上面的例子中,我们可以这样来增强网络的安全性:
ipchains -A input -p tcp -s 198.199.1.0/24 :1024 -d 0.0.0.0/0 www -i eth1 -j ACCEPT
ipchains -A input -p tcp ! -y -s 0.0.0.0/0 www -d 198.199.1.0/24 1024: -i eth0 -j ACCEPT
这将禁止Internet上的主机用80端口连接到你内部网主机的一个大于1024的端口,从而达到增强网络安全性的目的。
参考资料:
1.IPCHANIS-HOWTO
2.Internet 防火墙域网络安全
3.计算机网络
- · 用LIDS增强系统安全
- · Linux下安全工具
- · 用MRTG检测Linux网络性能
- · 高级Linux安全管理技巧
- · NT与Linux共存完全解决方案
- · chroot Linux中的所有服务
- · CGI 安全问题
- · 高级Linux安全管理技巧(下)
- · 高级Linux安全管理技巧(上)
- · 运用CrackLib构建安全的Unix口令
- · VPN技术概述
- · 关于系统的后门
- · 网络安全
- · 程序员安全
- · 系统管理员安全(2)
- · 系统管理员安全(1)
- · NFS服务的安全问题
- · SSL中间人攻击
- · 高手赐招 如何打造安全的Web站点
- · 网络新危胁 提防路由攻击成网络杀手
- · 用注册表为操作系统砌九堵安全“墙”
- · 通过注册表优化ADSL大法之Win XP篇
- · Windows XP中让“控制面板”更加清爽
- · 定制新版注册表编辑器的“收藏”功能
- · 给IE加油,IE修改全攻略
- · Windows系统维护必备 六招注册表技巧
- · 巧改注册表 实现Windows XP自动登录
- · 找了你好久:收藏夹内网站按字母排序
- · 删除注册表垃圾后XP出现错误的解决方法
- · 不再费时费力 两招快速定位注册表项
- · 超级DIY 用注册表给应用程序加口令
- · 用注册表为操作系统砌九堵安全墙
- · Windows注册表解禁的一个误区
- · 防止IE被恶意修改的初级技巧
- · 用注册表全面优化Windows
- · 注册表终极操作—锁定注册表
- · 禁止IE自动更新(WINXP不适用)
- · 禁止在桌面上显示“网络邻居”
