前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的pop3协议主题范文,仅供参考,欢迎阅读并收藏。
关键词:多核;邮件还原;Webmail;IMAP
中图分类号:TN946;TP311.52 文献标识码:A 文章编号:1671-2064(2017)10-0030-01
在网络安全方面对往来邮件的关注度日益增高,如何能在网络安全审计系统中将前端输入网络数据流进行相应处理恢复得到最终直观可读的邮件内容。为了解决这个问题本文设计了基于Tilera多核板卡平台开发,借助其高速收包引擎和多核并行处理的高性能进行数据流捕获,并对libnids数据流重组进行代码结构重写完成数据流重组,最后对邮件相关协议pop3、STMP、IMAP、Webmail进行分析,设计还原算法,实现邮件内容获取解析拆分重组等操作,并将内容按邮件eml标准格式输出。
1 Tilera多核板卡收包模块
基于Tilera平台开发,使用高速收包引擎接口mPIPE进行开发实现大数据量的网络数据包捕获,收包流程如图1。
该模块主要通过接收用户设置参数进行相应配置和初始化硬件资源,给多核板卡的NotifRng、buckets等进行内存分配,同时对tcp重组的部分进行初始化和回调函数注册,最后调用mPIPE高速收包接口,peek方式收包进行网络数据包的接入。
2 数据流重组模块设计
该模块(如图2)主要重构修改libnids开源代码,添加与mPIPE的对接接口,将网络数据包流量引入tcp流重组模块,同时对libnids的数据结构进行修改,加入数据还原算法需要用到的用户字段。后进入回调函数进行邮件协议的分类判断,根据端口走入不同的邮件还原模块算法中。
3 邮件还原模块设计
(1)pop3邮件还原模块根据协议的特征设计算法,当识别到TOP或RETR协议命令时缓存邮件内容并判断结束符,最后将完整邮件存入eml文件。
(2)stmp邮件还原模块的算法和pop3类似,不同的是需要识别的协议命令是DATA。
(3)imap]件还原模块根据协议交互特征,识别带用FETCH等请求获取邮件全部内容或部分内容的协议命令时,组合缓存邮件内容结束符,当邮件内容到达时,判断结束符,进行单封邮件的循环拆分和eml存储。
(4)Http邮件还原模块根据邮箱操作的协议命令格式,每个操作对应一个或多个post或get的url命令格式,其中包含如func=mbox:listMessage"等特征标识,解析并组合其中携带的邮件内容,抽取mime格式中的From、To等字段信息写入eml文件。
4 结语
本文基于Tilera多核板卡硬件平台进行开发,结合mpipe收包引擎接口和libnids数据流重组功能,针对邮件协议特征设计算法实现POP3、STMP、IMAP、Webmail的邮件还原。
参考文献
[1]丁岳伟.基于SMTP协议电子邮件的还原[J].小型微型计算机系统,2002(03):290-293.
关键词:JavaMail; SMTP;电子邮件系统
中图分类号:TP393文献标识码:A文章编号:1009-3044(2011)16-3839-02
The Design and Implementation of E-mail System Based on Java
WEI Yang
(Sichuan University of Science & Engineering, School of Computer Science, Zigong 643000, China)
Abstract: In introducing the SMTP and POP3 e-mail system protocol, JavaMail API framework and based on the core classes, the author mainly deals with a combination of how to use JavaMail API to send and receive e-mail Jsp programming system to implement user accessible communication System's main features include user registration and login, receive and send mail and attachments, such as management.
Key words: JavaMail; SMTP; e-mail system
电子邮件(electronic mail,简称E-mail )又称电子信箱 ,它是―种用电子手段提供信息交换的通信方式。是Internet应用最广的服务:通过网络的电子邮件系统,用户可以用非常低廉的价格 ,以非常快速的方式 ,与世界上任何一个角落的网络用户联系。如果拥有自己的电子邮件系统,会让信息传送的更加快捷、安全可靠,并能更大程度的满足个性化需求。
Java Mail API是SUN为Java开发者提供的公用的Mail API框架,它支持各种电子邮件通信协议, 为Java应用程序提供了电子邮件处理的公共接口,通过定义会话、存储、文件夹、消息和传输,为Java程序员提供了一套既简单又可扩展的面向对象变成方法。JavaMail API由接口和抽象类定义,封装了所有常规消息系统的公共特性和方法,而JavaMail的具体事项则可以实现所有的邮件协议。包括SMTP(简单邮件传输协议)、POP3(邮局协议)、IMAP(Internet消息访问协议)等。因此,应用JavaMail API可以用同样的方法实现对各种协议的邮件系统进行访问。
1 电子邮件系统的设计
1.1 邮件系统设计思想
本系统采用了Java Mail API和JSP相结合的方法进行开发,构成了系统的B/S结构。用户接收和发送邮件只需通过浏览网页就可以实现。后台Java应用程序介于一个邮件服务器和盒交互的Web服务器之间,负责邮件的发送和接收以及邮件的管理。用户可以访问在JSP引擎中的JSP页面产生的Web页面,属于数据服务层的邮件服务器存储用户所有的邮件和相关的资料。后台的数据库主要存储用户的相关资料和地址簿整,整个电子邮件系统结构示意图如图1所示。
1.2 电子邮件系统模块
该邮件系统大致可以分成五个部分:登陆邮件服务器模块、邮件读取模块、邮件发送模块、处理邮件附件模块和邮件通讯录管理模块。
1.2.1 登陆邮件服务器模块
登陆邮件服务器模块主要实现用户登陆验证,并将用户信息保存在Session中,方便调用。如果输入的用户名不存在或者密码不正确则会出现错误信息提示用户。如果正确则连接邮件服务器,用户可根据当前模块提供的功能进行操作,比如:浏览邮件,发送邮件等。
1.2.2 邮件读取模块
该模块负责用户要对选中的邮件进行读取,如果涉及到附件要打开查看的话,则连接到邮件的附件模块。
1.2.3 邮件发送模块
该模块负责把用户所要发送的邮件发送到指定地点,但是不提供附件的功能。
1.2.4 处理邮件附件模块
附件是邮件消息的相关资源,如果用户所接收到的邮件中含有附件,则可显示出该附件的内容并用浏览器打开或用相应的应用程序打开。
1.2.5 邮件管理模块
邮件管理模块主要实现的邮件的删除和移动功能。
2 电子邮件系统的实现
系统完整实现是通过各个jsp文件来共同完成的,有主页面index.jsp调用各个功能模块页面。首先登陆邮件服务器要提供POP3邮件服务器和SMTP发信服务器网址,还要提供登录服务器的用户名和密码。先通过制定POP3服务器和SMTP服务器的网址属性创建一个java.mail.Session.Session类的对象,由该对象的connect()方法进行连接,就可以对服务器上的邮件进行操作了。下面主要介绍发送邮件核心类SendMail的实现服务器的连接并发送邮件。
public static void sendMail()
{
Properties props = System.getProperties();// 创建Properties 对象
props.put("mail.smtp.host", host); // 添加smtp服务器属性
props.put("mail.smtp.auth", "true");
Session session = Session.getDefaultInstance(props, new Authenticator() ) // 创建邮件会话
定义邮件信息
try{
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject("I hava my own mail server");
message.setText("From now, you have your own mail server, congratulation!");
session.getTransport("smtp").send(message);
} catch (MessagingException e)
{
e.printStackTrace();
} }
类SendMail是以JavaBean的形式组装的,页面文件SendMail.jsp调用该JavaBean组建。
3 结束语
本文着重分析了基于Java电子邮件设计与实现的相关技术,利用Java语言开发,所以可靠性高,具有易扩充性、开放性,并且可以运行在多平台上。
参考文献:
[1] 林宏之.Web Services 原理与开发实务[M].北京:电子工业出版社,2003.
[2] 柏亚军.JSP编程基础及应用实例集锦[M].北京:人民邮电出版社,2004.
[3] 孙卫琴,李洪成.Tomcat与Java Web开发技术详解[M].北京:电子工业出版社,2004.
集中管理电子邮件
MailStore Desktop Private支持的邮件来源很广泛,包括存储在Outlook、Thunderbird、Outlook Express、IMAP、POP3等对象中的邮件。
在MailStore Desktop Private主窗口的工具栏中点击“Import Messages(导入信息)”按钮,在窗口最右侧的“Create New Profile(创建账户)”栏中选择邮件的来源,例如Outlook Express,在弹出窗口中的“ProfileName(账户名称)”栏中输入名称,勾选“IncludeUnread Messages(包含未阅读信息)”项(如图1)。
大家一般喜欢使用Web邮箱来处理邮件,MailStoreDesktop Private同样可以导入Web邮箱中的邮件。在“Create New Profile(创建账户)”栏中点击“POP3”项,在“E-mall Address”栏中输入邮箱地址,在“Host”栏中输入POP3服务器地址,在“Protocal”列表中出现的协议类型,包括POP3、POP3-TLS、POP3-SSL等。在“User Name”和“Password”栏中输入邮箱的账户名和密码,点击“Test”按钮,可以测试该邮箱。点击OK按钮,在“Import Message”窗口中部点击该导入项目,即可从指定的邮箱中导入邮件了。
快捷的邮件导出功能
在MailStore Desktop Private中除了灵活导入邮件外,还可以将存储的邮件快速导入到不同的邮件管理对象中。当你创建了大量的导入项目后,可以随时点击对应的导入项目名,及时更新保存在MailStore Desktop Private中的邮件信息。在MailStore Desktop Private主窗口左上角的“MailStore”列表中显示所有的导入项目,选中对应的导人项目中的“Inbox”项,在其下的列表中显示该项目中的所有邮件信息。选中对应的邮件后,在窗口右侧可以浏览该邮件的完整内容。
在邮件预览窗口的右上角点击“Emaal Command”按钮,在弹出的菜单中点击“Open in Outlook”项,可以在Outlook中打开该邮件,点击“Open in WindowsMail/Outlook Express”项,可以在OE中浏览该邮件。点击“Save”项,可以将其导出为独立的“*eml”文件。点击“Export”项,在弹出的分支菜单中可以将邮件导出到Outlook、OE、CD/DVD等对象中。
以导出到OE为例,MailStore Desktop Private可以在OE中创建一个名为“MailStore Export”的文件夹,将邮件导出并存储到该文件夹中。例如选择“SMTP Forward”项,表示将该邮件发送到指定的邮箱中。在弹出的窗口中设置邮箱地址、SMTP主机地址、账户名和密码、协议类型(包括SMTP、SMTP-TLS、SMTP-SSL)等参数,即可将邮件发送到预设的邮箱中了。也可以直接将邮件导出为“*eml”文件,在上述菜单中点击“File System/Browse”按钮选择输出路径,确认后即可将邮件导出到预设的文件夹中。当然,也可以在窗口左侧的邮件列表中选择所有的邮件,在菜单中点击“Export(导出)”项,将选中的所有邮件导出到选定的对象中。如果还希望导出MailStore Desktop Private中的所有邮件,可以点击工具栏上的“Administrative Tools(管理员工具)”按钮,在打开窗口中点击“Export All E-mail Messages”项,即可将全部邮件导出到指定的文件夹中。
灵活的邮件查询功能
当在MailStore Desktop Private中导入了大量的邮件后,如何从中快速找到自己需要的邮件呢?利用MailStoreDesktop Prlvate内置的强悍的查找功能,即可轻松解决上述问题。在MailStore Desktop Private主窗口中点击“Extended Search”按钮,在邮件查询窗口中的“Searchfor”栏中输入查询的内容(如图2),在默认情况下,MailStore Desktop Private可以检测的范围包括邮件主题、发信人名称、邮件的内容、附件的名称以及内容等项目。
你可以对MailStore Desktop Private整个邮件数据库进行查询,也可以在“Folder”栏中点击浏览按钮,选择对应的邮件存储文件夹,只查询选定的存储文件夹。在“From”栏中输入发信人地址,在“To/Cc/Bcc”栏中输入“收信人/抄送人/暗送人”地址,在“Date”栏中设置邮件处理的日期范围,包括任何日期、今天、昨天、本周,上周、本月、上月、本年、去年、定制日期范围等。在“Size”栏中选择邮件的尺寸,包括任何尺寸、最小尺寸、最大尺寸、定制尺寸等。
关键词:病毒;网络安全;防火墙;juniper
中图分类号:TP393.08
1 引言
网络安全的内容是保护数据和服务的安全。防止信息内容被嗅探监听;维护服务器使得其能不间断的提供服务。如果要完全的保证网络的安全性,除非将不同的网络完全阻断隔离。但实际中由于信息通信的需要,很少将网络完全隔离。在与外部网络有了持续的数据交换后,网络安全的目的就是使得数据窃听、破坏服务的难度提高到他们很难达到或者难以忍受的程度。这里的难度包括硬件设别、人力物力、所需时间等多方面的因素。Juniper防火墙将传统的硬件防火墙与入侵检测系统整合,并可承担网络管理的服务,还可配置为vpn等网络服务器。Juniper的安全策略、IPSec等功能的实现低功耗搞速率,可以适应于任何类型的网络。Juniper的管理除了传统的命令行界面,同时提供了可操作性强的WEB界面管理工具。
2 juniper防火墙主要技术
Juniper提供了多种网络解决方案,适用于小型部门网络、中型企业的边缘网络、大型企业的内部网络管理,以及网络上的各类服务器的安全保护。Juniper全功能防火墙采用实时检测技术,可以有效的监测入侵者和防止拒绝服务的攻击。Juniper防火墙是一种集成了ScreenOS操作系统的监控检测防火墙。Juniper防火墙可用于防止SYN攻击、ICMP泛滥、端口扫描(Port Scan)等各种攻击行为,在最复杂的情况下使用硬件加速功能可以提高会话性能,保证功能的良好实现。
Juniper在多种方面保护以实现通信的内容安全,主要的应用包括深层检测、防病毒、垃圾邮件过滤、和网页过滤。深层检测是指在网络流量里的应用层里检测攻击,包括常见的蠕虫病毒、木马等,其实就是将传统的入侵检测和防护的功能集成到Juniper防火墙的操作系统里面。在同一时间的会话状态的策略相匹配,基于特征的应用层攻击的实施,并制定了相应的保护作用。Juniper防火墙匹配的应用层流量的特性进行数据分析,通过一系列的优化,降低了对数据处理能力的影响。
3 juniper防火墙防病毒设置
Juniper 防火墙的防病毒可以针对HTTP、FTP、POP3、IMAP以及SMTP等协议进行配置。
3.1 Scan Manager 的设置
3.2 配置文件的设置
Juniper防火墙的防病毒引用是基于安全策略的,我们通过引入特定的Profile来实现防病毒设置,通过内置的防病毒引擎可以实现高细致化的防病毒控制,极大地降低将防病毒对系统资源的消耗。
操作系统自带有模板化的配置文件,用户可以直接在安全策略里引用它,也可以根据网络的实际需求来设置适合自身需求的配置文件。配置文件设置主要在FTP、HTTP、IMAP、POP3、SMTP等5个方面。每个特定的协议类型,都可以用Enable选项启用或禁用防病毒引擎对与这个协议相关的流量的扫描。扫描方式的三个种选择:全扫描、特定扫描、扩展扫描。
很多文件在传输时都会被压缩以减少传输时间。减压层就是用来设置防病毒引擎扫描压缩文件的层数。防病毒引擎最多可以支持对4层压缩文件的扫描。
在HTTP协议的配置里,可以通过Skipmime Enable启用和禁用打开或关闭防病毒扫描。在IMAP、POP3、SMTP 等邮件协议配置里,可在发现病毒或异常后,通过Email Nortify选项开启对用户的邮件通知。
3.3 防病毒配置文件在安全策略中的引用
如前所述,防病毒的实现是通过在特定安全策略中引用配置文件来实现的。比如,
我们将名为av1的防病毒的配置文件应用于名ftp-scan的策略中。
(1)首先建立了名为av1的配置文件,并启用FTP协议的扫描;由于我仅希望检测的是FTP
应用,故关闭对其他协议的扫描。
(2)设置ftp-scan安全策略,并引用配置文件av1。
(3)引用了配置文件进行病毒扫描的策略,在action栏会有相应的图标出现。如下图
4 结语
计算机网络安全是一个复杂的系统工程,针对不段变换的网络环境和病毒攻击手段,防火墙的配置只是其中一个主干部分而非全部,所有的防御不能完全依赖于防火墙,必须将防火墙的配置与各种安全措施结合起来,才能达到保障计算机安全的目的。同时对于juniper防火墙的病毒库,必须实时的进行更新才能保证与实时的攻击防御同步。
参考文献:
[1]海阳.租个软件防病毒[J].中国计算机用户,2004(47).
[2]Earl Greer,刘毅.防病毒新举措[J].中文信息,1998(Z1).
小知识
IMAP是何物?
IMAP就是Internet Message Access Protocol(互联网邮件访问协议)的缩写,我们可以通过这种协议从邮件服务器上获取邮件的信息、下载邮件等。IMAP与POP类似,都是一种邮件获取协议。默认情况下,QQ邮箱只开启了POP协议,我们在电子邮件客户端的操作,是不会反馈到服务器上的,这样就会发生文章开头那种情况。但IMAP就不同了,电子邮件客户端的操作都会反馈到服务器上。也就是说,IMAP是“双向”的。
QQ邮箱设置好
打开QQ邮箱,依次进入“邮箱设置”的“账户”标签页,然后在“POP3/IMAP/SMTP服务”下勾选“开启IMAP/SMTP服务”(图1),单击“保存修改”按钮。
如果你的QQ邮箱激活时间未满14天,是无法启用IMAP服务的。
客户端上开启IMAP
我们以常见的邮件客户端Foxmail为例,看看如何开启IMAP支持。
Step1 启动Foxmail,依次单击“邮箱”菜单“新建邮箱账户”,在出现的窗口中输入QQ邮箱地址和密码(图2),然后单击“下一步”按钮。
Step2 在“接收邮件服务器类型”处选择IMAP后,“接收邮件服务器”就自动变为:imap.省略,“发送邮件服务器”则是:smtp.省略(图3)。单击“下一步”按钮。
对于的邮件地址,输入@前面部分即可;对于@vip.省略的邮件地址,须输入完整的邮件地址。
Step3 软件默认勾选了“邮件在服务器上保留备份,被接收后不从服务器删除”(图4)。大家最好不要修改这个设置。
其他客户端设置
刀刀同学机器上的Outlook Express的设置基本和Foxmail的设置一样。设置完毕,点击“收件”按钮即可。Foxmail客户端的收信速度很快,邮箱中保存的几百封信件数十秒就搞定了(但是收下来的信排列比较混乱,统一是当天的收信时间,无法按照QQ Web邮箱中的排列顺序进行排序。)
Outlook Express收下信件后显示的排序正确,不过收信花费的时间相当长,大约用了十几分钟。
当我用Foxmail回复了一封收到的邮件时。在刀刀同学机器上的Outlook Express中,该信件就立刻变为已阅读及已经回复的状态。而且他的“已发送邮件文件夹”中也有了我回复的邮件。同理,刀刀同学通过Outlook Express进行的操作在我的Foxmail中也能看到了。
A只要在uTorrent中将上传速度限制低一些,例如当前的上传速度为50KB/s,直接将其限速为30KB/s或是更低,这样就可以确保下载速度能够接近正常的下载水平。uTorrent中的设置方法:单击“选项设置”,选择“带宽”,在右侧窗口中直接将上传速度限定为具体值即可(见图1)。
傻博士有话说:
在网络传输过程中,TCP/IP标准规定,每一个封包,都需要有acknowledge(确认)讯息的回传,也就是说,传输的资料,需要有一个收到资料的讯息回复,才能决定后面的传输速度,并决定是否重新传输遗失的资料。上行的带宽一部分就是用来传输这些acknowledge资料的,当上行负载过大的时候,就会影响acknowledge资料的传送速度,并进而影响到下载速度。这对非对称数字环路也就是ADSL这种上行带宽远小于下载带宽的连接来说影响尤为明显。试验证明,当上传满载时,下载速度将会变为理想速度的40%,因此,在进行BT下载时,适当地限制上传速度能够提高下载速度。
播放画面全屏后就静止
Q在线看视频(例如看优酷网视频),只要将播放画面全屏后画面就会静止不动,但声音还正常。请问这是什么原因?
A这一般与显卡驱动程序未安装好或者损坏有关,只要按Win+R键打开运行对话框,输入“devmgmt.msc”(不含外侧引号)并按回车键,在打开的设备管理器中找到显卡项,将驱动程序卸载并重新安装一遍,然后重新启动系统应该能解决问题。此外,若未开启硬件加速、未安装DirectX,或者Flash播放插件版本过低,也会导致类似的情况发生,在显卡驱动正常的情况下,可以考虑以上几种可能的原因并逐项排除。
拨号连接无法保存用户名及密码
Q最近我的拨号连接总是无法保存我的用户名和密码,在登录对话框下面的“为下面用户保存用户名和密码”区域的选项全部为灰色不可用。请问如何解决?
A可以按Win+R键调出运行对话框,输入“regedit”(不含外侧引号,下同)并按回车键打开注册表编辑器,然后依次展开到[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\RasMan\Parameters\DisableSavePassword],将该项值修改为“0”或是直接删除“DisableSavePassword”项,按F5键刷新注册表或重新启动系统应该能解决问题。
傲游下载模块损坏
Q我在注册表中清理了一下迅雷的相关项,结果导致傲游浏览器的下载模块损坏,重新安装亦不能解决。请问如何修复此故障?
A请按Win+R键调出运行对话框,并输入执行“regsvr32 c:\windows\system32\atl.dll”(不含外侧引号)命令,一般即可解决问题。
Foxmail中总是无法设置Gmail
QFoxmail是最新版的,设置其他邮箱一切正常,但在试图设置Gmail时在“查找接收邮件服务器(POP3)”这步无法通过。请问这是什么原因?
A要想在邮件客户端程序中收、发Gmail邮箱中的邮件,需要在Gmail中设置开启POP功能(当然也可以启用IMAP协议):在Gmail中点击“设置”,选择“转发和POP/IMAP”,选中“针对所有邮件启用POP(包括已经下载的邮件)”,点击“保存更改”保存设置即可(见图2)。
QQ空间下载播放插件出问题
关键词:大容量邮件系统;存储设备构建模式;冗余分布式技术并发;Mail2G;WEB邮件技术
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)33-1381-02
The Large-capacity E-mail System
ZHANG Xiao-yun
(MianyangVocational and Technical College, Mianyang 621000, China)
Abstract: From the origin, the bottlenecks and other aspects of the traditional mail systems, this article stated the birth of large-capacity e-mail system, its requirements on the memory equipments, the new technologies used on it, state of affairs of its development and the evaluation methods.
Key words: large-capacity e-mail systems; models built storage devices;distributed technology with redundancy; Mail2G; Web e-mail technologies
1 引言
1969年10月LeonardKleinrock在计算机上成功地发送了“L O”,标志电子邮件的诞生。1971年Ray Tomlnson首次使用了含有@的电子邮件地址, 开创了@时代。在David H Crocker等人的不懈努力下,电子邮件在上世纪80年代从实验室走向了商业化应用,1999年统计显示,当时的电子邮件用户已经达到了5.96亿。本世纪初,电子邮件用户和邮件容量急速增加,传统电子邮件的不足凸现出来。
电子邮件系统在电子通讯网中利用电信号传递信件、单据等各种信息,通信双方在ISP上申请邮件帐号,形如:username@server_address,即邮箱,利用邮箱收发信息。传统的电子邮件系统由SMPT、POP3、IMAP和SSL协议构成。SMPT称为简单邮件传输协议,实现邮件从一个服务器到另一个服务器的传输。POP3称为邮局协议,负责将邮件从邮箱中传输到用户的本地计算机。IMAP为互联网邮件访问协议。SSL用于保护邮件安全,在邮件系统中主要完成数据加密。
在早期的邮件系统中,邮件通过单线程、双向通道技术,实现连续的信息传送,不支持断点续传,占用相当数量的带宽,网络资源的浪费可观。离线传送机制,使得邮件送达的时间较长而且不确定,受到了各种即时通讯软件的巨大挑战。邮件传送机制制造了潜在的安全患,接收者被动收邮件,冒名、匿名邮件大行其道,垃圾邮件、病毒邮件漫天飞。各种邮件病毒,让全世界数以百万计的电脑深受祸患。字符传送模式需要编码和解码,增加了服务器的开销。传统邮件系统还把用户的认证和邮件存储模式等功能固化在模块中,不提供二次开发,固化方式阻碍了负荷分散处理和数据分布式存储,设备扩展困难、高峰时的海量负载容易造成系统的阻塞、死锁、坍塌。此外收发邮件所使用的客户端邮件程序配置和管理复杂,增加了用户负担。以上原因阻碍了电子邮件的使用,促进了新邮件系统的研发。由于新邮件技术着力于解决巨量邮件用户服务和大容量附件的传输等方面的问题,被称为大容量邮件系统,或者第二代邮件系统。
2 大容量邮件系统对存储设备的要求
通常,大容量邮件系统是指能为5万以上用户提供服务的邮件系统,存储设备是其关键。首先,并行的多个服务器必须能够共享存储设备,存储系统能够完成服务器的并发读写,这就要求存储设备在保证数据的一致性和完整性的基础上能够高速、并发读写数据,通常采用分布式存储模式;其次用户数量在不断扩张,存储容量随时短缺的可能导致经常性扩容,在构建存储设备时要充分考虑扩容,使系统的水平扩展和垂直扩展便捷(水平扩展是指通过增加服务器数量进行系统扩展;垂直扩展是指在服务器数量不变的基础上,实现系统的重新配置);第三,商用存储设备在可靠性、读写时间等方面要求较高,价格不菲,海量存储设备是大容量邮件系统的核心,在堆叠存储器时要合理设计,减少重复存储,降低单位容量的成本,存储管理可以采用分布式散列算法。
存储设备构建模式有三种:NAS模式、DAS模式、SAN模式。大容量邮件系统在数据组织上采用了多级目录式管理,所以在大容量邮件系统中多数采用SAN模式,当NAS和SAN都不适用时采用DAS模式。
3 在大容量邮件系统中采用的新技术
大容量邮件系统中采用了许多新技术。有的系统采用了冗余分布式技术,采用集群方式将一组相互独立的服务器以单一模式管理,使系统在网络中按照单一系统方式呈现,在服务器上将邮件的不同模块分离后加载到不同的服务器或者相同的多个服务器上,系统的各个功能部分独立工作,不同服务器上的相同模块并行处理,有效解决了海量并发服务请求。当单台服务器产生故障时,能够重新分配任务,不影响系统运行,提高了服务器的平均无故障时间,还能够实现在线的流水式备份。有的系统中增加了Prefork:生成守候进程[1],以求在最短时间内响应大量的突发请求,实现进程间隔离保护特性达到并发下的稳定可靠。还有一些系统采用了Apache服务器[2]。这种服务器可以以进程为单位,方便扩展服务器和扩展元集群节点,其开放式源代码,对功能增减和个性化需求都比较容易满足,提供了较好的跨平台服务支持。
4 大容量邮件系统的发展情况
目前,许多营运商对原有的邮件系统进行了改造,市场也推出了新的邮件系统,表明了新邮件技术研究工作取得了一些阶段性成果,大容量邮件系统主要朝着以下几个方面发展:
4.1 第二代电子邮件系统Mail2G[3]
Mail2G着力于改进客户端软件的工作机理。在Mail2G中用IMAP4取代IMAP、多线程带宽争用代替单线程技术、POPost 协议取代POP3协议,实现了字节流传送和断点续传,节约了带宽,提高了邮件的传送竞争能力,加快了传送的时间,提高了及时送达能力;通过发送握手信号通知收件人收件,在握手信号中加入了诸如发件人信息、主题、概要等内容,让收件人可以及时地、选择性地接收邮件,改善了收件人被动性;在服务器端,Mail2G使用filedir模式,把用户邮箱的内容分块存储,操作错误将局限在所在的目录下;采用分布式存储结构,容量扩展方便, OEPT协议实现了大容量附件的传送。
4.2 WEB邮件技术
WEB邮件技术的理念就是让用户利用熟悉的浏览器,在任何一网的电脑上,登陆互联网或者局域网中的邮件服务器阅读邮件,除了浏览器知识以外,无额外知识要求,无需配置客户端软件,经常出差的用户也能方便接收邮件,提高了邮件系统的服务质量。
4.3 多域邮件服务程序
多域邮件服务程序则可以实现一台服务器为多个独立注册的互联网域名企业或者单位提供独立的电子邮件服务,通过提高设备的共享性和有效性,充分发挥了设备和服务的效力,降低邮件系统构建的成本。
4.4 Linux邮件服务器
Linux邮件服务器能够向Linux系统用户提供更加专业、优质的服务, Linux系统所采用的开放源代码模式,使得邮件系统的研发变得容易,降低了邮件系统的价格,邮件系统功能丰富,个性化特点鲜明。
4.5 强有力的安全防护措施
为邮件系统和邮件用户提供无威胁的服务一直是邮件技术追寻的梦想。在大容量邮件系统中,管理者使用数字证书登陆管理,增加了能够提供链路加密和端对端加密的安全技术,采用了S―MIME加密协议,密码服务器与用户服务器分离;限制同一IP地址在同一时间中的连接数量;提供邮件概要,让用户能够主动地根据概要地选择接收邮件;对有污点的IP地址进行记录和防范等等。
除此之外,有的大容量邮件系统还为用户提供多种语言配置,实现了不同语言平台间信息传递和交流。有些系统能够提供远程监控和性能调整,根据系统负载情况进行实时调整、实时优化,提高可靠性和性能。有的系统积极扩展服务种类,增加特色服务或者服务的范围,如增加用户模块,提供第二次开发;增加防病毒模块,提高病毒检查和防护能力;增加短信模块,向同一消息系统发展等等。
5 大容量邮件系统的测评标准和我国的大容量邮件系统发展现状
大容量邮件系统还没有统一国际国内的标准,如何评价或者判定一个系统是否是大容量邮件系统,众说纷纭,判定时基本上会考虑以下几个方面:一是系统的安全性和垃圾邮件的防范能力,二是系统的可靠性,如错误率、流失率等,三是邮件迁移能力,同步流水备份对系统影响情况,四是灵活性和高效率,是否在底层设防,目录共享、远程邮件集中存储和收发效能,五是可扩展性,是否在理论上支持无限可扩展。
我国在上世纪末开始了大容量邮件系统研发,相继了一些解决方案。过去的两年中,笔者曾经参加了几个涉及第二代电子邮件的科技项目审定,这些项目在市场推广上都与预期相差甚远,除去各种外部因素以外,项目本身存在缺陷,诸如在高峰时邮件丢失率高;对管理员的约束较少,用户信息外泄潜在的危机大;服务器与存储设备的综合性能上有待深一步考虑;技术上的突破不显著等等。此外技术上的合作不足也制约了这些项目的研发、推广。技术推进产品,需求推动技术,大容量邮件系统的研究成果正在逐渐融入我们的生活。
参考文献:
【 关键词 】 互联网;信息安全;账号密码;身份认证
Security Investigation on the Internet Users’ Accounts and Passwords
Xie Jin 1 Liu Fan-bao 2 Xie Tao 2
(1.The First High School of Changsha HunanChangsha 410005;
2. School of Computer Science, National University of Defense Technology HunanChangsha 410073)
【 Abstract 】 Being directed against the basic problem of information security, i.e. the security of the Internet users’ accounts and their corresponding passwords, an investigation on the security level of inland network identity authentication has been carried on for 3 years. The investigation focuses on testing the security mechanisms applied in the registration (create a new account) and sign-in procedures of some dominant inland Internet Email service providers, and testing the security mechanisms applied in the registration and sign-in procedures of some dominant inland Internet E-Business service providers. To make comparisons on the security mechanism with overseas Internet Email service providers, similar tests have also been carried out on the three dominant Internet Email service providers, namely Hotmail, Gmail and Yahoo!Mail. Research results show that, China’s current information security can be leveled as very severe, so that some emergent measures must be taken to hold up the network security as soon as possible, and the first and foremost remedy is not to send a user’s username\password over the circuit “in the clear” any more.
【 Keywords 】 internet;information security; account password; identity authentication
1 引言
与历史上改变人类生活方式的重大技术革命一样,网络技术已经成为一把名副其实的双刃剑。从模拟信号到数字信号、从有线连接到无线连接、从静止通讯到移动通讯、从单计算机应用到多计算机互联、从人-人互联到人-物与物-物互联,网络技术发展到今天,已经无处不在、不可或缺。但由于因特网的基础协议(TCP/IP)未考虑信息安全因素,使得在网络信息技术飞速发展的今天,安全问题也异常突出。网络账号密码泄密、网络阻塞、网站瘫痪、邮件伪造、黑客入侵、网络欺诈、假冒网站等信息安全问题,已经严重威胁电子金融、电子商务、电子政务、网络媒体、网络社交等互联网络服务的安全与信任问题。
愈演愈烈的“密码危机”已经演变成为对网络技术的信任危机。近年来,互联网用户信息泄露与入侵事件层出不穷,事件日益严重。例如,索尼上亿用户信息泄露,韩国SK通讯公司七成韩国人资料遭泄露,日本爱普生公司泄露3500万用户信息,美国银行与美国花旗银行信用卡信息遭泄露,华盛顿邮报百万用户信息遭泄露…… 近年来,我国也发生了史上最为严重的用户信息泄露事件。2011年12月,CSDN上600万用户资料被公开,知名团购网站美团网的用户账号密码信息也被宣告泄露,天涯社区、开心网、7K7K、猫扑等多个社区和游戏网站的用户数据相继外泄,网上公开暴露的网络账号密码超过1亿个。2013年3月,著名云笔记服务提供商Evernote 5000万用户身份密码遭黑客泄漏。 2014年12月,中国铁路客户服务中心12306用户数据在互联网遭到大量泄漏,包括用户账号、明文密码、身份证以及邮箱等。如何确保互联网上个人、组织、服务和设备之间的虚拟服务具有与现实服务同等的可靠度与诚信度,已成为网络安全行业在信息安全理论、技术、工程与管理上迫在眉睫、义不容辞的责任与使命。
身份认证是网络信息安全的基本保障。网络服务器通过身份认证与访问控制方式对合法注册用户进行授权与管理。用户首先通过注册(账号与密码)成为网络服务器的合法用户,只有通过身份认证的用户才能访问/使用(阅读、修改、下载等)网络服务器相应角色的资源。身份认证与访问控制是网络信息安全的基本技术和基本研究内容。网络信息安全涉及计算机操作系统、互联网络安全协议与密码算法的安全性,其中网络安全协议以密码算法为基础,采用网络协议的形式实现两个以上网络实体之间的远程身份认证、密钥协商以及确保消息的不可抵赖性。安全协议的安全性不仅取决于密码算法自身的安全性,同时也取决于协议形式的安全性。身份认证协议常用攻击方法包括网络监听、重放攻击、中间人攻击、在线攻击、离线攻击等等,一个不安全的身份认证协议可以被黑客利用进行网络攻击。因此,身份认证协议的安全性是确保网络身份认证安全的技术基础。
2 电子邮件系统与商业网站账号安全
我们首先对每个电子邮箱的三种登录方式分别进行了用户账号密码的传输方式测试,包括POP3登录方式、IMAP登录方式以及Web登录方式。然后,对每个电子邮箱注册服务过程中用户注册信息的传输方式进行测试。
2.1 电子邮箱POP3客户端登录安全方式调查
我们在2011年8月的调查结果表明,采用POP3客户端登录方式的所有国内电子邮件服务提供方默认使用明文密码进行用户身份认证,而且其中46%的境内邮件服务提供方(28家中的13家)仅支持明文密码认证。我们在2012年8月的调查结果表明,采用POP3客户端登录方式的所有境内电子邮件服务提供方仍然默认使用明文密码进行用户身份认证,而且其中39%的境内邮件服务提供方(28家中的11家)仅支持明文密码认证。一年期间,中国移动的139mail新增HTTPS支持,Tommail新增Login支持。此点说明,已经有境内电子邮件服务提供方开始认识到用户登录身份认证安全的重要性。调查统计结果如图1(a)所示。
2.2 电子邮箱IMAP客户端登录安全方式调查
我们在2012年8月的调查结果表明,25%的境内邮件服务提供方(28家中的7家)不支持IMAP客户端登录。在支持IMAP客户端登录的境内电子邮件服务提供方中,所有提供方默认使用明文密码进行用户身份认证,其中33%的提供方(21家中的7家)仅支持明文密码认证。调查统计结果如图1(b)所示。
2.3 电子邮箱Web页面注册与登录安全方式调查
我们在2012年8月的调查结果表明,除亿邮(eyou.mail)关闭了注册功能外,所有境内邮件服务提供方在用户注册过程中均将注册信息(包括账号与密码)以明文方式传输至注册服务器。在已调查的28个境内知名邮件服务提供方中有19个(比例为67.9%)为收费邮件服务(每月收取服务费用从五元至上百元不等),有9个(比例为32.1%)提供免费电子邮件服务。调查结果表明,境内邮件服务商信息安全意识不强,对用户私密信息缺乏足够安全保护。令人震惊的是,19家收费电子邮件系统中竟有16家(比例为84.2%)默认使用明文密码进行登录认证,仅有3家提供非明文密码的登录认证方式,而且其中一家仅仅采用极其简单的线性掩码变换方式对登录密码进行保护,另外两家则采用安全的HTTPS方式对登录过程中的密码传输进行加密保护。由此可见,境内电子邮件系统安全性十分脆弱。在9家免费电子邮件系统中,仅有搜狐旗下的4家提供安全的HTTPS对登录过程的密码传输进行加密保护,另外三个使用用户明文密码进行登录认证,剩余两家使用单向挑战响应认证方式对用户账号密码进行有限保护。根据轻量级(非公开密钥密码系统)动态身份认证方式中认证服务器数据库账号密码必须与用户登录密码一致的原理,可以推定其中使用单向挑战响应认证方式的两家邮件服务商均采用明文密码数据库,因此容易遭受因认证数据库泄密导致的集中泄密风险。调查统计结果如图2所示。
2.4 国外电子邮箱系统安全性调查
作为安全性比较分析,我们对境外三大电子邮箱服务器Hotmail、Gmail和Yahoo!Mail的安全身份认证方式进行了同样的测试工作,结果发现这些邮箱的注册与登录过程全部以安全HTTPS协议方式对用户账号密码信息进行加密传输,基本上没有明文账号密码传输认证方式选项。
境内电子邮件服务提供方仅采用最低安全级别的明文密码传输方式进行身份认证,而境外电子邮件服务方一般提供安全级别很高的口令密码加密传输保护方式。因此,境内电子邮件系统极易受到境内外黑客或者情报部门攻击,并利用用户个人私密信息进行商业牟利或政治与军事渗透活动。重视账号和内容安全的国内电子邮件用户因而转投境外电子邮件提供方。由于我们无法控制国外邮件服务器,而境外情报部门却能轻易控制并利用境内的电子邮箱信息,致使我国在网络信息安全技术领域处于不对称的弱势地位。此外,我国现有网络服务器等网络核心设备一般采用国外主机与操作系统,由网络设备制造方预设的硬件后门和软件后门所导致的安全风险也不容小觑。
2.5 商业网站账号安全性调查
名目繁多的境内互联网商业网站为用户提供购物、旅游、聊天、交友等系列服务,极大便利了广大用户的生活。这些网站数据库中留下了用户的各种私密信息(爱好、消费内容和习惯、交往人群等),如果这些用户信息发生集中泄露事件,用户就毫无隐私可言。2011年12月期间我国系列网站账号数据库集中泄露事件表明,境内商业网站的账号与密码的安全性令人质疑。
2012年8月我们集中调查了30家知名商业网站的账号密码安全性。受调查的商业网站涵盖生活、招聘、交友、团购、购物、旅游和视频等方面,在一定程度上代表了当前服务性商业网站的主流应用。我们主要通过监控用户注册过程和用户登录过程,检查网站是否提供必要的安全技术对用户的账号密码进行保护。其中29家商业网站在用户提交注册信息(包含账号密码)的过程中均未提供任何安全保护,包括知名购物网站淘宝网,用户设定的账号和密码通过明文方式经过不安全的互联网传送至网站服务器。京东商城使用HTTPS对注册和登录过程进行保护。
26家商业网站(比例86.7%)对用户的登录认证过程未提供任何安全保护,仅仅采用明文密码认证方式,包括知名团购网站拉手网和美团网以及三大招聘网站,如图3所示。仅有淘宝和京东商城提供了安全的HTTPS对用户登录认证过程的密码传输进行加密保护,另有三家网站(58同城、开心网和新浪微博)采用单向挑战响应认证方式对用户在登录认证过程中的密码传输进行了有限的保护。根据动态身份认证方式中认证服务器数据库账号密码必须与用户登录密码一致的原理,可以推定其中使用单向挑战响应认证方式的三家商业网站服务商采用明文密码数据库,因此容易遭受因认证数据库泄密导致的集中泄密风险。调查统计结果如图3所示。2014年8月,我们再一次对此30家知名商业网站的账号密码安全性进行复查,发现58同城网、CSDN论坛网、美团购物网、大公点评网以及去哪儿旅游网等几家商业或社交网站的注册与登录信息传输已经采用HTTPS安全协议进行了加密封装,其它网站仍然没有进行必要的安全升级。
3 调查结论与建议
3.1 调查结论
(1)境内互联网服务提供方用户的身份注册与登录认证过程普遍默认采用静态身份认证方式。虽然认证数据库用户的账号密码存储方式不明,但用户的账号密码却几乎全部采用明文密码传输方式。因此,容易遭受网络监听泄密风险。这是导致近几年国内外商业数据库账号密码泄密的主要技术原因。
(2)绝大部分境内互联网服务提供方的用户注册信息(账号与密码)传输仅仅提供唯一的明文传输方式,近半数境内互联网服务提供方用户登录身份认证的账号密码传输仅仅提供唯一的明文传输方式。因此,非常容易遭受网络监听泄密风险。这是导致近几年国内外商业数据库账号密码泄密的主要技术原因。
(3)境外互联网几大专业电子邮箱服务器Hotmail、Gmail和Yahoo!Mail均采用SSL\TLS协议对口令实施加密传输动态认证,防止账号口令密码网络明文传输泄密风险;认证服务器数据库则采用账号口令散列值加密方式,预防数据库内部集中泄密风险。
(4)为了确保网络身份认证数据库安全与认证过程中认证信息传输的安全性,无论是国际互联网还是包括军网在内的各种内部专网,必须采用SSL\TLS协议将网络身份认证过程加密封装,在口令密码散列值加密存储方式下实现非对称密码体制下的动态身份认证。
(5)密码算法、安全协议与网络工程以及操作系统各专业研究领域必须紧密合作,才能保证一项互联网应用工程中的信息安全。我国互联网普遍存在用户账号密码明文传输的不安全静态认证方式,根本原因在于互联网应用工程设计人员网络安全意识不强,对网络安全协议缺少研究,对常规网络攻击方法与行为缺乏了解,对潜在的网络攻击新理论与新技术更缺少关心。
根据轻量级动态身份认证的一致性原理可以推定,采用轻量级动态身份认证方式的认证数据库一般采用用户账号密码的明文存储方式。根据一致性原理同时可以推定,安全的认证数据库一般采用用户账号密码的单向散列值影子文件加密保护,而采用SSL/TLS安全协议将静态认证的明文密码传输转换成重量级动态认证的加密传输方式。这样,网络身份认证才能既可防止认证数据库的内部集中泄密风险,又能防止外部网络监听的重放攻击。
3.2 应急建议
(1)尽快对我国互联网开展一次用户身份认证方式的普查工作,检查认证数据库用户的账号密码存储方式与身份认证中账号密码的网络传输方式。
(2)尽快对我国各行业内部专用互联网(内部信息专网、政府办公专网、金融专网、邮电专网、铁路专网等等)开展一次用户身份认证方式的普查工作,检查认证数据库用户的账号密码存储方式与身份认证中账号密码的网络传输方式。
(3)采用SSL\TLS协议对我国互联网用户身份认证过程实现加密封装,确保身份认证过程的动态性。
(4)加强网络信息安全意识,建立互联网攻防新技术专业实验室,为复杂信息化环境下的军事斗争加紧培养既精通密码算法与安全协议的分析方法又通晓操作系统与网络工程技术的复合型高级专门技术人才。
参考文献
[1] 谢涛,陈火旺,康立山. 幻方身份双向认证与密约传输一体化方法.中国知识产权局,发明专利号:331608,2007年6月.
[2] 谢涛. 一种用于身份真伪鉴别的幻方签名方法.中国知识产权局,发明专利号:695757,2010年11月.
[3] Freier A, Karlton P, Kocher P. The Secure Sockets Layer (SSL)Protocol Version 3.0. RFC 6101 (Historic). August 2011. http:///rfc/rfc6101.txt.
[4] Dierks T, Rescorla E. The Transport Layer Security (TLS) Protocol Version 1.2. RFC 5246 (Proposed Standard). August 2008. Updated by RFCs 5746, 5878, 6176, http:///rfc/rfc5246.txt.
[5] Rescorla E. HTTP Over TLS. RFC 2818 (Informational). May 2000. Updated by RFC 5785, http:///rfc/rfc2818.txt.
[6] Fielding R, Gettys J, Mogul J, et al. Hypertext Transfer Protocol-HTTP/1.1. RFC 2616 (Draft Standard). June 1999. Updated by RFCs 2817, 5785, 6266, http:///rfc/rfc2616.txt.
[7] Crispin M. INTERNET MESSAGE ACCESS PROTOCOL - VER- SION 4rev1. RFC 3501 (Proposed Standard). March 2003. Updated by RFCs 4466, 4469, 4551, 5032, 5182, 5738, 6186, http:///rfc/rfc3501.txt.
基金项目:
本文工作得到国家自然科学基金项目NSF.61070228与 NSF.61472476的连续资助以及国防科技大学XXX实验室的大力支持。
作者简介:
谢瑾(1997-),女,湖南长沙人, 湖南省长沙市第一中学信息技术组成员;主要研究方向和关注领域:互联网应用创意、文学创作、数学游戏。
关键词:网络安全;校园网;防火墙;服务器
中图分类号:TP393文献标识码:A文章编号:1009-3044(2009)27-7640-03
Configuration of Firewall in Linux
YANG Yun1, ZHANG Hui2
(1.Jinan Railway Polytechnic, Ji'nan 250013, China; 2.Jinan Huangtai School, Ji'nan 250013, China)
Abstract: The article discusses the practical problem in operating campus network, and how to build a high efficient、universal and safe resolution of firewall in Linux at different applications forpacket and Proxy service.
Key words: network safe; campus network; firewall; Proxy server
Internet的迅速发展在提高了工作效率的同时,也带来了一个日益严峻的问题-网络安全。很多企业为了保障自身服务器或数据安全都采用了防火墙。
防火墙是指设置在不同网络(如可信任的企业内部网和不可信的公共网)或网络安全域之间的一系列部件的组合。它是不同网络或网络安全域之间信息的唯一出入口,能根据企业的安全政策控制(允许、拒绝、监测)出入网络的信息流,且本身具有较强的抗攻击能力。它是提供信息安全服务,实现网络和信息安全的基础设施。 在逻辑上,防火墙是一个分离器,一个限制器,也是一个分析器,有效地监控了内部网和Internet之间的任何活动,保证了内部网络的安全。为防止Internet上的不安全因素蔓延到局域网内部,使用防火墙是一种行之有效的解决方法。下面结合我校情况介绍一下在Linux下配置防火墙的解决方案。
1 几种主要的防火墙技术
防火墙从原理上可以分为两大类:包过滤(packet filtering)型和服务(Proxy service)型。下面是几种不同的防火墙配置方案。
1.1 建立包过滤防火墙
利用Linux核心中的IP链(IP Chains)规则建立包过滤防火墙,规则具体如下:
#先用 -F 选项清除掉所有规则
/sbin/ipchains -F
#假设服务器内网IP为192.168.0.22,公有IP为210.77.217.82
#将服务器在内网的地址除开放DNS、POP3、Route、FTP、Telnet、Web、SMTP外其他服务全部封死
/sbin/ipchains -A input -p UDP -d 192.168.0.22 53 -j ACCEPT
/sbin/ipchains -A input -p UDP -d 192.168.0.22 110 -j ACCEPT
/sbin/ipchains -A input -p UDP -d 192.168.0.22 520 -j ACCEPT
/sbin/ipchains -A input -p UDP -d 192.168.0.22 1:1024 -j DENY
/sbin/ipchains -A input -p TCP -d 192.168.0.22 20 -j ACCEPT
/sbin/ipchains -A input -p TCP -d 192.168.0.22 21 -j ACCEPT
/sbin/ipchains -A input -p TCP -d 192.168.0.22 23 -j ACCEPT
/sbin/ipchains -A input -p TCP -d 192.168.0.22 25 -j ACCEPT
/sbin/ipchains -A input -p TCP -d 192.168.0.22 53 -j ACCEPT
/sbin/ipchains -A input -p TCP -d 192.168.0.22 80 -j ACCEPT
/sbin/ipchains -A input -p TCP -d 192.168.0.22 110 -j ACCEPT
/sbin/ipchains -A input -p TCP -d 192.168.0.22 1:1024 -j DENY
#服务器对外仅提供POP3、FTP、Web、SMTP服务
/sbin/ipchains -A input -p UDP -d 210.77.217.82 110 -j ACCEPT
/sbin/ipchains -A input -p UDP -d 210.77.217.82 1:1024 -j DENY
/sbin/ipchains -A input -p TCP -d 210.77.217.82 20 -j ACCEPT
/sbin/ipchains -A input -p TCP -d 210.77.217.82 21 -j ACCEPT
/sbin/ipchains -A input -p TCP -d 210.77.217.82 25 -j ACCEPT
/sbin/ipchains -A input -p TCP -d 210.77.217.82 80 -j ACCEPT
/sbin/ipchains -A input -p TCP -d 210.77.217.82 110 -j ACCEPT
/sbin/ipchains -A input -p TCP -d 210.77.217.82 1:1024 -j DENY
使用IP链规则建立防火墙的主要原因并不是应为它是免费软件,而是因为IP链规则是一套直接编译在Linux核心中的防火墙,其运行效率是其他外挂在操作系统上的软件防火墙所无法比拟的,因此假若希望在流量较大网络接口安设防火墙,而又不想购买昂贵的硬件防火墙时,采用IP链规则建立包过滤防火墙是一个不错的选择。
1.2 实现内网微机透明访问Internet
利用IP伪装(IP Masquerade)实现内网微机透明访问Internet。
IP伪装是NAT(Network Address Translation网络地址转换)的一种方式,即当内网的机器需要访问Internet时,具有IP伪装功能的服务器会将内部网络使用的非公有IP伪装成同一个公有IP访问Internet,这就可以使内网用户可以透明地访问Internet而不用安装任何客户端软件,减少了许多不必要的麻烦,使用该方式可使大部分软件能直接访问Internet,例如使用SMTP、IMAP、POP协议的邮件客户端软件、使用UDP协议的ICQ、OICQ、Real Player、Windows Media Player软件等,而且用户使用内网任何一台微机都可以直接Ping通Internet上的地址。测试网络连接十分方便。IP伪装是Linux的一项网络功能,在IP 链规则中的具体实现方法如下:
#启用 IP 转发
/sbin/ipchains -P forward REJECT
#建立 NAT 规则,令局域网中地址为 192.168.*.* 且其目标地址不在 192.168.*.* 范围内的机器伪装为本机 Internet 有效 IP地址后进行转递
/sbin/ipchains -A forward -j MASQ -s 192.168.0.0/16 -d ! 192.168.0.0/16
但该方式并不一定可以使所有连接Internet的软件成功使用,TCP/IP协议的天生缺陷使得极少部分软件无法使用该方式访问Internet,例如当内部网络中某台微机希望连接Internet上的一台FTP服务器,而对方的FTP服务器禁用了或根本不支持被动方式连接,那么连接后就无法上传或下载传送任何数据。此时则需要使用其他方式连接了。例如后面提到的Socks。
1.3 构筑透明
利用Squid服务与防火墙规则结合构筑透明。
使用IP链规则可以使内网的主机不需要做任何设置就可以访问Web,但其缺点就是当内网数台主机先后访问Internet上某一站点时,第一台主机将该站点的主页以及页面中的图像从Internet下载到本机,而其它几台主机访问时也要重复相同的操作,即从Internet下载了同样的内容,这样的重复劳动自然会浪费相当多的带宽,而使用具有Web缓存(Web Cache)的服务器时便可解决此问题,在第一台主机访问该站点时服务软件将此网页的内容缓存到本地硬盘,而后其他主机再次访问该站时,服务器只是检测该网页是否有更新,若无更新便直接将本机的缓存传送过去,这样既可以节省带宽又有效地提高了上网速度。例如Linux上的Squid服务就是一套高效快速的服务软件。但麻烦的就是必须在每台机器上设置Web 服务器,此时可以简单地使用IP链规则来省略这一操作,即在规则中加入一条转递规则,将访问任何地址80(HTTP)端口的封装包都强制转发到Linux服务器上安装的服务器侦听端口。即:
#假设Squid服务的侦听端口为3128
/sbin/ipchains -A input -i eth0 -d 0/0 80 -p TCP -j REDIRECT 3128
/sbin/ipchains -A input -i eth0 -d 0/0 3128 -p tcp -j REDIRECT
这样使内网任何用户访问Internet前都令其穿过服务器后再访问,不光有效地加快了上网速度,又可以利用Squid服务过滤掉内网无效访问和攻击,实现了透明。
1.4 采用Socks服务
对于无法使用IP伪装方式访问Internet的特殊协议与软件采用Socks服务。
Socks是一组客户端/服务器端结构的Proxy协议。Socks的软件组成包含Socks服务器程序及Socks客户端应用程序库。用户的应用程序只要有支持Socks协议就能通过Socks服务器连接到防火墙外的网络。
2 一个安全的防火墙系统实例
结合上面方案的分析,下面我就用一个实际例子讲解建立安全防火墙系统的过程。
2.1 网络情况
校园网有多个子网,所有的内部网络用户通过路由器连接防火墙,防火墙作为校园网络的唯一出口连接到Internet。为了研究的方便,假如内部网络只有两个网段:192.168.1.0 /24和192.168.2.0/24。
2.2 用户需求
用户的需求如下:
1) 保障内部网络安全,禁止外部用户连接到内部网络。
2) 保护作为防火墙的主机安全,禁止外部用户使用防火墙的主机Telnet、FTP等项基本服务,同时要保证处于内部网络的管理员可以使用Telnet管理防火墙。
3) 隐蔽内部网络结构,保证内部用户可以通过仅有的一个合法IP地址202.102.184.1连接Internet。同时要求许可内部用户使用包括E-Mail、WWW浏览、News、FTP等所有Internet上的服务。
4) 要求对可以访问Internet的用户进行限制,仅允许特定用户的IP地址可以访问外部网络。
5) 要求具备防止IP地址盗用功能,保证特权用户的IP不受侵害。
6) 要求具备防IP地址欺骗能力。
2.3 解决方案
1) 安装一台Linux服务器,配置双网卡,两端地址分别为192.168.0.22 /255.255.255.252(内部端口ETH 0)和210.77.217.82/255.255.255.248(外部端口ETH 1)。在IPChains中去除诸如 HTTP、DNS、DHCP、NFS、SendMail之类所有不需要的服务,仅保留Telnet和FTP服务,以保证系统运行稳定,提高网络安全性。
2) 启动IPChains后,为保证安全性,首先将Forward Chains的策略设置为DENY,禁止所有的未许可包转发,保障内部网安全性,以满足需求1。命令为: ipchains -P forward DENY
3) 为满足需求2,必须禁止所有来自外部网段对防火墙发起的低于1024端口号的连接请求。在此,做如下设定来阻止对ETH1端口请求连接小于1024端口号的TCP协议的数据报(请求连接数据报带有SYN标记,IPChains中使用参数-y表示)。命令如下:ipchains -A input -p tcp -d210.77.217.82:1024 Cy -i eth1 -j DENY。
需要说明一点,之所以不是简单地拒绝所有小于1024端口号的数据报,在于某些情况下服务器会回复一个小于1024接口的数据报。比如某些搜索引擎就可能在回复查询中使用一个不常用的小于1024的端口号。此外,当使用DNS查询域名时,如果服务器回复的数据超过512字节,客户机将使用TCP连接从53号端口获得数据。
4) 为满足需求3,必须使用IP地址翻译功能。来自内部保留地址的用户数据包在经过防火墙时被重写,使包看起来象防火墙自身发出的。然后防火墙重写返回的包,使它们看起来象发往原来的申请者。采用这种方法,用户就可以透明地使用因特网上的各种服务,同时又不会泄露自身的网络情况。注意,对于FTP服务,需要加载FTP伪装模块。命令如下:insmod ip_masq_ftp
5) 为满足需求4,可以在已经设置为DENY的Forward Chains中添加许可用户。因为许可这部分用户使用所有的服务,访问所有的地址,所以不用再指定目标地址和端口号。假定许可IP地址为192.168.1.100,配置命令如下:ipchains -A forward -s 192.168.1.100 -j MASQ。
同时,必须启动系统的IP包转发功能。出于安全的考虑,建议在设置了Forward Chains的策略为DENY,禁止所有的未许可包转发后再开启转发功能。配置命令如下:#echo 1> /proc/sys/net/ipv4/ip_forward。
6) 关于防止IP地址盗用问题,由于所有用户都是通过路由器连接到防火墙,所以只需要在路由器中建立授权IP地址到MAC地址的静态映射表即可。如果有客户机直接连接到防火墙主机,就需要使用ARP命令在防火墙主机中建立IP地址到MAC地址的静态映射表。
7) 对于需求6,只要在进入端口中设定IP地址确认,丢弃不可能来自端口的数据包就可以了。配置命令如下:ipchains -A input -i eth1 Cs 192.168.0.0/255.255.0.0 -j DENY。
至此,就算基本建立起来一个较为安全的防火墙了,再针对运行中出现的问题进行修改,调试无误后就可以用ipchains -save命令将配置保存起来。需要再次使用时,用命令 ipchains -restore即可。