搜狐首页-新闻-体育-娱乐-财经-IT-汽车-房产-家居-女人-TV-ChinaRen-邮件-博客-BBS-搜狗 
实例经验教程:代理服务器架设与维护

时间:2005年05月27日10:16  来源:天极网 热点排行】 【推荐】 【打印】【关闭
我来说两句 我来说两句 即时新闻通知 进入新闻论坛 相关新闻:
 


  五、安全保障

  物理安全的保护

  供电:该服务器放在我校网络中心主机房,有双路供电。UPS可以保证在没有市电供应下5小时不中断服务。

  物理隔离:网络中心24小时有专人值班,进入主机房需要登记。

  服务器软件安全保护

  操作系统选用了FreeBSD。Freebsd本身几乎没有任何安全漏洞。根据服务最少化原则,出国代理上目前使用的服务有ssh ntp socks5 squid几种。其中ssh没有使用freebsd自带的openssh,而是使用了ssh.com出的非商业版的ssh服务器软件。这个版本的ssh服务器软件相对openssh有更安全效率更高的优势。而且对于非商业应用是免费的。 服务器通过ntp服务与某网络时间服务器进行时间同步,这是为了保证日志文件记录事件发生时间的准确性。另2个为必须提供的代理服务。其余服务没有打开。执行ps命令确认没有任何多余进程。

  对SYN-Flood及扫描的防护

  SYN Flood是当前最流行的DoS(拒绝服务攻击)与DdoS(分布式拒绝服务攻击)的方式之一,这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,从而使得被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式。

  [img:01091db545]https://photocdn.sohu.com/20050527/Img240078713.gif[/img:01091db545]

  TCP协议的三次握手过程是这样的:

  首先,请求端(客户端)发送一个包含SYN标志的TCP报文,SYN即同步(Synchronize),同步报文会指明客户端使用的端口以及TCP连接的初始序号;
  第二步,服务器在收到客户端的SYN报文后,将返回一个SYN+ACK的报文,表示客户端的请求被接受,同时TCP序号被加一,ACK即确认(Acknowledgement)。
  第三步,客户端也返回一个确认报文ACK给服务器端,同样TCP序列号被加一,到此一个TCP连接完成。假设一个用户向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(第三次握手无法完成),这种情况下服务器端一般会重试(再次发送SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的连接,这段时间的长度我们称为SYN Timeout,一般来说这个时间是分钟的数量级(大约为30秒-2分钟);一个用户出现异常导致服务器的一个线程等待1分钟并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况,服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源----数以万计的半连接,即使是简单的保存并遍历也会消耗非常多的CPU时间和内存,何况还要不断对这个列表中的IP进行SYN+ACK的重试。
  实际上如果服务器的TCP/IP栈不够强大,最后的结果往往是堆栈溢出崩溃。即使服务器端的系统足够强大,服务器端也将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求(毕竟客户端的正常请求比率非常之小),从而造成DoS。

  在freebsd的可以调整的内核参数中有下面2项:net.inet.tcp.blackhole和net.inet.udp.blackhole。相应的描述如下:The blackhole sysctl(8) MIB is used to control system behaviour when connection requests are received on TCP or UDP ports where there is no socket listening. Normal behaviour, when a TCP SYN segment is received on a port where there is no socket accepting connections, is for the system to return a RST segment, and drop the connection. The connecting system will see this as a "Connection reset by peer". By setting the TCP blackhole MIB to a numeric value of one, the incoming SYN segment is merely dropped, and no RST is sent, making the system appear as a blackhole. By setting the MIB value to two, any segment arriving on a closed port is dropped without returning a RST. This provides some degree of protection against stealth port scans.In the UDP instance, enabling blackhole behaviour turns off the sending of an ICMP port unreachable message in response to a UDP datagram which arrives on a port where there is no socket listening. It must be noted that this behaviour will prevent remote systems from running traceroute(8) to a system. The blackhole behaviour is useful to slow down anyone who is port scanning a system, attempting to detect vulnerable services on a system. It could potentially also slow down someone who is attempting a denial of service attack.

  根据上面描述可以将net.inet.tcp.blackhole和net.inet.udp.blackhole设置为2和1,这样将防止半开式的端口扫描,并且能对syn-flood有初步的防护。

  在内核的配置文件中有options TCP_DROP_SYNFIN这个选项。通过加入这个参数,可以防止通过TCP/IP堆栈对操作系统进行识别。可以将安全问题中的”information gathering”解决 。
[上一页][1][2][3][4][5][下一页]


页面功能   【我来说两句】 【热点排行】 【推荐】 【字体:  】 【打印】  【关闭

 ■ 相关链接

 ■ 我来说两句
用  户:        匿名发出:
请各位遵纪守法并注意语言文明。
 
*经营许可证编号:京ICP00000008号
*《互联网电子公告服务管理规定》
*《全国人大常委会关于维护互联网安全的规定》
手机
包月自写5分钱/条

最新制作 想唱就唱
夏天的味道 哪一站



精品专题推荐:
谁说赚钱难告诉你秘诀
测IQ交朋友,非常速配
就让你笑火暴搞笑到底

短信订阅
焦点新闻魅力贴士伊甸指南魔鬼辞典



公社热图


·[组图]大陆第一美女模特
·[图]这就是人死后世界?
·女星中的九大混血妖姬









搜狐商城
 
·数码|iPod nano¥1799
·I T|1G 微盘特价¥399
·家电|飞利浦耳机特价
·家电|USB音箱5折
·家电|飞利浦耳机特价
更多...
-- 给编辑写信
Copyright © 2017 Sohu.com Inc. All Rights Reserved.搜狐公司 版权所有 全部新闻 全部博文