Linux网络操作系统应用基础教程课件 项目五 系统安全_第1页
Linux网络操作系统应用基础教程课件 项目五 系统安全_第2页
Linux网络操作系统应用基础教程课件 项目五 系统安全_第3页
Linux网络操作系统应用基础教程课件 项目五 系统安全_第4页
Linux网络操作系统应用基础教程课件 项目五 系统安全_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目五系统安全掌握文件权限的知识及修改方法;

熟悉通过ACL管理用户权限的方法;

熟悉iptables的工作过程,能够熟练地配置iptables防火墙。知识与能力目标培养网络安全意识和法律意识。素养目标项目相关知识---文件权限概述---通过ACL管理文件权限---文件安全保护---iptables和firewalld项目实施---任务5-1文件权限管理---任务5-2管理文件ACL权限---任务5-3保护文件安全---任务5-4管理iptables防火墙目录项目相关知识5.1.1文件权限概述1.文件权限分类

使用ls-l命令可以查看文件信息,并以长格式列出文件信息,如下图,其中第一列的第2~第10位字符表示文件权限。文件权限分为读(read)、写(write)和执行(execute)3种,对应字符分别为r、w和x,对应数字分别为4、2和1。各权限的具体含义如下。

①r权限:允许读取文件内容或浏览目录内容。

②w权限:允许修改文件内容,或者创建、删除文件和目录。

③x权限:允许执行文件或者进入目录。

④-:表示没有对应权限。项目相关知识

文件由用户创建。创建文件的用户称为文件所有者(user,u),同时文件会被分配给一个用户组(group,g)。文件所有者及其所属组的成员可以对文件进行操作,并可以对其他用户(others,o)设置访问权限限制。使用ls-l命令查看文件信息时,第一列的第一个字符用于标识文件类型,具体含义如下。

①d:表示目录,事实上在ext4文件系统中,目录是一个特殊的文件。②-:表示普通的文件。③l:表示链接文件,实际上它指向另一个文件。④b、c:分别表示区块设备和其他的外围设备,是特殊类型的文件。⑤s、p:这些文件关系到系统的数据结构和管道,通常很少见到。项目相关知识

2.修改文件权限

文件的初始权限是可以修改的,修改方法有文字表示法和数字表示法两种。使用chmod命令可以修改文件的权限,命令格式如下。

chmod选项

文件

(1)用文字表示法修改权限

在文字表示法中,用字符表示不同的文件权限、不同类别的用户和权限的增减。其中,r表示读权限,w表示写权限,x表示执行权限,u表示所有者,g表示文件所属组,o表示其他用户,a表示所有用户,-表示减少权限,+表示增加权限,=表示覆盖原有权限。项目相关知识

(2)用数字表示法修改权限

在数字表示法中,读取(r)、写入(w)和执行(x)权限分别用数字4、2和1表示,文件权限以每3个字符为一组计算其数字之和作为用户权限。如rw-r-xr--用数字表示为(4+2+0)(4+0+1)(4+0+0),即所有者权限为6,所属组权限为5,其他用户权限为4。

例如,修改目录n2的权限,使其他用户具有读权限,可在其权限上增加r参数,命令如下。[root@localhost~]#chmodo+rn2

如果要将所有用户的访问权限都改为读(4)权限、写(2)权限和执行(1)权限,则命令如下。[root@localhost~]#chmoda=rwxn2或者如下。[root@localhost~]#chmod777n2

此处的第一个7是所有者用户对目录n2的权限为4+2+1,第二个7是所属组用户对目录n2的权限为4+2+1,第三个7是其他用户对目录n2的权限为4+2+1。项目相关知识

3.修改文件所有者与属组

修改文件所有者与所属组使用chown和chgrp命令,命令格式如下。

chown[选项]用户:所属组

文件列表

chgrp[选项]所属组

文件列表

例如,修改目录n2的所有者用户为bin,所属组为users,命令如下。[root@localhost~]#chownbin:usersn2

例如,修改目录n2的所属组为users,命令如下。

[root@localhost~]#chown:usersn2或者如下。

[root@localhost~]#chgrpusersn2例如,只修改目录n2的所有者为bin,命令如下。[root@localhost~]#chownbinn2项目相关知识

5.1.2通过ACL管理文件权限

ACL(访问控制列表)是Linux系统中用于实现细粒度文件权限管理的机制,通过ACL可以授予特定用户或特定组访问系统中的文件和目录的权限。

1.getfacl命令

该命令用于查看ACL权限,命令格式如下。

getfacl[选项]文件名或目录

其中,常用选项如下。

①-a:显示文件和目录的ACL;②-R:递归显示指定目录的子目录的ACL。

2.setfacl命令

