Linux系统安全

2024-07-02

Linux系统安全(精选11篇)

Linux系统安全 第1篇

关键词:LINUX,账号,密码,日志

一、引言

随着Internet/Intranet网络的日益普及, Linux作为一个现代的操作系统, 正在各个方面得到广泛的应用。Linux在服务器、嵌入式等方面已经取得不俗的成绩, 在桌面系统方面, 也逐渐受到欢迎。于是Linux的安全问题也逐渐受到人们的重视。

Linux是一个开放式系统, 可以在网络上找到许多现成的程序和工具, 这既方便了用户, 也方便了黑客, 因为他们也能很容易地找到程序和工具来潜入Linux系统, 或者盗取Linux系统上的重要信息。因此, 详细分析Linux系统的安全机制, 找出它可能存在的安全隐患, 给出相应的安全策略和保护措施是十分必要的。针对Linux的基本安全防护, 笔者这里稍做介绍。

二、Linux系统的安全策略

1. Linux系统的用户账号策略

管理员的工作中, 相当重要的一环就是管理账号。在管理Linux主机的账号时, 一个最重要的方面就是确保每一个UID仅仅使用一次。

另外就是设置有限的登陆次数来预防无休止的登陆攻击, 通过编辑/etc/pam.d/system-auth, 添加下面两句可以设置账户最多连续登陆5次, 超过5次账户将被锁定, 只有管理员才能帮助解锁。

auth required pam_tally.so deny=5

account required pam_tally.so

2. 密码策略要求

(1) 口令时效和口令长度的设置。口令时效和口令长度是一种系统机制, 用于强制口令在特定的时间长度后失效。对用户来说, 这可能带来了一些麻烦, 但是它确保了口令会定期进行更改, 是一项很好的安全措施。默认情况下, 绝大多数的Linux版本并没有打开口令时效, 不过要想打开却非常简单。通过编辑/etc/login.defs, 你可以指定几个参数, 来设置口令实效和口令长度的默认设定:

PASS_MAX_DAYS 99999

PASS_MIN_DAYS 0

PASS_MIN_LEN 5

PASS_WARN_AGE 7

当设置口令时效的天数为99999时, 实际上相当于关闭了口令时效。一般设定为9 0天或者更短时间来更改一次。PASS_MIN_DAYS参数则设定了在本次密码修改后, 下次允许更改密码之前所需的最少天数。PASS_MIN_LEN是指密码设置的最小长度, 一般定义为8位以上。PASS_WARN_AGE的设定则指明了在口令失效前多少天开始通知用户更改密码 (一般在用户刚刚登陆系统时就会收到警告通知) 。

(2) 控制密码使用频率。控制适度的密码重用频率, 也可以为密码的安全策略提供良好的保护, 可以通过编辑/etc/pam.d/system-auth设定密码重用。一般设置重用密码前更换密码的最小次数为4次。

password required pam_unix.so remember=3 use_authtok md5shadow或者password sufficient pam_unix.so remember=3 use_authtok md5 shadow。

3. Linux的基本文件权限要求

Linux中每一个文件都具有特定的属性, 主要包括文件类型和文件权限两个方面。可以分为5种不同的类型:普通文件、目录文件、链接文件、设备文件和管道文件。所谓的文件权限, 是指对文件的访问权限, 包括对文件的读、写、删除、执行。Linux是一个多用户操作系统, 它允许多个用户同时登录和工作。因此正确的文件权限设定是非常重要的。与系统安全关系较为密切的几个文件目录权限设置要求如下表:

4. Linux日志文件管理

日志对于系统安全来说, 非常重要, 它记录了系统每天发生的各种各样的事情, 你可以通过它来检查错误发生的原因, 或者受到攻击时攻击者留下的痕迹。因此, 保护系统日志安全, 不被内部用户或外部入侵者修改或删除显得尤为重要。

在Linux系统中, 有三个主要的日志子系统:

连接时间日志——由多个程序执行, 把纪录写入到/var/log/wtmp和/var/run/utmp, login等程序更新wtmp和utmp文件, 使系统管理员能够跟踪谁在何时登录到系统。

进程统计——由系统内核执行。当一个进程终止时, 为每个进程往进程统计文件 (pacct或acct) 中写一个纪录。进程统计的目的是为系统中的基本服务提供命令使用统计。

错误日志——由syslogd (8) 执行。各种系统守护进程、用户程序和内核通过syslog (3) 向文件/var/log/messages报告值得注意的事件。另外有许多UNIX程序创建日志。像HTTP和FTP这样提供网络服务的服务器也保持详细的日志。

Linux的日志文件很多, 但是/var/log/wtmp, /var/log/messages, /var/log/faillog (权限设置为600) , /var/log/secure (如果是Debian, /var/log/auth.log将代替它) 最好是存在的。

如果服务器支持很多的用户的话, 这些日志文件的大小会很快地增加, 在服务器硬盘不是非常充足的情况下, 必须采取措施限制日志文件的大小, 定期做好日志备份和清除是非常重要的。

5. Linux的远程登录:使用OPENSSH代替FTP和Telnet

我们通常使用的网络传输程序FTP和Telnet等在本质上都是不安全的, 因为它们在网络上用明文传送口令和数据, 黑客利用嗅探器非常容易截获这些口令和数据。SSH的英文全称是Secure SHell。通过使用SSH, 用户可以把所有传输的数据进行加密, 这样即使网络中的黑客能够劫持用户所传输的数据, 如果不能解密的话, 也不能对数据传输构成真正的威胁。另外, 传输的数据是经过压缩的, 所以可以加快传输的速度。SSH有很多功能, 它既可以代替Telnet, 又可以为FTP提供一个安全的“传输通道”。在不安全的网路通信环境中, 它提供了很强的验证机制与非常安全的通信环境。SSH (Secure Shell) 最初由芬兰的一家公司开发, 但由于受版权和加密算法的限制, 很多人转而使用免费的替代软件Open SSH。命令行使用OPENSSH比较麻烦。这里介绍g FTP和OPENSSH整合在一齐, 提供一个图形化加密传输方案。g FTP和Windows下的Cute FTP一样使用非常简单, 而且几乎所有的Linux发行版本都带有g FTP, 不需要安装就可以使用。Windows下支持SSH的客户端软件不少, 推荐使用Putty和Filezilla。

目前很多公司企业对信息安全问题日益重视, 完善的信息安全控制架构, 先进的管理和技术的结合, 才能真正满足公司企业的需要。

参考文献

[1]王一川 Linux黑客大曝光:Linux安全机密与解决方案[M].清华大学出版社, 2002~10~1

[2]汪 辉等:Linux安全最大化 (第二版) [M].电子工业出版社, 2002~1~1

Linux系统安全 第2篇

一、服务器安全:

1. 关闭无用的端口

任何网络连接都是通过开放的应用端口来实现的。如果我们尽可能少地开放端口,就使网络攻击变成无源之水,从而大大减少了攻击者成功的机会。

首先检查你的inetd.conf文件。inetd在某些端口上守侯,准备为你提供必要的服务。如果某人开发出一个特殊的inetd守护程序,这里就存在一个安全隐患。你应当在inetd.conf文件中注释掉那些永不会用到的服务(如:echo、gopher、rsh、rlogin、rexec、ntalk、finger等)。注释除非绝对需要,你一定要注释掉rsh、rlogin和rexec,而telnet建议你使用更为安全的ssh来代替,然后杀掉lnetd进程。这样inetd不再监控你机器上的守护程序,从而杜绝有人利用它来窃取你的应用端口。你最好是下载一个端口扫描程序扫描你的系统,如果发现有你不知道的开放端口,马上找到正使用它的进程,从而判断是否关闭它们。

2. 删除不用的软件包

在进行系统规划时,总的原则是将不需要的服务一律去掉。默认的Linux就是一个强大的系统,运行了很多的服务。但有许多服务是不需要的,很容易引起安全风险。这个文件就是/etc/inetd.conf,它制定了/usr/sbin/inetd将要监听的服务,你可能只需要其中的两个:telnet和ftp,其它的类如shell、login、exec、talk、ntalk、imap、pop-2、pop-3、finger、auth 等,除非你真的想用它,否则统统关闭。

3. 不设置缺省路由

在主机中,应该严格禁止设置缺省路由,即default route。建议为每一个子网或网段设置一个路由,否则其它机器就可能通过一定方式访问该主机

4. 口令管理

口令的长度一般不要少于8个字符,口令的组成应以无规则的大小写字母、数字和符号相结合,严格避免用英语单词或词组等设置口令,而且各用户的口令应该养成定期更换的习惯。另外,口令的保护还涉及到对/etc/passwd和/etc/shadow文件的保护,必须做到只有系统管理员才能访问这2个文件。安装一个口令过滤工具加npasswd,能帮你检查你的口令是否耐得住攻击。如果你以前没有安装此类的工具,建议你现在马上安装。如果你是系统管理员,你的系统中又没有安装口令过滤工具,请你马上检查所有用户的口令是否能被穷尽搜索到,即对你的/ect/passwd文件实施穷尽搜索攻击。

5. 分区管理

一个潜在的攻击,它首先就会尝试缓冲区溢出。在过去的几年中,以缓冲区溢出为类型的安全漏洞是最为常见的一种形式了。更为严重的是,缓冲区溢出漏洞占了远程网络攻击的绝大多数,这种攻击可以轻易使得一个匿名的Internet用户有机会获得一台主机的部分或全部的控制权!

为了防止此类攻击,我们从安装系统时就应该注意。如果用root分区记录数据,如log文件,就可能因为拒绝服务产生大量日志或垃圾邮件,从而导致系统崩溃。所以建议为/var开辟单独的分区,用来存放日志和邮件,以避免root分区被溢出。最好为特殊的应用程序单独开一个分区,特别是可以产生大量日志的程序,还建议为/home单独分一个区,这样他们就不能填满/分区了,从而就避免了部分针对Linux分区溢出的恶意攻击。

6. 防范网络嗅探:

嗅探器技术被广泛应用于网络维护和管理方面,它工作的时候就像一部被动声纳,默默的接收看来自网络的各种信息,通过对这些数据的分析,网络管理员可以深入了解网络当前的运行状况,以便找出网络中的漏洞。在网络安全日益被注意的今天.我们不但要正确使用嗅探器.还要合理防范嗅探器的危害.嗅探器能够造成很大的安全危害,主要是因为它们不容易被发现。对于一个安全性能要求很严格的企业,同时使用安全的拓扑结构、会话加密、使用静态的ARP地址是有必要的。

7. 完整的日志管理

日志文件时刻为你记录着你的系统的运行情况。当 光临时,也不能逃脱日志的法眼。所以 往往在攻击时修改日志文件,来隐藏踪迹。因此我们要限制对/var/log文件的访问,禁止一般权限的用户去查看日志文件。

另外,我们还可以安装一个icmp/tcp日志管理程序,如iplogger,来观察那些可疑的多次的连接尝试(加icmp flood3或一些类似的情况),

还要小心一些来自不明主机的登录。

