当前位置: 首页 > news >正文

Linux之selinux和防火墙

selinux(强化的linux)

传统的文件权限与账号的关系:自主访问控制,DAC;

以策略规则制定特定程序读取特定文件:强制访问控制,MAC

SELinux是通过MAC的方式来控制管理进程,它控制的主体是进程

主体(subject):就是进程

目标(object):被主体访问的资源,可以是文件、目录、端口等。

策略(policy):由于进程与文件数量庞大,因此SELinux会依据某些服务来制定基本的访问安全策略。

目前主要的策略有:

targeted:针对网络服务限制较多,针对本机限制较少,是默认的策略;

strict:完整的SELinux限制,限制方面较为严格

安全上下文(security context):主体能不能访问目标除了策略指定外,主体与目标的安全上下文必须 一致才能够顺利访问。

安全上下文用冒号分为四个字段:

identify:role:type:

身份标识(Identify):相当于账号方面的身份标识

角色(role):通过角色字段,可知道这个数据是属于程序、文件资源还是代表用户

类型(type):在默认的targeted策略中,Identify与role字段基本上是不重要的,重要的在于这 个类型字段。

最后一个字段是和MLS和MCS相关的东西,代表灵敏度,一般用s0、s1、s2来命名,数字代表灵敏 度的分级。数值越大、灵敏度越高。

selinux有三种模式

enforcing:强制模式,代表SELinux正在运行中,开始限制domain/type

permissive:宽容模式,代表SELinux正在运行中

disabled:关闭,SELinux并没有实际运行。

getenforce
#查看目前的模式
sestatus
#查看目前的selinux使用的策略
/etc/selinux/config
#查看和修改selinux策略的位置,改变策略之后需要重启
setenforce 0
#转换成permissive
setenforce 1
#转换成enforcing#修改安全上下文
chcon -R -t -u -r 文件
chcon -R --reference=文件地址
#连同子目录同时修改(R),后面接安全上下文的类型字段(t),后面接身份识别(u),接角色(r)
semanage 

防火墙

Netfilter

即数据包过滤机制,真正使用规则干活的是内核的netfilter。

iptables

服务把用于处理或过滤流量的策略条目称之为规则,多条规则可以组成一个规则链,而规则链则依据数据包处理位置的不同进行分类:

在进行路由选择前处理数据包,用于目标地址转换(PREROUTING);

处理流入的数据包(INPUT);本机只需要修改这个

处理流出的数据包(OUTPUT);

处理转发的数据包(FORWARD);

在进行路由选择后处理数据包,用于源地址转换(POSTROUTING)

语法格式:iptables -t 表名 <-A/I/D/R> 规则链名 [规则号] -p 协议名 <-s 源IP/源子网> --sport 源端口  <-s源IP/源子网> --dport 目标端口 -j 动作

eg:禁止某个主机地址ssh远程登录该服务器,允许该主机访问服务器的web服务。服务器地址为 192.168.150.138,客户机地址:192.168.150.139

[root@localhost ~]# iptables -I INPUT -p tcp -s 192.168.150.139 --dport 22 -j 
REJECT
[root@localhost ~]# iptables -I INPUT -p tcp -s 192.168.150.139 --dport 80 -j 
ACCEPT

firewalld

firewalld 所提供的模式就可以叫做动态防火墙,firewalld支持动态更新技术并加入了区域的概念。区域就是firewalld预 先准备了几套防火墙策略集合(策略模板),用户可以选择不同的集合,从而实现防火墙策略之间的快速切换。

firewalld服务是默认的防火墙配置管理工具,拥有基于CLI(命令行界面)和基于 GUI(图形用户界面)的两种管理方式。firewall-config是图形化工具,firewall-cmd是命令行工具。

常见区域及策略

阻塞block拒绝流入的流量,除非与流出的流量有关
工作work拒绝流入的流量,除非与流出的流量有关
家庭home拒绝流入的流量,除非与流出的流量有关
公共public不相信任何计算机,只选择接收传入的网络连接
隔离DMZ非军事区域,缓冲作用,接收传入网络连接
信任trusted允许所有
丢弃drop拒绝流入的流量,除非与流出的流量有关
内部internal=home
外部external拒绝流入的流量,除非与流出的流量有关;与ssh有关则允许

firewalld服务软件包:

firewall-config-0.3.9-14.el7.noarch

firewalld-0.3.9-14.el7.noarch

firewalld命令行的主要参数:

--get-services预先定义的服务
--add-service=服务名默认区域允许该服务的流量
--add-port=端口号/协议默认区域允许该端口的流量

在使用firewalld前需要停止iptables:systemctl stop iptables

重启防火墙服务:systemctl restart firewalld

富规则:允许所有,禁止某个ip访问

 

http://www.lryc.cn/news/478626.html

相关文章:

  • 架构零散知识点
  • 【从零开始的LeetCode-算法】3254. 长度为 K 的子数组的能量值 I
  • 跨IDE开发
  • 2020年美国总统大选数据分析与模型预测
  • C++应用场景开发——学生信息管理系统!!!
  • Pytorch实现transformer语言模型
  • Java后台生成指定路径下创建指定名称的文件
  • sqlcoder70b模型,如果需要训练或者微调需要什么样的GPU机器
  • 【Python实战案例】爬虫项目实例(附赠源码)
  • PDF多功能工具箱 PDF Shaper v14.6
  • Jupyter Notebook添加kernel的解决方案
  • Linux 无名管道
  • Java项目实战II基于Spring Boot的药店管理系统的设计与实现(开发文档+数据库+源码)
  • 前端拖拽库方案之react-beautiful-dnd
  • 【题解】CF2033G
  • 【error】 react 控制台报错Invalid hook call
  • SDL基本使用
  • 大模型的temperature参数
  • 软件项目功能复用指南,复用方案,评估方案(word原件)
  • leetcode 3255 长度为 K 的子数组的能量值 II 中等
  • CCS下载安装(以12.3.0版本为例)
  • C++STL容器详解——list
  • linux tar 打包为多个文件
  • json字符串与python字典的区别与联系
  • 数据结构-链表【chapter1】【c语言版】
  • OJ05:989. 数组形式的整数加法
  • 山东布谷科技:关于直播源码|语音源码|一对一直播源码提交App Store的流程及重构建议
  • docker搭建guacamole,web远程桌面
  • .baxia勒索病毒来袭:数据恢复与防护措施详解
  • [UUCTF 2022 新生赛]ezpop 详细题解(字符串逃逸)