该命令用于管理ACL权限,包括添加用户或组ACL权限和删除用户或组ACL权限。(1)添加用户或组ACL权限,命令格式如下。setfacl[选项]-m[u|g]:[用户名|组名]:权限类型

文件名或目录

其中,常用选项为-R,表示递归添加子目录的ACL权限。项目相关知识

5.1.2

通过ACL管理文件权限

(2)删除用户或组ACL权限

命令格式如下。

setfacl[选项][操作]文件名或目录

其中,常用选项为-x,表示删除指定用户或组的ACL权限。

常用操作如下。

①–b:删除所有ACL权限;

②–R:递归删除子目录ACL权限。项目相关知识

5.1.3文件安全保护

攻击者攻击目标主机后,经常会破坏或者修改系统文件,为了防范攻击者对系统重要文件的篡改和删除,可以事先对这些文件进行保护。

1.保护文件命令chattr

使用chattr命令可以锁定重要文件,避免重要的文件被他人修改或者删除。命令格式如下。

chattr参数

文件

选项参数如下。

①+i:表示锁定文件。

②-i:表示解锁文件。

③+a:表示追加锁定文件,此时只能向文件中追加内容。

④-a:表示取消追加锁定文件。

2.查看文件被加锁情况命令lsattr

lsattr命令用于查看文件是否被锁定,命令格式如下。

lsattr文件名项目相关知识

3.查看文件访问时间及Hash散列值命令stat

如果怀疑系统中的文件被修改,可以通过stat命令查看文件访问时间及Hash值来进行判断。

例如,查看/etc/passwd文件的访问时间等信息,命令如下。

[root@localhost~]#stat/etc/passwd4.检测用户文件一致性命令pwck

pwck命令用于检测/etc/passwd和/etc/shadow文件的一致性,命令如下。[root@localhost~]#pwck可能出现的结果如下。

项目相关知识

①用户“avahi-autoipd”:目录/var/lib/avahi-autoipd不存在。

②用户“memcached”:目录/run/memcached不存在。

③用户“pulse”:目录/var/run/pulse不存在。

④用户“gnome-initial-setup”:目录/run/gnome-initial-setup/不存在。

⑤用户“oprofile”:目录/var/lib/oprofile不存在。

⑥pwck:无改变。5.检测组文件一致性命令grpck

grpck命令用于检测/etc/group和/etc/gshadow文件的一致性,命令如下。[root@localhost~]#grpck项目相关知识

6.阻止主机ping操作

为了防范攻击者对计算机使用ping操作来获取主机信息,可以在Linux系统中阻止外部主机的ping操作。

例如,将icmp_echo_ignore_all文件内容修改为1,以阻止ping操作,命令及结果如下。

[root@localhost~]#echo"1">/proc/sys/net/ipv4/icmp_echo_ignore_all[root@localhost~]#ping127.0.0.1

也可以将文件内容修改为0以解除阻止,即可以正常执行ping操作,命令及结果如下。

[root@localhost~]#echo"0">/proc/sys/net/ipv4/icmp_echo_ignore_all[root@localhost~]#ping127.0.0.1项目相关知识

5.1.4iptables和firewalld

防火墙是一种非常重要的网络安全工具,利用防火墙可以保护企业内部网络免受外网的威胁,常见的防火墙有硬件防火墙和软件防火墙。硬件防火墙是部署在网络边界处的专用物理设备,用于对流入的数据包进行过滤,如华为的USG系列防火墙、天融信和深信服的防火墙等;软件防火墙主要是集成在操作系统上的防火墙。

在RHEL9.5操作系统中有3种内置防火墙,即firewalld、iptables和ebtables。firewalld和iptables用于管理安全策略(规则),默认使用firewalld命令来管理Netfilter子系统,如果要使用iptables来管理,需关闭firewalld。项目相关知识

1.包过滤型防火墙原理

数据包从外网传送给防火墙后,在数据包从IP层传输到TCP层之前,防火墙会将数据包转发给包检查模块进行处理,具体步骤如下。

①与第一条过滤规则进行比较;

②如果与第一条规则匹配,则进行审核,判断是否允许传输该数据包,如果允许则传输,否则查看该规则是否阻止该数据包通过,如果阻止则将该数据包丢弃;

③如果与第一条过滤规则不同,则查看是否还有下一条规则。如果有,则与下一条规则进行匹配,如果匹配成功,则进行与②相同的审核过程;

④依此类推,直到匹配到最后一条过滤规则。如果该数据包与所有的过滤规则均不匹配,则采用防火墙的默认访问控制策略丢掉该数据包。项目相关知识

2.iptables基础命令

在RedHatLinux中真正使用规则的是内核的Netfilter子系统,该子系统中内置有filter表、nat表和mangle表。其中filter表在过滤数据包的时候使用,nat表在转换网络地址的时候使用,mangle表用于实现数据包的重构。

