使用 SELinux 保護 Ubuntu Linux 服務器

SELinux 是一個強大且可定制的安全系統,默認情況下在許多Linux操作系統(例如Fedora和 RHEL )上提供。如果您想為您的 Ubuntu 服務器添加額外的安全性,請跟隨我們向您展示如何使用 SELinux 保護您的 Ubuntu Linux 服務器。

如何在 Ubuntu 上禁用 AppArmor

Ubuntu默認使用 AppArmor。這是一個很棒的系統,大致完成了 SELinux 所聲稱的功能。但是,如果您希望使用 SELinux,則需要禁用 AppArmor。要在 Ubuntu Server 上禁用 AppArmor,請執行以下操作。

首先,通過 SSH 進入您的 Ubuntu 服務器系統(或者親自坐在它上面並使用終端)。登錄終端后,使用systemctl disable命令從 Ubuntu 系統禁用 AppArmor。

sudo systemctl 禁用 apparmor --now

運行該命令後,您可以使用systemctl status命令檢查AppArmor是否確實被禁用。如果不是,請嘗試重新啟動並再次運行systemctl disable命令。

systemctl 狀態查看器

如何在 Ubuntu 上安裝 SELinux

在 Ubuntu 系統上使用 SELinux 之前,您需要安裝它。在 Ubuntu 上安裝 SELinux 需要一些軟件包,特別是“policycoreutils”、“selinux-utils”和“selinux-basics”軟件包。要安裝這些軟件包,請使用以下命令:

sudo apt install policycoreutils selinux-utils selinux-basics

安裝上述軟件包後,SELinux 將安裝在您的 Ubuntu 系統上。但是,在激活 SELinux 之前,您將無法在 Ubuntu 服務器上充分利用 SELinux。

要在 Ubuntu Server 系統上激活 SELinux,請使用selinux-activate命令。此命令將修改 Ubuntu Server 的 Grub 引導加載程序以與 SELinux 配合使用並在引導時啟用它。

sudo selinux-激活

激活 SELinux 後,使用selinux-config-enforcing命令啟用 SELinux 強制執行。

sudo selinux-config-enforcing

激活後,您必須重新啟動 Ubuntu 服務器。使用sudo restart命令重新啟動系統。

須藤重新啟動

系統完成重新啟動後,使用您的用戶帳戶重新登錄服務器。

如何配置 SELinux

雖然啟用了 SELinux 強制,您仍然必須對其進行配置以滿足您的需求。您可以打開數十種 SELinux 策略,以提高 Ubuntu 服務器的安全性。

首先,列出您的系統已禁用的可用 SELinux 策略。您可以使用semanage boolean -l命令列出這些 SELinux 策略。

語義布爾值-l

查看您想要啟用的策略。例如,如果您希望在 SELinux 強制策略中啟用“use_nfs_home_dirs”,則可以通過運行以下命令來啟用它。

請注意,“1”相當於使用setebool命令在 SELinux 中啟用某些功能。

sudo setebool -P use_nfs_home_dirs 1

如果您希望在 SELinux 強制策略中禁用“use_nfs_home_dirs”,您可以使用setsebool命令,但將“1”更改為“0”。“0”與“disable”相同。

sudo setebool -P use_nfs_home_dirs 0

如何使用 SELinux 禁用不需要的值

有幾個啟用的 SELinux 值您可能不需要。在 Ubuntu 系統上的 SELinux 中關閉這些值將顯著提高安全性。要查看啟用的 SELinux 值,請在終端中運行以下getsebool -a命令。

sudo getsebool -a | sudo getsebool -a | sudo getsebool -a grep -E '\b\w+\b\s+-->\s+on\b'

上面的命令將輸出每個啟用的值。查看這些啟用的值並確定是否希望將它們保持啟用狀態。例如,如果您不使用 Squid 服務器,則可能不需要啟用“squid_use_pinger”等。

確定要禁用的值後,您可以運行以下setebool命令。此命令會將 SELinux 配置中的策略從啟用更改為禁用。

sudo setebool -P VALUE_NAME 0

在 Ubuntu 服務器上重新啟用 AppArmor

如果您決定不想在 Ubuntu Server 上使用 SELinux,請按以下步驟恢復到 AppArmor。首先,打開終端並使用以下“sed”命令在其配置文件中禁用 SELinux。

sudo sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

在SELinux配置文件中添加“disabled”後,需要重新啟動。當您重新啟動時,SELinux 將不會在啟動時運行。

須藤重新啟動

重新登錄後,您可以使用systemctl enable命令在 Ubuntu 上重新啟用 AppArmor 。

sudo systemctl 啟用 apparmor

啟用 AppArmor 服務後,通過運行以下systemctl start命令在 Ubuntu 系統上啟動它。

sudo systemctl 啟動 apparmor

您可以使用systemctl status命令檢查 AppArmor 是否在 Ubuntu 系統上正常運行。

systemctl 狀態查看器


使用 Pano 改進 Gnome Shell 剪貼板

使用 Pano 改進 Gnome Shell 剪貼板

讓我們面對現實吧,默認的 Gnome Shell 剪貼板並不是很好。安裝 Pano 來改善您的剪貼板體驗!

如何在Linux上安裝DaVinci Resolve 17

如何在Linux上安裝DaVinci Resolve 17

您的 Linux 機器需要一個出色的非線性視頻編輯器嗎?使用本指南使用 Davinci Resolve 17!

如何使用壁紙下載器將壁紙下載到 Linux 桌面

如何使用壁紙下載器將壁紙下載到 Linux 桌面

Wallpaper Downloader 是一個靈活的 Linux 壁紙下載和管理器。它支持大多數Linux桌面環境,並且非常易於使用。本指南

如何在計算機上安裝 Tuxedo 操作系統

如何在計算機上安裝 Tuxedo 操作系統

想要通過 Tuxedo 計算機測試 Tuxedo 操作系統嗎?了解如何讓最新版本的 Tuxedo OS 在您的 PC 上運行。

如何在 Linux 上安裝 DEB 文件

如何在 Linux 上安裝 DEB 文件

什麼是 .DEB 文件?你用它做什麼?了解在 Linux PC 上安裝 DEB 文件的多種方法。

如何在 Linux 上玩消逝的光芒

如何在 Linux 上玩消逝的光芒

《消逝的光芒》是一款由 Techland 開發、華納兄弟互動娛樂發行的 2015 年生存恐怖視頻遊戲。遊戲的中心是

如何在計算機上安裝 Neptune Linux

如何在計算機上安裝 Neptune Linux

Neptune 使用 KDE Plasma 5 桌面環境,旨在提供優雅的操作系統。以下是如何在計算機上安裝 Neptune Linux。

嘗試 Ubuntu 的新基於 snap 的桌面

嘗試 Ubuntu 的新基於 snap 的桌面

想嘗試 Ubuntu 的新的基於 snap 包的桌面操作系統嗎?通過本指南了解如何將其部署在虛擬機上。

如何在 Linux 上玩《傳說之下》

如何在 Linux 上玩《傳說之下》

Undertale 是一款 2015 年 2D 獨立角色扮演遊戲,由遊戲開發商 Toby Fox 開發和發行。本指南將介紹在您的電腦上下載和安裝 Undertale

如何在 Linux 上玩《全面戰爭:三個王國》

如何在 Linux 上玩《全面戰爭:三個王國》

《全面戰爭:三個王國》是一款由 Creative Assembly 開發的回合製策略 RTS 遊戲。下面是如何在 Linux 上玩遊戲。