linux中内核级加强型火墙的管理

  • 前言
  • 一、selinux的功能
  • 二、Selinux的三种状态及管理
  • 三、Selinux的安全上下文
    • 1.查看
    • 2.修改安全上下文
  • 四、SEBOOL
  • 五、SEPORT
  • 六、SETROUBLE

前言

一、selinux的功能

安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。
主要作用:最大限制地减小系统中服务进程可访问的资源(最小权限原则)。
观察现象
(1)当selinux未开启:
安装vsftpd服务,编辑vsftp服务的配置文件,允许匿名用户访问,在/mnt中建立文件将该文件移动到/var/ftp下后可以被vsftpd服务访问到。

查看vsftpd服务的默认共享目录及该服务程序的安全上下文时,显示?
ls -Z /var/ftp
ps auxZ | grep vsftpd显示

(2)当selinux开启时:

在/mnt中建立文件被移动到/var/ftp下不可以被vsftpd服务访问,匿名用户可以通过设置后仍然不能上传文件。

对于文件的影响:
当selinux开启时,内核会对每个文件及每个开启的程序进行标签加载,标签内记录程序和文件的安全上下文(context)

对于程序功能的影响:
当selinux开启会对程序的功能加载开启,并设定此开关的状态为关闭。当关闭此功能时需要手动开启功能开关,此开关叫做sebool。

二、Selinux的三种状态及管理

vim /etc/selinux/config

SELINUX=disabled    #selinux关闭
SELINUX=enforcing  #selinux开机设定为强制状态此状态为selinux开启
SELINUX=permissive #selinux开机设定为警告状态此状态为selinux开启

注意!

"selinux开启或关闭需要重启系统"

enforcing:不符合条件一定不能被允许,并会收到警告信息。
permissive:不符合条件被允许,并会收到警告信息。

selinux状态的查看:

getenforce

selinux开启后强制和警告级别的转换

setenforce 0 ##警告
setenforce 1    ##强制

selinux日志位置:

/var/log/audit/audit.log

三、Selinux的安全上下文

安全上下文:
所有的操作系统访问控制都是主体和客体的相关访问控制属性,在SELINUX,访问控制属性称为安全上下文,安全上下文是一个简单的、一致的访问控制属性,所有客体(文件,进程间通信,通信管道,套接字,网络主机等)和主体(进程)有一个和客体和他们相关的单一安全上下文,一个进程的类型通常称为域,域和域类型都一样,即都是安全上下文的’TYPE’,一个安全上下文是由角色,用户和类型标识符。

文件的Security Contex规则如下:

   rpm包安装的:会根据rpm包内记录来生成安全上下文;手动创建的文件:会根据policy中规定的来设置安全上下文;cp:会重新生成安全上下文;mv:安全上下文则不变。

1.查看

ls -Z        ##查看文件的安全上下文
ls -Zd      ##查看目录的安全上下文
ps auxZ     ##查看进程的安全上下文

2.修改安全上下文

临时修改(此方式更改的安全上下文在selinux重启后会还原):

chcon -t     标签                   文件|目录
chcon -t    public_content_t    /var/ftp/westosfile1
chcon -Rt   public_content_t    /westosdir  #修改目录及目录中的所有子文件的安全上下文


永久修改(如果需要特殊指定安全上下文需要修改内核安全上下文列表):

semanage fcontext -l                                           ##查看内核安全上下文列表
semanage fcontext -a -t public_content_t  '/westosdir(/.*)?'  ###添加内核级安全上下文列表, (/.*)?'为固定搭配使目录及目录下的文件的安全上下文保持一致,必须使用单引号因为双引号无法转译?。
restorecon -RvvF /westosdir/                                  ##恢复文件的属性及恢复文件的安全上下文(-R递归 -F指定文件 -V显示过程)
touch  /.autorelabel                                          ##重启系统时selinux初始化文件标签开关文件

四、SEBOOL

当selinux开启会对程序的功能加载开启,并设定此开关的状态为关闭。当关闭此功能时需要手动开启功能开关,此开关叫sebool。

getsebool  -a                           ##查看程序功能的开关功能,现实服务的bool值
setsebool  -P ftpd_anon_write on/off    #更改程序功能的开关状态

selinux开启状态下,开启vsftpd服务,访问ftp,上传/etc/passwd文件,553报错。更改默认共享目录/var/ftp权限755 pub权限777,权限设置完还是不能上传,553报错。
此时在内核安全上下文列表中设置/var/ftp/pub读写权限,restorecon刷新信息,还要修改内核安全上下文中ftp允许匿名用户的功能开关的布尔值为真。




五、SEPORT

当selinux开启时内核会限制程序.服务使用端口号的范围,我们可以通过以下方式修改端口。
1.服务文件修改端口信息

semanage port -l | grep ssh   ##查看程序使用的端口

修改httpd服务配置文件/etc/httpd/conf/httpd.conf中端口为2020,服务重启失败,原因是selinux限制了httpd服务使用端口的范围,在selinux更改为警告模式,httpd服务可以重启。

2.内核安全上下文列表中添加服务端口

semanage port -a/-d  -t ssh_port_t -p tcp  1111  ##在内核安全上下文列表中添加/删除服务端口

六、SETROUBLE

setroubleshoot是selinux的排错软件工具,可以采集selinux日志/var/log/audit/audit.log中的警告信息并分析得到解决方案存放到/var/log/messages中。

