深入解析Linux系统中的SELinux访问控制功能

深入解析Linux系统中的SELinux访问控制功能,第1张

SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。SELinux 默认安装在 Fedora 和 Red Hat Enterprise Linux 上,也可以作为其他发行版上容易安装的包得到。

SELinux 是 26 版本的 Linux 内核中提供的强制访问控制(MAC)系统。对于目前可用的 Linux安全模块来说,SELinux 是功能最全面,而且测试最充分的,它是在 20 年的 MAC 研究基础上建立的。SELinux 在类型强制服务器中合并了多级安全性或一种可选的多类策略,并采用了基于角色的访问控制概念。[1]

大部分使用 SELinux 的人使用的都是 SELinux 就绪的发行版,例如 Fedora、Red Hat Enterprise Linux (RHEL)、Debian或 Centos。它们都是在内核中启用 SELinux 的,并且提供一个可定制的安全策略,还提供很多用户层的库和工具,它们都可以使用 SELinux 的功能。

SELinux是一种基于 域-类型 模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。任何程序对其资源享有完全的控制权。假设某个程序打算把含有潜在重要信息的文件扔到/tmp目录下,那么在DAC情况下没人能阻止他。SELinux提供了比传统的UNⅨ权限更好的访问控制。

1 简介

SELinux带给Linux的主要价值是:提供了一个灵活的,可配置的MAC机制。

Security-Enhanced Linux (SELinux)由以下两部分组成:

1) Kernel SELinux模块(/kernel/security/selinux)

2) 用户态工具

SELinux是一个安全体系结构,它通过LSM(Linux Security Modules)框架被集成到Linux Kernel 26x中。它是NSA (United States National Security Agency)和SELinux社区的联合项目。

SELinux提供了一种灵活的强制访问控制(MAC)系统,且内嵌于Linux Kernel中。SELinux定义了系统中每个用户、进程、应用和文件的访问和转变的权限,然后它使用一个安全策略来控制这些实体(用户、进程、应用和文件)之间的交互,安全策略指定如何严格或宽松地进行检查。

SELinux对系统用户(system users)是透明的,只有系统管理员需要考虑在他的服务器中如何制定严格的策略。策略可以根据需要是严格的或宽松的。

只有同时满足了标准Linux访问控制和SELinux访问控制时,主体才能访问客体

11 DAC与MAC的关键区别(root用户)

安 全增强型Linux(SELinux)开始是由NSA(国家安全局)启动并加入到Linux系统中的一套核心组件及用户工具,可以让应用程序运行在其所需的最低权限上。未 经修改过的Linux系统是使用自主访问控制的,用户可以自己请求更高的权限,由此恶意软件几乎可以访问任何它想访问的文件,而如果你授予其root权 限,那它就无所不能了。

在SELinux中没有root这个概念,安全策略是由管理员来定义的,任何软件都无法取代它。这意味着那些潜在的恶意软件所能造成的损害可以被控制在最小。一般情况下只有非常注重数据安全的企业级用户才会使用SELinux。

操作系统有两类访问控制:自主访问控制(DAC)和强制访问控制(MAC)。标准Linux安全是一种DAC,SELinux为Linux增加了一个灵活的和可配置的的MAC。

所有DAC机制都有一个共同的弱点,就是它们不能识别自然人与计算机程序之间最基本的区别。简单点说就是,如果一个用户被授权允许访问,意味着程序也被授权访问,如果程序被授权访问,那么恶意程序也将有同样的访问权。 DAC最根本的弱点是主体容易受到多种多样的恶意软件的攻击,MAC就是避免这些攻击的出路,大多数MAC特性组成了多层安全模型。

SELinux实现了一个更灵活的MAC形式,叫做类型强制(Type Enforcement)和一个非强制的多层安全形式(Multi-Level Security)。

在Android42中,SELinux是个可选项,谷歌并没有直接取消root权限或其他功能。这是一个为企业级用户或是对隐私数据极为重视的用户提供的选项,普通消费者则完全可以关闭它。

