このページではLinuxインストールした自宅サーバー公開サーバー向けにSELinuxを無効化にする方法についてビギナー向けに解説します。
お便利サーバー.com+相互リンクサイト内をキーワードで検索
CentOS6.2インストール後の設定

インストール後の設定

ログインシステムの変更

ユーザーアカウントの作成

X-Windowと通信の確認

簡易テキストエディタ"nano"

ネットワークの詳細設定

SELinuxの無効化

ファイヤーウォールの無効化

日本語文字セットの設定

sshクライアントの導入

yumによるアップデート

不要デーモンの停止

公開のためのルーター設定

ダイナミックDNSの登録と設定

ダイナミックDNSの自動更新


自宅サーバーに"SELinux"は不要

このステップでは SELinux の無効化の設定を行います。

SELinux は、比較的新しい ディストリビューション に実装されているシステムで、 LinuxOS に対して高度な セキュリティ 機能を付加します。

LinuxOSはもともと "root" という管理 アカウント によって、 OS とそのOS上で動作するすべての アプリケーション がコントロールできるように設計されています。

この仕組みは サーバー 管理者にとっては面倒がなくて良いのですが、逆に考えれば非常に危険な仕組みともいえます。

なぜなら、悪意を持った第三者に万が一 "root" アカウントによる ログイン を許してしまったら、サーバーを完全に 乗っ取られて しまうことを意味するからです。

「自分は誰かに見破られるような安易なrootのパスワードを設定したりしないよ。」

と、反論する方もいるかもしれませんが、実はそういう基本的な配慮だけでは不正進入を100%防ぎきれないという厳しい現実があります。

例えば、あるサーバーアプリケーションを "root" アカウントから デーモン として実行し、インターネット空間からのアクセスを受け付けているとします。

そして、もしもそのサーバーアプリケーションに欠陥があって、その欠陥を足がかりにその実行アカウントである "root" を制御されてしまう可能性を否定できないからです。

SELinuxはこういった問題を克服するために、サーバー上の権限をアプリケーションやファイル単位で分散させ、万が一不正進入を許しても被害を「ごく一部分に」とどめるための仕組みを提供します。

ただSELinuxはまだ過渡期の技術で、初心者レベルで確実に設定できるようなガイドラインやツール類も揃っていないため、「これからLinuxを始める」レベルのユーザーがどうにかできるほど簡単なものではありません。

また、SELinuxは強固なセキュリティを提供するものですが、少なくとも個人の公開サーバーには「過剰な」システムです。

SELinuxは、例えばたくさんの個人情報を扱うような 公開サーバー の運用を始め、「情報が漏れたらとんでもない損害を受けるかもしれない」ような場面になったときに、改めて勉強してから導入を検討しても良いと思います。

以前のバージョンのCentOSでは、インストールのステップの中で有効/無効の選択ができたのですが、CentOS6では デフォルト 有効 に設定されてしまうため、ここで無効に設定しなおしします。

まず、適当な ユーザーアカウント でCentOS6のシステムに ログイン した後、 su コマンド でユーザーアカウントを "root" に変更します。

インターネット上の情報や解説書などで、編集すべき設定ファイルを "/etc/sysconfig/selinux" と説明しているケースがありますが、これは "/etc/selinux/config" シンボリックリンク ですから実体は同じものです。
従ってどちらかを開いて編集すればOKです。

それから、SELinuxの設定ファイル "/etc/selinux/config" nano エディタで開きます nanoエディタでファイルを開く

[tanaka@web1 ~]$ su -Enter
Password: "root"のパスワードを入力します。 Enter
[root@web1 ~]# nano /etc/selinux/configEnter


この中で赤線で示している、

SELINUX=enforcing

SELINUX=disabled に修正します。

修正が終わったら、 Ctrl + x y Enter で設定ファイルを保存、 nano エディタを終了して "reboot" コマンド rebootコマンドについて で再起動します。

[root@web1 ~]# rebootEnter

システムが再起動したら、もう一度 "root" ユーザーでログインし、 "getenforce" コマンドを実行してSELinuxが無効化されていることを確認します。

ちなみに "getenforce" を実行したとき、SELinuxが有効になっている場合は "Enforcing" 、SELinuxの制御は無効で警告のみで動作する場合は "Permissive" となります。
[root@web1 ~]# getenforceEnter
Disabled  SElinuxが無効化されています。
[root@web1 ~]#

以上でSELinuxの無効化が完了しました。

このサイトは既に更新を終了していますが、今のところ店じまいの予定はありません。 リンクフリー ですので、趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。
Powered by Apache
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。
www.centos.org - The Community ENTerprise Operating System