一直以来,Red Hat 系的许多教程,都会建议你关闭 SELinux。确实,启用 SELinux 可能会造成许多莫名其妙的错误。但在实际生产环境,甚至是用户工作站,Red Hat 都建议将 SELinux 设为 enforcing 模式,因为它在关键时候可以成为你系统安全的最后一道防线。


程序是不可信的

技术的发展日新月异,我们的系统安全却不容乐观。wooyun.org 时不时爆出的各种漏洞,都在提醒我们 程序总是存在缺陷的。

传统的操作系统采用 DAC 机制,它针对用户进行访问控制,系统会信任用户执行的所有程序,但往往用户无法判断程序是否存在安全问题。

后来,出现了 MAC 机制,它以进程为访问控制的首要目标,通过规则严格限制程序运行时可以执行的系统调用。

另外,在保密级别较高的地方,根据资源的机密程度结合 MAC 又衍生出了 MLS 多级安全策略。

我们的主角 SELinux 是 MAC+MLS 的实现方案之一,它最初由 NSA 基于 flask 框架开发,目前主要由 Tresys 和 Red Hat 进行维护。


用户与隐私

自 1987 年 9 月 20 日,CANET 向世界发出第一封 E-mail 为标志,互联网正式进入中国大陆。截至 2015 年 6 月,我国网民已达到 6.68 亿人。随着网络的发展,隐私与安全一直是大受关注的话题。现在,随便什么应用/网站都需要注册,各种客户端都提供网络连接功能。在不知不觉中,你的联系人,朋友圈都展示在了网上。可以负责任的说,在互联网面前,我们每个人都没有隐私。

保护个人隐私是一个系统工程。它需要可信的硬件/固件,可信的操作系统,可信的应用程序,可信的网络环境,可信的用户。

  • 硬件方面:X86、Arm 体系就是事实的工业标准,但目前没有可信的第三方机构进行评估。
  • 系统方面:尽量使用开源操作系统,Open Source 可以确保系统没有恶意行为。
    • 早在 1985 年,美国国防部公布了 可信计算机系统评估标准,该标准将计算机系统分为 A(A1), B(B3 B2 B1), C(C2 C1), D(D1) 四个等级,共7个级别。没有 SELinux 的 Linux 和 Windows 一样都处于 C2 级别。
  • 应用程序:尽量使用开源软件,闭源软件或多或少都会侵犯用户隐私。
  • 网络方面:尽量不访问/注册来历不明的网站,尽量不使用公共 Wifi。事实上,个人无法控制运营商的行为。
  • 用户方面:用户对于隐私保护有最重要的作用。俗话说得好,“机器是死的,人是活的“。只有用户养成了良好的习惯,才能保护好隐私。切勿抱有”我的信息并没有什么卵用“的侥幸心理。

SELinux 与隐私保护

SELinux 为系统提供了额外的一层保护,能够在一定程度上防止隐私泄露。这里提一下基本概念, SELinux 是基于标签的强制访问控制系统。所有系统资源都包含标签上下文,只有进程标签符合访问对象(文件/socket/dbus…)的标签,才允许进程访问该资源。而标签又关联了一系列角色(role),角色又关联了一系列 SELinux user。通过将 SELinux user 与 Linux user 关联,该用户就具有了这些标签。此时,用户执行的程序就都处于这些标签规则的限制范围了。

在 Fedora 中,默认用户关联 unconfined_t 标签,该标签是无限制的,相当于未启用 SELinux。这主要为了兼容性考虑,targeted 规则仅限制网络相关应用。Red Hat 建议用户关联非 unconfined_t 标签来提高安全性。

1.配置账户映射 SELinux user

$ sudo semanage login -a -s staff_u -r s0:c0.c1023 Jone

2.配置 sudo,指定需要转换的 ROLE/TYPE

$ sudo echo "Jone ALL=(ALL) TYPE=unconfined_t ROLE=unconfined_r ALL" >> /etc/sudoers.d/Jone

3.对 home 目录重新进行标记,并重启

$ restorecon -R -v /home/Jone

4.现在你的登陆 shell 就是以 staff_u 用户运行

$ id -Z
staff_u:staff_r:staff_t:s0-s0:c0.c1023

5.如果你需要执行系统管理操作,可使用 sudo 进行提权,这和原来一模一样

$ sudo id -Z
staff_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

广告

最后,插播广告。Fedora 社区源正在使用 SELinux 加固软件,目前已完成了 sogoupinyin。

安装 sogoupinyin SELinux 模块,禁止 sogou 访问网络:

$ sudo dnf install sogoupinyin sogoupinyin-selinux
$ sudo setsebool -P sogou_access_network=0

参考

1.TCSEC, Trusted Computer System Evaluation Criteria
2.SELinux Project
3.原文: Fedora 安装后需要做的第一件事

– EOF –

转载于:https://www.cnblogs.com/lixuebin/p/10814854.html