2 SELinux的运行机制

SELinux决策过程如下图所示:

     当一个subject(如: 一个应用)试图访问一个object(如:一个文件),Kernel中的策略执行服务器将检查AVC (Access Vector Cache), 在AVC中,subject和object的权限被缓存(cached)。如果基于AVC中的数据不能做出决定,则请求安全服务器,安全服务器在一个矩阵中查找“应用+文件”的安全环境。然后根据查询结果允许或拒绝访问,拒绝消息细节位于/var/log/messages中。

3 SELinux伪文件系统

/selinux/伪文件系统kernel子系统通常使用的命令,它类似于/proc/伪文件系统。系统管理员和用户不需要操作这部分。/selinux/目录举例如下:

代码如下:

-rw-rw-rw- 1 root root 0 Sep 22 13:14 access

dr-xr-xr-x 1 root root 0 Sep 22 13:14 booleans

--w------- 1 root root 0 Sep 22 13:14 commit_pending_bools

-rw-rw-rw- 1 root root 0 Sep 22 13:14 context

-rw-rw-rw- 1 root root 0 Sep 22 13:14 create

--w------- 1 root root 0 Sep 22 13:14 disable

-rw-r--r-- 1 root root 0 Sep 22 13:14 enforce

-rw------- 1 root root 0 Sep 22 13:14 load

-r--r--r-- 1 root root 0 Sep 22 13:14 mls

-r--r--r-- 1 root root 0 Sep 22 13:14 policyvers

-rw-rw-rw- 1 root root 0 Sep 22 13:14 relabel

-rw-rw-rw- 1 root root 0 Sep 22 13:14 user

如cat enforce其值可能如下:

1: enforcing mode

0: permissive mode

4 SELinux配置文件

SELinux配置文件(configuration)或策略文件(policy)位于/etc/目录下。

41 /etc/sysconfig/selinux配置文件

/etc/sysconfig/selinux是一个符号链接,真正的配置文件为:/etc/selinux/config

配置SELinux有如下两种方式:

1) 使用配置工具:Security Level Configuration Tool (system-config-selinux)

2) 编辑配置文件 (/etc/sysconfig/selinux)

/etc/sysconfig/selinux中包含如下配置选项:

1) 打开或关闭SELinux

2) 设置系统执行哪一个策略(policy)

3) 设置系统如何执行策略(policy)

42 配置文件选项

421 SELINUX

SELINUX=enforcing|permissive|disabled —定义SELinux的高级状态

• enforcing — The SELinux security policy is enforced

• permissive — The SELinux system prints warnings but does not enforce policy

• disabled — SELinux is fully disabled SELinux hooks are disengaged from the kernel and the pseudo-file system is unregistered

422 SELINUXTYPE(安全策略)

SELINUXTYPE=targeted|strict — 指定SELinux执行哪一个策略

• targeted — 只有目标网络daemons保护。每个daemon是否执行策略,可通过system-config-selinux进行配置。保护常见的网络服务,为SELinux默认值。

可使用如下工具设置每个daemon的布尔值:

1) getsebool -a: 列出SELinux的所有布尔值

2) setsebool: 设置SELinux布尔值,如:setsebool -P dhcpd_disable_trans=0,-P表示即使用reboot之后,仍然有效。

• strict — 对SELinux执行完全的保护。为所有的subjects和objects定义安全环境,且每一个Action由策略执行服务器处理。提供符合Role-based-Access Control(RBAC)之policy,具备完整的保护功能,保护网络服务、一般指令及应用程序。

423 SETLOCALDEFS

SETLOCALDEFS=0|1 — 控制如何设置本地定义(users and booleans)。

• 1:这些定义由load_policy控制,load_policy来自于文件/etc/selinux/

• 0:由semanage控制

43 /etc/selinux/目录

/etc/selinux/是存放所有策略文件和主要配置文件的目录。其例子如下:

