1. ホーム
  2. オペレーティングシステム
  3. リナックス

Linuxにおけるxinetdサービスの管理方法に関するケーススタディ

2022-01-13 06:27:42

xinetdベースのサービススタートアップ

xinetdベースのサービスは、独自のスタンドアロン・スタートアップ・スクリプトを持たず、xinetdのスタートアップ・スクリプトに依存して起動します。

ただし、xinetdスーパーデーモンをベースとする他のすべてのサービスはこの限りではなく、xinetdベースのサービスを起動するには、そのサービスの設定ファイルを変更する必要があります。すべてのxinetdベースのサービスの設定ファイルは、/etc/xinetd.d/ディレクトリに格納されています。

Telnetサービスは、ポート23でシステムのリモート管理に使用されますが、Telnetサービスのリモート管理データは、ネットワーク上で平文で転送され、非常に安全でないため、本番サーバーでTelnetサービスを起動することは推奨されないことに注意してください。本番サーバーでは、リモート管理は暗号化され、より安全なsshプロトコルを使用します。

Telnetサービスもquot;クライアント/サーバーサイド"に分けられ、サーバーサイドはTelnetサービスを開始するために使用され、安全ではありません。クライアントサイドは、サーバーへの接続やサーバーのポートが開いているかどうかのテストに使われ、実際には主にリモートサーバーのどのポートが開いているかのテストにTelnetクライアントが使用されています。

クライアントのコマンド形式は以下の通りです。

[root@localhost ~]# telnet server IP
# connect to and manage the remote server, which is not secure because the data is transmitted in clear text
[root@localhost ~]# telnet server IP port
# Test if the port of the remote server is open. If you can connect normally, the port is open

[root@localhost ~]# telnet 192.168.0.210 22
# test to see if port 22 (ssh service) is open on the server 192.168.0.210
# After successful connection, use "Ctrl+]" shortcut to return to telnet interactive mode, then type "quit" to exit

Telnetサービスは安全ではありませんが、Telnetサービスはxinetdベースのサービスであり、xinetdベースのサービスのスタートアップ管理について少し学ぶためにTelnetサービスを使用します。現在のLinuxシステムでは、Telnetはサーバ側にインストールされていないので、テストする場合は、手動でインストールする必要があります。インストールコマンドは以下の通りです。

[root@localhost ~]#rpm-ivh/mnt/cdroin/Packages/telnet-server-0.17-47.el6.i686.rpm
[100%]
###############
Preparing...
1:telnet-server
###############
[100%]
# install
[root@localhost ~]# chkconfig -list
# Check after installation
...omitting some of the output...
xinetd-based services.
chargen-dgram: close
chargen-stream: shutdown
cvs: off
daytime-dgram: off
daytime-stream: off
discard-dgram: off
discard-stream: off
echo-dgram: off
echo-stream: off
rsync: off
tcpmux-server:off
telnet:off
time-dgram: off
time-stream: off
#Telnet service is installed, it is an xinetd based service, the self-starting state is off

次に、Telnetサービスを起動する必要があります。xinetd 系サービスの設定ファイルは /etc/xinetd.d/ ディレクトリにあるので、Telnet サービスの設定ファイルは /etc/xinetd.d/telnet となる。このファイルを開いて、次のように見てみましょう。

[root@localhost ~]#vi /etc/xinetd.d/telnet
#default: on
#description: The telnet server serves telnet sessions; it uses \unencrypted username/password pairs for authentication.
#unencrypted username/password pairs for authentication.
service telnet
The name of the #service is telnet
{
flags = REUSE
#flags = REUSE to set TCP/IP socket reusable
socketjtype = stream
# Use TCP protocol packets
wait = no
#Allows multiple connections at the same time
user = root
# Start the service with root as the user
server = /usr/sbin/in.telnetd
# The service's startup procedure
log_on_failure += USERID
#Log the user ID after login failure
disable = yes
# The service is not started
}

Telnetサービスを起動したい場合は、/etc/xinetd.d/telnetファイル内の"disable=yes"を"disable=no"に変更するだけです。 "disable" はキャンセル、 " disable=yes" はキャンセル代行で、もちろんサービスを起動しない、 " disable=no" はノー、もちろんサービスを起動する、となっています。具体的なコマンドは以下の通りです。

[root@localhost ~]#vi /etc/xinetd.d/telnet
#modify the configuration file
service telnet {
...omitting some output...
disable = no
# change yes to no
disable = no}
[root@localhost ~]# service xinetd restart
# restart the xinetd service
Stop xinetd:
[OK]
Starting xinetd:
[OK]
[root@localhost ~]# netstat -tlun|grep 23
tcp 0 0 :::23 :::* LISTEN
# check port, port 23 is up, means Telne service is up