GNU/Linux >> Linux の 問題 >  >> Cent OS

RHEL 8 / CentOS8Linuxでxinetdを使用してサンプルサービスをインストールおよびセットアップする方法

Xinetd、または拡張インターネットサービスデーモンは、いわゆるスーパーサーバーです。多くのサービスの代わりにリッスンするように構成し、着信要求が実際にシステムに到着したときにのみ着信要求を処理するサービスを開始できるため、リソースを節約できます。これは、トラフィックが比較的永続的なシステムでは大したことではないように思われるかもしれませんが、別のアプローチの前にあるこのサービスには、ロギングやアクセス制御などのいくつかの優れた利点があります。

この記事では、xinetdをRHEL 8 / CentOS 8にインストールし、sshdを配置します。 世話をしているデーモン。設定を確認したら、構成を少し調整して、アクセス制御が機能していることを確認します。

このチュートリアルでは、次のことを学びます。

  • xinetdのインストール方法
  • RHEL 8 /CentOS8でxinetdサービスとしてsshdをセットアップする方法
  • 特定のネットワークからxinetdからsshdサービスへのアクセスのみを許可する方法
  • xinetdログエントリからのトラフィックを監査する方法

特定のネットワークセグメントからsshdへのアクセスを許可します。

使用されるソフトウェア要件と規則

システム ソフトウェア その他 規約
ソフトウェア要件とLinuxコマンドラインの規則
カテゴリ 使用する要件、規則、またはソフトウェアバージョン
RHEL 8 / CentOS 8
xinetd 2.3.15-23、OpenSSH 7.8p1
rootまたはsudoを介したLinuxシステムへの特権アクセス コマンド。
–指定されたLinuxコマンドは、rootユーザーとして直接、またはsudoを使用して、root権限で実行する必要があります。 コマンド
$ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります

RedHat8にxinetdサービスをインストールする方法ステップバイステップの説明

Xinetd 公式のサブスクリプション管理リポジトリを設定した後、ベースリポジトリにあります。 sshd サーバーはデフォルトですべてのRedHat(およびほとんどすべてのLinuxディストリビューション)にインストールされます。

警告
sshdであることを忘れないでください このセットアップ中はオフになります。 sshでのみアクセスできるシステムでこのガイドを完了しようとしないでください。そうしないと、sshdをオフにしてxinetdサーバーを起動した瞬間にシステムへの接続が失われます。
  1. 最初にxinetdをインストールする必要があります デーモン。 dnfを使用します :
    # dnf install xinetd
  2. 何らかの理由でシステムにOpenSSHインストールが含まれていない場合は、この場合のopensshのようなパッケージをインストールできます。 上記と同じ方法でパッケージ化します:
    # dnf install openssh
  3. Xinetdにはデフォルトの構成ファイル/etc/xinetd.confが付属しています 、および/etc/xinetd.d/のいくつかの優れた例 ディレクトリ。デフォルトではすべて無効になっています。 viのようなテキストエディタを使用 またはnano 、新しいテキストファイル/etc/xinetd.d/sshを作成しましょう 次の内容で(サービス名の後の改行は必須であることに注意してください):
    service ssh 
    {
     disable     = no
     socket_type = stream
     protocol    = tcp
     port        = 22
     wait        = no
     user        = root
     server      = /usr/sbin/sshd
     server_args = -i
    }
  4. sshdの場合 サーバーがシステムで実行されている場合は、サーバーを停止する必要があります。停止しない場合は、xinetd TCPポート22にバインドできません。これは、ssh経由でログインした場合に切断されるステップです。
    # systemctl stop sshd

    長期的にxinetdよりもsshdを使用する予定の場合は、systemdを無効にすることもできます。 起動時に起動しないようにするためのサービス:

    systemctl disable sshd
  5. これでxinetdを開始できます :
    # systemctl start xinetd

    オプションで、起動時に起動を有効にします:

    # systemctl enable xinetd
  6. xinetdの起動後、基本的なセットアップには追加の制限が含まれていないため、sshを介してログインできます。サービスをテストするために、localhostへのログインを要求します :
    # ssh localhost
    root@localhost's password: 
    Last login: Sun Mar 31 17:30:07 2019 from 192.168.1.7
    #
  7. /etc/xinetd.d/sshに別の行を追加しましょう 、ブレスレットを閉じる直前:
    [...]
     server      = /usr/sbin/sshd
     server_args = -i
     only_from   = 192.168.0.0
    }

    この設定では、ネットワークセグメント192.168.*。*からのアクセスのみを制限します。この構成変更を有効にするには、xinetdを再起動する必要があります:

    # systemctl restart xinetd
  8. 私たちのラボマシンには複数のインターフェースがあります。上記の制限をテストするために、xinetd構成で許可されていない1つのインターフェースと、実際に許可されているインターフェースに接続してみます。
    # hostname -i
    fe80::6301:609f:4a45:1591%enp0s3 fe80::6f06:dfde:b513:1a0e%enp0s8 10.0.2.15 192.168.1.14 192.168.122.1

    システム自体から接続を開こうとするので、送信元IPアドレスは接続しようとしている宛先と同じになります。したがって、10.0.2.15に接続しようとすると 、接続は許可されていません:

    # ssh 10.0.2.15
    ssh_exchange_identification: read: Connection reset by peer

    アドレス192.168.1.14 許可されたアドレス範囲内にあります。パスワードプロンプトが表示され、ログインできます:

    # ssh 192.168.1.14
    [email protected]'s password:
  9. デフォルトのログ設定を変更していないため、ログインの試行(つまり、xinetdサービスへのアクセスの試行)は/var/log/messagesに記録されます。 。ログエントリは、単純なgrepで見つけることができます :
    cat /var/log/messages | grep xinetd
    Mar 31 18:30:13 rhel8lab xinetd[4044]: START: ssh pid=4048 from=::ffff:10.0.2.15
    Mar 31 18:30:13 rhel8lab xinetd[4048]: FAIL: ssh address from=::ffff:10.0.2.15
    Mar 31 18:30:13 rhel8lab xinetd[4044]: EXIT: ssh status=0 pid=4048 duration=0(sec)
    Mar 31 18:30:18 rhel8lab xinetd[4044]: START: ssh pid=4050 from=::ffff:192.168.1.14

    これらのメッセージにより、当社のサービスがどのようにアクセスしたかを簡単に知ることができます。他にも多くのオプションがありますが(同時接続の制限、DOS攻撃を防ぐための接続失敗後のタイムアウトの設定など)、この単純なセットアップは、システム管理者の生活を楽にすることができるこのスーパーサーバーの能力を示していると思います。システム。


Cent OS
  1. CentOS8でNginxを使用してVarnishCache6をインストールおよびセットアップする方法

  2. CentOS / RHEL 7 :ftp サーバー (vsftpd) をインストールして構成する方法

  3. CentOS/RHEL 8 に NTP サービスとクライアントをインストールする方法

  1. CentOS 6 /RHEL6にPHP5FastCGIとMySQLを使用してlighttpdをインストールする方法

  2. GoをFedoraおよびRockyLinux/ Centos/RHELにインストールする方法

  3. CentOS / RHEL :Apache httpd サービスをインストールして開始する方法

  1. RHEL 8 / CentOS8Linuxにredmineをインストールする方法

  2. RHEL 8 / CentOS8Linuxでxinetdを使用してサンプルサービスをインストールおよびセットアップする方法

  3. RHEL 8 / CentOS8LinuxシステムにRをインストールして構成する方法