代码如下:

-rw-r--r-- 1 root root 448 Sep 22 17:34 config

drwxr-xr-x 5 root root 4096 Sep 22 17:27 strict

drwxr-xr-x 5 root root 4096 Sep 22 17:28 targeted

5 SELinux工具

1) /usr/sbin/setenforce — 修改SELinux运行模式,例子如下:

• setenforce 1 — SELinux以强制(enforcing)模式运行

• setenforce 0 — SELinux以警告(permissive)模式运行

为了关闭SELinux,你可以修改配置文件:/etc/selinux/config或/etc/sysconfig/selinux

2) /usr/sbin/sestatus -v — 显示系统的详细状态,例子如下:

SELinux status: enabled

SELinuxfs mount: /selinux

Current mode: enforcing

Mode from config file: enforcing

Policy version: 21

Policy from config file: targeted

Process contexts:

Current context: user_u:system_r:unconfined_t:s0

Init context: system_u:system_r:init_t:s0

/sbin/mingetty system_u:system_r:getty_t:s0

3) /usr/bin/newrole — 在一个新的context或role中运行一个新的shell

4) /sbin/restorecon — 通过为适当的文件或安全环境标记扩展属性,设置一个或多个文件的安全环境

5) /sbin/fixfiles — 检查或校正文件系统中的安全环境数据库

6) getsebool — getsebool -a:查看所有布尔值

7) setsebool — 参数-P,永久性设置

8) chcon 修改文件、目录的安全上下文

chcon –u[user]

chcon –r[role]

chcon –t[type]

chcon –R 递归

6 类型强制的安全上下文(Type Enforcement Security Context)

安全上下文是一个简单的、一致的访问控制属性,在SELinux中,类型标识符是安全上下文的主要组成部分,由于历史原因,一个进程的类型通常被称为一个域(domain),"域"和"域类型"意思都一样,我们不必苛刻地去区分或避免使用术语域,通常,我们认为域、域类型、主体类型和进程类型都是同义的,即都是安全上下文中的“TYPE”。

SELinux对系统中的许多命令做了修改,通过添加一个-Z选项显示客体和主体的安全上下文。

1) 系统根据PAM子系统中的pam_selinuxso模块设定登录者运行程序的安全上下文;

2) 文件的Security Contex规则如下:

• rpm包安装的:会根据rpm包内记录来生成安全上下文;

• 手动创建的文件:会根据policy中规定的来设置安全上下文;

• cp:会重新生成安全上下文;

• mv:安全上下文则不变。

3) id -Z

显示了你的shell的安全上下文;

4) ps -Z

检查进程的安全上下文;

5) ls -Z

检查文件、目录的安全上下文;

61 安全上下文格式

所有操作系统访问控制都是以关联的客体和主体的某种类型的访问控制属性为基础的。在SELinux中,访问控制属性叫做安全上下文。所有客体(文件、进程间通讯通道、套接字、网络主机等)和主体(进程)都有与其关联的安全上下文,一个安全上下文由三部分组成:用户、角色和类型标识符。常常用下面的格式指定或显示安全上下文:

USER:ROLE:TYPE[LEVEL[:CATEGORY]]

安全上下文中的用户和角色标识符除了对强制有一点约束之外对类型强制访问控制策略没什么影响,对于进程,用户和角色标识符显得更有意义,因为它们是用于控制类型和用户标识符的联合体,这样就会与Linux用户账号关联起来;然而,对于客体,用户和角色标识符几乎很少使用,为了规范管理,客体的角色常常是object_r,客体的用户常常是创建客体的进程的用户标识符,它们在访问控制上没什么作用。

标准Linux安全中的用户ID和安全上下文中的用户标识符之间的区别,就技术而论,它们是正交标识符,分别用于标准的和安全增强的访问控制机制,这两者之间的任一相互关联都是通过登陆进程按照规范严格规定的,而不是通过SELinux策略直接强制实施的。

611 USER

