小毛头的BLOG

有2个人从铁窗朝外忘去,一个人看到满地的泥泞,另一个人只看到满天的繁星

用户操作
[留言]  [发消息]  [加为好友] 
订阅我的博客
XML聚合    FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
huanghui22的公告
<!-- <DIV id=Layer1 style="Z-INDEX: 1; LEFT: 300px; WIDTH: 450px; POSITION: absolute; TOP: 125px; HEIGHT: 350px"> <OBJECT codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0 height=400 width=400 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000><PARAM NAME="_cx" VALUE="10583"><PARAM NAME="_cy" VALUE="10583"><PARAM NAME="FlashVars" VALUE=""><PARAM NAME="Movie" VALUE="http://www.hrtsea.com/bbs/Images/fish.swf"><PARAM">http://www.hrtsea.com/bbs/Images/fish.swf"><PARAM">http://www.hrtsea.com/bbs/Images/fish.swf"><PARAM">http://www.hrtsea.com/bbs/Images/fish.swf"><PARAM NAME="Src" VALUE="http://www.hrtsea.com/bbs/Images/fish.swf"><PARAM">http://www.hrtsea.com/bbs/Images/fish.swf"><PARAM">http://www.hrtsea.com/bbs/Images/fish.swf"><PARAM">http://www.hrtsea.com/bbs/Images/fish.swf"><PARAM NAME="WMode" VALUE="Transparent"><PARAM NAME="Play" VALUE="0"><PARAM NAME="Loop" VALUE="-1"><PARAM NAME="Quality" VALUE="High"><PARAM NAME="SAlign" VALUE=""><PARAM NAME="Menu" VALUE="0"><PARAM NAME="Base" VALUE=""><PARAM NAME="AllowScriptAccess" VALUE="always"><PARAM NAME="Scale" VALUE="ShowAll"><PARAM NAME="DeviceFont" VALUE="0"><PARAM NAME="EmbedMovie" VALUE="0"><PARAM NAME="BGColor" VALUE=""><PARAM NAME="SWRemote" VALUE=""><PARAM NAME="MovieData" VALUE=""><PARAM NAME="SeamlessTabbing" VALUE="1"> <embed src="http://www.hrtsea.com/bbs/Images/fish.swf" width="400" height="400" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" menu="false" wmode="transparent"></embed></OBJECT></DIV> --> <br><center><h2> </h2></center><br>QQ:99575165<br>MSN:<br>huanghui24@hotmail.com<br>来自: 上海市 <!-- 公告栏 --> <TD style="BORDER-RIGHT: #999 1px dotted; BORDER-TOP: #999 1px dotted; BORDER-LEFT: #999 1px dotted; BORDER-BOTTOM: #999 1px dotted"> <SCRIPT language=javascript> document.write ("<marquee scrollamount='1' scrolldelay='30' direction= 'UP' width='158' id='helpor_net' height='100' onmouseover='helpor_net.stop()' onmouseout='helpor_net.start()' Author:redriver; For more,visit:www.helpor.net>") document.write ("<h4><p align='center' style='color:#cccccc; font-family:黑体'>一分钟的你自己</p></h4>") document.write ("<p align='right' style='color:#0000FF;font-size:10px;'>2008-2-13</p> ") document.write ("<p style='font-size:11px;'>") document.write ("<br>最近事情比较多,有些朋友的邮件可能要晚些才能回哦~~~<br>") document.write (" <br>可以直接msn召唤我<br>") document.write ("</p>") document.write ("</marquee> ") </SCRIPT> </TD><!-- 公告栏结束 --> <br><br> <center><img src=http://nmc2.jy.js.cn/cgi-bin/counter.pl?id=csdn_blog_huanghui22&md=a11&ln=6&from=0&bd=$123;$200;$125></center> <HR> <Center> <OBJECT codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0 height=150 width=150 align=middle classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000><PARAM NAME="movie" VALUE="http://www.hrtsea.com/bbs/Images/clock.swf"><PARAM NAME="quality" VALUE="high"><PARAM NAME="WMODE" VALUE="transparent"> <embed src="http://www.hrtsea.com/bbs/Images/clock.swf" width="150" height="150" align="middle" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" scale="noborder" bgcolor="#E4E8EF"></embed> </OBJECT></Center> <hr> <SCRIPT language=javascript> function getweather(t) { window.open("http://appnews.qq.com/cgi-bin/news_qq_search?city="+t, name="_self"); } </SCRIPT> <hr> <SCRIPT>var s="http://www.google.com/search?hl=zh-CN&lr=lang_zh-CN&q=";</SCRIPT> <hr> <!-- Blog日历表开始 --> <script language="javascript"> var diarydays="<2004-08-05><2004-08-09><2004-08-12><2004-08-17><2004-08-19><2004-07-14><2004-07-13><2004-07-08><2004-07-05><2004-07-04><2004-07-03><2004-06-27><2004-06-26><2004-06-25>"; </script> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <style> .calendarBigBorder { font-family: "Arial", "Helvetica", "sans-serif", "宋体"; text-decoration: none; width: 170; background-color: #FFFFFF; font-size: 9pt;border:1px dotted #999; } .calendarTd { font-family: "Arial", "Helvetica", "sans-serif", "宋体"; font-size: 9pt; color: #000000; background-color: #eeeeee; height: 18px; width: 11%; text-align: center;} .calendarMInput { font-family: "Arial", "Helvetica", "sans-serif", "宋体"; font-size: 9pt; text-decoration: none; background-color: #FFFFFF; height: 15px; border: 1px solid #666666; width: 19px; color: #0099FF;} .calendarYInput { font-family: "Arial", "Helvetica", "sans-serif", "宋体"; font-size: 9pt; color: #0099FF; text-decoration: none; background-color: #FFFFFF; height: 15px; width: 34px; border: 1px solid #666666;} .calendarMonthTitle { font-family: "Arial", "Helvetica", "sans-serif", "宋体"; font-size: 9pt; font-weight: normal; height: 24px; text-align: center; color: #333333; text-decoration: none; background-color: #eeeeee; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-bottom-style: none; border-top-color: #999999; border-right-color: #999999; border-bottom-color: #999999; border-left-color: #999999;} .calendarNow { font-family: "Arial", "Helvetica", "sans-serif", "宋体"; font-size: 9pt; font-weight: bold; color: #000000; background-color: #C0C9D3; height: 18px; text-align: center;} .calendarDaySat { font-family: "Arial", "Helvetica", "sans-serif", "宋体"; font-size: 9pt; color: #333333; text-decoration: none; background-color: #eeeeee; text-align: center; height: 18px; width: 12%;} .calendarDaySun { font-family: "Arial", "Helvetica", "sans-serif", "宋体"; font-size: 9pt; color: #333333; text-decoration: none; background-color: #eeeeee; text-align: center; height: 18px; width: 12%;} .calendarLink { font-family: "Arial", "Helvetica", "sans-serif", "宋体"; font-size: 9pt; font-weight: normal; color: #333333; text-decoration: none; background-color: #E7E7F6; text-align: center; height: 18px;} .categoryTxt { font-family: "Arial", "Helvetica", "sans-serif", "宋体"; font-size: 9pt; line-height: 23px; color: #333333; text-decoration: none;} .categoryTable { border-right-width: 1px; border-bottom-width: 1px; border-right-style: solid; border-bottom-style: solid; border-left-style: none; border-right-color: #000000; border-bottom-color: #000000; border-top-width: 1px; border-top-style: solid; border-top-color: #71b99c;} </style> <SCRIPT LANGUAGE="JavaScript"> var months = new Array("一", "二", "三","四", "五", "六", "七", "八", "九","十", "十一", "十二"); var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31,30, 31, 30, 31); var days = new Array("日","一", "二", "三","四", "五", "六"); var classTemp; var calendarHover="calendarHover"; var today=new getToday(); var year=today.year; var month=today.month; var newCal; //得到某月天数 function getDays(month, year) { if (1 == month) return ((0 == year % 4) && (0 != (year % 100))) ||(0 == year % 400) ? 29 : 28; else return daysInMonth[month]; } //得到当天时间信息 function getToday() { this.now = new Date(); this.year = this.now.getFullYear(); this.month = this.now.getMonth(); this.day = this.now.getDate(); } //生成日历 function Calendar() { newCal = new Date(year,month,1); //当前月的第一天 today = new getToday(); var day = -1; //用来判断日历中是否为当天 var startDay = newCal.getDay(); //当月开始时间 var endDay=getDays(newCal.getMonth(), newCal.getFullYear());//当月结束时间 var daily = 0; //用来生成日历中的天数值 if ((today.year == newCal.getFullYear()) &&(today.month == newCal.getMonth())) day = today.day; var caltable = document.all.caltable.tBodies.calendar; //得到日历表格的集合 var intDaysInMonth =getDays(newCal.getMonth(), newCal.getFullYear()); //得到当月天数 //生成日历 for (var intWeek = 0; intWeek < caltable.rows.length;intWeek++) for (var intDay = 0;intDay < caltable.rows[intWeek].cells.length;intDay++) { var cell = caltable.rows[intWeek].cells[intDay]; //得到单元袼 //生成字符串用于判断当天是否有日志 var montemp=(newCal.getMonth()+1)<10?("0"+(newCal.getMonth()+1)):(newCal.getMonth()+1); if ((intDay == startDay) && (0 == daily)){ daily = 1;} var daytemp=daily<10?("0"+daily):(daily); var d="<"+newCal.getFullYear()+"-"+montemp+"-"+daytemp+">"; //选择样式 if(day==daily) cell.className="calendarNow"; else if(diarydays.indexOf(d)!=-1) cell.className="calendarLink"; else if(intDay==6) cell.className = "calendarDaySat"; else if (intDay==0) cell.className ="calendarDaySun"; else cell.className="calendarTd"; //生成值 if ((daily > 0) && (daily <= intDaysInMonth)) { cell.innerText = daily; daily++; } else cell.innerText = ""; } document.all.year.value=year; document.all.month.value=month+1; } function subMonth() { if ((month-1)<0) { month=11; year=year-1; } else { month=month-1; } Calendar(); } function addMonth() { if((month+1)>11) { month=0; year=year+1; } else { month=month+1; } Calendar(); } //得到响应事件 function getDiary() { var mon=(newCal.getMonth()+1)<10?("0"+(newCal.getMonth()+1)):(newCal.getMonth()+1); var day=event.srcElement.innerText<10?("0"+event.srcElement.innerText):(event.srcElement.innerText); var d="<"+newCal.getFullYear()+"-"+mon+"-"+day+">"; if ("TD" == event.srcElement.tagName) if (("" != event.srcElement.innerText)&&(diarydays.indexOf(d)!=-1)) { diary.location="/foxmail/archive/"+newCal.getFullYear()+"/"+mon+"/"+day+".aspx"; window.location.href = diary.location; } } function setDate() { if (document.all.month.value<1||document.all.month.value>12) { alert("月的有效范围在1-12之间!"); return; } year=Math.ceil(document.all.year.value); month=Math.ceil(document.all.month.value-1); Calendar(); } </SCRIPT> <table border="0" cellpadding="0" cellspacing="1" class="calendarBigBorder" id="caltable" width="200"> <thead> <tr align="center" valign="middle"> <td colspan="7" class="calendarMonthTitle"> <input name="year" type="text" class="calendarYInput" size="3" maxlength="4" onkeydown="if (event.keyCode==13){setDate()}" onkeyup="this.value=this.value.replace(/[^0-9]/g,'')" onpaste="this.value=this.value.replace(/[^0-9]/g,'')">年 <input name="month" type="text" class="calendarMInput" size="1" maxlength="2" onkeydown="if (event.keyCode==13){setDate()}" onkeyup="this.value=this.value.replace(/[^0-9]/g,'')" onpaste="this.value=this.value.replace(/[^0-9]/g,'')">月 [<a onClick="addMonth()" href="javascript:;">下月</a>] [<a onClick="subMonth()" href="javascript:;">上月</a>]</td> </tr> <tr align="center" valign="middle"> <SCRIPT LANGUAGE="JavaScript"> document.write("<TD class=calendarDaySun id=diary>" + days[0] + "</TD>"); for (var intLoop = 1; intLoop < days.length-1; intLoop++) document.write("<TD class=calendarTd id=diary>" + days[intLoop] + "</TD>"); document.write("<TD class=calendarDaySat id=diary>" + days[intLoop] + "</TD>"); </SCRIPT> </TR> </thead> <TBODY border=1 cellspacing="0" cellpadding="0" ID="calendar" ALIGN=CENTER ONCLICK="getDiary()" onmouseup=document.selection.empty() oncontextmenu="return false" onselectstart="return false" ondragstart="return false" onbeforecopy="return false" oncopy=document.selection.empty() onselect=document.selection.empty()> <SCRIPT LANGUAGE="JavaScript"> for (var intWeeks = 0; intWeeks < 6; intWeeks++) { document.write("<TR style='cursor:hand'>"); for (var intDays = 0; intDays < days.length;intDays++) document.write("<TD class=calendarTd onMouseover='{classTemp=this.className;this.className=calendarHover}' onMouseOut='this.className=classTemp'></TD>"); document.write("</TR>"); } </SCRIPT> </tbody> </table> <script LANGUAGE="JavaScript"> Calendar(); </script> <!-- Blog日历表结束 -->
文章分类
ORACLE讨论组
AskTom
CNOUG
ITPUB
ORACLE文章索引
存档