完整的日志管理要包括网络数据的正确性、有效性、合法性。对日志文件的分析还可以预防入侵。例如、某一个用户几小时内的20次的注册失败记录,很可能是入侵者正在尝试该用户的口令。

8. 终止正进行的攻击

假如你在检查日志文件时,发现了一个用户从你未知的主机登录,而且你确定此用户在这台主机上没有账号,此时你可能正被攻击。首先你要马上锁住此账号(在口令文件或shadow文件中,此用户的口令前加一个Ib或其他的字符)。若攻击者已经连接到系统,你应马上断开主机与网络的物理连接。如有可能,你还要进一步查看此用户的历史记录,查看其他用户是否也被假冒,攻击音是否拥有根权限。杀掉此用户的所有进程并把此主机的ip地址掩码加到文件hosts.deny中。

9. 使用安全工具软件:

随着Linux病毒的出现,现在已经有一些Linux服务器防病毒软件,安装Linux防病毒软件已经是非常迫切了。Linux也已经有一些工具可以保障服务器的安全,如iplogger。

10. 使用保留IP地址:

----维护网络安全性最简单的方法是保证网络中的主机不同外界接触。最基本的方法是与公共网络隔离。然而,这种通过隔离达到的安全性策略在许多情况下是不能接受的。这时,使用保留IP地址是一种简单可行的方法,它可以让用户访问Internet同时保证一定的安全性。- RFC 1918规定了能够用于本地TCP/IP网络使用的IP地址范围,这些IP地址不会在Internet上路由,因此不必注册这些地址。通过在该范围分配IP地址,可以有效地将网络流量限制在本地网络内。这是一种拒绝外部计算机访问而允许内部计算机互联的快速有效的方法。

保留IP地址范围:

―― 10.0.0.0 - 10.255.255.255

---- 172.16.0.0 - 172.31.255.255

―― 192.168.0.0 - 192.168.255.255

来自保留IP地址的网络交通不会经过Internet路由器,因此被赋予保留IP地址的任何计算机不能从外部网络访问。但是,这种方法同时也不允许用户访问外部网络。IP伪装可以解决这一问题。

11、选择发行版本:

对于服务器使用的Linux版本,既不使用最新的发行版本,也不选择太老的版本。应当使用比较成熟的版本:前一个产品的最后发行版本如Mandrake 8.2 Linux等。毕竟对于服务器来说安全稳定是第一的。

12、补丁问题

你应该经常到你所安装的系统发行商的主页上去找最新的补丁。

二、网络设备的安全:

1. 交换机的安全

启用VLAN技术:交换机的某个端口上定义VLAN,所有连接到这个特定端口的终端都是虚拟网络的一部分,并且整个网络可以支持多个VLAN。VLAN通过建立网络防火墙使不必要的数据流量减至最少,隔离各个VLAN间的传输和可能出现的问题,使网络吞吐量大大增加,减少了网络延迟。在虚拟网络环境中,可以通过划分不同的虚拟网络来控制处于同一物理网段中的用户之间的通信。这样一来有效的实现了数据的保密工作,而且配置起来并不麻烦,网络管理员可以逻辑上重新配置网络,迅速、简单、有效地平衡负载流量,轻松自如地增加、删除和修改用户,而不必从物理上调整网络配置。

2.路由器的安全:

根据路由原理安全配置路由器路由器是整个网络的核心和心脏, 保护路由器安全还需要网管员在配置和管理路由器过程中采取相应的安全措施。

1. 堵住安全漏洞

限制系统物理访问是确保路由器安全的最有效方法之一。限制系统物理访问的一种方法就是将控制台和终端会话配置成在较短闲置时间后自动退出系统。避免将调制解调器连接至路由器的辅助端口也很重要。一旦限制了路由器的物理访问,用户一定要确保路由器的安全补丁是最新的。

2. 避免身份危机

入侵者常常利用弱口令或默认口令进行攻击。加长口令、选用30到60天的口令有效期等措施有助于防止这类漏洞。另外,一旦重要的IT员工辞职,用户应该立即更换口令。用户应该启用路由器上的口令加密功能。

3. 禁用不必要服务

Linux:自由的操作系统 第3篇

近十年来,Linux作为操作系统世界里冉冉升起的新星,继承了Unix操作系统的良好基础,以开放源代码的特性吸引了全世界电脑爱好者,受到了包括IBM、HP、Intel和Oracle在内的一些计算机业巨头的技术支持,从而在技术方面得到了迅速的发展,已成为能够与Unix、Windows和Mac OS抗衡的操作系统。

了解Linux

说到Linux,不能不提Unix操作系统。Unix操作系统诞生于1969年,是一个分时、多用户、多任务、具有网络功能、通信功能和可移植性的操作系统,广泛应用于各种机型,是影响范围最大、最为稳定的操作系统之一。但是,Unix系统比较庞大,大部分安装在小型机上,价格也很昂贵。在Linux出现之前,使用Unix系统对于个人用户是一个可望而不可及的梦想,但正是Linux使这种梦想变成了现实。