1) user identity:类似Linux系统中的UID,提供身份识别,用来记录身份;安全上下文的一部分;

2) 三种常见的 user:

• user_u :普通用户登录系统后的预设;

• system_u :开机过程中系统进程的预设;

• root :root 登录后的预设;

3) 在 targeted policy 中 users 不是很重要;

4) 在strict policy 中比较重要,所有预设的 SELinux Users 都是以 “_u” 结尾的,root 除外。

612 ROLE

1) 文件、目录和设备的role:通常是 object_r;

2) 程序的role:通常是 system_r;

3) 用户的role:targeted policy为system_r; strict policy为sysadm_r、staff_r、user_r;用户的role,类似系统中的GID,不同角色具备不同的的权限;用户可以具备多个role;但是同一时间内只能使用一个role;

4) 使用基于RBAC(Roles Based Access Control) 的strict和mls策略中,用来存储角色信息

613 TYPE

1) type:用来将主体(subject)和客体(object)划分为不同的组,给每个主体和系统中的客体定义了一个类型;为进程运行提供最低的权限环境;

2) 当一个类型与执行中的进程相关联时,其type也称为domain;

3) type是SElinux security context 中最重要的部位,是 SELinux Type Enforcement 的心脏,预设值以_t结尾;

LEVEL和CATEGORY:定义层次和分类,只用于mls策略中

• LEVEL:代表安全等级,目前已经定义的安全等级为s0-s15,等级越来越高

• CATEGORY:代表分类,目前已经定义的分类为c0-c1023

62 对比SELinux和标准Linux的访问控制属性

在标准Linux中,主体的访问控制属性是与进程通过在内核中的进程结构关联的真实有效的用户和组ID,这些属性通过内核利用大量工具进行保护,包括登陆进程和setuid程序,对于客体(如文件),文件的inode包括一套访问模式位、文件用户和组ID。以前的访问控制基于读/写/执行这三个控制位,文件所有者、文件所有者所属组、其他人各一套。

在SELinux中,访问控制属性总是安全上下文三人组(用户:角色:类型)形式,所有客体和主体都有一个关联的安全上下文。需要特别指出的是,因为SELinux的主要访问控制特性是类型强制,安全上下文中的类型标识符决定了访问权。

注意:SELinux是在标准Linux基础上增加了类型强制(TE: Type Enforcement),这就意味着标准Linux和SELinux访问控制都必须满足先要能访问一个客体,例如:如果我们对某个文件有SELinux写入权限,但我们没有该文件的w许可,那么我们也不能写该文件。下表总结了标准Linux和SELinux之间访问控制属性的对比:

               标准Linux    SELInux    进程安全属性    真实有效的用户和组ID    安全上下文    客体安全属性    访问模式、文件用户和组ID    安全上下文    访问控制基础    进程用户/组ID和文件的访问模式,

此访问模式基于文件的用户/组ID    在进程类型和文件类型

之间允许的许可            

63 小结

1) 系统中每个文件、目录、网络端口等都被指定一个安全上下文,policy 则给出各安全上下文之间的作用规则。

2) SELinux根据policy及security context规则来决定存取行为是否可执行;

3) Subject(主体):系统进程,比如/usr/sbin/httpd;

4) Object(客体):被存取的项目,比如File、Directory、IP、Socket等;

7 类型强制(TE)访问控制

在SELinux中,所有访问都必须明确授权,SELinux默认不允许任何访问,不管Linux用户/组ID是什么。这就意味着在SELinux中,没有默认的超级用户了,与标准Linux中的root不一样,通过指定主体类型(即域)和客体类型使用allow规则授予访问权限,allow规则由四部分组成:

• 源类型(Source type(s) ) 通常是尝试访问的进程的域类型

• 目标类型(Target type(s) ) 被进程访问的客体的类型

• 客体类别(Object class(es)) 指定允许访问的客体的类型

• 许可(Permission(s)) 象征目标类型允许源类型访问客体类型的访问种类