原创  [网络安全六]防火墙技术基础 收藏

1. 防火墙概念

定义:防火墙(Firewall)是一种用来加强网络之间访问控制的特殊网络互连设备,是一种非常有效的网络安全模型。

核心思想:在不安全的网际网环境中构造一个相对安全的子网环境。

  目的:都是为了在被保护的内部网与不安全的非信任网络之间设立唯一的通道,以按照事先制定的策略控制信息的流入和流出,监督和控制使用者的操作。

 

2. 防火墙的功能

1)网络安全的屏障;(2)过滤不安全的服务(两层含义):内部提供的不安全服务内部访问外部的不安全服务

3)阻断特定的网络攻击;(联动技术的产生)--例如和入侵检测技术联动

4)部署NAT(网络地址转换)机制;

5)提供了监视局域网安全和预警的方便端点。提供包括安全和统计数据在内的审计数据,好的防火墙还能灵活设置各种报警方式。

 

3. 防火墙的分类(个人防火墙、软件防火墙、一般硬件防火墙和纯硬件防火墙的特点、典型应用)

1)个人防火墙:是安装在个人PC上的软件,而不是放置在网络边界,因此,个人防火墙关心的不是一个网络到另外一个网络的安全,而是单个主机和与之相连接的主机或网络之间的安全。