Linux是Unix操作系统的克隆。Linux系统的创始人—芬兰的赫尔辛基大学学生Linus Torvalds对Unix操作系统相当感兴趣,考虑将它移植到个人计算机 (Intel X86 架构)上。他潜心研究 Unix 的核心,并且去除较为繁复的核心程序,1991年在386的计算机上开发出了Linux 第一个0.01版的内核,首次在Internet上公布。之后,在Linus的带领下,通过互联网,一个世界范围内的开发组对Linux进行坚持不懈的开发,到了 1994 年正式发布了内核为1.0的Linux操作系统,同时作为Linux的吉祥图案的一只可爱的胖企鹅Tux诞生了。在短短的十年里Linux的 内核已发布了数十种版本(http://www.kernel.org),目前内核已升至2.6.8.1。

Linux发展的初期与Windows明显不同的是, 它的安装比较麻烦、图形界面的友好度比较低,这也导致Linux在桌面领域普及缓慢。值得庆幸的是,随着时间的推移,开发者们越来越意识到图形界面的重要性,在开发过程中融入了其他图形化操作系统的优点,包括微软的Windows系统和Unix的CDE等。目前在Linux上已实现多个图形管理程序,可变换不同的桌面图案或功能菜单,这点是Windows操作系统的单一图形接口也望尘莫及的。Linux应用最普遍的图形用户界面KDE和GNOME(见图1),不但能够给用户提供一个完整的图形界面,同时还给软件开发提供了一条捷径。事实上已涌现出越来越多的针对KDE和GNOME的应用程序。

Linux的发行版本

Linux这个词本身只表示Linux内核,对于需要更完整功能的操作系统来说,毕竟还不够完备。可能还需要一些软件开发工具、数据库、Web服务器(例如Apache 服务器)、桌面环境(比如KDE和GNOME)和办公套件(如Openoffice)等等。由于Linux免费的内核及良好的稳定性,并可以在便宜的x86 架构下的计算机平台运作,所以吸引了很多的套件商与自由软件的开发团队,在这个 Linux 的核心上开发相关的软件。他们将 Linux 内核、内核工具与相关的软件,包括一些GNU软件(如gcc、cc、C++、Tcl/Tk、Perl、Fortran77等)集合起来,并加入自己公司或团队的系统管理模块与工具,制作出一套可以完整安装的操作系统。这个完整的Linux 操作系统,我们就称为“Linux Distribution”,或者是中文所谓的安装套件。

目前世界上已有百种以上不同的Linux安装套件组合,但不论这些套件的名称或开发厂商是谁,它们都是同属于 Linux 的大家庭。由于各个 Distribution 都是架构在 Linux内核下发展属于自己公司的风格,因此大家都遵守 Linux Standard Base ( LSB ) 的规范,也就是说,各个 Distribution 其实都是差不多的,只是里面所使用的各套件可能并不完全相同而已。各家公司所发行的光盘套件是可以在网络上面自由下载的。不过,如果想要有较佳的服务,那么购买该公司发行的光盘也是不错的选择。

几个主要的 Linux 发行公司的网址:

Red Hat: http://www.redhat.com

Turbolinux: http://www.turbolinux.com

FreeBSD: http://www.freebsd.org

Debian: http://www.debian.org

Mandrake: http://www.linux-mandrake.com/en/

Slackware: http://www.slackware.com/

SuSE: http://www.suse.com/index_us.html

Fedora: http://fedora.redhat.com

……

了解更多信息,您可以查阅Linux Distributions 的网站: http://www.linuxiso.org 或http://www.fokus.gmd.de/linux/linux-distrib.html。

近年来,Linux 在我国取得了可喜的发展,涌现出不少颇具实力的中文Linux 发行商。

Redflag Linux: http://www.redflag-linux.com

Xteam linux: http://www.xteamlinux.com.cn

Linux的优势

Linux已成为最近几年来最受瞩目的操作系统之一,主要原因是它的免费,以及系统的开放性,可以随时取得程序的原代码,这对于程序开发人员是很重要的。除了这些它还具有以下的优势:

1.跨平台的硬件支持

由于Linux的内核大部分是用C 语言编写的,并采用了可移植的Unix标准应用程序接口,所以它支持如i386、Alpha、AMD和Sparc等系统平台,以及从个人电脑到大型主机,甚至包括嵌入式系统在内的各种硬件设备。

2.丰富的软件支持

与其他的操作系统不同的是,安装了Linux系统后,用户常用的一些办公软件、图形处理工具、多媒体播放软件和网络工具等都已无需安装。而对于程序开发人员来说,Linux更是一个很好的操作平台,在Linux的软件包中,包含了多种程序语言与开发工具,如gcc、cc、C++、Tcl/Tk、Perl、Fortran77等。

3.多用户多任务

和Unix系统一样,Linux是一个真正的多用户多任务的操作系统。多个用户可以各自拥有和使用系统资源,即每个用户对自己的资源(例如:文件、设备)有特定的权限,互不影响,同时多个用户可以在同一时间以网络联机的方式使用计算机系统。多任务是现代计算机的最主要的一个特点,由于Linux系统调度每一个进程是平等地访问处理器的,所以它能同时执行多个程序,而且各个程序的运行是互相独立的。

4.可靠的安全性

Linux是一个具有先天病毒免疫能力的操作系统,很少受到病毒攻击。

对于一个开放式系统而言,在方便用户的同时,很可能存在安全隐患。不过,利用Linux自带防火墙、入侵检测和安全认证等工具,及时修补系统的漏洞,就能大大提高Linux系统的安全性,让黑客们无机可乘。

5.良好的稳定性

Linux内核的源代码是以标准规范的32位(在64位CPU上是64位)的计算机来做的最佳化设计,可确保其系统的稳定性。正因为Linux的稳定,才使得一些安装 Linux 的主机像Unix机一样常年不关而不曾宕机。

6.完善的网络功能

Linux 内置了很丰富的免费网络服务器软件、数据库和网页的开发工具,如Apache、Sendmail、VSFtp、SSH、MySQL、PHP和JSP等。近年来,越来越多的企业看到了Linux的这些强大的功能,利用Linux担任全方位的网络服务器。

Linux系统安全隐患防范研究 第4篇

Linux作为一个现代化的操作系统, 有着其独特的优势:

(1) 支持所有现代操作系统应该具备的功能。例如网络协议、作业控制、多处理器、虚拟内存等等, 这就使其拥有了较高的性价比和使用性能, 不管是高端的计算机还是低端的pc机都可以使用, 应用范围很广泛。

(2) 自由软件精神。Linux之所以能够迅速发展起来, 重要的因素就是它的自由软件精神。开发者提供了元件的所有源代码, 用户可以任意地使用甚至是进行修改, 同时也会把自己修改后的代码发布出来。这样的特性好比一把双刃剑, 一方面很多优秀的网络人才把自己的技术加入进来, 使得系统不断开发完善;另一方面也会给黑客的入侵提供许多搜集资料的机会。

Linux系统有以下几个特点:

(1) 灵活性高。在Linux系统下的用户, 可以实现凭借自己的喜好和实际需要对系统进行编程和设置, 大大提高了系统的灵活性, 改变了以往操作系统单一、死板的模式, 使得越来越多的用户可以更加方便地使用。

(2) 多任务、多用户。Linux的强大功能在于可以同时多个用户一起访问进程, 这在其他的系统当中是不多见的。与此同时, 一个用户还可以同时创造多个进程, 进程之间协同进行工作。

(3) 支持网络。Linux的发展和成长是离不开网络的, 反过来, 它对网络的支持也是强大的。运用它, 可以方便地配置上网所需要的服务, 让用户满足对网络的需要。

(4) 支持命令行和图形界面同时操作。这对于网络服务器来说是相当重要的一点。如果可以在不启动图形界面的前提下完成所需任务, 那么系统资源就会在很大程度上被节约。

同样, Linux系统也存在着不完善的地方:

(1) 对于大多数习惯了使用Windows系统的用户来说, Linux系统与其相比界面的友好程度不够, 所以用户要用相当长的一段时间去适应。

(2) 在硬盘分区的问题上, 两者也是截然不同的。如果用户想要把两种以上的操作系统同时安装在一台电脑上, 那么必要要给Linux划分出一个或者以上的特定分区, 这需要用到专业的软件工具, 这一点对一般用户来说还是具有一定困难性的。

(3) 虽然现在Linux系统的发展越来越迅速, 应用软件也越来越丰富, 但是和传统的操作系统Windows相比, 数量上还是具有一定差距的。

2 日常运用中Linux系统容易出现的安全隐患

2.1 Sscan扫描工具

Sscan工具会对系统进行, 以此来检测安全漏洞和安全隐患是否在主机上存在。Sscan工具本身是安全的, 它不会进行攻击。但是它往往成为被入侵者利用的工具, 经过配置形成恶意自动攻击的脚步, 袭击用户的计算机系统。

2.2 数量庞大的拒绝服务性攻击

随着网络的发展, 安全隐患的曾多, 近些年来, 出现了数量庞大的拒绝服务性攻击。通常采用的方法是把大量的含有虚假地址的ICMP包发送到一个或者是多个主机上。这样一来, 在同一条网路当中, 主机就和每一个包产生对应关系, 有时会导致很多一个包相应很多主机的情况发生, 使网络中充满了包, 使系统承受不住压力转而崩溃。

2.3 缓冲区溢出的问题

如果用户在使用过程中没有事先对分配完成的缓冲区进行边界检查的话一旦处在执行状态的程序在缓冲区越界的时候, 就会有非正常的功能出现或者执行。一般情况下, 会出现重写函数返回原地址指向其他地方, 然后执行可以使程序保护发生改变的代码这样的情况产生。

3 针对Linux系统安全隐患可以采取的防范策略

3.1 抓好账号管理

在Linux主机的账号管理方面, 管理员一定要做到认真负责, 最重要的一点就是要确保每一个UID只使用一次, 确保账号安全有效。

在预防恶意的无休止攻击方面, 可以设置有效的登陆次数。比如通过设置把连续登陆的数值范围设定在5次以内, 一旦超过这个数值, 账户就会自行锁定, 只有通过管理员才可以解锁, 一定程度上保障了账户的安全。

3.2 加强密码安全

密码方面的策略主要体现在口令时效和口令长度两个方面。这两个方面作为系统机制来说, 很多用户觉得很麻烦, 因为它们可以强制密码在定制好的时间长度后自动失效, 但是却确保了密码的按时修改, 保护了密码安全。通常情况下, 大部分的Linux版本没有开启这个内容, 用户可以自行开启设置。重点在于参数的设置, 用户可以根据自己的需要灵活进行, 通常把口令时效设置为90天后者更短;把口令长度至少要设置在8位以上。

还可以注意一下控制密码的重复使用频率, 通常情况下, 同一个密码不建议用户重复使用, 以免产生安全隐患。

3.3 做好日志备份

系统日志的作用是记录下系统每天发生的事情, 方便用户在错误产生之后通过它来查找原因, 或者是受到恶意攻击之后留下的蛛丝马迹。所以系统日志对于安全来说非常重要, 用户一定要保护系统日志不被入侵者修改或者删除。

上述的都是一些Linux系统常见的安全隐患和防范措施, 希望可以引起更多的公司和企业对Linux系统的安全性起到足够的重视。只有完善的信息安全控制结构, 先进的技术, 才能够满足用户对于Linux系统安全的需要。

摘要:随着Linux系统在生活中的广泛运用, Linux系统的安全性问题也让人们不得不提高重视。针对Linux系统的安全问题和隐患, 谈谈如何做好Linux系统日常安全管理的心得体会。

关键词:Linux系统,Linux系统安全

参考文献

[1]王一川.Linux黑客大曝光:Linux安全机密与解决方案[M].清华大学出版社, 2002

Linux系统安全 第5篇

无论按照什么标准对Windows和Linux进行评估,都存在一定的问题:每个操作系统都不止一个版本。微软的操作系统有Windows98、Windows NT、Windows 2000、Windows 2003 Server和Windows CE,而Linux的发行版由于内核(基于2.2、2.4、2.6)的不同和软件包的不同也有较大的差异。我们本文所使用的操作系统,都是目前的技术而不是那些“古老”的解决方案。

用户需要记住:Linux和Windows在设计上就存在哲学性的区别。Windows操作系统倾向于将更多的功能集成到操作系统内部,并将程序与内核相结合;而Linux不同于Windows,它的内核空间与用户空间有明显的界限。根据设计架构的不同,两者都可以使操作系统更加安全。

Linux和Windows安全性的基本改变

对于用户来说,Linux和Windows的不断更新引发了两者之间的竞争。用户可以有自己喜欢的系统,同时也在关注竞争的发展。微软的主动性似乎更高一些――这是由于业界“冷嘲热讽”的“激励”与Linux的不断发展。微软将在下几个月对Windows安全进行改观,届时微软会发布Windows XP的Service Pack2。这一服务包增强了Windows的安全性,关闭了原先默认开放的许多服务,也提供了新的补丁管理工具,例如:为了避免受到过多无用的信息,警告服务和信使服务都被关闭。大多数情况下,关闭这些特性对于增强系统安全性是有好处的,不过很难在安全性与软件的功能性、灵活性之间作出折衷。

最显著的表现是:微软更加关注改进可用性的同时增强系统的安全性。比如:2003年许多针对微软的漏洞攻击程序都使用可执行文件作为电子邮件的附件(例如MyDoom)。Service Pack2包括一个附件执行服务,为Outlook/Exchange、Windows Messenger和Internet Explorer提供了统一的环境。这样就能降低用户运行可执行文件时感染病毒或者蠕虫的威胁性。另外,禁止数据页的可执行性也会限制潜在的缓冲区溢出的威胁。不过,微软在Service Pack2中并没有修改Windows有问题的架构以及安全传输的部分,而是将这部分重担交给了用户。

微软的重点显然是支持应用程序的安全性。Service Pack2中增强的许多方面都是以Outlook/Exchange和Internet Explorer作为对象的。例如:Internet Explorer中有一个智能的MIME类型检查,会对目标的内容类型进行检查,用户可以获悉该内容中是否存在潜在的有害程序。不过这一软件是不是能将病毒与同事的电子数据表区分开来呢?

Service Pack2的另一个新特性是能够卸载浏览器的多余插件,这需要终端用户检查并判断需要卸载哪些插件。Outlook/Exchange可以预览电子邮件消息,因此用户可以在打开之前就将电子邮件删除。另一个应用安全的增强,防火墙在网络协议栈之前启动。对于软件开发者来说,远方过程调用中权限的改变,使得安全性差的代码难以工作正常。

Service Pack2也为Windows用户提供了许多华丽的新特性,但是问题仍然存在:这些特性会不会对管理员甚至是终端用户造成负担?是不是在增加了Windows操作系统代码安全性的同时让系统变得更加复杂?

Linux与Windows安全性能的重要结论

对操作系统的安全性进行定性分析,很容易包含主观意见,得到的结论会由于过去和现在的经验而有很大的不同。本文的目标是给用户提供一个框架,让他们更多的理解Windows和Linux的安全性能。下面的分析并不全面,只是终端用户进行评估的起点。Linux和Windows在技术上不断进步,究竟哪个系统更安全的结论也会不断变化。本文分析的结果:Linux提供了比Windows更好的安全特性。

基本安全

微软和Linux都提供了对验证、访问控制、记帐/日至、受控的访问保护实体、加密的支持。不过Linux的表现更好一些,因为Linux还提供了Linux安全模块、SELinux和winbind。Linux用户不需对内核打补丁就能增加额外的安全机制。

Linux在LSM之上构建了多种访问控制机制,例如:为应用程序建立了单独的空间,使它们之间相互分离,也与基本的操作系统隔离,这样即使应用程序出现了安全问题也不会影响操作系统。Linux的基本安全也可以通过应用程序增强,比如Tripwire(可以定期对系统进行关键文件的完整性检查,如果文件的内容或者属性有变化就通知系统管理员)。

Windows的限制在于基本安全是依靠MSCAPI的,在代码签名时信任多个密钥。微软的模型重点在于可以同时对一个产品使用弱加密或者强加密。尽管模块不是以相同的密钥进行签名,MSCAPI却信任许多根验证机构,代码签名也信任多个密钥。因此只要有一个密钥被泄露就会使整个系统异常脆弱。密钥泄漏的情况:授权的代码签名者不小心纰漏了自己的私钥,或者签名机构错误的签发了一个证书。这些情况曾经发生,有一次Verisign错误的以微软的名义签发了两个证书,并将这些证书的控制权交给了未授权的个人。

网络安全与协议

Linux与Windows对网络安全和协议的支持都很不错。两者都支持IPSec,这是一个运行于IP层的开放的基于加密的保护方式。IPSec能够识别终端主机,同时能够对网络传输数据和加密数据的过程中的修改作出判断。Linux下使用OpenSSH、OpenSSL和OpenLDAP,分别对应微软系统下闭合源码的SSH、SSL和LDAP。

应用安全

由于微软IIS和Exchange/Outlook不断出现的安全问题,Linux显得更胜一筹。Apache和Postfix都是跨平台的应用程序,比微软的相应产品更加安全。由于Linux有内建的防火墙使得其安全性有所增强,Snort也是一个优秀的入侵检测系统。关于基于x86系统的Linux内核,一个很重要的特性就是IngoMolnar的exec-shield,可以保护系统不受缓冲区或者函数指针溢出的攻击,从而对那些通过覆盖数据结果或者插入代码的攻击程序有

所防护。exec-shield补丁使攻击者很难实现基于shell-code的攻击程序,因为exec-shield的实现对于应用程序是透明的,因此不需要应用程序的重新编译。

微软正在大刀阔斧的重新设计产品的安全架构,并为已安装的系统提供补丁。不过旧版本的Windows产品仍然存在安全问题,这使得任务变得复杂。许多微软用户正面临安全威胁,而补丁在发布之前必须做好文档。另外,微软倾向于将应用程序的数据和程序代码混合在一起,比如ActiveX,这使得系统外的不可信数据也能被使用,甚至是利用不可信数据执行任意代码。某些情况下,Windows甚至允许外部系统提供数据签名的代码,这就意味着本地的系统管理员也不能审查代码,不过他仍然知道是谁对代码签的名。

在.NET框架下,微软应用程序的安全性有所改进。当然,对于那些异构平台,例如Linux、Windows、Unix尤其是建立在Java平台下的应用程序,微软的产品是有很大局限性的。

分发和操作

关于分发和操作,Linux与微软的侧重点不同,Linux下大部分的管理都通过命令行接口。Linux的发行商也提供了各种安装和配置工具,例如:up2date、YaST2和Webmin。Bastille Linux是一个支持Red Hat、Debian、Mandrake、SUSE和Turbolinux的加固工具。相比之下,Windows的系统管理员使用简单易用的GUI工具,配置的时候也很容易出错误。尽管一些人认为,一个周之内将任何人都可能成为Windows的系统管理员,问题是他们到底对管理了解多少?微软的安全问题,绝大多数都是由于发布与操作时的拙劣配置。Windows自带安装和配置工具,微软也为加固域控制器、架构服务器、文件服务器、打印服务器、IAS服务器、证书服务器和堡垒主机提供了向导,不过加固架构与加固操作系统还是有区别的。

确信度

定义操作系统确信度的标准是公共标准(CC),这是ISO标准(ISO 15408)。关于确信度的等级有一个层次结构 ―― 从EAL1到EAL7。只有在特定的软件、硬件和系统配置下,公共标准的评估才是有效的。Windows的EAL比Linux要高,达到了EAL4,而Linux目前只达到了EAL3。SUSE正计划在年底达到EAL4。政府机构大部分都需要CC的确信度。即使只有政府客户(甚至特指美国国防部)才需要确信度,商业产品满足这一要求也是一件好事。不过大部分的用户都不需要达到国防部的标准。

可信计算

可信计算是一种架构,可以避免对应用程序的修改,与厂商的通信也是安全的。许多厂商,比如Intel、微软和IBM,都在欢迎这项新兴的技术。目前,这一功能只供展示,现实中并没有可用的系统,因此Linux和Windows都不能胜任。微软的可信计算与数字权力管理有关,而开源社区目前没有可信计算的项目。

开放标准

Linux要优于Windows,因为它支持所有的开放标准(尽管Windows也支持许多相同的开放便准,如IPSec、IKE和IPv6,也乐意扩展标准)。对于使用异构系统并有互操作

需求的公司,“标准”如果代有私有代码,就使得对缺陷的检测和错误的修正更困难、耗费的时间也更多。一个例子就是微软对Kerberos标准协议的扩展。微软提供了对Kerberos票据的授权功能,尽管Kerberos一开始也是按照这个目的设计的,这一功能却一直没有使用。微软扩展了Kerberos标准,在处理过程中也期望其它程序共享票据的授权数据字段。因此,微软的Kerberos版本与标准不能完全交互。IT经理会发现:在一个异构的IT环境中,使用微软Kerberos会使得整个环境难以管理,它们需要完全的Windows IT架构。

开源

如果安全操作系统的标准就是开源,那么Linux显然要优于Windows。微软的共享源代码计划就是为了满足用户对源代码的需要。不过,该计划的大部分内容都是“可看但不可修改”的情况。俄罗斯、英国、中国和北约参与了微软的政府安全计划。尽管该计划的目标是增加透明度和加强合作,如果某组织需要访问微软的源代码,需要遵守各种各样的要求。例如:并不是所有的Windows源代码都可以在线查看,因此如果用户需要编译并测试应用程序,必须亲自访问微软的总部。

推荐

Linux和Windows的安全性必定会引起持续的争论,到底是开源的操作系统好,还是封闭源代码的操作系统好?业界的逻辑是:基于开放标准与开放源代码的操作系统,能提供更好的互用性,更好的错误发现和修正机制,这要比通过隐藏来达到安全的模型优秀。开源也促使Linux的发行提供商对生产过程完全透明。每一步对于用户来说都是可再现的,因此能够逐渐的增强安全。而Windows的源代码并不易获得,因此不能提供等价的透明。

Linux提供了至少不逊于Windows的安全性能。Linux系统的安全取决于对Linux发行版的选择、使用的内核版本、实现与支持系统的IT员工的水平。一旦你选定了产品,实现并维护操作系统的安全就完全依靠IT员工了,你需要对他们进行培训,让他们掌握足够的专业技能,完成分发、管理和故障排除的任务。要让IT经理和系统管理员明白如何应用这些惯例。

我们推荐各种机构首先了解自己的功能需要,然后熟悉一下操作系统关键性的安全性能,这样就能减少使用操作系统的风险,确保一致性。

如果你正考虑移植到另一个操作系统或者是升级目前的产品,你需要按照安全性能的要求来选择操作系统的环境。把你的商业需要与对操作系统安全性的理解相结合,就能在实现功能的同时,兼顾一致性与风险最小化。

开放源代码、共享源代码

Linux和Windows对于代码透明度这一哲学问题上是完全不同的。Linux符合GNU通用公用许可证,用户可以拷贝、复制并分发源代码。Windows使用的是封闭源代码,因此微软的安全方法被称为“通过隐藏来保证安全”。2001年,微软为了响应客户与共享源代码计划的要求,提供了对Windows源代码的访问权。现在,共享源代码计划有一百万的参与者,可以访问的源代码包括Windows2000、WindowsXP、Windows Server2003、Windows CE 3.0、Windows CE、C#/CLI实现和ASP.NET与Visual Studio.NET。共享源代码计划许可证的对象包括公司用户、政府、合作者、学术机构与个人。

微软的共享源代码计划政策属于“可看但不可修改”,例外的情况是Windows CE共享源代码许可证计划。对于公司来说,可以将基于Windows CE的设备和解决方案推向市场。这是微软共享源代码计划下,源设备制造商(OEM)、半导体提供商、系统集成商可以完全访问Windows CE源代码的唯一项目。所有许可证持有者都有对源代码的完全访问权,当然可以修改代码,但只有OEM才能发布对基于WinCE设备的修改。所有其他的共享源代码许可证持有者,如果要访问该项目不允许的源代码,需要向Redmond.Wash的微软总部请示。

某些用户认为共享源代码计划对于调试程序会有帮助,微软要求编译的时候必须在微软总部,这不得不说是一个很大的限制。尽管微软想尽力增加透明,如果无法编译,就很难确定源代码在真实的IT环境中是否能正常工作。限制用户修改并编译Windows的源代码,降低了人们访问Windows共享源代码并寻找安全漏洞的热情。

数据中心和桌面下Linux的安全收益

在未来的12个月里,Linux将加强在数据中心的份额,并试图冲击微软在桌面上的垄断。这很大程度上是受益于Linux2.6版内核的新特性与新功能。有了Linux v2.6,安全框架现在已经模块化了。在这种模型下,Linux内核的所有方面都提供了细粒度的用户访问控制,而以前的版本的内核允许超级用户完全控制。现在的实现仍然支持root完全访问系统,但完全可以创建一个不遵循该模型的Liinux系统。

Linux v2.6内核的一个主要变化,就是新增的Linux安全模块(LSM),用户不需要打内核补丁就能为Linux增加更多的安全机制。新版内核,在LSM上建立了多个访问控制机制,其中包括美国国安局(NSA)的Securiy Enhanced Linux(SELinux)。由于国安局对操作系统安全与强制访问控制的兴趣,产生了SELinux。国安局的研究人员正在开发Linux的安全模块,可以支持2.6内核的类型加强、基于脚色的访问控制、多层次安全。SELinux使用了命为“域类型强制”的安全模型,可以将应用程序互相隔离,同时也与基本的操作系统隔离,从而限制入侵后程序或者网络服务造成的影响。

Linux的2.6内核中已经加入了对SELinux的细粒度布尔值标签的支持,其他的厂商也开始利用国安局的SELinux。例如,Immunix提供了一些列产品,包括StackGuard和子域StackGuard模块,可以配置进程只使用某些系统调用。RedHat声称SELinux将在RedHat企业服务器4.0的安全架构上起重要的作用。

今天,Linux的内核中已经有一个功能强大、灵活的强制访问控制子系统。这个系统强制隔离有机密和完整性要求的数据,因此任何潜在的破坏,即时是由超级用户进程所造成的,都被Linux系统限制起来了。

Linux v2.6还提供了对加密安全的支持,包括了IPSec使用的加密API。这样,在网络和存储加密时就可以使用多种算法(例如:SHA-

1、DES、三重DES、MD4、HMAC、EDE、和Blowfish)。Linux对IPSec IPv4和IPv6协议的支持是一个很大的进步。由于安全抽象到了协议层,用户程序对潜在攻击程序的脆弱性有所降低。密码加密模块目前还不是

Linux内核的一部分,如果Linux真的实现了这样的特性,就可以阻止未签名的模块被内核访问。

现在仍然困扰Windows用户的一个问题就是缓冲区溢出。Linux用户从2.6内核开始就会收益于exec-shield补丁。exec-shield可以阻止许多漏洞攻击程序覆盖数据结构并向这些结构中插入代码的企图。由于不需要重新编译应用程序就能使exec-shield补丁奏效,实现起来很方便。

另外,2.6内核中的抢占式内核,也减少了延迟,使得Linux不但可以应用到数据中心,甚至可以在有软实时要求的应用程序使用。许多Linux用户使用的是硬件厂商和系统提供商的不开源的驱动程序(二进制模块)。问题在于:虽然添加这些驱动和模块有用,对于Linux系统并不一定有益。例如,一个未开源的驱动模块有可能控制系统调用并修改系统调用表。2.6的内核提供了特殊的保护措施,可以对限制未开源驱动或者模块对内核的访问。这一特性增加了稳定性,但从安全角度并没有增加新的限制,也不能阻止黑客编写恶意模块。

Linux系统安全 第6篇

【摘要】系统在执行多道程序时需要共享资源,而这种共享资源就会导致各个程序之间出现相互制约,这些过程都是动态的,而程序本身是一组指令的集合,这是静态的过程,我们为了能够准确去描述程序动态的整体执行过程,就引入了“进程(Process)”这个概念。进程是具有一定独立功能的程序,程序可以包括进程,进程也可以包括程序,进程是操作系统动态执行的基本单元,既属于基本的分配单元,也是最基本的执行单元,本文是就以linux中进程的概念、分类、启动方式及使用方法、注意事项进行分析和研究。

【关键词】进程;终端;虚拟内存

一、Linux进程的基本概念

1、进程就是指系统在进行资源分配和调度所需要的最基本单位,也是一个具有独立功能的程序的一次运行过程。实际上就是每一个程序模块还有它执行时所要处理的数据共同组成了进程。

2、理解进程和程序的区别:●程序是静态的,但进程都是动态的●程序是永久的,但进程都是有生命的●一个程序可以包含若干个进程,同样的,一个进程也可以包含若干个程序

3、进程号。Linux之中每一个进程都拥有一个唯一的标识号,被称为PID(Process ID)。系统启动后的第一个进程是init,它的进程号是1。init是惟一一个由系统内核直接运行的进程,也是系统中所有进程的起源。除了init之外,每个进程都有父进程。

二、 Linux进程的分类

当你启动Apache程序的时候,linux系统会自动为它分配一个进程号,然后我们就可以使用这个进程号来监视和控制这个程序,观察它的运行状态。我们一般把进程分为以下3大类:1)交互式的进程:由一个Shell命令来启动的进程。这些进程常和用户发生交互,要有一定的时间来等待用户的操作。这种进程既可以在后台运行,当然也可以在前台来运行。如控制台命令shell,文本编辑器等。2)批处理的进程:不与特定的终端相关联,也就是不需要交互,主要是在后台运行的进程。如编译器、数据库搜索引擎等。3)守护进程:一般是由系统在开机时自动激活启动或是由超级管理用户root来启动,对调度有严格的要求,不能被低优先级进程阻塞,一般运行于后台。如音视频应用程序等。

