2012年8月

CentOS 6 源

# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#

- 阅读剩余部分 -

HDUSec-安全隔离网闸项目总结

比赛结束了,得给我们的项目做一个总结。

系统简介


我们作品的名称是HDUSec-安全隔离网闸,HDUSec是代表我们协会。作品主要是仿造工业网闸进行创新,

实现的主要功能是基于可重构的Xilinx FPGA,过滤外网到内网的文件,通过协议转化来安全单项传输文件,

同时还集成了报警,智能控制等模块。

系统实现


系统分成三个单元:文件缓存单元,系统控制单元,文件转发引擎。系统主要采用了分布式的架构,这里的

分布式是广义的,主要是一个系统分布在两块开发板上,两块都是Xilinx的,一块是Atlys,另一块Nexys3。

首先是Nexys3板卡,Nexy3板卡较Atlys,资源相对少了些,处理性能也低些,我们在Nexys3上采用了

MicroBlaze架构,通过对DDR内存控制器,PMode等控制模块的利化,通过PLB总线和板子的外部单物理层

网络芯片MicroRAM通信。在Microblaze架构上移植了Xilkernel,Xilkernel是Xilinx公司研发的轻型嵌入式系

统,Xilkernel采用的LWIP协议栈,LWIP是很轻型的协议栈,有它自己一套标准的 LWIP Socket API。我们

裁剪了基本的应用层协议,在LWIP只搭建了一个回显服务器和tftp服务器。整个Nexys3就够成了系统的文

件缓存单元,文件从外网到内网传送,文件会先存储到文件缓存单元的DDR上,等待系统控制单元的请求。

然后再说Atlys板卡,Atlys板卡是Sparnt-6系列的,系统控制单元和文件转发引擎在Atlys板卡上。我们在

Atlys板卡上采用的是OpenRISC架构,OpenRISC是OpenCORES下开源的项目,正是OpenRISC的开源,

可以根据开发者根据自己的需求实现对系统硬件的裁剪,OpenRISC的开源降低了项目的开发成本,也大

大缩短了项目开发的周期。在OpenRISC架构中我们采用的核心处理器是or3200,or3200是OpenRISC家

族中系能最好的。在OpenRISC上面移植了Linux 3.4.2的内核,当然因为移植了内核,就降低了Atlys的性

能。接下来就基本上是linux上面的开发了,在应用层我们搭建了一套web服务器,支持POST和GET请求,

设计不足就是Web服务器没有开线程池,当时主要是想到板子的并不是用于商用,反正是自己玩玩的。

Web服务器调用后台的cgi程序,后台的cgi接口是我定的,至于js,html,ajax则是囧哥和何少帮我完成

的。后台cgi调用的程序基本上我都以C为主,不过有些时候为了方便,就写了好多脚本,脚本里面主要是

awk,sed和grep等工具,就是C和Shell脚本混编构成了服务器的后台。其实我们在应用层做的工作挺多的

,我们设计了管理员和普通用户,都采用了身份验证机制。管理员登入之后,可以对系统进行全局设置,

主要是文件类型库,敏感词库,用户帐号等进行基本的管理,还有就是短信发送号码设置,最后就是用户

下载文件的日志记录和查看。

下面主要是文件转发引擎的工作,对于普通用户,经过身份验证之后,登入普通用户界面,这时候web服务

器会去向Nexys3板卡上的文件缓存单元请求DDR中的文件目录,目录的数据包会从Nexys3传输到Atlys,然

后由Atlys返回给客户端浏览器。用户看到在Nexy3的DDR中的文件目录,并且下载。用户点击下载,通过

POST包发送给Web服务器命令,Web服务器去Nexys3上下载指定的文件,文件到达Atlys,然后开始检测

文件类型是否与系统控制单元中预设文件类型符合,然后是检测文件内容,不合法的文件都移除到系统的隔

离区,等待管理员查看。在此过程中通过外接的GSM模块进行报警,以短信的形式发送给管理员。在web服

务器还设计了一套基于手机的管理界面,管理员可以通过手机访问系统,进行基本的系统管理。如果报警信

息,管理员通过手机登入,关闭系统网卡,并且可以通过发送短信打开系统工作状态。文件转发引擎只会转

发文件类型和内容都OK的文件,这里为了保证内网的安全,采用了协议转换的方式,由传统的TCP/IP协议

转换成了串口协议,传输到内网,从外保证就是系统被Hacker攻破了,也绝对不会影响到内网。为了保证文

件传送的可靠性,我们采用了基于连接的ZMODEM协议,ZMODEM是一种类似TCP一样存在错误校验的通

信协议,以牺牲效率来保证可靠性。

系统的创新和特色


  1. 系统是采用了分布式架构,系统分布在了两个不同的开发板上,为了保证系统的安全性,在两块不同的开发板上根据资源的限制分别移植了Microblaze和OpenRISC架构,并在各自软核上移植不同的内核。
  2. 系统的硬件支持是基于可重构的Xilinx FPGA的,可以根据开发者需求裁剪。
  3. 文件传送过程中采用了协议转化的形式,内网和外网不存在物理上的直接连接,仅仅是一个逻辑上的虚拟连接,更有效的保证了内网的安全。

CentOS英文环境下使用中文输入法

英文环境下使用ibus输入法
一般我们使用英文环境是没有办法使用中文的,这是因为我们没有设置在英文环境下的中文配置。下面我们在英文环境下配置中文输入法ibus使得我们可以输入中文。

首先,安装ibus(centos6以后已经默认安装)
#yum install ibus

其次,将安装到文件复制到英文环境下
#cp /usr/share/locale/zh_CN/LC_MESSAGES/ibus* /usr/share/locale/en_US/LC_MESSAGES

将ibus设置为英文环境的开机启动项
#vi /etc/X11/xinit/xinitrc.d/50-xinput.sh

找到_im_language_list=”as bn gu hi ja kn ko ml mr ne or pa si ta te th ur vi zh”
在列表中增加"en"

最后在在系统-->输入法设置里面,添加中文输入法即可。

保存,重新启动即可。