2)软件防火墙:作为网络防火墙的软件防火墙具有比个人防火墙更强的控制功能和更高的性能。

3)一般硬件防火墙:一般都采用PC架构(就是一台嵌入式主机),使用的各个配件都量身定制。但是,这种防火墙使用的操作系统内核一般是固定的,是不可升级的,因此新发现的漏洞对防火墙来说可能是致命的

4)纯硬件防火墙:采用专用芯片(非X86芯片)来处理防火墙核心策略的一种硬件防火墙,也称为芯片级防火墙。最大的亮点:高性能,非常高的并发连接数和吞吐量;采用ASIC芯片的方法在国外比较流行,国内采用的是NP技术。

以上4种都属于边界防火墙(Perimeter Firewall),它无法对内部网络实现有效地保护。

 

4. 防火墙的局限性

1)只能防范经过其本身的非法访问和攻击,对绕过防火墙的访问和攻击无能为力;(2)不能解决来自内部网络的攻击和安全问题;

3)不能防止受病毒感染的文件的传输;(4)不能防止策略配置不当错误配置引起的安全威胁;

5)不能防止自然或人为的故意破坏;不能防止本身安全漏洞的威胁。

 

5. 数据包过滤 [网络层]

工作原理:系统在网络层检查数据包,与应用层无关。依据在系统内设置的过滤规则 (通常称为访问控制表—Access Control List)对数据流中每个数据包包头中的参数或它们的组合进行检查,以确定是否允许该数据包进出内部网络。

