Red Hat Linuxシステムのセキュリティを維持することが特に重要です。システムのセキュリティを管理する1つの方法として、システムのサービスに対するアクセスを注意深く管理することがあります。特定のサービスに対する公開アクセスを許可する必要があるかもしれません(たとえば、Webサーバーを運営する場合のhttpd)。ただし、サービスを提供する必要がないならば、サービスをオフにする必要があります。そうすることによって、バグの影響を受ける可能性が最小になります。
システムサービスへのアクセスを管理する手段はいくつかあります。使用する手段は、サービス、システムの設定、Linuxに関するユーザーの専門知識のレベルに基づいて決定します。
サービスに対するアクセスを拒否するための最も簡単な方法は、単純にサービスをオフにすることです。xinetdによって管理されるサービス(このセクションの後半で説明します)と、/etc/rc.d階層に属するサービスの起動/停止を設定するには、次の3つの異なるアプリケーションを使用します。
serviceconf —グラフィックスアプリケーションです。各サービスの説明を表示したり、ブート時に各サービスが(ランレベル3、4、5で)起動するかどうかを示したり、各サービスの起動、停止、再起動を行います。
ntsysv —テキストベースのアプリケーションです。ブート時に各ランレベルで起動させるサービスを設定します。変更内容はすぐに反映されません。このプログラムを使用して、サービスの起動、停止、または再起動はできません。
chkconfig —コマンドラインユーティリティです。さまざまなランレベルでサービスの起動や停止を行います。変更内容はすぐに反映されません。このユーティリティを使用して、サービスの起動、停止、または再起動はできません。
これらのツールの方がほかの手段(/etc/rc.dの下にあるディレクトリ中の多数のシンボリックリンクを手作業で編集したり、/etc/xinetd.dの中のxinetd設定ファイルを編集したり)よりも使いやすくなっています。
システムサービスへのアクセスを管理するためのもう1つの方法として、iptablesによってIPファイアウォールを設定することもできます。しかし、Linuxの初心者には、iptablesが最良の策ではない場合があるということを理解してください。初心者にとってiptablesの設定は複雑かもしれません。またその扱い方を最もよく知っているのは、経験のあるUNIX/Linuxのシステム管理者です。
とはいうものの、iptablesを使用するメリットは、その柔軟性にあります。たとえば、あるサービスに対するホストアクセスを許可するようにカスタマイズしたい場合でも、iptablesならば可能です。iptablesの詳細については、Official Red Hat Linux リファレンスガイドを参照してください。
または、個人のマシンに一般アクセス規則を設定できるユーティリティを探している場合や初めてLinuxを使用する場合は、GNOME Lokkitユーティリティを使用してください。GNOME Lokkitは、ユーザーにマシンの使用方法をたずねるGUIユーティリティです。このユーティリティは、ユーザーの応答に従って、自動的に単純なファイアウォールを設定します。詳細については第7章を参照してください。
サービスへのアクセスを設定する前に、Linuxランレベルを理解する必要があります。ランレベルとは状態、すなわちモードです。これはディレクトリ/etc/rc.d/rc<x>.dに一覧表示されたサービスで定義されます(<x>はランレベルの数字)。
Red Hat Linuxでは次のランレベルを使用しています。
0 —停止
1 —シングルユーザーモード
2 —未使用(ユーザー定義可能)
3 —完全マルチユーザーモード
4 —未使用(ユーザー定義可能)
5 —完全マルチユーザーモード(Xベースのログイン画面)
6 —再ブート
Red Hat LinuxインストールプログラムでX Window Systemを設定していると、グラフィックスか、またはテキストのログイン画面を選択するオプションが表示されます。テキストログイン画面を選択すると、ランレベル3で実行されます。グラフィックスログイン画面を選択すると、ランレベル5で実行されます。
デフォルトのランレベルを変更するには、/etc/inittabファイルを変更します。このファイルは、ファイルの最上部あたりに次のような1行があります。
id:3:initdefault: |
この行の数字を希望するランレベルに変更します。システムを再ブートするまで変更内容は反映されません。
ランレベルをすばやく変更するには、コマンドtelinitを入力してから、ランレベル番号を続けます。このコマンドを使用するには、rootになる必要があります。