举例如下:

代码如下:

allow user_t bin_t : file {read execute getattr};

这个例子显示了TE allow规则的基础语法,这个规则包含了两个类型标识符:源类型(或主体类型或域)user_t,目标类型(或客体类型)bin_t。标识符file是定义在策略中的客体类别名称(在这里,表示一个普通的文件),大括号中包括的许可是文件客体类别有效许可的一个子集,这个规则解释如下:

拥有域类型user_t的进程可以读/执行或获取具有bin_t类型的文件客体的属性。

SELinux allow规则如之前的例子在SELinux中实际上都是授予访问权的,真正的挑战是如何保证数以万计的访问正确授权,只授予必须的权限,实现尽可能的安全。

71 标准Linux安全中的setuid程序

精通用户joe想安全地修改现有的密码问题,Linux解决这个问题的方法是通过给passwd赋一个setuid值,使其执行时具有root权限,如果你在一个普通Linux系统上列出密码文件,你看到的会是:

复制代码

代码如下:

# ls -l /usr/bin/passwd

-rwsr-xr-x 1 root root 41292 Sep 7 2012 /usr/bin/passwd

这里注意两件事,第一个是在所有者权限的x位置被设置为s了,这就是所谓的setuid位,意思是任何执行这个文件的进程,它的有效UID(即用户ID)将会被改为文件所有者。这里,root是文件所有者,因此当执行密码程序时实际上将会以root用户的ID运行。其执行过程如下图所示:

     从上面的分析中可以看出,passwd以root权限的身份运行, 它可以访问系统的任何资源,这给系统带来了安全问题,其实它只需要访问shadow及其相关的文件就可以了。而且shadow只需要接受passwd的访问即可。这在标准Linux中是无法做到的,而TE(类型强制)可实现此功能。

8 基于角色的访问控制

SELinux也提供了一种基于角色的访问控制(RBAC),SELinux的RBAC特性是依靠类型强制建立的,SELinux中的访问控制主要是通过类型实现的,角色基于进程安全上下文中的角色标识符限制进程可以转变的类型,如此,策略编写器可以创建一个角色,允许它转变为一套域类型(假设类型强制规则允许转变),从而定义角色的限制。

9 SELinux中的多级安全(Multi-Level Security)

类型强制(Type Enforcement)无疑是SELinux引入的最重要的强制访问控制(MAC)机制,然而,在某些情况下,主要是保密控制应用程序的一个子集,传统的多级安全(MLS)MAC与类型强制一起使用显得更有价值,在这些情况下,SELinux总是包括某种格式的MLS功能,MLS特性是可选的,在SELinux的两个MAC机制中,它通常不是最重要的那个,对大多数安全应用程序而言,包括许多非保密数据应用程序,类型强制是最适合的安全增强的机制,尽管如此,MLS对部分应用程序还是增强了安全性。

在大多数SELinux策略中,敏感度(s0,s1,)和范畴(c0,c1,)使用通配名,将它留给用户空间程序和程序库,以指定有意义的用户名。(例如:s0可能与UNCLASSIFIED 关联,s1可能与SECRET关联)

为了支持MLS,安全上下文被扩展了,包括了安全级别,如:

复制代码

代码如下:

user:role:type:sensitivity[:category,] [-sensitivity[:category,]]

例子如下所示:

复制代码

代码如下:

root@luohj-virtual-machine:~# ps -aZ

LABEL PID TTY TIME CMD

unconfined_u:system_r:insmod_t:s0-s0:c0c255 4940 pts/0 00:00:00 passwd

注意MLS安全上下文至少必须有一个安全级别(它由单个敏感度和0个或多个范畴组成),但可以包括两个安全级别,这两个安全级别分别被叫做低(或进程趋势)和高(或进程间隙),如果高安全级别丢失,它会被认为与低安全级别的值是相同的(最常见的情况),实际上,对于客体和进程而言,低和高安全级别通常都是相同的,通常用于进程的级别范围被认为是受信任的主体(即进程信任降级信息)或多层客体,如一个目录,它又包括了不同安全级别的客体。为了使描述简单,假设所有的进程和客体都只有一个安全级别。

