如何在Ubuntu上安装SELinux

Ubuntu有一个类似于SELinux的强制访问控制系统,名为AppArmor。SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。SELinux 默认安装在 Fedora 和 Red Hat Enterprise Linux 上,也可以作为其他发行版上容易安装的包得到。SELinux和AppArmor都提供了一组工具来隔离应用程序,以保护主机系统免受攻击。AppArmor为Ubuntu用户提供强制访问控制选项,没有SELinux可能遇到的困难或学习曲线效应。如果您想要切换到Ubuntu,已经熟悉SELinux并希望使用它来强制系统的安全性,您可以按照这个简短的教程安装它。

开始之前

您需要一台已经设置好可以使用sudo命令的非root账号的CentOS服务器,并且已开启防火墙。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后在购买服务器

腾讯云的Ubuntu系统默认不支持SELinux。需要安装特定的内核,请遵循本教程,并在管理器的内核菜单中选择GRUB2。如果您使用的是远程服务器,如腾讯云的CVM,则不要使用reboot命令,请从控制台管理器重新启动计算机。

删除AppArmor

警告 在本教程中,AppArmor是您的默认安全模块。删除但不替换AppArmor会使您的系统面临风险。如果您认为将来可能会重新使用AppArmor,则不要删除它。

/etc/init.d/停止AppArmor脚本:

sudo /etc/init.d/apparmor stop

从系统中清除AppArmor。

apt purge apparmor

如果您担心配置文件被删除,请使用apt remove apparmor

更新并重新启动系统:

apt update && upgrade -yuf
reboot

安装SELinux

安装SELinux软件包并重启系统:

apt install selinux
reboot

您可以通过尝试将SELinux设置为enforcing模式来确定SELinux是否在您的系统上强制执行安全性。

root@ubuntu:~# setenforce 1
root@ubuntu:~# getenforce
Enforcing

注意 如果收到错误消息setenforce: SELinux is disabled,请检查您是否仍在使用腾讯云自定义内核。如果没有,请确保所选内核为GRUB2并再次尝试安装SELinux。

如果想要在重启之后保持enforcing模式,请将位于/etc/selinux/config的SELinux配置文件从默认值SELINUX=permissive修改为SELINUX=enforcing

/etc/selinx/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing

这样,你就可以在Ubuntu系统上启用SELinux内核了!请持续关注腾讯云+社区的教程,稍后我们将带来更多SELinux的教程。


参考文献:《Getting Started with SELinux》

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏jiajia_deng

使用七牛云对象储存缓存 wordpress 静态文件加速网站

1586
来自专栏架构师之路

假如让你来设计数据库中间件

13年底负责数据库中间件设计时的设计文档,拿出来和大家分享: 可以了解下数据库中间件技术 可以了解下架构师系统设计的思路 一、总体目标 数据库中间层项目背景不再...

5097
来自专栏程序猿

基于SSM框架搭建的项目,带你剖析MVC结构

“ 这是小的Demo是我部署用来教大家学MVC小例子的,搭建完成SSM框架,非常简单,使用了Spring/Spring MVC/MyBatis框架,数据库使用了...

1603
来自专栏安恒信息

预警 | Struts2 REST插件存在远程代码执行漏洞(CVE-2017-9805)

漏洞描述 Struts2 是 Apache 软件基金会负责维护的一个基于MVC设计模式的 Web 应用框架开源项目。 Struts2的REST插件使用带有XSt...

37114
来自专栏小勇DW3

线上测试环境搭建过程记录

3.安装完以后  会在 /usr/java/latest 下有对应的 jdk 版本

2111
来自专栏python3

diango使用数据库

之前写的页面,虽然和用户交互得很好,但并没有保存任何数据,页面一旦关闭,或服务器重启,一切都将回到原始状态。

1313
来自专栏CSDN技术头条

Schemaless架构(二):Uber基于MySQL的Trip数据库

ber的Schemaless数据库是从2014年10月开始启用的,这是一个基于MySQL的数据库,本文就来探究一下它的架构。本文是系列文章的第二部分;第一部分是...

2607
来自专栏数据库

Oracle数据库备份与恢复的三种方法

Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷备份。导出备件是一种逻辑备份,冷备份和热备份是物理备份。 一、 导出/...

26510
来自专栏沃趣科技

ASM 翻译系列第三弹:基础知识 About ASM disk groups, disks and files

原作者:Bane Radulovic 译者: 赵恩东 审核: 魏兴华 DBGeeK社群联合出品 Oracle ASM使用磁盘组来存放数据文件,每一个...

3988
来自专栏安恒信息

安全漏洞公告

1 Linux Kernel 'linux-image-3.2.0-4-5kc-malta'软件包拒绝服务漏洞Linux Kernel 'linux-image...

3277

扫码关注云+社区

领取腾讯云代金券