三、进程管理的常用命令

1、ps的应用。-功能:用来显示系统进程的各方面信息,方便我们监视和控制程序。-格式:ps[参数]-参数:

进程的状态(STAT)。R,进程处于运行(系统的当前进程)或者准备运行状态(等待系统分配CPU);S,进程处于睡眠状态;T,追踪或停止;Z,僵死进程(zombie),进程已经结束但因没有妥善处理尚未释放所有资源;W,进程没有固定的pages;<,高优先级的进程;N,低优先级的进程。作为一个Linux系统管理员,其主要的一个核心任务就是进程的监视和控制。"ps"就是这样的一个监视Linux的标准工具,它会显示正在运行的程序信息。比如,哪些程序运行多长时间和使用多少CPU,哪些程序是哪个用户来运行的等等。当我们需要人为来判定是哪个程序会让系统变慢或是终止程序的时候,这些信息则是必需的。用户可以通过ps命令看到所有的进程,包括正在运行的和没有运行的。其中,USER域指明了是由哪个用户启动了这个命令。这个信息可以帮助你缩小问题范围,假设某一个用户占用了服务器大量的I/O,如果我们能够很快找到它,那么就可以释放其所占据的资源。通过ps命令,用户可以实时地查看每个进程的状态,如占用了多少CPU,查看内存的状态及VSZ(虚拟内存大小)和RSS(常驻集大小)的运行状态。我们可以通过这些数据,来确定这个进程是在正常运行还是出现了异常。我们是在尽力确保正确合理地运用系统资源,所以经常要由管理员来决定对进程进行终止或重启的操作。