10 策略分析工具apol

apol(即analyze policy分析策略)工具是一个成熟的SELinux策略分析工具,它位于setools工具包中。使用它打开policyxx文件即可分析所有的相关策略。xx为策略编译器(checkpolicy)的版本号。

     11 小结

SELinux访问控制是基于与所有系统资源(包括进程)关联的安全上下文的,安全上下文包括三个组件:用户、角色和类型标识符。类型标识符是访问控制的主要基础。

在SELinux中,访问控制的主要特性是类型强制,在主体(即进程)与客体之间通过指定allow规则(主体的类型也叫做域类型是源,客体的类型是目标)进行访问授权,访问被授予特定的客体类别,为每个客体类别设置细粒度的许可。

类型强制的一个关键优势是它可以控制哪个程序可能运行在给定的域类型上,因此,它允许对单个程序进行访问控制(比起用户级的安全控制要安全得多了),使程序进入另一个域(即以一个给定的进程类型运行)叫做域转变,它是通过SELinux的allow规则紧密控制的,SELinux也允许通过type_transition 文件使域转变自动发生。

SELinux在访问控制安全上下文中不直接使用角色标识符,相反,所有的访问都是基于类型的,角色用于关联允许的域类型,这样可以设置类型强制允许的功能组合到一起,将用户作为一个角色进行认证。

SELinux提供了一个可选的MLS访问控制机制,它提供了更多的访问限制,MLS特性依靠TE机制建立起来的,MLS扩展了安全上下文的内容,包括了一个当前的(或低)安全级别和一个可选的高安全级别。

根据网络安全机构通报,这是不法分子利用NSA黑客武器库泄漏的“永恒之蓝”发起的病毒攻击事件。“永恒之蓝”会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序。

1、为计算机安装最新的安全补丁,微软已发布补丁MS17-010修复了“永恒之蓝”攻击的系统漏洞,请尽快安装此安全补丁;对于windows

XP、2003等微软已不再提供安全更新的机器,可使用360“NSA武器库免疫工具”检测系统是否存在漏洞,并关闭受到漏洞影响的端口,可以避免遭到勒索软件等病毒的侵害。

2、关闭445、135、137、138、139端口,关闭网络共享。

3、强化网络安全意识:不明链接不要点击,不明文件不要,不明邮件不要打开……

4、尽快(今后定期)备份自己电脑中的重要文件资料到移动硬盘、U盘,备份完后脱机保存该磁盘。

5、建议仍在使用windows xp, windows 2003操作系统的用户尽快升级到 window 7/windows 10,或

windows 2008/2012/2016操作系统。

其实这问题不用回答得那么复杂的,简单的回答一下你就能了解啦!

服务器追求的是什么?

假如你的新手,可是去了解一下,服务器什么才是最重要的,是访问速度吗?你以为访问速度快就能有好的体验,对吧?但是做服务器,不应该是你这样子想的。

服务器数据安全和稳定才是重中之重 ,目前来看,服务器还是很多用机械硬盘的,还是用服务器专用的机械硬盘,724很贵的那种,服务器基本上都是常年开机在线,固态硬盘常年运行估计会有点吃力。

RAID

服务器数据的秘密,要保证读取和备份,假如一块硬盘损坏不影响数据完整性,假如你一坏硬盘数据就丢失,那请问你应该怎么找回呢?

说说固态硬盘

固态硬盘一般我们个人电脑都是拿来装系统盘,数据还是建议放在机械硬盘或NSA网络硬盘中,而我看到你居然想把服务器的硬盘也换成固态的,这想法实在是大胆,不知道以后会不会实现,就目前来看还是机械硬盘较为稳定。

当然使用固态硬盘了。固态硬盘的传输速度是机械硬盘的传输速度的数倍或者数十倍。