优点:逻辑简单,价格便宜,易于安装和使用,网络性能和透明性好。

主要缺点:①安全控制的力度只限于源地址、目的地址和端口号等,不能保存与传输或与应用相关的状态信息,因而只能进行较为初步的安全控制,安全性较低;②数据包的源地址、目的地址以及端口号等都在数据包的头部,很有可能被窃听或假冒。

 

6. 代理服务 [应用层]

 

工作过程:当用户需要访问代理服务器另一侧的主机时,对符合安全规则的连接,代理服务器会代替主机响应,并重新向主机发出一个相同的请求。当此连接请求得到回应并建立起连接之后,内部主机同外部主机之间的通信将通过代理程序把相应连接进行映射来实现。对于用户而言,似乎是直接与外部网络相连。

优点:①内部网络拓扑结构等重要信息不易外泄,减少黑客攻击时所必需的必要信息;②可以实施用户认证、详细日志、审计跟踪和数据加密等功能和对具体协议及应用的过滤,同时当发现被攻击迹象时会向网络管理员发出警报,并保留攻击痕迹,安全性较高。

主要缺点:① 针对不同的应用层协议必须有单独的应用代理,也不能自动支持新的网络应用;② 有些代理还需要相应的支持代理的客户/ 服务器软件;用户可能还需要专门学习程序的使用方法才能通过代理访问Internet;③ 性能下降。

 

 