2、kill的应用

进程通信:Linux中,kill命令是通过向进程发送指定的信号来结束进程的。前台进程在运行时,可以用【ctrl+c】键来终止它。后台进程可以使用kill命令向进程发送强制终止信号,以达到终止进程的目的。-功能:终止正在运行的进程或作业;-格式:kill [选项] PID

3、进程调度

进程调度就是通过合理的调度,选择下一个要运行的进程,系统资源才能最大限度地发挥作用,多进程才会有并发执行的效果。而进程之间是资源竞争通过谦让度来实现的。谦让度的值从-20到19。高谦让度表示进程优先级别最低,执行的顺序靠后。nice命令:是在创建进程时为进程指定谦让度的值。renice命令:是通过进程ID找到相应的进程,用此命令来修改谦让度,即是更改进程的优先级。

4、交互式的进程管理工具。●系统监视器gnome-system-monitor●终止进程工具xkill●监视系统任务的工具top。总之,Linux系统上每个用户任务、每个系统的守护进程,我们都称为进程。Linux系统则用分时管理的方法能够使所有的任务共同来分享系统上的资源。而我们要做的就是如何去控制这些进程,让它们能够很好地为用户服务。

作者简介

浅析Linux操作系统的安全策略 第7篇

1. Linux操作系统编程安全模型设计

Linux操作系统是面向多用户的, 在同一时间可以有许多用户向操作系统发出各种系统命令, 在现代的操作系统里面都有编程安全的概念, 编程程序是一个包含可以执行代码的文件, 当编程程序被系统调用到内存以后, 系统会给程序分配一定的资源, 然后进行一系列的复杂操作使程序变成进程以供系统调用。在Linux操作系统里面为了区分各个不同的进程, Linux操作系统给每一个进程分配了一个ID以便识别, 为了充分的利用资源, Linux操作系统还对编程进行了安全模型的设计。

1.1 严格权限禁止非法切换, 保障编程模型安全

在Linux中SU是一个很常用的命令, 它可以完成从普通用户到root用户的切换也可以用于普通用户之间的切换, 只要用户知道root密码就可以完成此项操作, 使系统存在一定风险。因此, 有必要限制使用SU进行用户切换, 只有属于wheel组的用户才可以使用SU命令来切换用户。

SU命令限制是由PAM机制来限定的, PAM是由SUN提出的一种认证机制, 它通过提供一系列动态链接库和一套统一的API, 将系统提供的服务和认证方式分开。使得系统管理员可以灵活地根据服务需要配置不同的认证方式, 同时也便于向系统中添加新的认证手段。PAM最初是集成在Solaris中, 目前已移植到Linux操作系统之中。

1.2 Linux信号系统安全策略访问控制模型

安全操作系统的访问控制模型, 将密码服务与高级别存取控制机制有机地结合起来, 形成一个适应各类安全实用的操作系统。该安全服务器将在Linux操作系统的基础上, 目前Linux操作系统主要发行版本的安全性大致处于《TCSEC》标准, 该类模型是从访问控制的角度描述安全系统, 主要针对系统中主体对客体的访问及其安全控制。

BLP模型的安全策略包括强制访问控制和自主访问控制两部分, 强制访问控制中的安全特性, 要求对给定安全级别的主体, 对给定安全级别上的主体, 仅被允许向相同安全级别或较高安全级别上的客体进行信息服务, 任意访问控制允许用户自行定义是否让个人或组织存取数据;DTE模型它通过赋予文件不同的型 (type) 、赋予进程不同的域 (domain) 来进行访问控制, 从一个域访问其他的域以及从一个域访问不同的型都要通过DTE策略的控制, DTE使域和每一个正在运行的进程相关联, 型和每一个对象相关联, DTE系统的内核在做标准的系统许可检查之前先做DTE许可检查, 如果当前域拥有被访问文件所属的型所要求的访问权, 那么这个访问得以批准, 继续执行正常的系统检查。

2. 安全策略科学化系统共享设计

随着Linux操作系统的广泛应用, 它的安全性也越来越受到用户的关注。在实际的使用中用户希望Linux操作系统可以和360安全卫士等安装操作一样的简单、界面形象直观、易于管理。我们在应用Linux强大网络功能的同时, 要同时着手于解决其安全性问题, 在使用Linux操作系统时要将安全性、科学化的系统共享进行合理化的设计安装。

2.1 合理规划实现多系统共存, 创建使用库

在Linux操作系统的初步安装操作中用户可以先使用双硬盘, 在硬盘中分别安装Windows和Linux操作系统。第一块硬盘安装Windows系统, 第二块硬盘安装好Linux服务器版和默认安装GRUB (引导装载管理器) , 并确保GRUB安装在第二块硬盘的主引导扇区, 接好两块硬盘的数据线, 借助Linux的GRUB进行配置, 自动接管双重系统的启动选单。

完成Linux系统的初步安装过程后, 可以从一个静态库中直接拷贝函数到可执行二进制映像, 或者在可执行程序正在运行时从共享库文件中读出, 从而间接地应用到Linux操作系统之中。构建Linux系统数据库当多个进程同时使用一个共享库时, Linux将把共享库中存放可执行代码的内存进行共享。

2.2 严谨系统操作, 创建Linux操作系统编程安全策略

Linux操作要求在程序的应用中力求严谨、认真的态度, 在系统的使用和运行时保证内部信息安全是设计系统安全的最为重要的核心部分。严谨的系统操作主要表现在隐藏文件夹的保护, 在隐藏文件夹中如果有不想让别人直接看到的文件, 最简单的办法就是对文件进行加密处理, 也可以在终端通过MVTEST.TEST命令实现。“test”文件会出现在文件夹中但“.test”则不会出现, 如果需要查看隐藏文件, 就必须要在终端进入对应文件夹用Js□a命令查看, 这样可以达到保护Linux系统内部隐藏文件的作用。

2.3 设计密码保证Linux系统安全

无论是Linux系统的操作还是计算机的其他应用系统, 密码是保证系统安全的第一道防线, 因此在Linux系统的必须要有一个强健的密码设计。密码设置的原则是足够长不要用完整的单词, 尽可能要包括数字、字母、特殊字符和大小写混写, 经常进行修改, 所以在Linux系统中必须要遵循以上原则外。

在此之外, 启动和加载程序时, 要尽量使用GRUB而不要使用LILO, 这样可以防止使用被定制的内核来启动系统。此外Linux是一个多用户操作系统, 为了保证系统安全, 在登出和锁定屏幕的时候也是非常重要的, 特别是在系统上是唯一用户时, 建议锁定屏幕保证系统安全。在启动和加载程序时, ULO在配置文件中可以使用明文口令, 这样可以防止使用被定制的内核来启动系统。

结语:本系统通过对Linux核心结构和操作系统安全体系的层次结构研究, 并且遵循国内、外的相关安全标准, 将Linux操作系统安全策略模型和已有技术有机地结合起来, 增加了强制访问控制、可信路径等安全功能。Linux操作系统安全技术作为计算机信息安全的关键部分, 对安全策略的研究和建模有重要意义, 对Linux操作系统安全的研究在实际应用中还需要进一步地考验和完善。

摘要:Linux是一类Unix计算机操作系统的统称, Linux操作系统是自由软件和开放源代码发展中最为经典的案例。Linux这个词本身只表示Linux内核, 但在实际上人们已经习惯了用Linux来形容整个基于Linux内核, 并且使用GNU工程各种工具和数据库的操作系统。Linux是一个可以自由分发的操作系统, 它包括内核、系统工具、应用程序, 以及完整的开发环境。

