SELinux による Ubuntu Linux サーバーの保護

SELinux は、 Fedoraや RHELなどの多くのLinuxオペレーティング システムにデフォルトで搭載されている、堅牢でカスタマイズ可能なセキュリティ システムです。Ubuntu サーバーにさらにセキュリティを追加したい場合は、SELinux を使用して Ubuntu Linux サーバーを保護する方法の説明に従ってください。

UbuntuでAppArmorを無効にする方法

Ubuntu はデフォルトで AppArmor を使用します。これは、SELinux が主張していることをほぼ実行する優れたシステムです。ただし、代わりに SELinux を使用したい場合は、AppArmor を無効にする必要があります。Ubuntu サーバーで AppArmor を無効にするには、次の手順を実行します。

まず、Ubuntu サーバー システムに SSH で接続します (または、物理的に Ubuntu サーバー システムに座ってターミナルを使用します)。ターミナルにログインしたら、systemctl disableコマンドを使用して、Ubuntu システムから AppArmor を無効にします。

sudo systemctl disable apparmor --now

このコマンドを実行した後、systemctl statusコマンドを使用して、AppArmor が実際に無効になっているかどうかを確認できます。そうでない場合は、再起動してsystemctl disableコマンドを再度実行してみてください。

systemctlステータスApparmor

UbuntuにSELinuxをインストールする方法

Ubuntu システムで SELinux を使用する前に、SELinux をインストールする必要があります。Ubuntu に SELinux をインストールするには、いくつかのパッケージ、特に「policycoreutils」、「selinux-utils」、および「selinux-basics」パッケージが必要です。これらのパッケージをインストールするには、次のコマンドを使用します。

sudo apt installpolicycoreutils selinux-utils selinux-basics

上記のパッケージをインストールすると、SELinux が Ubuntu システムにインストールされます。ただし、アクティブ化するまでは、Ubuntu サーバー上の SELinux を最大限に活用することはできません。

Ubuntu サーバー システムで SELinux をアクティブ化するには、selinux-activateコマンドを使用します。このコマンドは、SELinux で動作するように Ubuntu Server の Grub ブートローダーを変更し、起動時に有効にします。

sudo selinux-activate

SELinux をアクティブ化したら、 selinux-config-enforcingコマンドを使用して SELinux 強制を有効にします。

sudo selinux-config-enforcing

アクティベーション後、Ubuntu サーバーを再起動する必要があります。sudo rebootコマンドを使用してシステムを再起動します。

sudo再起動

システムの再起動が完了したら、ユーザー アカウントを使用してサーバーに再度ログインします。

SELinuxの設定方法

SELinux 強制は有効になっていますが、ニーズに合わせて構成する必要があります。Ubuntu サーバーのセキュリティを向上させるために有効にできる SELinux ポリシーは数多くあります。

まず、システムで無効になっている利用可能な SELinux ポリシーを一覧表示します。semanage boolean -lコマンドを使用して、これらの SELinux ポリシーを一覧表示できます。

semanage ブール値 -l

有効にするポリシーを確認します。たとえば、SELinux 強制ポリシーで「use_nfs_home_dirs」を有効にしたい場合は、次のコマンドを実行して有効にできます。

「1」は、setseboolコマンドを使用して SELinux で何かを有効にすることと同等であることに注意してください。

sudo setsebool -P use_nfs_home_dirs 1

SELinux 強制ポリシーで「use_nfs_home_dirs」を無効にしたい場合は、 setseboolコマンドを使用しますが、「1」を「0」に変更します。「0」は「無効」と書くのと同じです。

sudo setsebool -P use_nfs_home_dirs 0

SELinuxで不要な値を無効にする方法

必要ではない可能性のあるいくつかの SELinux 値が有効になっています。Ubuntu システム上の SELinux でこれらの値をオフにすると、セキュリティが大幅に向上します。有効な SELinux 値を表示するには、ターミナルで次のgetsebool -aコマンドを実行します。

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

上記のコマンドは、有効な各値を出力します。これらの有効な値を調べて、有効のままにするかどうかを決定します。たとえば、Squid サーバーを使用していない場合は、「squid_use_pinger」を有効にする必要はないかもしれません。

無効にする値を決定したら、次のsetseboolコマンドを実行できます。このコマンドは、SELinux 構成内のポリシーを有効から無効に変更します。

sudo setsebool -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 は起動時に実行されなくなります。

sudo再起動

再度ログインすると、 systemctl enableコマンドを使用して Ubuntu で AppArmor を再度有効にすることができます。

sudo systemctl で apparmor を有効にする

AppArmor サービスを有効にした後、次のsystemctl startコマンドを実行して、Ubuntu システム上でサービスを起動します。

sudo systemctl start apparmor

systemctl statusコマンドを使用すると、AppArmor が Ubuntu システム上で正しく実行されているかどうかを確認できます。

systemctlステータスApparmor


UbuntuサーバーにGitLabをインストールする方法

UbuntuサーバーにGitLabをインストールする方法

GitLab を Ubuntu サーバー上で動作させたいと考えていますか? GitLab は、GitHub のようなサービスに代わる、強力な自己ホスト可能な代替サービスです。これを使用すると、次のことができます

SELinux による Ubuntu Linux サーバーの保護

SELinux による Ubuntu Linux サーバーの保護

SELinux をインストールしてアクティブ化することで、Ubuntu Linux サーバーにセキュリティを追加する方法を学びます。

Cockpit を使用して Linux サーバー上で NFS を構成する

Cockpit を使用して Linux サーバー上で NFS を構成する

Linux サーバーに NFS 共有をマウントする簡単な方法が必要ですか? Cockpit アプリを使用して NFS 共有をマウントする方法を学びます。

Ubuntu 22.04 LTS にアップグレードする方法

Ubuntu 22.04 LTS にアップグレードする方法

Ubuntu 22.04 の長期サポートが登場しました! デスクトップまたはラップトップを最新の Ubuntu リリースにアップグレードする方法を学びます。

最新の Nvidia GPU ドライバーを Linux にインストールする方法

最新の Nvidia GPU ドライバーを Linux にインストールする方法

最新の Nvidia GPU ドライバーを Linux にインストールする方法

Dockerコンテナにファイルを転送する方法

Dockerコンテナにファイルを転送する方法

ファイルを Docker コンテナに転送する必要がありますか? Docker cp ツールを使用すると、コンテナーとの間でファイルを簡単に移動できます。

Linux に DEB ファイルをインストールする方法

Linux に DEB ファイルをインストールする方法

.DEB ファイルとは何ですか? それを使って何をしますか?Linux PC に DEB ファイルをインストールするさまざまな方法を学びましょう。

GOG Galaxy を Linux 上で動作させる方法

GOG Galaxy を Linux 上で動作させる方法

GOG.com のゲームを所有していますか? ビデオ ゲームを楽しむために Linux PC に GOG Galaxy クライアントをセットアップしたいですか? このガイドに従ってください。

CentOS に Docker エンジンをインストールする方法

CentOS に Docker エンジンをインストールする方法

Docker Engine は、Linux およびその他のプラットフォーム用のオープン コンテナ化プログラムです。Docker Engine は、次のように動作する自己完結型コンテナを管理します。

Ferdi とすべてのチャットを 1 つにまとめる方法

Ferdi とすべてのチャットを 1 つにまとめる方法

Slack、Discord、その他多くの生産性向上ツールを Linux システムにインストールすることにうんざりしていませんか? それらをすべて 1 つに結合できたらいいのにと思いますか