オリジナル:http://blog.chinaunix.net/uid-21411227-id-1826876.html
-------------------------------------------------- --------------------------------------
1 。はじめに:
これは、接続が、適切なプロセスを開始プログラムinetdが、それは決定コネクタに接続されたサービス管理の様々な、そしてためであることができる ソケット それ(その標準入力処理、出力、およびエラー出力としてサービスソケットに記述子)。使用して、それがサービスごとに個別のサービスプログラムを起動する必要はありませんので、システムの負荷を軽減することができ、それらの負荷が頻繁に使用されていない実行することがinetd。
主に、inetdは産卵他のデーモンに使用されているが、それはまた、直接などのchargen、認証、および昼間のようにいくつかの簡単なサービスを、処理する能力を持っています。
RCシステムの起動を通じてinetdを。inetd_enableデフォルトのオプションがNOに設定されているが、システムをインストールするには、ユーザーが必要なsysinstallによって開かれます。
inetd.confにはinetdの設定ファイルです。inetd.confファイルには、各ポートのために有効になっているサービスのinetdどのネットワークポートモニタを、伝えます。あらゆるネットワーク環境で使用のLinux システムでは、まず最初に行うには、提供するために、どのようなサービスが終了してサーバーを見ることです。あなたは、これらのサービスは、最高のアンインストールをオフ禁止されるべきシステムを攻撃するためにいくつかのハッカーのように少ないチャンスを必要としません。ビュー「の/etc/inetd.conf」ファイルとサービスがinetdによって提供されているかを調べます。メソッドプラス(ラインプラス番号#の先頭に)コメントは、SIGHUPシグナルを送るinetdプロセスを与え、不要なサービスを禁止しています。
inetdは、ネットワーク機能を有するアプリケーションのための簡単な方法を提供することにある
TCPサーバへの、よく知られているポート・アプリケーションでのinetd聴取、接続は、リンク要求を監視受け付け、標準入力、標準出力と標準エラー出力にマッピングされたリンク、適切な出発をサーバー。
既知のデータ上のサーバのUDPポートが読めるとき、inetdがサーバーがinetdによって起動さサスペンド知っていることを彼に知らせるために、オペレーティング・システムを必要とUDPサーバのために、既知のポート上のinetd次のステップ。
2 。これは、スーパーサーバーを動作します。
非常に類似したサーバソケットの初期化方法に起因して、専用のサーバーを設計することが可能であるが、初期化する責任があり、そしてそれは違うで対応するサービス手順はアクセスポートに従って動作呼ぶアクセスが睡眠を待っていない前に、これらのサービス・プログラムはです状態。スーパーサーバのアプローチを使用すると、サーバプログラムの一元管理を可能にします。
スーパーサーバーは、TCP / UDPポートの選択モードの同時検出を使用するクライアントは、子プロセスを作成するアクセス有することが判明したら、ファイル/etc/inetd.confに記述。スーパーサーバーinetdサービスへのアクセスは、()は、特定のサービス手順をロードした単語を作成するとき、それはexecのプロセスを呼び出す人です。子供のリスニングソケットに閉じ、親プロセスは、親プロセスが検出され続け、接続ソケットを閉じて、子供がクライアントにサービスを開始しました。サービスプログラム、サービスの終了にアクセスすることができ、次のサービスを待って、セットを削除するには、検出時間内のinetスーパーサーバーの負荷、それを待ちます。サービスがSIGCHLD信号処理が完了した、それはスーパーサーバの検出コレクションに参加していきます送信されます。サーバーの設定ファイルを変更するには、スーパーのシステム管理者がSIGHUPシグナルを送られます場合には、スーパーサーバが再初期化されます。
inetdデーモンは、ネットワーク要求に応じて接続要求を処理するためにサービスプロセスを呼び出すために使用するネットワーク要求の数を監視しています。
3 。/etc/inetd.conf構成ファイル:
inetd.confファイルには、重要なLinuxファイルシステムの一つです。これは、システムは、インターネット・サービス・データベースを提供して保持しています。本書を通して、あなたは、このような/彼らがより安全かつ非常に多く実行するために、サービスを開閉として、これらのサービスのために制御することができます。私はこの記事が完了するまでに説明しようと願っています。
1 )ドメイン
各有効なエントリのinetd.confファイルでは、次のフィールドが含まれている必要があります。
*サービス名
*ソケットタイプ
*プロトコルタイプ
*待機/ NOWAIT [.MAX]
*ユーザー名[グループ]
*サービスプログラム
*パラメータサービスプログラム
もちろん、あなたが以下のドメインを入力する必要はinetd.confファイルに日-RPCサービスを定義する場合:
*サービス名/バージョン
*ソケットタイプ
* RPC /プロトコルタイプ
*待機/ NOWAIT [.MAX]
*ユーザー名[グループ]
*サービスプログラム
*パラメータサービスプログラム
サービス名は、/ etc / servicesファイルに(等telnetなど、エコー)定義有効なサービス名の結果です。サービスは、Sun-RPCサービスを定義するために使用されている場合は、中には/ etc / rpcファイルに定義する必要があります。
ソケットタイプのドメインは、以下を含みます:
*ストリーム - STRAM
* DGRAM - グラム
*生 - 生
* RDM - reliabl!Y配信されたメッセージ
* seqpacket - 配列を決定し、パケット
このフィールドは使用されているソケットのタイプによって異なります。
プロトコルの種類ドメインはすでには/ etc / protocolsファイルの種類で定義する必要があります。最も一般的なのは、(例えば、RPC / tcpまたはRPC / UDPなど)プロトコルの前に「RPCを/」を追加し、日-RPCサービスのTCPおよびUDPであります
待ち/ NOWAITフィールドのみデータグラムソケットで使用され、他のパラメータは、NOWAITを使用しています。サービスはマルチスレッド、設立およびエンドソケットのリリースを意味している場合は、inetdプロセスは、接続した後、その後、いくつかの「NOWAIT」エントリーで、いくつかのソケットでより多くの情報を受け取ることができます。サービスはシングルスレッドである場合、それはサービスがすべての外部データを処理することを示し、この場合の「待ち」のエントリを使用して、タイムアウトまで同じソケットに報告しました。最大パラメータは、ポイントウェイト/ NOWAITによって分離され、inetdプロセス内のインスタンスの数が微小最大を生成定義します。
ユーザードメインは、サービスのユーザーを定義します。パラメータのセットは、ユーザ名、etc / passwdファイルと外部とを実行することができ、サービス/他に定義されたグループIDにピリオドで区切られています。
サービスプログラムは、ソケット要求で実行されるプログラムの完全なパスです。プロセスは、組み込みのサービスintedされている場合は、ここでの「内部」でなければなりません。
サービスプログラムのパラメータはなく、ここでは「内部」に、それは、内蔵されている場合、サービス、同じことを実行するために必要なパラメータを提供します。
2 )サービス
今、理解を深めるために、さまざまなサービスを見てください。
telnetのストリームTCP; NOWAITルートは/ usr / sbinに/ tcpdのはin.telnetd
*サービス名:telnetの
*ソケットタイプ:ストリーム
*プロトコルタイプ:TCP
*待ち/ Nowaitの[.MAX]:待機なし
*ユーザー名[グループ]:ルート
*サービスプログラムします。/ usr / sbin / tcpdを
*パラメータ:はin.telnetd
3 )オープン&クローズドサービス
非常に単純な、限り、あなたは近い23のエンド輸入に例ほしいですのためのサービスプラスの前に#を、シャットダウンするよう、telnetは長い間、このようなとして、使用されています。
TCP NOWAITルートは/ usr / sbinに/ tcpdのはin.telnetdストリーミング#telnet
このとき、telnetサービスがシャットダウンされた、その後私はTelnet経由で私の友人のコンピュータにアクセスしたい場合は、#私はちょうどこのように、取り除く必要があります。
telnetのストリームのTCP NOWAITルートは/ usr / sbinに/ tcpdのはin.telnetd
このとき、telnetサービスは、シンプルであり、オンになっています。変更を有効にするには、次のコマンドを使用できるようにすることinetdプロセスを再起動します。
ジェームズ:〜#killallを-HUP inetdを
4. デーモン
時には、サービスプログラムのパラメータフィールドは、次のようないくつかのオプションを、表示されます。
SMTPストリームのTCP NOWAITルートは/ usr / sbinに/ sendmailのsendmailの-bs
行の最後に、次のコマンドを使用して同様の効果を有する「-bs」、BとSパラメータを使用することは、ある!:
hoodl UM:〜#sendmailの-bs
だから、あなたは彼らがそれにサービスプログラムのパラメータフィールドに追加されている限り、特定のパラメータデーモンを使用する場合。特定のパラメータは、人によって照会することができます。
5. TCPラッパー
TCPラッパーは、通常、6欄に、ネットワーク・アプリケーション・サービスを保護するために - ドメインサービスプログラムを。
telnetのストリームのTCP NOWAITルートは/ usr / sbinに/ tcpdのはin.telnetd
TCPラッパーは、二つのファイルは、/ etc / hosts.allowファイルと/etc/hosts.deny、サービスの利用に制限を使用しています。hosts.allowのファイル内のホストのサービスリストへのアクセスを許可され、hosts.denyのは、ホストがアクセスサービスを禁止含まれています。