网站服务器需要胜任多用户快速的读取,所以一定要选择固态硬盘。

网站服务器用固态硬盘还是机械硬盘?

这个要看你的网站类型、需求以及预算来定。

固态硬盘和机械硬盘各有优缺点,你看完再做决定。

机械硬盘和固态硬盘的对比

1、安全性

对于网站服务器来说,数据就是最重要的财富,因此数据安全是非常重要的。机械硬盘的数据是存储在盘片上,即使硬盘故障无法使用,也可以通过技术手段恢复数据,这一点是很多服务器还在采用机械硬盘的一个重要原因。而固态硬盘如果发生损坏,几乎不可能恢复数据,即使某些情况下有恢复数据的条件,代价也是非常高昂的。

2、容量

随着技术的发展,机械硬盘的容量一直在提升,当年我上大学的时候,配的电脑单块硬盘容量只有256G,而现在PC用的机械硬盘已经做到有2T、4T的容量。用于企业服务器存储的硬盘,已经可以做到单盘16TB的恐怖容量,想想当年高中电脑课拿的144M软盘,技术的飞速发展让人有种穿越感。

当然固态硬盘的技术也在不断进步,目前也有大容量的固态硬盘,将来肯定会有更大容量的固态硬盘,但目前相比机械硬盘的容量还是相差较远。

3、性价比

相比于固态硬盘,相同容量下机械硬盘的价格要便宜的多,哪怕是SATA3接口的固态硬盘当前的价格也是非常高的。目前希捷4TB企业级硬盘价格在1000元左右,而4TB的SATA3接口固态硬盘价格普遍在5000以上,价格是机械硬盘的5倍,更不要说高端的PCI-E固态了。

4、读写速度

固态硬盘的读写速度要远远高于机械硬盘,读写数据的方式就决定了这一结果,这是没办法改变的。如果是对于读写速度有高要求的场景,还是需要选择固态硬盘的,例如设计行业、 游戏 、某些服务器。

5、其他对比

机械硬盘由于是机械结构读写数据,对于灰尘、震动比较敏感,并且在使用时如果突然断电也容易造成损坏,相比之下固态硬盘就没有这些问题。

固态硬盘相比机械硬盘更轻、体积更小,能节省机箱空间,减轻重量。

此外机械硬盘运行过程中有一定噪音,而固态硬盘是没有声音的。

综上所述,具体使用固态还是机械硬盘,还是取决于你的网站服务器的作用,如果对读写速度有比较高的要求,那么只能选择固态硬盘,如果考虑性价比,还是大容量机械硬盘更合适。

怎么说其余的都说对了一半。我个人也不是很专业不过一年也能部署一台服务器。虽然服务器是组raid但是raid不是为了提高速度而是为了提高可靠性。raid虽然能提高连续读写但是对4k提高有限。好的raid卡会有一个很大的内存做缓冲区。我做4U的服务器一般就部署虚拟化了。最常见的方案是机械盘组raid5或6做数据存储。加两块500g以上的固态组raid1做缓存盘。如果客户要求极致性能那就全上固态。而且不要以为服务器会用金士顿或杂牌的没人冒那个风险省那几百。都是上intel或美光企业级固态或直接服务器的oem固态。

固态硬盘比较好

固态硬盘寿命短,机械硬盘有roid阵列,比如一个机械硬盘的传输速度是100mb/s容量是500g,两个同样的硬盘用roid0阵列的话,容量变成1000g速度为200mb/s并且可以叠加

在基于L2TP隧道方式的VPDN方案中,HSS进行第一次接入认证,VPDN鉴权服务器对用户携带的用户名、密码等信息进行透传,LNSAAA负责VPDN用户认证(也称为二次认证)。LNSAAA既可使用专用的服务器,也可由LNS设备兼任。了解更多服务优惠点击下方的“官方网址”客服217为你解答。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 深入解析Linux系统中的SELinux访问控制功能

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情