时代的变迁OpenJDK17计划弃用并删除安全管理器功能
作者|罗奇奇
为了推动 Java 向前发展,OpenJDK 17 打算弃用其安全管理器(Security Manager)功能,以便与旧的小应用 API ( JEP 398 )一起删除。
安全管理器功能可追溯到 Java 1.0,在我们用按键手机或者诺基亚在 Web 浏览器上下载 Java 游戏小应用(Applet)的时代,安全管理器通过在沙箱中运行小游戏,从而拒绝它访问文件系统或网络等资源,保护我们的设备的安全性和数据的隐私性。安全管理器会批准所有涉及可信任
出品|开源中国
作者|罗奇奇
为了推动 Java 向前发展,OpenJDK 17 打算弃用其安全管理器(Security Manager)功能,以便与旧的小应用 API ( JEP 398 )一起删除。
安全管理器功能可追溯到 Java 1.0,在我们用按键手机或者诺基亚在 Web 浏览器上下载 Java 游戏小应用(Applet)的时代,安全管理器通过在沙箱中运行小游戏,从而拒绝它访问文件系统或网络等资源,保护我们的设备的安全性和数据的隐私性。安全管理器会批准所有涉及可信任代码资源访问的操作,但拒绝不可信代码的资源访问。
但随着时代变迁和 Java 库的激增,安全管理器变得力不从心,随着搭载 Android 智能手机的普及,Java 平台也不再支持小应用这种格式,安全管理器使用的环境变得更少了。多年来,它一直不是保护客户端 Java 代码的主要手段,也很少用于保护服务器端代码。
安全管理器三宗罪:
脆弱的权限模型
安全管理器必须授予应用程序执行操作所需的所有权限,无法进行部分安全性访问控制。例如,用户担心非法的访问数据,因此要求安全管理器授予应用只从特定目录读取文件的权限,但只有文件读取权限是不够的,因为应用程序肯定会使用 Java 类库中除了读取文件之外的其他操作(例如写入文件),而这些其他操作将被安全管理器拒绝。
困难的编程模型
安全管理器通过检查一次操作的所有代码权限,以决定来批准安全敏感操作,使得编写与安全管理器一起运行的库变得困难,因为库开发人员不会记录其库代码所需的一切权限。
性能差
安全管理器的核心是一个复杂的访问控制算法,通常会带来不可接受的性能损失。因此,默认情况下,对于在命令行上运行的 JVM,安全管理器始终处于禁用状态。
基于上述种种原因,这个见证移动设备发展史的功能即将从 Java 中移除,按键手机和它的 Java 小应用也随岁月一去不返。
java string怎么赋值
Java是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言,应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展,Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
Java编程语言的风格十分接近C++语言。继承了C++语言面向对象技术的核心,Java舍弃了C++语言中容易引起错误的指针,改以引用取代,同时移除原C++与原来运算符重载,也移除多重继承特性,改用接口取代,增加垃圾回收器功能。在Java SE 1.5版本中引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性。太阳微系统对Java语言的解释是:“Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言”
Java不同于一般的编译语言或直译语言。它首先将源代码编译成字节码,然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编写,到处运行”的跨平台特性。在早期JVM中,这在一定程度上降低了Java程序的运行效率。但在J2SE1.4.2发布后,Java的运行速度有了大幅提升。
与传统类型不同,Sun公司在推出Java时就将其作为开放的技术。全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。“Java语言靠群体的力量而非公司的力量”是 Sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同,此外,微软公司后来推出了与之竞争的.NET平台以及模仿Java的C#语言。后来Sun公司被甲骨文公司并购,Java也随之成为甲骨文公司的产品。
现时,移动操作系统Android大部分的代码采用Java 编程语言编程。
早期的Java
Java的发明人詹姆斯·高斯林
Duke,Java语言的吉祥物
语言最开始只是Sun计算机(Sun MicroSystems)公司在1990年12月开始研究的一个内部项目。Sun计算机公司的一个叫做帕特里克·诺顿的工程师被公司自己开发的C++和C语言编译器搞得焦头烂额,因为其中的API极其难用。帕特里克决定改用NeXT,同时他也获得了研究公司的一个叫做“Stealth计划”的项目的机会。
“Stealth计划”后来改名为“Green计划”,詹姆斯·高斯林和麦克·舍林丹也加入了帕特里克的工作小组。他们和其他几个工程师一起在加利福尼亚州门罗帕克市沙丘路的一个小工作室里面研究开发新技术,瞄准下一代智能家电(如微波炉)的程序设计,Sun公司预料未来科技将在家用电器领域大显身手。团队最初考虑使用C++语言,但是很多成员包括Sun的首席科学家比尔·乔伊,发现C++和可用的API在某些方面存在很大问题。
工作小组使用的是嵌入式系统,可以用的资源极其有限。很多成员发现C++太复杂以至很多开发者经常错误使用。他们发现C++缺少垃圾回收系统,还有可移植的安全性、分布程序设计、和多线程功能。最后,他们想要一种易于移植到各种设备上的平台。
根据可用的资金,乔伊决定开发一种集C语言和Mesa语言大成的新语言,在一份报告上,乔伊把它叫做“未来”,他提议Sun公司的工程师应该在C++的基础上,开发一种面向对象的环境。最初,高斯林试图修改和扩展C++的功能,他自己称这种新语言为C++ ++ --,但是后来他放弃了。他将要创造出一种全新的语言,被他命名为“Oak”(橡树),以他的办公室外的橡树命名。
就像很多开发新技术的秘密工程一样,工作小组没日没夜地工作到了1993年的夏天,他们能够演示新平台的一部分了,包括Green操作系统,Oak的程序设计语言,类库及其硬件。最初的尝试是面向一种类PDA设备,被命名为Star7,这种设备有鲜艳的图形界面和被称为“Duke”的智能代理来帮助用户。1992年12月3日,这台设备进行了展示。
同年11月,Green计划被转化成了“FirstPerson有限公司”,一个Sun公司的全资子公司,团队也被重新安排到了帕洛阿尔托。FirstPerson团队对建造一种高度交互的设备感兴趣,当时代华纳发布了一个关于电视机顶盒的征求提议书时(Request for proposal),FirstPerson改变了他们的目标,作为对征求意见书的响应,提出了一个机顶盒平台的提议。但是有线电视业界觉得FirstPerson的平台给予用户过多的控制权,因此FirstPerson的投标败给了SGI。与3DO公司的另外一笔关于机顶盒的交易也没有成功,由于他们的平台不能在电视工业产生任何效益,公司被并回Sun公司。
Java和互联网
1994年6月,在经历了一场历时三天的脑力激荡的讨论后,约翰·盖吉、詹姆斯·高斯林、比尔·乔伊、帕特里克·诺顿、韦恩·罗斯因和埃里克·斯库米,团队决定再一次改变了努力的目标,这次他们决定将该技术应用于万维网。他们认为随着Mosaic浏览器的到来,因特网正在向同样的高度互动的远景演变,而这一远景正是他们在有线电视网中看到的。作为原型,帕特里克·诺顿写了一个小型万维网浏览器,WebRunner,后来改名为HotJava[12]。
1994年10月,HotJava和Java平台为公司高层进行演示。1994年,Java
1.0a版本已经可以提供下载,但是Java和HotJava浏览器的第一次公开发布却是在1995年3月23日SunWorld大会上进行的。升阳公司的科学指导约翰·盖吉宣告Java技术。这个发布是与网景公司的执行副总裁马克·安德森的惊人发布一起进行的,宣布网景将在其浏览器中包含对Java的支持。1996年1月,升阳公司成立了Java业务集团,专门开发Java技术。
Java和“Java”
由于商标搜索显示,Oak已被一家显示卡制造商注册。于是同年,Oak被改名为Java。当使用十六进制编辑器打开由Java源代码编译出的二进制文件(.class文件)的话,最前面的32位将显示为CA FE BA BE,即词组“CAFE BABE”(咖啡屋宝贝)。
Java近况
一套Java编辑器软件
J2SE环境与CDC的关连
JVM的所在角色
JSPX网页的概念
在流行几年之后,Java在浏览器中的地位被逐步侵蚀。它在简单交互性动画方面的用途已经完全被Adobe公司的Flash排挤,2005年Java倾向只被用于雅虎游戏那样的更为复杂的应用程序。Java同时遭受到来自微软的反对,他们决定在新版本的Internet Explorer和Windows中不再附带Java平台。
与此相反。在万维网的服务器端和手持设备上,Java变得更加流行。很多网站在后端使用JSP和其他的Java技术。
在桌面系统上,独立的Java程序还是相对少见,这是因为Java平台的运行开销较大,而许多人的电脑上没有安装Java,由于网络带宽在以前较小,下载Java曾经是个耗时的事情。但是随着计算机计算能力、网络带宽在10年中获取了很大的进步,同时虚拟机和编译器的质量得到了提高,许多应用程序得到了广泛的使用,包括:
开源软件:
NetBeans和Eclipse等软件开发工具
Android操作系统
JEdit
Azureus BitTorrent客户端。
JNode操作系统
Apache软件基金会的Ant、Derby、Hadoop、Jakarta、POI和Tomcat
JBoss和GlassFish应用服务器
商业软件:
EIOffice(永中Office)
Minecraft
纯Java 3D游戏合金战士Chrome
IBM Websphere、ColdFusion和WebLogic
IntelliJ IDEA
还有许多用Java写的软件,可以在http://www.java.com 找到。在以下网页可以看到非常多用Java写的程序:http://java.sun.com/products/ 下面有大量用Java Swing开发的桌面Java程序 http://java.sun.com/products/jfc/tsc/sightings/ 目前Java提供以下三个版本:
Java Platform, Enterprise Edition(Java EE:Java平台企业版)
Java Platform, Standard Edition(Java SE:Java平台标准版)
Java Platform, Micro Edition(Java ME:Java平台微型版)
Java Platform, Card Edition
Java开放源代码项目
2006年SUN在JavaOne公布Java 开放源代码项目,并推出OpenJDK项目。[13]Java虚拟机、Java编译器和Java类库以GNU通用公共许可证公开。
版本历史
主条目:Java版本历史
1995年5月23日,Java语言诞生
1996年1月,第一个JDK-JDK1.0诞生
1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入JAVA技术
1996年9月,约8.3万个网页应用了JAVA技术来制作
1997年2月18日,JDK1.1发布
1997年4月2日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议规模之纪录
1997年9月,JavaDeveloperConnection社区成员超过十万
1998年2月,JDK1.1被下载超过2,000,000次
1998年12月8日,JAVA2企业平台J2EE发布
1999年6月,SUN公司发布Java的三个版本:标准版(J2SE)、企业版(J2EE)和微型版(J2ME)
2000年5月8日,JDK1.3发布
2000年5月29日,JDK1.4发布
2001年6月5日,NOKIA宣布,到2003年将出售1亿部支持Java的手机
2001年9月24日,J2EE1.3发布
2002年2月26日,J2SE1.4发布,自此Java的计算能力有了大幅提升
2004年9月30日18:00PM,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0
2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名,以取消其中的数字“2”:J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME
2006年12月,SUN公司发布JRE6.0
2009年12月,SUN公司发布Java EE 6
2010年11月,由于Oracle公司对于Java社区的不友善,因此Apache扬言将退出JCP[14]
2011年7月28日,Oracle公司发布Java SE 7
2014年3月18日,Oracle公司发表Java SE 8
语言特性
Java之所以被开发,是要达到以下五个目的:
应当使用面向对象程序设计方法学
应当允许同一程序在不同的计算机平台执行
应当包括内建的对计算机网络的支持
应当被设计成安全地执行远端代码
应当易于使用,并借鉴以前那些面向对象语言(如C++)的长处。
Java技术主要分成几个部分:Java语言、Java运行环境、类库。一般情况下说Java时并不区分指的是哪个部分。
Java在1.5版本时,做了重大改变,Sun公司并1.5版本重命名为Java 5.0。
面向对象
Java的特点之一就是面向对象,是程序设计方法的一种。“面向对象程序设计语言”的核心之一就是开发者在设计软件的时候可以使用自定义的类型和关联操作。代码和数据的实际集合体叫做“对象”。一个对象可以想象成绑定了很多“行为(代码)”和“状态(数据)”的物体。对于数据结构的改变需要和代码进行通信然后操作,反之亦然。面向对象设计让大型软件工程的计划和设计变得更容易管理,能增强工程的健康度,减少失败工程的数量。
跨平台性
Java语言的第二个特性就是跨平台性,也就是说使用Java语言编写的程序可以在编译后不用经过任何更改,就能在任何硬件设备条件下运行。这个特性经常被称为“一次编译,到处运行”。
执行Java应用程序必须安装爪哇运行环境(Java Runtime Environment,JRE),JRE内部有一个Java虚拟机(Java Virtual Machine,JVM)以及一些标准的类库(Class Library)。通过JVM才能在电脑系统执行Java应用程序(Java Application),这与.Net Framework的情况一样,所以电脑上没有安装JVM,那么这些程序将不能够执行。
实现跨平台性的方法是大多数编译器在进行Java语言程序的编码时候会生成一个用字节码写成的“半成品”,这个“半成品”会在Java虚拟机(解释层)的帮助下运行,虚拟机会把它转换成当前所处硬件平台的原始代码。之后,Java虚拟机会打开标准库,进行数据(图片、线程和网络)的访问工作。主要注意的是,尽管已经存在一个进行代码翻译的解释层,有些时候Java的字节码代码还是会被JIT编译器进行二次编译。
有些编译器,比如GCJ,可以自动生成原始代码而不需要解释层。但是这些编译器所生成的代码只能应用于特定平台。并且GCJ目前只支持部分的Java API。
甲骨文公司对于Java的许可是“全兼容的”,这也导致了微软和升阳关于微软的程序不支持RMI和JNI接口、并且增加特性为己所用的法律争端。升阳最终赢得了官司,获得了大约两千万美元的赔偿,法院强制要求微软执行升阳公司关于Java的许可要求。作为回应,微软不再在Windows系统中捆绑Java,最新的Windows版本,Windows Vista和Internet Explorer 7.0版本也不再提供对于Java应用程序和控件的支持。但是升阳公司和其他使用Java运行时系统的公司在Windows操作系统下对用户提供无偿的第三方插件和程序支持。
Java语言使用解释层最初是为了轻巧性。所以这些程序的运行效率比C语言和C++要低很多,用户也对此颇有微词。很多最近的调查显示Java的程序运行速度比几年前要高出许多,有些同样功能的程序的效率甚至超过了C++和C语言编写的程序[来源请求]。
Java语言在最开始应用的时候是没有解释层的,所有需要编译的代码都直接转换成机器的原始代码。这样做的后果就是获得了最佳的性能,但是程序臃肿异常。从JIT技术开始,Java的程序都经过一次转换之后才变成机器码。很多老牌的第三方虚拟机都使用一种叫做“动态编译”的技术,也就是说虚拟机实时监测和分析程序的运行行为,同时选择性地对程序所需要的部分进行编译和优化。所有这些技术都改善了代码的运行速度,但是又不会让程序的体积变得失常。
程序的轻便性事实上是软件编写很难达到的一个目标,Java虽然成功地实现了“一次编译,到处运行”,但是由于平台和平台之间的差异,所编写的程序在转换代码的时候难免会出现微小的、不可察觉的错误和意外。有些程序员对此非常头疼,他们嘲笑Java的程序不是“一次编译,到处运行”,而是“一次编译,到处调试”。以Java
AWT为例,早期Java
AWT内提供的按钮、文字区等均是以计算机系统所默认的样式而显示。这令Java程序在有些没有提供图案的计算机系统产生错误(在Microsoft
Windows设有窗口管理器,在一些Linux distribution则没有)。后来SUN公司针对Java AWT一些问题而推出Java
Swing。
平台无关性让Java在服务器端软件领域非常成功。很多服务器端软件都使用Java或相关技术建立。
自动垃圾回收(Garbage Collection)
C++语言被用户诟病的原因之一是大多数C++编译器不支持垃圾收集机制。通常使用C++编程的时候,程序员于程序中初始化对象时,会在主机内存堆栈上分配一块内存与地址,当不需要此对象时,进行析构或者删除的时候再释放分配的内存地址。如果对象是在堆栈上分配的,而程序员又忘记进行删除,那么就会造成内存泄漏(Memory
Leak)。长此以往,程序运行的时候可能会生成很多不清除的垃圾,浪费了不必要的内存空间。而且如果同一内存地址被删除两次的话,程序会变得不稳定,甚至崩溃。因此有经验的C++程序员都会在删除之后将指针重置为NULL,然后在删除之前先判断指针是否为NULL。
C++中也可以使用“智能指针”(Smart Pointer)或者使用C++托管扩展编译器的方法来实现自动化内存释放,智能指针可以在标准类库中找到,而C++
(题主你怎么可以问这么沙比的问题!)托管扩展被微软的Visual
C++
7.0及以上版本所支持。智能指针的优点是不需引入缓慢的垃圾收集机制,而且可以不考虑线程安全的问题,但是缺点是如果不善使用智能指针的话,性能有可能不如垃圾收集机制,而且不断地分配和释放内存可能造成内存碎片,需要手动对堆进行压缩。除此之外,由于智能指针是一个基于模板的功能,所以没有经验的程序员在需要使用多态特性进行自动清理时也可能束手无策。
Java语言则不同,上述的情况被自动垃圾收集功能自动处理。对象的创建和放置都是在内存堆栈上面进行的。当一个对象没有任何引用的时候,Java的自动垃圾收集机制就发挥作用,自动删除这个对象所占用的空间,释放内存以避免内存泄漏。
注意程序员不需要修改finalize方法,自动垃圾收集也会发生作用。但是内存泄漏并不是就此避免了,当程序员疏忽大意地忘记解除一个对象不应该有的引用时,内存泄漏仍然不可避免。
不同厂商、不同版本的JVM中的内存垃圾回收机制并不完全一样,通常越新版本的内存回收机制越快,IBM、BEA、SUN等等开发JVM的公司都曾宣称过自己制造出了世界上最快的JVM[来源请求],JVM性能的世界纪录也在不断的被打破并提高。
IBM有一篇有关Java内存回收机制比不激活垃圾收集机制的C++内存处理快数倍的技术文章[15],而著名的Java技术书籍《Java编程思想》(Thinking in Java)也有一段论述Java内存及性能达到甚至超过C++的章节[16]。
基本语法
编写Java程序前应注意以下几点:
大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的。
类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如MyFirstJavaClass。
方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写,例如myFirstJavaMethod。
源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记Java是大小写敏感的),文件名的后缀为.java。(如果文件名和类名不相同则会导致编译错误)。
主方法入口:所有的Java程序由public static void main(String[] args)方法开始执行。
Java关键字
关键字 下面列出了Java关键字。这些关键字不能用于常量、变量、和任何标识符的名称。
关键字
描述
abstract
抽象方法,抽象类的修饰符
assert
断言条件是否满足
continue
不执行循环体剩余部分
default
switch语句中的默认分支
do-while
循环语句,循环体至少会执行一次
double
64-bit双精度浮点数
else
if条件不成立时执行的分支
enum
枚举类型
extends
表示一个类是另一个类的子类
final
表示定义常量
finally
无论有没有异常发生都执行代码
float
32-bit单精度浮点数
for
for循环语句
goto
用于流程跳转(不可用,意即不可随意跳转)
if
条件语句
implements
表示一个类实现了接口
import
导入类
instanceof
测试一个对象是否是某个类的实例
int
32位整型数
interface
接口,一种抽象的类型,仅有方法和常量的定义
long
64位整型数
native
表示方法用非java代码实现
new
分配新的类实例
package
一系列相关类组成一个包
private
表示私有字段,或者方法等,只能从类内部访问
protected
表示保护类型字段
public
表示共有属性或者方法
return
方法返回值
short
16位数字
static
表示在类级别定义,所有实例共享的
strictfp
浮点数比较使用严格的规则
super
表示基类
switch
选择语句
synchronized
表示同一时间只能由一个线程访问的代码块
this
调用当前实例或者调用另一个构造函数
throw
抛出异常
throws
定义方法可能抛出的异常
transient
修饰不要序列化的字段
try
表示代码块要做异常处理
void
标记方法不返回任何值
volatile
标记字段可能会被多个线程同时访问,而不做同步
while
while循环
注释
注释作用:标识程序是干什么的,以及它是如何构建的。注释帮助程序员进行相互沟通以及理解程序。注释不是程序设计语言,所以编译器编译程序时忽略它们。
接口和类别
Java自带了创建接口的类别,可以这样使用:
public interface Deleteable {
void delete();
}
这段代码的意思是任何实现(implement)Deleteable接口的类别都必须实现delete()方法。每个类别对这个方法的实现可以自行定制。由此概念可以引出很多种使用方法,下面是一个类别的例子:
中标麒麟的版本特点
桌面操作系统
产品技术优势
强大的跨平台应用部署能力
中标麒麟桌面操作系统通过硬件差异屏蔽、软件接口封装,确保了用户使用体验和开发环境的一致性,实现了操作系统对x86平台及所有国产平台的全面兼容。中标软件真正实现了“一次开发,跨平台应用”的战略目标,有效规避了用户在x86平台上进行项目开发后,后续又需向国产CPU平台进行软件迁移的技术风险。
强大的软硬件适配能力
中标软件在国产操作系统领域具备深厚的技术实力,除X86平台之外,中标麒麟桌面操作系统已经在龙芯、申威、众志、飞腾等所有国产CPU平台上,成功适配支持四款数十个国产CPU型号,几十种整机设备,上千种包括打印机、扫描仪、投影仪、摄像头等各类外部设备和特种设备。该系统还成功地实现了对各类国产软件,特别是核高基支持的国产数据库、中间件以及办公软件提供全面的适配和支持。
全面满足项目开发需要
中标麒麟桌面操作系统配备了完善的开发工具,并提供了良好的开发环境,包括编译器、图形IDE、项目管理工具和版本管理工具等。全面支持绝大多数主流编程语言,并提供了大量的开发库,提供对控件定制增强的支持和指导服务,极大地方便了用户在中标麒麟开发平台下进行应用移植和开发,很好地支撑着客户的项目开发工作。
高效、易用的桌面操作环境
中标麒麟桌面操作系统通过不断完善以用户实际使用为目标的桌面环境设计,提供了丰富的桌面元素,如完善的导航栏、菜单栏、工具栏和桌面背景等。从用户体验角度出发,对桌面环境进行了主题定制、菜单集成、目录优化、功能整合、界面改善,最大程度地满足了不同用户对易用性、个性化的需求。同时还配备了丰富的图形化工具软件,如浏览器、视频音频播放器、图形化网络设置、图形化投影设置等,完全可以满足用户的实际办公需求。
安全操作系统
中标麒麟安全操作系统提供三权分立机制权限集管理功能和统一的安全管理中心SMC,支持安全管理模式切换,针对特定应用的安全策略定制;提供核心数据加密存储、双 因子认证、高强度访问控制、进程级最小权限、网络安全防护、细粒度的安全审计、安全删除、可信路径、TCM支持等多项安全功能;
针对用户特定的安全需求,提供操作系统和安全功能定制;提供可持续性的安全保障;兼容主流的软硬件;为用户提供全方位的操作系统和应用安全保护,防止关键数据被 篡改被窃取,系统免受攻击,保障关键应用安全、可控和稳定的对外提供服务。
中标麒麟安全操作系统V5.0产品特性:
保障安全,兼顾易用
灵活定制安全策略
保障应用安全
安装部署便捷
持续的系统安全保障
系统自主可控
安全邮件服务器
中标麒麟安全邮件服务器软件支持基于标准PKI体系的CA数字证书登陆和Webmail/客户端的邮件签署/加密;提供密码安全、数据存储加密、安全传输、实用的邮件安全功能及防攻击措施;提供密级标识和控制,保证邮件内部流转机密性。
邮件系统管理员实行三权分立、权限分离机制,提供分级、授权、细粒度的系统管理功能;管理员重要操作审核机制和所有管理员的操作审计功能,保护邮件系统安全性和保密性。同时,可按企业用户特定的需求进行界面、功能的定制。
中标麒麟安全邮件服务器软件产品特性:
1.高安全和保密特性,其他邮件系统望尘莫及
2.“一架式”邮件系统解决方案
3.丰富的二次开发接口支持
4.支持智能移动终端设备
5.邮件系统无缝迁移能力
安全云操作系统
易用性
● 快速的单点集群部署
通过一台主机进行安装操作,可在任意集群节点上安装配置虚拟服务器
● 易用的虚拟机全生命周期管理
方便用户快速创建及管理自己的虚拟机,并部署自己的应用服务
● 动态的网络拓扑图
便于管理员随时掌握物理服务器和虚拟机的部署情况
● 实时的性能监控
通过对所有物理服务器和虚拟机的各种性能指标进行实时监控,为管理员的系统维护提供依据
可用性
● 简捷的动态迁移
利用动态迁移技术可自动将整个系统(包括操作系统、应用服务以及数据)快速、便捷、安全地迁移到其他物理服务器上并提供不间断服务
● 动态的负载均衡
可根据预设的规则和临界值,在虚拟机间动态均衡应用和业务,从而提升业务处理性能,充分发挥云平台的计算能力
● 智能的自动扩展
用户可定义自动扩展策略,当虚拟机实例负载过高时,自动运行新的虚拟机实例,并结合负载均衡技术,为部署在虚拟机上的应用程序提供最佳的服务质量
安全性
● 平台终端一体化多因子认证
通过传统的密码认证与Ukey认证相结合,保证虚拟机用户登录的合法性
● 安全可靠的多级用户管理
通过用户分级管理和安全缜密的用户认证方式,保证虚拟机用户的私密性
● 轻量级安全虚拟化环境
基于裁剪的中标麒麟安全服务器操作系统,并加入身份认证、入侵检测和访问控制等安全机制
● 安全快速的远程桌面访问
利用高效的远程桌面协议进行远程桌面访问,同时通过数据传输加密技术保证远程桌面的安全性
● 全方位的系统安全
基于LSM机制的SELinux安全子系统框架,提供自主设计的无特权帐户管理与权限集管理功能,支持安全管理模式切换、核心数据加密存储、特权用户管理、基于双因子认证体系的身份鉴别、进程级最小权限、结合角色的基于类型的访问控制、网络安全防护、细粒度的安全审计、安全删除等多项安全功能
高级服务器操作系统
基于中标麒麟高级服务器操作系统,可以轻松构建自主可控,安全可靠的系统平台。中标麒麟高级服务器操作系统可运行在x86 (32-bit)、x86_64 (64-bit)、MIPS、SPARC 等架构的的处理器上,满足客户对不同体系架构的要求;提供包括防火墙、SELinux多级安全支持,基于targeted策略的安全访问机制可以为所有服务提供安全保障。对J2EE架构的完善支持,可以轻松构建大型的Web应用,满足高可用性、高可靠性以及可扩展性的应用的需求。
关注系统全生命周期的管理
· Install:一键式大规模快速安装部署方案支持,实现系统与应用的快速部署,简化用户系统与应用部署的过程。
· System Manager:图形化Linux系统配置与管理工具支持。
· 提供所有系统命令索引、常用网络客户端工具方便用户运维管理;
· 全图形化的配置,简化用户管理;
· 基于开源yum/pup升级器提供更为强大、灵活可定制的软件包管理环境,提供对公共、私有软件仓库的访问支持,提供更为高效、便捷的软件升级服务保障。
集中管理套件提供涵盖:
· 主机管理(软硬件运行情况):方便大规模部署环境的管理和维护
· 数据库及中间件辅助安装;
· 系统在线升级;
· 集中监控、远程预警;
· 数据备份与恢复、日志分析;
· 远程安全接入等;
全面的安全
SELinux多级安全支持,基于targeted策略可以为所有服务提供安全保障。提供安全增强模块,可实现用户账号与强口令机制、强制存取控制功能MAC、安全审计等功能。
绿色节能
· 通过虚拟化实现服务器整合,实现多个负载服务器整合到一个服务器之上,降低整体能耗。
· 创新的节能功能,根据工作负载动态降低平台功率实现绿色节能。
虚拟化
· 提供对主流虚拟化技术支持,包括Vmware、Hyper-V、Xen、Sun virtualbox管理工具支持。
· 虚拟客户机(Guest os)性能优化,支持无限额Guest(Guest数量受物理服务器容量限制)。
系统优化
· 实现系统内核性能优化、磁盘与文件I/O性能优化、系统线程性能优化、网络性能优化等。
· 网络存储方面的增强功能,如对Autofs、FS-Cache和iSCSI 的支持。
系统互操作性
· Samba功能增强,实现与Microsoft Ad服务集成,实现统一认证支持。
· 最新AutoFS和NFSv4实现与UNIX的互用性。
完善的开发环境
· 提供Java、C、Python、Perl、PHP、Tcl/Tk、Shell等编程语言开发环境支持。
· 集成Gcc4、Sun Java1.6 SDK、OpenJDK等。
· 改进的应用开发工具包括SystemTap profiler 和Frysk 调试器。
· GCC 4.1 和glibc 2.4 工具链(toolchain)。
通用服务器操作系统
中标麒麟通用服务器操作系统针对中小型企业和部门级的应用,提供外部信息发布及交流和内部完善的信息服务平台。
关注系统全生命周期的管理
· Install:一键式大规模快速安装部署方案支持,实现系统与应用的快速部署,简化用户系统与应用部署的过程。
· System Manager:图形化Linux系统配置与管理工具支持。
· 提供所有系统命令索引、常用网络客户端工具方便用户运维管理;
· 全图形化的配置,简化用户管理;
· 基于开源yum/pup升级器提供更为强大、灵活可定制的软件包管理环境,提供对公共、私有软件仓库的访问支持,提供更为高效、便捷的软件升级服务保障。
全面的安全
SELinux多级安全支持,基于targeted策略可以为所有服务提供安全保障。提供安全增强模块,可实现用户账号与强口令机制、强制存取控制功能MAC、安全审计等功能。
绿色节能
· 通过虚拟化实现服务器整合,实现多个负载服务器整合到一个服务器之上,降低整体能耗。
· 创新的节能功能,根据工作负载动态降低平台功率实现绿色节能。
虚拟化
· 提供对主流虚拟化技术支持,包括Vmware、Hyper-V、Xen、Sun virtualbox管理工具支持。
· 虚拟客户机(Guest os)性能优化,支持无限额Guest(Guest数量受物理服务器容量限制)。
系统优化
· 实现系统内核性能优化、磁盘与文件I/O性能优化、系统线程性能优化、网络性能优化等。
· 网络存储方面的增强功能,如对Autofs、FS-Cache和iSCSI 的支持。
系统互操作性
· Samba功能增强,实现与Microsoft Ad服务集成,实现统一认证支持。
· 最新AutoFS和NFSv4实现与UNIX的互用性。
完善的开发环境
· 提供Java、C、Python、Perl、PHP、Tcl/Tk、Shell等编程语言开发环境支持。
· 集成Gcc4、Sun Java1.6 SDK、OpenJDK等。
· 改进的应用开发工具包括SystemTap profiler 和Frysk 调试器。
· GCC 4.1 和glibc 2.4 工具链(toolchain)。
高可用集群软件
1.可视化一键式单点安装配置
全图形化安装配置,方便用户快速完成高可用集群环境的部署。
2.易用的管理界面
友好、直观、简易操作的图形管理界面,能够简单便捷的完成通用资源保护配置。
3.智能切换功能
智能切换功能具备对集群中所有节点服务器的系统资源占用情况进行实时监测的功能,智能切换模块通过某种信息同步机制实时的了解到集群中每个节点服务器的负载情况,通过复杂的分析算法判断出当前最佳接管服务的备用服务器。一旦发现某个节点服务器负载在一个时间段内持续过高,智能切换模块将首先激活主机报警模块,将该节点的运行情况通知给系统管理人员,若系统管理人员仍然没做任何人为的处理,智能切换模块可以通过复杂的分析运算有选择的将该节点中的某个服务或若干服务切换到当前最佳接管的备用服务器上,从而降低了原来主机自身的负载,避免了因系统负载持续过高发生死机和宕机发生,同时起到了资源优化和主动预防故障的作用。
4.快速的秒级容错
秒级容错技术能够有效的使被保护资源在极短的时间内完成切换任务,提供不间断的服务。
5.高效的可用性
任何一个节点出现故障,都可以在极短的时间内进行自动切换,当故障排除后,服务自动回迁,提供7 X 24小时永不停机的企业级应用可靠保障。
6.丰富的集群保护方式
支持双机热备、双机互备、多机备份等多种运行保护方式,用以满足各种应用保护需求
7.安全的数据可靠性
监控共享数据资源,利用磁盘心跳技术和共享磁盘的锁机制,保证在极端情况下数据的一致性。
8.丰富的资源保护
不仅可以对诸多国际知名应用软件进行高可用保护,还可以深入监控国产数据库、中间件软件,同时对各种硬件资源进行深入的故障检测。
9.极低的系统资源占用
最低限度的系统资源占用,使得宝贵的软硬件资源可以充分投入到不断扩展的业务服务中
10.多种硬件平台支持
多种硬件平台的支持能够最大限度的满足用户对不同平台应用的需求,并且支持多种文件系统及主流存储设备,使其可以灵活的部署高可用系统。
11.多种错误预警机制
在资源出现故障切换时,系统会通过本机的蜂鸣预警并通过发送邮件及短信的方式提醒管理员,使管理员能够快速定位故障主机。
文章评论