使用iptables命令可以构建网络防火墙,实现数据包过滤、网络地址转换等功能,其具体参数如表5-1所示,命令格式如下。

iptables[-t表名]-命令[链名]匹配条件

目标动作

此处[-t表名]、[链名]参数可以省略不写,命令表示对规则执行的操作,匹配条件是新建规则时需要满足的条件,目标动作是内核对与规则匹配的数据包所采取的处理方式。

【注意】iptables的所有参数和选项都区分大小写。项目相关知识

项目相关知识

3.firewalld基础命令

RHEL9及以上操作系统中,除了有iptables防火墙,还有firewalld防火墙,它们用于增强操作系统的安全性。firewalld基础命令分为5类,具体如下。

①查看防火墙状态,命令及结果如下。

[root@localhostipv4]#systemctlstatusfirewalld[root@localhost~]#systemctlstatusfirewalld②设置防火墙开机启动,并查看防火墙状态,命令如下。

[root@localhostipv4]#systemctlenablefirewalld[root@localhostipv4]#systemctlstatusfirewalld③设置开机时禁止firewalld启动,并查看防火墙状态,命令及结果如下。

[root@localhost~]#systemctldisablefirewalld

项目相关知识

④关闭防火墙,并查看防火墙状态,命令及结果如下。

[root@localhost~]#systemctlstopfirewalld[root@localhost~]#systemctlstatusfirewalld⑤启动防火墙,并查看防火墙状态,命令及结果如下。

[root@localhost~]#systemctlstartfirewalld[root@localhost~]#systemctlstatusfirewalld项目实施

任务5-1文件权限管理

1.修改文件的权限

(1)创建用户user1,设置密码,命令如下。

[root@localhost~]#useradduser1[root@localhost~]#passwd(2)在用户user1的家目录下创建目录test,进入test目录创建空文件file1,并以长格式显示文件信息,观察文件的权限、所属用户和组,命令如下。

[root@localhost~]#suuser1[user1@localhost~]$cd~[user1@localhost~]$mkdirtest[user1@localhost~]$cdtest[user1@localhosttest]$touchfile1[user1@localhosttest]$ls-l项目实施

任务5-1文件权限管理

1.修改文件的权限

(3)设置file1文件的权限,使其他用户可以对此文件进行写操作,并查看设置结果,命令如下。[user1@localhosttest]$chmodo+wfile1[user1@localhosttest]$ls-l(4)取消所属组用户对此文件的读权限,并查看设置结果,命令如下。

[user1@localhosttest]$chmodg-rfile1[user1@localhosttest]$ls-l(5)用数字表示法为文件file1设置权限,所有者用户可读、可写、可执行,其他用户和所属组用户只有读和执行的权限,设置完成后查看设置结果,命令如下。

[user1@localhosttest]$chmod755file1[user1@localhosttest]$ls-l项目实施

任务5-1文件权限管理

1.修改文件的权限

(6)用数字表示法更改file1文件的权限,使所有者用户只能读取此文件,其他任何用户都没有权限,并查看设置结果,命令如下。

[user1@localhosttest]$chmod400file1[user1@localhosttest]$ls-l(7)为其他用户添加写权限,查看设置结果,命令如下。

[user1@localhosttest]$chmodo+wfile1[user1@localhosttest]$ls-l(8)回到上层目录,查看test的权限,命令如下。

[user1@localhosttest]$cd..[user1@localhosttest]$ls-l(9)添加其他用户的test目录写权限,命令如下。

[user1@localhost~]$chmodo+wtest项目实施

任务5-1文件权限管理

2.改变文件的所有者和所属组

(1)查看test目录的所有者和所属组,命令如下。

[user1@localhost~]$ls-l(2)把test目录和该目录中所有文件的所有者改成bin,所属组改成users,查看设置结果,命令如下。

[user1@localhost~]$suroot[root@localhost~]#chownbin:userstest[root@localhost~]#ls-l(3)删除目录test和该目录中的所有文件和目录,命令如下。

[root@localhost~]#rm-rf/home/user1/test项目实施

任务5-1文件权限管理

3.项目示例

在用户test的家目录中有一个Shell脚本,该脚本的名字是bird.sh,由于开发脚本时的疏忽,使所有用户都对该脚本有读、写和执行权限,现在需要修改该脚本的权限,用户test可以读、写和执行bird.sh脚本,test组的用户可以读和执行bird.sh脚本,其他用户不能对bird.sh脚本执行任何操作。

(1)如果用户test和bird.sh脚本不存在,需要先创建该用户和脚本文件,命令如下。

[root@localhost~]#useraddtest//创建test用户

