SELinuxをCentOS 7で有効化・無効化(disabled, enforcing, permissive)

シェアする

  • このエントリーをはてなブックマークに追加

Linuxの設定をしている際に、SELinuxのコマンドはよく必要になるけれど、よく忘れるのでSELinuxの無効化の方法やコマンド類をメモしておきました。

 

スポンサードリンク

SELinuxとは何か

SELinuxは、Security Enhanced Linuxの略で、文字通り、Linuxのセキュリティを向上させるための仕組みです。

おおよその仕組みは以下の通りです。

 

Linuxに限らず、多くのオペレーティングシステムでは管理者と呼ばれるユーザーでログインするとすべてのアクセスが可能となります。

このことは、逆に見れば、管理者を乗っ取られれば、すべてのアクセスを許してしまうことを意味します。

Linux(UNIX)の場合、管理者はrootと呼ばれます。

 

SELinuxでは、このrootにセキュリティが一極集中することを避けて、rootにすべてのアクセス権限を許すのではなくて、HTTPやFTPといったプロセスごとにアクセス権限を設けることができます。

Centosを初め多くのLinuxのディストリビューションではSELinuxはデフォルトで有効化されています。

 

SELinuxの仕組みは、かなり雑な言い方をすれば、WindowsのUAC、User Account Control、ユーザーアカウント制御と同じです。

 

スポンサードリンク

SELinuxの有効化・無効化の方法

SELinuxの動作確認方法

# getenforce
Permissive

 

 

 

このコマンドの結果の意味は以下の通りです。

disabled:SELinuxを無効
enforcing:ポリシーに違反するアクセスに対し、ログに書き出して拒否(SELinuxは有効)
permissive:ポリシーに違反するアクセスに対し、ログに書き出して許可(SELinuxは無効)

ちょっと分かりにくいですが、enforcingは、SELinuxが有効化されており、disabled、permissiveはSELinuxが無効化されている状態です。

 

 

SELinuxを一時的に無効化

以下のコマンドでSELinuxを一時的に無効化できます。

# setenforce 0

 

 

 

何かの問題が発生した時にSELinuxを一時的に無効にして問題の切り分けを行います。
注意点として、再起動すると再度初期設定に戻ります。
初期設定は、/etc/selinux/configに書いてある設定です。

 

 

SELinuxを一時的に有効化

以下のコマンドでSELinuxを一時的に有効化できます。

# setenforce 1

 

 

 

 

SELinuxの設定

/etc/selinux/config を編集します。

SELINUXのところをdisabledにしておけば、Linuxを再起動したときに、SELinuxは無効化されています。

 

スポンサードリンク

SELinuxは必要か?

誤解されることを恐れずに書けば、SELinuxは大規模サーバーを運用する場合を除けば、不要と考えます。

なぜなら、SELinuxの設計思想であるrootのパスワードが漏えいしても、システムに致命的な被害を与えないという発想は、現実的にはありえないと思うからです。

 

rootのパスワードが漏えいしたことが分かったら、サーバーの管理者が行うべきことは、まずパスワードが漏えいした原因を調べて、次に対策を立てて、rootのパスワードを変更して、システムを再起動すべきです。

当たり前ですね。

rootのパスワードが漏えいしたこと自身がもはや致命的な出来事で、真っ先に対策を行うべきことなのです。

 

 

むしろシステム管理者に取って困るのは、SELinuxが有効であると、ファイルアクセスに対して色々と制約を受けることです。

 

私自身は、Fedora6以降のLinuxで、SELinuxがデフォルトで有効であったために、Webサーバーの運用中に何度もトラブルで悩まされたことがあります。

もちろん、それらのトラブルの多くは、SELinuxに対する知識が無知であったために起こっていることは事実ですが、SELinuxが最初から無効だったら時間を無駄にすることはなかったと思います。

 

私なら、SELinuxが有効であった時のメリットと無効であった時のメリットを天秤にかけると無効の方を取ります。

したがって、私はLinuxをインストールすると真っ先に、SELinuxを無効にしています。

 

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメント

  1. […] 参考: SELinuxをCentOS 7で有効化・無効化(disabled, enforcing, permissive) | urashita.com […]

  2. […] SELinuxをCentOS 7で有効化・無効化(disabled, enforcing, permissive) | urashita.com […]

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です