7. 状态检测 [检测引擎]

状态检测防火墙采用了一个在网关上执行网络安全策略的软件引擎,称之为检测模块。检测模块在不影响网络正常工作的前提下,采用抽取相关数据的方法对网络通信的各层实施监测,并动态地保存起来作为以后制定安全决策的参考。

●工作过程: 对新建的应用连接,状态检测检查预先设置的安全规则,允许符合规则的连接;请求数据包通过,并记录下该连接的相关信息,生成状态表 对该连接的后续数据包,只要符合状态表,就可以通过。

●主要优点:① 高安全性(工作在数据链路层和网络层之间;“状态感知”能力);② 高效性(对连接的后续数据包直接进行状态检查);③ 应用范围广(支持基于无连接协议的应用)

●主要缺点:在阻止DDoS攻击、病毒传播问题以及高级应用入侵问题(如实现应用层内容过滤)等方面显得力不从心。

 

 

8. NAT(网络地址转换)[网络层]

作用:①隐藏内部网络的IP地址;②解决地址紧缺问题。

分类及比较

1)按实现方式:SNATDNAT--静态(static)网络地址转换和动态(dynamic)网络地址转换

比较:静态地址翻译:不需要维护地址转换状态表,功能简单,性能较好;

动态转换和端口转换(PAT):必须维护一个转换表,以保证能对返回的数据包进行正确的反向转换,功能强大,但是需要的资源较多。

2)按数据流向:SNATDNAT--源(source)网络地址转换和目标(destination)网络地址转换

 

9. 网络安全产品的系统化:以防火墙为核心,各个产品相互分离,但是通过某种通信方式形成一个整体(防火墙联动技术)

 

 

 --本资料由heki总结整理

 

发表于 @ 2007年05月13日 22:18:00 | 评论( loading... ) | 编辑| 举报| 收藏

旧一篇:[网络安全五]PKI技术基础II | 新一篇:[Oracle]高效的PL/SQL程序设计(三)--Package的优点

  • 发表评论
  • 评论内容:
  •  
Copyright © huanghui22
Powered by CSDN Blog