2024年6月2日发(作者:)

Linux系统的安全性

Linux系统是一个多用户操作系统.任何一个受使用系统资源的用户.都必须首先向系统管理员

申请一个账号,然后以这个账号的身份进入系统。用户账号一方面可以帮助系统管理员对使用系统的

用户进行跟踪,并控制他们对系统资源的访问,另一方面也可以帮助用户组织文件.并为用户提供安

全性保护;实现用户账号管理主要有用户账号添加、删除与修改.以及用户口令的管理和用户组的管

理等工作。

1. linux的权限模型

通过设定权限可以从以下三种访问方式限制访问权限:

只允许用户自己访问;允许一个预先指定的用户组中的用户访问;允许系统中的任何用

户访问。同时,用户能够控制一个给定的文件或目录的访问程度。一个文件活目录可能

有读、写及执行权限。当创建一个文件时,系统会自动地赋予文件所有者读和写的权限,

这样可以允许所有者能够显示文件内容和修改文件。文件所有者可以将这些权限改变为

任何他想指定的权限。一个文件也许只有读权限,禁止任何修改。文件也可能只有执行

权限,允许它想一个程序一样执行。

9个权限位用来确定可以由谁对文件执行什么样的操作。相反的,每个文件都

被设置了文件的所有者、文件的属组和其他用户访问的权限集合,每个集合有3位:读

取位、写入位和执行位。

文件访问权限“-rwxr-xr-x”是由三个三位组组成,“rwx”为第一个三位组代表文件所有

者的权限,“r-x”为第二个三位组代表文件属组的权限,“r-x”为第三个三位组代表所有

其他用户的权限。其中r表示允许读(查看文件中的数据),w表示允许写(修改文件以

及删除),x表示允许“执行”(运行程序),将所有这些信息放在一起,我们可以发现每

个人都能够读该文件的内容和执行该文件,但是只允许文件所有者(root用户)可以以

任何方式修改该文件。因此,虽然一般用户可以复制该文件,但是只允许文件所有者更

新或删除它。

添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目

录和登录Shell等资源。刚添加的账号是被锁定的,无法使用。

如果一个用户的账号不再使用,可以从系统中删除。删除用户账号就是要将/etc/passwd、

/etc/shadow、/etc/group等系统文件中的该用户记录删除,必要时还删除用户的主目录。

修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、

登录Shell等。

用户管理的一项重要内容是用户口令的管理。用户账号刚创建时没有口令,被系统

锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。

指定和修改用户口令的shell命令是passwd。超级用户root可以为自己和其他用户

指定口令,普通用户只能用它修改自己的口令。如果默认用户名,则修改当前用户的口

令。

普通用户修改自己的口令时,passwd命令会先询问原口令,验证后再要求用户输入

两遍新口令,如果两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户

指定口令时,就不需要知道原口令。

2. 熟练掌握用户和用户组操作

Linux系统用户账号的管理工作主要涉及到用户账号的添加、修改和删除。添加用

户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登

录Shell等资源。我们可以按添加命令useradd添加用户。添加代码如下:useraddakbar

或者useraddakbar albar1 ;我们添加用户以后如果需要删除用户或者用户的有些记录我

们用删除指令删除用户的目录。如果一个用户的账号不再使用,可以从系统中删除。删

除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的

主目录。

3. 理解xinetd、TCP Wrappers和SSH

SSH是远程连接linux系统的一种服务协议,简单的说就是Sscure Shell protocol的缩

写。SSH是一个用来替代TELNET、FTP以及R命令的工具包,主要是想解决口令在网上明文

传输的问题。为了系统安全和用户自身的权益,推广SSH是必要的。所有的SSH相关的设

置文件都在/etc/ssh这个文件夹中,其中sshd_config则是主配置文件。

Tcp wrappers 工作原理:在服务器向外提供的tcp服务商包装一层安全检测机制。外来

连接请求首先通过这个安全检测,获得安全认证后才可被系统服务接受。现在我们来了解一

下tcp_wrappers的访问控制判断顺序,首先查看/etc/,如果匹配到一个条目,将

不在读取下面的。如果在/etc/没有匹配到条目,则读取/etc/,如果匹

配,则拒绝,如果不匹配,则默认允许所有。

xinetd即extended internet daemon,xinetd是新一代的网络守护进程服务程序,又叫超

级Internet服务器。经常用来管理多种轻量级Internet服务。xinetd提供类似于

inetd+tcp_wrapper的功能,但是更加强大和安全。

当xinetd服务第一次启动时,其设定信息就被读取,所以要想使改变后的配置起作用,

你需要重新启动xinetd服务.

4. 了解Linux系统帐户创建,密码设置,登录管理

useraddtestuser创建用户testuser

passwdtestuser给已创建的用户testuser设置密码

说明:新创建的用户会在/home下创建一个用户目录testuser

usermod --help 修改用户这个命令的相关参数

userdeltestuser删除用户,testuserrm -rftestuser删除用户testuser所在目录

命令usermod修改一个用户的信息:

usermod参数 用户名

5. 熟悉,修改Linux帐号的不安全配置

为了防止系统在使用的过程中发生以外情况而难以正常运行,我们应该对Linux完好的

系统进行备份,最好是在一完成Linux系统的安装任务后就对整个系统进行备份,以后

可以根据这个备份来验证系统的完整性,这样就可以发现系统文件是否被非法修改过。

如果发生系统文件已经被破坏的情况,也可以使用系统备份来恢复到正常的状态。备份

信息时,我们可以把完好的系统信息备份在CD-ROM光盘上,以后可以定期将系统与光