关键词:Linux操作系统,安全策略,计算机技术,安全性问题

参考文献

[1]Michael K.Linux应用程序开发[M].电子工业出版社, 2005.

[2]梁肇新.编程高手箴言[M].电子工业出版社, 2005.

Linux系统安全 第8篇

1 Linux网络操作系统安全机制探究

Linux网络操作系统提供了用户帐号、文件系统权限和系统日志文件等基本安全机制, 如果这些安全机制配置不当, 就会使系统存在一定的安全隐患。

1.1 Linux系统的用户帐号

在Linux系统中, 用户帐号是用户的身份标志, 它由用户名和用户口令组成。在Linux系统中, 系统将输入的用户名存放在用户密码文件中, 而将输入的口令以加密的形式存放在日志文件中。在正常情况下, 这些口令和其他信息由操作系统保护, 能够对其进行访问的只能是超级用户 (root) 和操作系统的一些应用程序。但是如果配置不当或在一些系统运行出错的情况下, 这些信息可以被普通用户得到。进而, 不怀好意的用户就可以使用一类被称为“口令破解”的工具去得到加密前的口令。

1.2 Linux的文件系统权限

Linux文件系统的安全主要是通过设置文件的权限来实现的。它由用户名和用户口令组成。其基本思想是:当用户登陆时, 由守护进程要求用户输入用户名, 然后激活login, 要求用户输入口令, 最后login根据系统中的用户密码文件来检查用户名和口令的一致性, 如果一致, 则该用户是合法用户, 为该用户启动一个shell。其中, 用户密码文件是用来维护系统中每个合法用户的信息的, 主要包括用户的登陆名, 经过加密的口令、口令时限、用户号 (UID) 、用户组号 (GID) 、用户主目录、以及用户所使用的shell。加密后的口令也可能存在于系统的日志文件中。

每一个Linux的文件或目录, 都有3组属性, 分别定义文件或目录的所有者, 用户组和其他人的使用权限 (只读、可写、可执行、允许SUID、允许SGID等) 。特别注意, 权限为SUID和SGID的可执行文件, 在程序运行过程中, 会给进程赋予所有者的权限, 如果被黑客发现并利用就会给系统造成危害。在一定程度上有力地保护了系统安全, 但是在口令破解程序面前就显得脆弱了。此外, 采用输入口令的方式, 也容易产生口令泄露或遗忘等缺点。安全机制是由Sun提出的一种认证机制, 为更有效的的身份认证方法的开发提供了便利, 在此基础上可以很容易地开发出替代常规的用户名口令的身份认证方法。在嵌入式Linux系统中, 结合嵌入式的特点, 可以利用PAM来实现更有效的身份标识与鉴别方式如智能卡、指纹识别、语音等。

1.3 合理利用Linux的日志文件

Linux的日志文件用来记录整个操作系统使用状况。作为一个网络系统管理员要充分用好以下几个日志文件。

记录最后进入系统的用户的信息, 包括登录的时间、登录是否成功等信息。这样用户登录后只要用lastlog命令查看一下最后日志文件中记录的所用帐号的最后登录时间, 再与自己的用机记录对比一下就可以发现该帐号是否被黑客盗用。

记录系统自开通以来所有用户的登录时间和地点, 可以给系统管理员提供更多的参考。

记录当前和历史上登录到系统的用户的登录时间、地点和注销时间等信息。可以用last命令查看, 若想清除系统登录信息, 只需删除这个文件, 系统会生成新的登录信息。

Linux网络操作系统提供了用户帐号、文件系统权限和系统日志文件等基本安全机制, 如果这些安全机制配置不当, 就会使系统存在一定的安全隐患。

1.4 其他安全机制

基于用户名与口令的身份标识与鉴别机制在安全上的不足, 主要表现在口令的易猜测性和泄露性。针对口令的易猜测和泄露的特点, 嵌入式Linux提供了一定保护措施, 主要有密码设置的脆弱性警告、口令有效期、一次性口令、先进的口令加密算法、使用影子文件 (shadow file) 、帐户加锁等。嵌入式Linux系统中, 通过自主访问控制来确保主体访问客体的安全性, 但是这种自主访问控制过于简单, 为此, 嵌入式Linux提供了限制性shell、特殊属主、文件系统的加载限制, 以及加密文件系统来提高系统安全。此外, 嵌入式Linux还通过对根用户进行适当的限制, 在一定程度上限制了超级用户给系统带来的安全隐患。而安全shell、入侵检测、防火墙等, 从网络安全的角度提高了系统的安全性。

2 Linux网络操作系统安全缺陷

嵌入式Linux系统虽然实现了自主访问控制和身份标识与鉴别等安全机制, 但是从操作系统安全的目标来看, 特别是被用在嵌入式系统中时, Linux系统的安全性还是有很多缺陷, 主要表现在以下:

2.1 自主访问控制机制的不足

嵌入式Linux系统提供的自主访问控制机制是基于保护位来实现的。文件的所有者可以自主的确定和修改文件的访问权限, 不同的访问权限可以分别授予不同的所有者, 所有者所在的组和其他用户, 但是这种机制不能实现更细粒度的访问授权管理。传统的基于保护位 (即属主、属组、其他) 的自主访问控制无法完成。为了实现更细粒度的访问控制要求, 内核中设计了访问控制列表, 可以方便的为文件配置任意用户和组的访问权限。

2.2 强制访问控制机制缺乏

自主访问控制机制使得文件的拥有者全权管理有关该文件的访问权限, 有权泄露、修改该文件的有关信息, 但无法抵御特洛伊木马的攻击。特洛伊木马程序一旦被用户激活, 木马会继承与用户相同的ID、访问权限等, 从而可以滥用用户的权限, 如泄露或破坏有关信息等。自主访问控制机制不能区分特洛伊木马与用户的合法程序, 因而也就无法阻止特洛伊木马的操作。另外在一些安全要求较高的军事环境等领域, 不同部门所拥有不同信息的保密与完整性程度并不相同, 部门之间的信息流动也需要控制, 这些都不是仅仅通过自主访问控制机制所能解决的。因此, 嵌入式Linux系统安全需要强制访问控制机制来加强。

2.3 root权限滥用

嵌入式Linux系统中存在一个uid为0的超级用户, root是系统赋予它的帐号。root也称为系统管理员, 它拥有管理系统的一切权限。当一个非法用户获得root口令后, 他就可以以超级用户的身份登陆系统, 然后做任何他想做的事情:任意添加、删除用户, 终止进程, 删除重要文件甚至更改root的口令。另外, 系统允许普通用户在运行某段程序时可以获得超级用户权限, 一旦这种权限被攻击者获得, 此时系统的安全机制将无法阻止他对系统的破坏。针对root用户权限过大的问题, 权能机制可以有效的解决这一问题。

2.4 审计机制的不足

现有的Linux审计机制包括了内核事件和系统事件两部分的审计。但是还存在着一些不足, 尤其是用在嵌入式系统中的时候。比如:内核审计的粒度不够, 审计不够灵活, 审计存储的问题等问题。在强制访问控制和审计两方面应该进行改进, 增强嵌入式Linux的安全性。

摘要:Linux网络操作系统利用了现今计算机系统的任务切换机制, 实现了真正多任务、多用户环境, 允许多个用户同时执行不同的程序, 并且可以给紧急任务以较高的优先级, 对现有的身份标识与鉴别是Linux特有的安全机制, Linux在自主访问控制, 强制访问控制, root权限, 审计等方面的需要安全强化设置。

关键词:Linux操作系统,安全机制,权限

参考文献

[1]张金石.网络操作系统:linux配置与管理[M].人民邮电出版社, 2012, 06.

[2]冯昊.linux操作系统教程[M].清华大学出版社, 2008, 02.

嵌入式Linux系统安全性探析 第9篇

社会发展日新月异, 物联网离百姓生活越来越近, 目前很多运行在局域网甚至Internet上的产品如雨后春笋般涌向市场, 比如:智能家居、安卓手机等。这些产品在方便用户的同时也出现一些安全问题, 系统置于网络上相当于暴露给所有人, 故对嵌入式产品安全性研究刻不容缓。嵌入式产品由于尺寸、成本的约束注定不可能从硬件部分提供更多的安全措施, 故提升安全性重点应考虑Linux内核。

1嵌入式Linux系统存在的安全问题

开源的Linux内核无论在功能上或性能上都有很多优点, 但Linux内核属于开源项目, 缺少提供商的安全保证, 所以需要使用者最大限度地提升系统的安全性。根据实际情况裁剪Linux内核, 并采取适当的安全措施可提升系统的安全性。掌握Linux核心技术、配合先进的安全模型、增强其安全性进而研发安全的操作系统非常有必要。Linux的安全性问题从机制角度可以有以下几点:

(1) Linux系统访问控制。Linux系统主流发行版本的访问控制属于自主访问控制;自主访问控制控制模式任何一个活动主体对应用户标识和组标识。显然自主访问控制模式的问题是忽略了用户的角色、程序可信性等安全信息, 故不能提供有效的安全性保障。

(2) Linux系统管理。Linux系统中用户可以分为两类, 一类是普通用户, 另一类是管理员用户。Linux系统管理员用户拥有系统所有权限, 包括用户管理、设备管理、审计管理和安全管理等;这样方便了管理员管理, 易于用户操作, 但是违背了“最小特权”管理原则。Linux系统的安全性只是建立在管理员必须正确设置系统功能、且不被冒充和不存在安全漏洞等一系列假设的基础上。显而易见这样的系统存在巨大的风险, 假如系统管理员被非法控制, 系统将没有安全性可言。

(3) Linux系统日志。Linux系统中的日志功能从设计到实现不是以系统安全为目标而是以内核调试为目的;此与系统安全审计有很大差距:第一, 缺乏资源访问方面的记录;第二, 不能详细记录系统发生的事件;最后, 缺少必要数据分析与警告。

由此可见, 嵌入式Linux内核自身的安全功能相当薄弱, 对于安全性要求比较高的产品, 则需要提高Linux内核的安全性。

2安全性问题解决方案

提升Linux安全性所采取措施主要有在Linux系统内核使用安全模块和安装必要的防火墙, 还有一些嵌入式特有的安全措施。

(1) 使用安全模块LSM

(Linux Security Modules) 。2001年一次Linux内核峰会中美国国家安全局推出了他们的安全增强Linux (SELinux) , 与此同时Linux内核创始人提出, Linux内核作为一个开放的系统的确应该有一个通用的安全访问控制框架, 不过也提出应该可以使用加载内核模块的方式来支持不同的安全模块, Linux内核的安全模块从此产生。下面可以通过图1来了解一下安全模块工作原理。

从图1中可知, Linux安全模块工作原理是通过使用函数回调的方法, 系统根据用户配置来判断内核对象的访问。系统运行进程执行系统调用时找到I节点并分配相关资源, 就在即将访问相应的对象时, 系统立即调用Linux安全模块提供的函数, 对安全模块提出疑问:“是否允许访问该对象?”, 安全模块根据用户设定的安全策略进行判断该次访问是否具有相应的权限。在安全模块里可以调用不同的安全模块, 使用较多的有SELinux 、Smack (Simplified Mandatory Access Control Kernel) 、TOMOYO等。