Fedora 安装后需要做的第一件事相关推荐

  1. Qt安装后要做的第一件事------Qt自动补全代码快捷键和输入法切换快捷键 的冲突解决 (附:fedora下查询 删除软件命令)...

    遥想当年初接触qt,只要能要就心满意足了.随着不断学习,发现了越来越多的问题.在linux环境下,qt自动补全代码的快捷键是ctrl+space,而输入法的切换启动快捷键也是如此,这就冲突了!导致qt ...

  2. 对于英语小白,运行Pycharm后要做的第一件事,下载一个官方插件,汉化Pycharm

    1.前言 对于第一次使用Pycharm的新手来说,特别对于我这种英语渣渣,对Pycharm是又爱又恨,因为下载安装打开的是英文界面,在日常使用上多有不便. 但是其实Pycharm有中文汉化官方插件的, ...

  3. manjaro安装后需要做的几件事

    桌面环境为xface 更换国内源,选择清华的源 sudo pacman-mirrors -i -c China -m rank 修改pacman.conf文件,加上arch的源,否则有些软件不能用pa ...

  4. 安装Fedora 15后需做的25件事情

    安装Fedora 15后需做的25件事情 ugmbbc发布于 2011-06-04 11:20:41|45603 次阅读 字体:大 小 打印预览 感谢笨兔兔的投递 Fedora 15于5.24正是发布 ...

  5. linux mint 19界面美化,安装完 LinuxMint 19.3 后必做的10件事

    安装完 LinuxMint 19.3 后必做的10件事 LinuxMint 发行版是一款基于Ubuntu的易用性好,特别适合入门者使用的一款Linux发行版,相比于Ubuntu,界面和操作更友好. 本 ...

  6. Ubuntu 11.04 安装后要做的20件事情

    作者:小肥肥 转自:http://blog.sina.com.cn/s/blog_5c9a54e30100r7yh.html 4.28日,Ubuntu11.04就发布了!Ubuntu 11.04 安装 ...

  7. 安装Linux Mint 18.2后要做的20件事

    安装Linux Mint 18.2后要做的20件事 Linux Mint 18.2 Qiana Cinnamon Linux Mint 18.2已经发布,定名为Qiana.Mint是Linux最佳发行 ...

  8. 安装 CentOS 7 后必做的七件事

    原文 安装 CentOS 7 后必做的七件事 CentOS 是最多人用来运行服务器的 Linux 版本,最新版本是 CentOS 7.当你兴趣勃勃地在一台主机或 VPS 上安装 CentOS 7 后, ...

  9. 安装Linux后我做的几件事

    安装Linux后我都做了哪些事? Author:StruggleYang by:elementary OS/Atom 在使用了一段时间的Linux后,前前后后安装也有几十次,也犯过一些致命的错误,为了 ...

最新文章

  1. python中使用squarify包可视化treemap图:使用treemap图可视化个人或者集体的股票、基金的持仓结构(treemap with squarify package)
  2. [xsy2880]取石子游戏
  3. kill命令---Linux学习笔记
  4. mysql web界面 Linux_部署WEB项目到服务器(三)安装mysql5或者mysql8到linux服务器(Ubuntu)详解...
  5. python创建一个csv文件_python操作csv文件
  6. opencv之计算机视觉介绍(笔记01)
  7. 百度编辑器UEditor修改成支持物理路径
  8. 解决VB6.0中不能加载MSCOMCTL.OCX的错误提示
  9. robot framework -重点记录
  10. 计算机游戏蜘蛛纸牌如何还原,经典PC纸牌游戏空当接龙、蜘蛛纸牌等登陆iOS/Android...
  11. MySQL数据类型有哪些?
  12. 2021年中国互联网安全行业发展状况及发展趋势展望分析[图]
  13. 1 常用邮箱SMTP/POP3地址及端口
  14. 卷积神经网络如何提取特征
  15. mvc5 ef6 mysql code first 架构_跟蓝狐学MVC教程--MVC5与EF6 Code First 第一个入门完整实例教程...
  16. 2020计算机保研实录
  17. 2021-01-20JSON和本地存储
  18. 安全基因赋能物流市场,智加科技打磨L4级自动驾驶重塑高速运输 | 2018 全球智能驾驶峰会...
  19. 唐老师讲运算放大器(第五讲)——运放的应用
  20. 使用ubuntu遇到的问题-An error occurred,please run Package Manager...

热门文章

  1. Anaconda下安装OpenCV和Tensorflow(最简洁高效的方法)
  2. 实验8 SQL Server 的存储过程
  3. linux制作成后台服务,把dotnetcore 控制台app设置成linux后台服务
  4. java pdf添加图片水印图片_Java 在PDF中添加文本水印、图片水印
  5. 第七届山东省Acm程序设计竞赛赛后总结
  6. 104. 二叉树的最大深度 golang DFS
  7. LeetCode 21. 合并两个有序链表 golang
  8. Go语言爬虫项目将结果写入MySql数据库
  9. 软件工程学习笔记《四》需求分析
  10. 用python写的简单的http文件服务器demo