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