SELinux安全模块。该模块的使用使得系统由原来的自主访问机制改变为强制访问控制机制。但是SELinux安全模块并不适用于处理能力有限嵌入式产品, 原因有以下几点:首先, SELinux模块的细粒度访问控制造成安全策略的复杂性, 例如:Fedora发行版本里就超过800 000行, 如此复杂的安全策略肯定不能应用于嵌入式系统;其次, 在使用SELinux模块后, 若要运行某一个进程时, 需要给出所有要调用函数的权限才能运行, 在本身资源短缺的嵌入式产品里非常不适用;另外一点, 当系统安全策略频繁改变时, 要将文件系统重新设置且重新装载到内核里, 嵌入式文件系统一般都烧写在FLASH中, 需要重新烧写文件系统, 这对于最终用户是不可能实现的事。使用SELinux模块后, 要求系统支持文件扩展属性, 而嵌入式系统经常采用的文件系统有CRAMFS、JFFS2等, 这些文件系统本身不支持属性扩展。由此可见, SELinux安全模块不适合在嵌入式产品中使用。

Smack安全模块的原理与SELinux模块一样, 同样是强制访问控制的一个实现, 与SELinux不同的是使用简单的配置策略来代替配置复杂的SELinux。因为Smack安全模块基于标签实现强制访问控制, 故需要支持标签的文件系统支持。使用Smack安全模块需要完成3部分工作:配置修改Linux内核支持Smack、设置Smack脚本以及用户空间应用程序的修改。基于标签实现强制访问的Smack模块需要修改根文件系统, 所以Smack不适合作为嵌入式系统的安全模块。

TOMOYO安全模块是基于路径名的强制访问控制安全模块, 由NTT DATA公司开发和维护。MOTOYO 身材较小, 只有100K左右代码、300K策略文件, 是一个典型的基于路径面向行为的系统分析者和保护者, 适合在嵌入式产品使用。MOTOYO安全模块拥有图形界面编辑策略工具, 方便用户编辑策略, 除此之外还支持友好的学习模式与强制模式。

当MOTOYO模块处于学习模式时, 系统所运行的程序都被加到策略文件中, 简化了用户策略设置;而处于强制模式下不满足策略条件的程序与命令将禁止运行。MOTOYO安全模块除了拥有学习模块和强制模式的优点, 还不需要文件属性扩展的支持, 做到了与文件系统无关, 并且不需要修改应用程序, 因此MOTOYO更适合嵌入式环境。

(2) 安装防火墙 (FireWall) 。

防火墙是网络的一种访问控制设施, 用于隔离网络的一部分与其它部分之间数据的自由流动。硬件防火墙一般都采用多个高速总线、多处理器并行处理, 性能优越是硬件防火墙的优点;因为嵌入式产品的尺寸及成本原因, 硬件防火墙不可使用于其中。

软件防火墙本质上是一套软件, 其运行于操作系统。软件防火墙最大的优势是可进行数据包内容分析。软件防火墙也有缺点, 本身算法已经得到极限的优化, 面向高端应用运行, 仍然无法得到十分满意的性能结果, 对于嵌入式产品来说应根据其处理能力和产品定位选择使用。

3提升安全性的特殊方法

可以根据嵌入式Linux任何部分可配置、可裁剪的特点, 采取一些特殊方法提升嵌入式系统的安全性。

(1) Linux内核配置时, 根据实际情况裁剪掉不需要的功能和服务, 比如:telnet、ftp等。

(2) 制作根文件系统时取消不必要的命令。

(3) 修改Linux内核, 隐藏引导程序和操作系统程序分区。一般情况下引导程序与操作系统文件都烧写在FLASH里面, 修改FLASH分区信息只显示根文件系统部分。

(4) 选择文件系统。嵌入式系统中较多根文件系统为读写文件系统, 例如:JFFS2和YAFFS2等文件系统。为提高文件系统安全性, 可以选择只读文件系统, Linux内核支持的只读文件系统主要有CRAMFS、AXFS等, 若应用程序需要存放内容, 可使用SD卡等移动存储方式。

参考文献

[1]LINUX SECURITY MODULES[OL].http://en.wikipedia.org/wiki/Linux_Security_Modules.

[2]王高祖, 李伟华, 徐艳玲, 等.基于TrustZone技术和μCLinux的安全嵌入式系统设计与实现[J].计算机研究与应用, 2008 (6) .

Linux系统安全 第10篇

关键词:linux操作系统,web系统,安全,形式化建模,实现,分析

本文对安全linux操作系统及安全web系统的形式化建模与实现进行了简要的分析。

1 有关 linux 操作系统和 web 系统的概念

1.1有关linux的操作系统

什么是安全linux的操作系统呢?其可以实际运行在多种不同种类的计算机上,是一种系统的主要内核。其主要提供了程序或是命令、计算机的实际硬件等在接口软件上的核心。linux的操作系统主要管理内容如下:主要采用什么方式、相应内存以及会在什么时候关闭文件或者是在什么时候打开相关的文件,也可以是在什么进程或者相关的程序上所获得的CPU等。换句话说,其也是一套比较自由而免费的Unix的相关操作体系,其主要是对一些Intelx86体系的CPU主机上,这个体系主要是通过全世界的相关程序人员来实现的,其最终的目的就是要积极建立不要受到任何商品的制约,要积极而自由的与Unix进行产品的兼容体系。

1.2有关web的系统概念

对web进行定义时就要对其实际的定义基础进行了解,它是在上个世纪90年代发明出来的,是World Wide Web的主要简称,意思是万维网。在中国的文化中,网会给人一种实体的感觉。也有很多专家和学者认为其是一种实体的物理网络,尤其是和Web进行联系时的客户机与服务器的真实性更加深入。对于web来说其主要是因特网上的一种服务器,换句话说是一种具体的信息性服务。有关信息的使用人员和相应的提供人员称作是网民,对信息服务中的各种角色就是信息的主要服务商。其中,信息的相关地址是由URI进行标识的,而信息的表示是用HTML来进行表示。

2 相关系统的控制建模

下文对矩阵模式信息的模型进行了仔细的分析。

2.1具体描述

对于模型的相关结构主要是在状态机的设计下以及在实际建模中,其系统状态主要是由一三元的组合所来决定的。

S:主要是表示了相关系统的主体集合,同时它也是相关系统中正在运行的集合性程序。

O:其主要是相关系统中一项主要的集合形式,同时它也是相关系统程序中正在运行的集合。通常情况下的客体主要是针对主体行为为对象,是主体行为的直接性承担者,比如:目录或者文件以及其他一些情况之下,主体是S的就可以成为客体。

M:主要是表现了一二维访问性矩阵。而在相关的访问矩阵中,其主体主要是用行表示。主要客体就是用列表来进行表示,客体和主体的相交点主要表示了对所有客体具有访问权限。该访问权限为集合A,比如 :写、读以及追加写三种。

在相关的系统中该状态的相关改变将决定于有关矩阵中M进行改变,对于一个比较独立的状态机来说其构成中重要的是相关系统,所以,相关的访问矩阵系统也被成为具有保护性状态。在相关系统中所有主体对相关客体的访问都是由监视器进行控制的。对于监视器的主要任务来说其主要就是充分确保在矩阵访问中所获得的实际操作被运行。

访问矩阵中的访问控制模型,其相关构成。(图1)

在上述访问中,主体的S是F所拥有的读写权限。但是在主体中的C、R就只有读的权限。主体的C就拥有了对客体中F2的读写权限,不仅如此,主体的R客体是F3中所拥有的读写权限。

2.2相关模型的主要评价

因为模型并没有进行明确指定相关的访问规则,所以就显的非常灵活,让它得到了更加广泛的利用。但是,对于任何事物来说其都具有一定的两面性,在访问矩阵的访问控制下其控制模型有着不能比拟的优点,但是也因为自身设计所带来的缺陷:

不进行详细的对矩阵进行访问,就很难保证相关系统的安全性。

在一些大型的系统中,访问的矩阵在实际的大小上也是比较强大的。但是,其中有诸多因素完全是空的。所以,要以矩阵的方式实现矩阵的访问根本不现实。

其三,因为客体的实际拥有人可以取消或者授予它主体对客体的权限访问,这就严重的造成了权限访问的困难,同时也给相关系统的管理造成了一定的困难。

3 有关交换结构主要概述

3.1部件的选择

对于交换机来说其主要分为两个部分,其一是交换形式,其二是总线形式。对于交换部的总线性主要是说网络的接口是分享一个总线,换句话说也就是在交换机的交换部件中主要使用的是单个总线视为转发的分组通道。通过实践证明该类型的交换部件被广泛的应用在规模小、速率低的场合,其是一种比较简单且廉价的部件交换。尽管如此,相关缺点也是比较明显的。它是要使用在总线的宽带要等于大于宽带为2N的倍数,同时,N也是作为相关网络接口的使用数量。这也就充分促进了多端口与高速率结构交换是不允许采用这种部件交换。而另外一种就是有关交换型的部件交换其主要被称作交行的阵列,而这种部件的交换也可以进行无阻塞或者是有阻塞的部件交换。对于无阻塞的种类来说,其部件的交换主要是到达交换的阵列的输入端的目标或者相应的输出端不能再发生冲突。通常在这样的情况下相关交换阵列能将分组目标发送到相应的输出端口。而对于另外一种有阻塞类型的来说,其尽管在抵达相应的输出端口时不会发生相互的冲突。但是,在经过阵列交换的时候就会很容易出现冲突性,就会造成相应的阻塞状况。

而从整个角度上来说,有关无阻塞的种类矩阵交换具有较好的性能。从实际的硬件的角度来说,无阻塞的矩阵交换其复杂的程度是可以重排的阵列交换较多。与此同时,那些可以重排的阵列交换的无阻塞程度也比有阻塞的程度阵列交换的大很多。随着经济技术的不断发展,以及相关软件不断复杂早已经不再是阵列组件的障碍。

3.2缓存器的主要位置

在相关的交换机机构交换中,机构缓存器的主要位置有三种,比如:可以安排在输出、输入以及相应的交叉点上。将缓存器主要安排在阵列机构的交换机输入端,这样的结构就被称作交换结构中的输入交换结构,并且实际的宽带要求是比较低的,实际的缓存也只需要链路上进行工作。如果一旦将缓存器实际安装在输入端口,就是有关输出结构的队列,对这种缓存的结构宽带要求早已经达到了链路N倍。一旦缓存安置在阵列的交换交叉处时就要要求缓存在实际的链路上并进行工作。所以,只是从缓存的宽带上的角度来说,交叉点以及输入端必须要先于输出的端口。如果只从整体的性能来说,因为在相关的输入队列中很容易出现HOL的阻塞,因此,只从这一点上来说输入缓存如果安置在交叉点或者是输入端会好很多。而从实际扩展角度来说,在相应的交差点上所安置的缓存是要实际的交换阵列上做到N2多存储器。因此,从这一点就可以充分的体现出有关交叉点有较大的拓展性。如果在实际的输出安置的缓存要实际面对有关拓展性的问题,由于其需要相应存储器的速率大于或等于相关链路的N倍,同时为了可以顾忌到交换机的拓展性以及相关性能,实际安置了多个缓存。