盘内容进行比较以验证系统的完整性是否遭到破坏。如果对安全级别的要求特别高,那

么可以将光盘设置为可启动的并且将验证工作作为系统启动过程的一部分。这样只要可

以通过光盘启动,就说明系统尚未被破坏过。

6. 禁止不必要的网络服务

黑客攻击之前最常做的一件事情就是端号扫瞄,如果能够及时发现和阻止入侵者的端号

扫瞄行为,那么可以大大减少入侵事件的发生率。反应系统可以是一个简单的状态检查

包过滤器,也可以是一个复杂的入侵检测系统或可配置的防火墙。我们可以采用诸如

Abacus Port Sentry这样专业的工具,来监视网络接口并且与防火墙交互操作,最终达到

关闭端口扫瞄攻击的目的。当发生正在进行的端口扫瞄时,Abacus Sentry可以迅速阻止

它继续执行。但是如果配置不当,它也可能允许敌意的外部者在你的系统中安装拒绝服

务攻击。正确地使用这个软件将能够有效地防止对端号大量的并行扫瞄并且阻止所有这

样的入侵者。黑客一旦获取具有根权限的帐号时,就可以对系统进行任意的破坏和攻击,

因此我们必须保护好系统的操作口令。通常用户的口令是保存在文件/etc/passwd文件中

的,尽管/etc/passwd是一个经过加密的文件,但黑客们可以通过许多专用的搜索方法来

查找口令,如果我们的口令选择不当,就很容易被黑客搜索到。因此,我们一定要选择

一个确保不容易被搜索的口令。另外,我们最好能安装一个口令过滤工具,并借用该工

具来帮物料管理流程助自己检查设置的口令是否耐得住黑客攻击

要更改自己的密码,请输入 passwd 命令。passwd 命令提示非 root 用户

输入旧密码(如果存在),然后提示输入两次新密码。(密码不显示在屏幕上。)

如果两次新密码的输入不一致, passwd 命令提示重新输入新密码。

如果 root 用户添加了 NOCHECK 属性到在 /etc/security/passwd 文件中

的标志条目中,密码就不必满足这些限制。另外,root 用户也可指定新密码给

其它用户而不遵循密码的限制。

如果 root 用户在标志条目中添加了 ADMIN 属性或者如果在 /etc/passwd

文件中的 password 字段包含 * (星号),则只有 root 用户才能更改密码。

如果在 /etc/passwd 中的 password 字段包含有 !(感叹号)和在

/etc/security/passwd 文件中的 password 字段包含有 * (星号),则 root 用

户拥有更改您的密码的超级特权。

如果 root 用更改您的密码,则 ADMCHG 属性就会自动地添加到在

/etc/security/passwd 文件中的标志条目上。这种情况下,您必须在下次登录

时更改密码。

如果 /etc/security/user 文件中用户的 registry 值是 DCE 或者 NIS,

则密码更改只能在指定的数据库中进行。

要在下次登录时使用不同的 shell,请输入:

passwd - s

passwd命令列出可用的和当前使用的 shell 的路径名。此命令也显示提示:

是否更改?>

如果输入 Y(是),passwd命令提示输入要使用的 shell。下次登录时系统提供在此指定的

shell。

文件

/usr/bin/passwd包含passwd命令。

/etc/passwd包含用户 ID、用户名、主目录、登录 shell 和 finger 的信息

/etc/security/passwd包含加密的密码和安全性信息。

1、改变文件/目录的访问权限

chmod命令用于改变文件或目录的访问权限,它是一条非常重要的系统命令。

用户可用其控制文件或目录的访问权限。

该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是

包含数字的数字设定法。

文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限

表示只允许读其内容,而禁止对其做任何的更改操作;只写权限允许对文件进行任何

的修改操作;可执行权限表示允许将该文件作为一个程序执行。文件被创建时,文件

所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。用

户也可根据需要把访问权限设置为需要的任何组合。

每一个文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的

读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、

写和执行权限(如图1所示)。当用ls-l命令显示文件或目录的详细信息时,最左边

的一列为文件的访问权限。例如:

横线代表空许可(即表示不具有该权限)。r代表只读,w代表写,x代表可执行。

注意:这里共有10个位置。第1个字符指定了文件类型。在通常意义上,一个目录

也是一个文件。如果第1个字符是横线,表示是一个非目录的文件。如果是d,表

示是一个目录。后面的9个字符每三个构成一组,依次表示文件主、组用户、其他

用户对该文件的访问权限。

例如:

表示文件的访问权限,说明是一个普通文

件;的属主有读写权限;与属主同组的用户只有读权限;其他

用户也只有读权限。

2、更改文件/目录的所有权

该命令用来更改某个文件或目录的属主和属组。举个例子,root用户把自己的

一个文件拷贝给用户xu,为了让用户xu能够存取这个文件,root用户应该把这个

文件的属主设为xu,否则,用户xu无法存取这个文件。

3、改变文件的执行权限

通过前面的介绍我们知道,Linux系统中的每一个文件都有一个所有者,表示

该文件是谁创建的。同时,该文件还有一个组编号,表示该文件所属的组,一般为

文件所有者所属的组。并且,在一般情况下,我们也可以通过设定对文件的权限来

控制对其的相关操作。

二、用户和账号管理

Linux是一个多用户系统,因此对用户的管理是系统管理的基本组成部分。安装Linux的

用户很可能就是该系统的管理员,也就是权限最高的root。通过对用户的管理,分清了用户

之间的责、权、利,保证了系统安全。对于如何添加和删除一个用户等常规的管理,这里就

不再赘述了,下面重点介绍一下同用户管理关系密切的几个配置文件。