[root@localhost~]#passwdtest//设置test用户密码

[root@localhost~]#sutest//切换到test用户登录

[test@localhostroot]$cd~//进入test用户的家目录

[test@localhost~]$touchbird.sh//新建bird.sh文件

[test@localhost~]chmod777bird.sh//设置bird.sh文件的权限为向所有用户开放

(2)修改bird.sh脚本的权限,命令如下。

[test@localhost~]chmod750bird.sh//修改bird.sh文件的权限为所有者用户具有读、写、执行权限,所属组用户具有读、执行权限,其他用户不具有任何权限。项目实施

任务5-2管理文件ACL权限

在当前目录下新建文件file1,新建目录mr1、mr2、mr3,然后设置用户named具有读写file1文件的ACL权限,设置用户kro具有访问mr1、mr2、mr3目录的ACL权限。

(1)添加用户named和kro,命令如下。

[root@localhostopt]#useraddnameduseradd:用户“named”已存在

[root@localhostopt]#useraddkro[root@localhostopt]#passwdkro(2)在当前目录下新建文件file1,以及目录mr1、mr2、mr3,命令如下。

[root@localhostopt]#touchfile1[root@localhostopt]#mkdir{mr1,mr2,mr3}[root@localhostopt]#ls项目实施

任务5-2管理文件ACL权限

(3)设置named用户具有读写file1文件的ACL权限,设置用户kro具有访问(rx)mr1、mr2、mr3目录的ACL权限,并查看ACL设置结果,命令如下。

[root@localhostopt]#setfacl-mu:named:rwfile1[root@localhostopt]#setfacl-mu:kro:rx{mr1,mr2,mr3}[root@localhostopt]#getfacl./{mr1,mr2,mr3}

(4)删除file1文件中用户named的ACL权限,然后删除当前目录下所有文件和目录的ACL权限,命令如下。

[root@localhostopt]#setfacl-xu:namedfile1[root@localhostopt]#setfacl-bR./*项目实施

任务5-3保护文件安全

通过锁定文件和查看文件的Hash值来增强对文件的安全保护。1.锁定文件,防止文件被非法篡改

锁定文件的具体步骤如下。

(1)新建m1文件,使用chattr命令锁定文件后向文件中添加内容、移动文件和删除文件,观察是否能够完成操作。使用-i参数解锁文件m1,完成向文件中添加内容的操作。[root@localhost~]#touchm1[root@localhost~]#chattr+im1[root@localhost~]#echo"addm1">m1[root@localhost~]#mvm1/etc[root@localhost~]#rm-fm1[root@localhost~]#chattr-im1[root@localhost~]#echo"addm1">m1

(2)锁定m1文件,使用+a参数向文件中追加内容,此时只能向文件尾部追加内容,不能删除和移动文件。

项目实施

任务5-3保护文件安全

[root@localhost~]#chattr+am1[root@localhost~]#mvm1/etc[root@localhost~]#rm-fm1[root@localhost~]#echo"modifym1">>m1

(3)查看加锁情况

例如,查看m1文件的加锁情况。[root@localhost~]#lsattrm1

(4)解锁文件。先查看文件加锁情况,然后按照加锁情况进行解锁。

例如,查看文件m1的加锁情况,然后进行解锁。[root@localhost~]#lsattrm1[root@localhost~]#chattr-am1[root@localhost~]#lsattrm12.查看文件Hash值,校验文件是否被篡改

通过比对文件的Hash值,可以确定文件是否被中间人篡改。

(1)查看/bin/netstat文件的Hash值,校验文件是否被中间人篡改。[root@localhost~]#sha256sum/bin/netstat

(2)查看/bin/netstat文件的md5值。[root@localhost~]#md5sum/bin/netstat项目实施

任务5-4管理iptables防火墙

某中型企业内部配置了Web、DNS和E-mail服务器来向外部提供Web、DNS和E-mail服务,其中Web服务器的IP地址为222.206.100.2,DNS服务器的IP地址为222.206.100.3,E-mail服务器的IP地址为222.206.100.4。为了增强服务器的安全性,可以通过配置防火墙安全规则来过滤通过服务器的数据包,在RHEL9.5操作系统中有iptables和firewalld两种防火墙,如果只使用iptables防火墙,需要先使用systemctlstopfirewalld命令关闭firewalld防火墙。

如果要实现外网数据包经由iptables防火墙转发到内部Web服务器、DNS服务器和E-mail服务器,内网服务器发出的数据包经由iptables防火墙转发到外网,需要进行以下6个步骤。

第1步,清除filter表中所有规则链的规则[root@localhost~]#iptables–F

第2步,禁止iptables防火墙转发任何数据包[root@localhost~]#iptables-PFORW

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论