4 有关DPS的主要交换构造

相应的结构:

对高端口的交换机机构来说其主要是采用空分并行的相关技术进行的技术构造。空分并行实际意味着每个交换的阵列或者输入的链路是有诸多接口的,同时相关接口必须要在相同时刻参加交换工作。

例如 :有关交换机的交换机构是以链路速率所进行的工作,在相关的输入端口其主要的交换结构都会有交换数量是D的接口,且D大于1,与此同时我们也可以将D成为相关交换的端口。所以,在相关的输入链路上有D进行分组并进行相应的调度,同时也会存在D个分组所送低输出口,换句话就是对D进行分组并处理。但是,对于这种并行性空间,其和CIOQ的相应时间有较大的不同。对于重端口的交换机的DPS空间并行,其同传统意义相比有较大的优势。

优势一:DPS完全可以改变阵列和存储器的相关速率,让它低于实际的工作效率,同时这也是在实际的拓展中DPS要优于CIOQ主要核心。

优势二:就是DPS实际存在于更高的速率和灵敏性只是需要增加比较少量的电路就可以对DPS的相关端口进行速率配置,并且相关端口就可以支持低速率的一些链路。

5 有关linux操作系统的实际开发

在相关体系中,只有相应的授权用户才可以充分对实际操作进行信息处理,换句话说,相应的安全系统必须要积极实现比较完备的信息储存工作。

比如:

首先,要拥有一个比较明确以及较好的安全性方法。同时相应的安全策略要不断的实现在相应的系统中。其主要表现为利用一组进行存取控制的主要原则,并用来充分确定其客观与主管之间所存在的必然直接的关系,其相应的取控制主要体现在多种方面,主要有强制性的存取性控制以及自主性的存储控制。

其次,对相应的目录以及文件来说其在相应的系统中要直接标有安全等级的标识。

其三,和相关系统有着直接关联的事件进行审核以后,需要找到相应的当事人。

第四,需要有一套比较机制的硬件与软件来进行功能的实现,要将这些机制直接嵌入到实际操作中去,其实际机制的体现必须要有比较清晰的档案,来进行积极的评价其实际的安全性与完备性。

有上文我们可以知道,相应的存储控制体系主要实现了相应的操作安全性能。在linux操作系统进行实际开发的时候,其相应的体系需要进行比较合理的存储控制,linux操作系统与一些其他的系统是一样的,其相应的系统状态主要分成两种,核心性心态与分用户态。在进行实际运行的时候要依据实际程序进行,此时核外的主要运行程序完全处在用户态。相应的系统进行用户态的主要程序时只能单独存取其自己的数据与指令,并不能进行比较核心的进程性数据与指令,同时也要充分保证其指令的核心状态,就像IO的相应指令等在实际的用户态状态下进行合理的使用。此时,相应的用户程序只能经过比价系统的存取资源,直接运行成比较系统的调用,同时也要积极返回相应的用户态。其实际的系统性调用可以在编写的实际程序上进行真实界面的使用,其主要的用户程序直接进入到linux操作系统唯一一个入口。如果相应的程序不能调整,和相应的用户就会直接产生隔离现象,这就让其内核程序请求得到干扰和控制。所以,linux操作系统的相关控制以及研发,并真正支持其实际安全性的不断开发。与此同时,我们还应该充分保证相应安全性的不要依赖相应的系统的保密性,从而在进一步进行安全机制的不断实现,让linux操作系统的不断开放进行资源代码的安全性开发。

6 结语

Linux系统安全 第11篇

由于Linux操作系统是多用户操作系统,一些黑客群体为了匿名对系统进行破坏和篡改,常常就会选择Linux系统进行攻击。因此在使用Linux系统时,对Linux系统的安全性能就要格外关注,使用必要的办法去报Linux系统的安全。安全性是重大且极具挑战性的主题,所以任何一位负责服务器端的工作者,都要掌握Linux系统的安全检测和增强的基本步骤。安全性是一个棘手的问题,它并不是一成不变的,而且工作人员还很难知道它需要扩展到何种程度。

2 增强自己的账户安全的措施

2.1 增强自己的账户安全的首要内容

尽管使计算安全性的每个方面跟上潮流极具挑战性,但一些领域已经相对比较成熟,应该对其进行系统地学习。其中账户管理应该是每个使用Linux服务器的用户学习的第一个领域。在首次出版的对Linux管理和编程进行详细介绍的书中,说明的意图十分的简洁明了,就是怎样为使用你主机的人设置和维护计算帐户和组关系。因此,要“使用”计算机时也就必须要先“登录”。帐户管理的全部内容就是:使用像useradd、chsh之类的命令来配置Linux帐户,这样一来,就可以达到相同部门开发人员中的大部分用户群使用。

2.2 清除/etc/pass wd 的大部分内容

大多数服务器应该清除/etc/passwd的大部分内容。由于种种原因,大多数电子邮件服务器、Web服务器、文件服务器等,都是由/etc/passwd对它们的用户访问进行严格的管理。但实际的使用中证明,在大多数情况下,着就是一个错误。早期,很有可能出现几十个工程师共享一台高端工作站的情况,这时采取这种方法不失为明智的选择。但是,如果出现一台电子邮件服务器要对成千上万名用户(他们中的大多数只是把计算当成和饮水器或电话系统一样的公用设施)的邮箱进行处理时,再采用传统的/etc/passwd方式来进行管理,显然是一个错误。

2.3 将用户帐户移到专门的数据存储

因为/etc/passwd方式经历了许多次的漏洞修补和功能调整,所以应付巨大的工作量绰绰有余。但是解决问题的办法并非一种。若是将用户帐户移至诸如LDAP或是RDBMS专门的数据存储,如此一来用户将会得到很大的好处和方便。要设置/etc/passwd的权限,使其只能让开发与管理人员登陆。这样系统的安全性能将会大幅大提升,这是由于诸如电子邮件和Web等服务的用户的忙闲度和负责开发的工作人员的完全不一样。一旦用户对一台新的服务器设置完毕之后,它的/etc/passwd就不可以在短时间内频繁的更改。若是期间其被有所更新,或者是被一些电脑黑客恶意的篡改过,就很难检测出来。但是,若是用户正在运行一个较大的服务器,这样的话每天出现几个新添加的或者是过期的电子邮件帐户更改是十分常见的。这就需要将这些帐户从/etc/passwd赋予的更大的访问权隔离开来。

2.4 构建一个替代性帐户数据存储

构建一个替代性帐户数据存储非常重要。为了使由无需登录的用户占多数的非常庞大的/etc/passwds正常工作,在以前的一段时间相关人员已经做出了很大的努力。如果用户已经下定决心编写个人帐户认证,并且诸如sendmail这样比较传统电子邮件程序,那么用户就会发现自己等同于正在为SMTP与IMAP4服务器编写更改。

2.5 注重对方案的选择

对于存在的一些问题会使开发人员更加喜好上采用目前现有的软件,但这种方法是不正确的。开发人员应当采用目前现有但能够为自己再次利用的解决方案。一般情况下,对于用户至关重要的一项就是把安全性考虑事项做到模块化。大多数使用者都想将开发人员和管理员帐户与最终用户服务进行完全分开式的管理。然后通过将后者从/etc/passwd清除,这样就能够十分容易地对一方进行锁定,对另一方也不会造成影响。

3 策略自动化

3.1 策略自动化的重要性

虽然为了达到创建与删除开发人员和最终用户的目的,并将这些做法纳入可执行文件看起来是十分不错的规定,但仔细思考就会发现其并不具备必要性。这么做的目的就是为了使用户能够更好的理解和明确这一内容。在帐户创建和删除的过程中,如果不小心就会留下安全性漏洞。为了防止这一问题的出现,就应该在账户创建与删除之后和相关部门一起对这个过程进行仔细的检查。如果自己不亲自采纳并使用替代方案,就很难发现其重要性。

3.2 策略自动化的优点

当没有为添加和除去用户帐号编写过程时,将会最终导致同样的结果重复出现多次。我们简单的做一个情景假设,等那个一个新的工作人员在周一报到,那么这个员工很有可能到了仍无法访问它所在公司的文件。又比如,一个人从某公司辞去的职位,但是在辞职一段时间后还可以检索出特殊用途的公司资产。因此可以看出帐户自动化一个非常好的附带优点就是它支持较为彻底的验证。

4 其他注意事项

4.1 保持高度警觉

一般情况下,就普通用户而言,解决安全性最重要的难题就是怎样避免其错误的出现,这是因为它比较薄弱,如果出现一个漏洞,就有可能导致目前客户所有投资付之东流。只有综合考虑,。面面俱到,全面的处理突发问题,这样安全性工作才能更上一层楼。比如很多单位和部门应对密码在短时间内多次丢失的办法就是,根据部分公共信息对密码进行指定。

4.2 尽量避免灾难性错误

现阶段。尚未有科学系统的方法能够规避灾难性的错误。但是认真仔细研究RISKS文摘,以及严格工程检查是十分见效的步骤。RISKS是一位工程师自上个世纪80年代就开始编写的在线时事通讯。对事情(特别是Linux服务器上的安全性)出现的原因进行详细的思考。有些用户对“软件检查”的认识十分狭隘,只知道它是将开发人员在编写源代码的过程中一些错误的符号查出的一种办法,其实,它并非那么简单,他是一种非常高效的实践。

4.3 严格管理好口令

在操作系统是,一定要注意不能泄露自己的个人资料和口令,若是黑客得到了根权限帐号,他们就可以恶意的篡改和攻击系统。大多数用户都会将口令保存到/etc/passwd文件中,认为/etc/passwd已经加密,能够很好的保存自己口令,但一些黑客为了达到自己的目的,就会选用一些特殊的收缩方法来搜索客户的口令,若是一些用户在保存或是选择口令时过于简单或是方式不正确,就会加大被黑客查找到的几率。另外,用户最好能够安装一个口令过滤工具,检测一下所设置口令的安全性能如何。

5 结束语

在选择阅读参考资料时,应该只想更为丰富的读物,主要是和加固服务器、Linux安全性以及检查方面密切相关的主题,可以让自己快速的对Linux系统的安全检测与增强技术进行学习,使操作的安全性大幅度提高。

摘要:Linux系统无论是在性能上、功能上或是价格上都有很多优点,然而,作为一个开放式的操作系统,它必然会存在一定的安全隐患。关于怎样解决这些隐患,提供给应用一个安全的操作平台,本文会对一些最有效、最基本和最常用的Linux系统的安全检测与增强技术进行分析。

上一篇:创作的不良倾向下一篇:复治菌阳