setroubleshoot-server        ##此软件功能是采集警告信息并分析得到解决方案存放到message中/var/log/audit/audit.log  ##selinux警告信息
/var/log/messages           ##selinux问题解决方案

实验步骤:
安装setroubleshoot软件,在/mnt/下建立文件,移动至/var/ftp,匿名用户不能访问到该文件,在/var/log/audit/audit.log可以查看相应的警告信息,/var/log/messages 可以查看解决方案。

linux系统工程师----2.linux中内核级加强型火墙的管理相关推荐

  1. Linux系统工程师--(1)Vsftpd服务的部署及优化与linux中内核级加强型火墙的管理

    Linux系统工程师 实验所用系统为Redhat-rhel8.2. 目录 Linux系统工程师 Linux的系统工程师--Vsftpd服务的部署及优化 一.ftp介绍 二.vsftpd安装及启用 三. ...

  2. Linux 中内核级加强型火墙的管理

    一.Selinux的功能 1.观察现象 当Selinux未开启时 在/mnt中建立文件被移动到/var/ftp下可以被vsftpd服务访问 匿名用户可以通过设置后上传文件 当使用ls -Z /var/ ...

  3. 2 Linux中内核级加强防火墙的管理

    #实验环境配置# 客户端下载vsftpd.x86_64 lftp.x86_64 systemctl enable --now vsftpd #开启ftp服务 服务端增加火墙配置 firewall-cm ...

  4. RH135---Linux系统管理及网络服务之 linux中内核及加强型火墙管理 --Selinux

    # 一.Selinux的功能 # 1.观察现象 当Selinux未开启时disable 在/mnt中建立文件被移动到/var/ftp下可以被vsftpd服务访问 匿名用户可以通过设置后上传文件 当使用 ...

  5. [转载]----linux系统工程师的前途在哪里?

    引言: 在alex的公开课上他说到在2011年的时候写过一遍关于linux系统工程师的前途在哪里?的文章,我在网上搜了一下,给找到以后拜读了一下,并在这里转载一下! 文章原地址: http://bbs ...

  6. Linux系统编程:验证kernel内核缓存区大小->4096字节

    Linux系统编程:验证kernel内核缓存区大小->4096字节 李四老师 于 2018-04-04 00:40:04 发布 2778 收藏 2 分类专栏: [Linux编程] [C/C++编 ...

  7. 【转载,整理】Linux模拟试题及答案(全)+经典Linux系统工程师面试题(附答案)

    转自:http://www.ha97.com/871.html   http://www.ha97.com/870.html 2010-6 11 经典Linux系统工程师面试题(附答案) 发表于: L ...

  8. linux 高效的文件系统事件监控 内核级解析方案 inotify

    转载 http://www.lvtao.net/config/inotify.html linux 高效的文件系统事件监控 内核级解析方案 inotify 安装inotify-tools (http: ...

  9. 华为服务器通过mgmt口挂载光盘装系统及Linux系统rescue模式下修复内核

    Linux系统rescue模式下修复内核和grub 故障现象 处理思路,内核报错,因此重新安装内核,通过光盘启动,进入救援模式. 1.进入救援模式 (1)华为服务器没有光驱,通过mgmt管理口登录,挂 ...

最新文章

  1. HttpServletResponse 的 sendError( )方法以及常用的HttpServletResponse常量级错误代码
  2. JDBC——数据库的隔离级别
  3. 【学术】考博中你最关心的那些问题,博导给你答案!
  4. solarwinds ipam功能说明手册
  5. 计算机硬件的五大单元
  6. [Java] 蓝桥杯ADV-180 算法提高 陶陶摘苹果2
  7. 电脑tf卡检测不到_tf卡 插入电脑没盘符,但数据恢复软件能检测到异常
  8. qq连连看java版_java仿QQ连连看游戏
  9. 【论文阅读】Are We Ready For Learned Cardinality Estimation?
  10. 【Vue】报错:Avoid mutating a prop directly since the value will be overwritten whenever the parent
  11. 微信小程序如何隐藏右上角分享按钮
  12. 打王者荣耀还不过瘾,腾讯绝悟AI这次还拿下了足球世界冠军
  13. CSS文本超过两行用省略号代替(兼容所有浏览器)
  14. 【天光学术】演讲稿:微笑面对生活
  15. 搭建授权服务器oauth2
  16. 优秀简历模板分享(前端,Java等通用模板)
  17. jenkin swindows启动_Windows 下通过命令行快速启动 nginx
  18. Cytoscape软件的基本使用
  19. 暑期项目实训7.7 flask+darnn继续修改+内网穿透+DSTP论文阅读
  20. 休斯敦大学计算机学院网址,美国山姆休斯顿州立大学王建忠教授访问计算机学院...

热门文章

  1. 一个小小黑点乱了我的芳心
  2. 【零基础】极星9.3资金字段详解
  3. AI相关领域期刊会议列表
  4. 气动调节阀原理如何正确安装
  5. 锦城学院和锦江计算机,四川大学锦城学院怎么样_是几本?和四川大学锦江学院哪个更好?...
  6. Born-Again Neural Networks论文初读
  7. 国内免费发布信息平台哪个好?
  8. QT undefined reference to `xxxr,缺失系统库的解决方案
  9. 在 System.Threading.ThreadAbortException 中出现的“mscorlib.dll”类型的异常
  10. 【IoT开发工具箱 | 02】嵌入式Linux设备网速测试方法