Pocketstudio.jp :: Logbook :: Linux :: Fedora Core 3のメモ
 Contributed at:   2004/11/21 (Sun) 22:51

■ /linux/FedoraCore3/ FedoraCore3 のサーバに telnet でログインする(telnet-server)


 まず、telnet-server パッケージがサーバに入っているかどうか確認する必要があります。
 確認方法は rpm コマンドを使い【 rpm -qi telnet-server 】を実行します。以下のようにパッケージ情報が表示されれば既にサーバ内に telnet サーバ(in.telnetd)が入っています。
$ rpm -qi telnet-server
Name        : telnet-server                Relocations: (not relocatable)
Version     : 0.17                              Vendor: Red Hat, Inc.
Release     : 30                            Build Date: 2004年07月05日 17時57分18秒
Install Date: 2004年11月13日 20時16分06秒      Build Host: tweety.build.redhat.com
Group       : システム環境/デーモン         Source RPM: telnet-0.17-30.src.rpm
Size        : 45988                            License: BSD
Signature   : DSA/SHA1, 2004年10月21日 02時52分15秒, Key ID b44269d04f2a6fd2
Packager    : Red Hat, Inc. 
Summary     : telnet リモートログインプロトコル用のサーバープログラム
Description :
telnet はインターネット経由でリモートシステムにログインする一般的な
プロトコルです。telnet-server パッケージはホストマシンへのリモート
ログインをサポートする telnet デーモンを提供します。telnet デーモン
はデフォルトでは有効になっていますが、/etc/xinet.d/telnet を
編集して無効にすることもできます。
 もし、インストールされていないという表示、
$ rpm -qi telnet-server
パッケージ telnet-server はインストールされていません
 が出るときは yum を使って telnet-server をインストールします。root ユーザ権限から【 yum install telnet-server 】です。
# yum install telnet-server
Setting up Install Process
Setting up Repo:  base
repomd.xml                100% |=========================| 1.1 kB    00:00
Setting up Repo:  updates-released
repomd.xml                100% |=========================|  951 B    00:00
Reading repository metadata in from local files
base      : ################################################## 2622/2622
primary.xml.gz            100% |=========================|  87 kB    00:02
MD Read   : ################################################## 222/222
updates-re: ################################################## 222/222
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for telnet-server to pack into transaction set.
telnet-server-0.17-30.i38 100% |=========================| 7.1 kB    00:00
---> Package telnet-server.i386 1:0.17-30 set to be installed
--> Running transaction check

Dependencies Resolved
Transaction Listing:
  Install: telnet-server.i386 1:0.17-30
Is this ok [y/N]: y ←手で『 y 』を入力します
Downloading Packages:
telnet-server-0.17-30.i38 100% |=========================|  32 kB    00:00
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: telnet-server 100 % done 1/1

Installed: telnet-server.i386 1:0.17-30
Complete!
 このように『 Complete! 』と出ていれば正常終了です。  

 次にサービスとして telnet 接続が出来るように【 chkconfig 】コマンドで xinetd 経由で接続ができるように設定を行います。インストール直後は off となっています。

# /sbin/chkconfig --list telnet
telnet          off
 そこで【 /sbin/chkconfig telnet on 】を実行して telnet を許可します。
# /sbin/chkconfig telnet on
 画面には何も出ませんが、もう一度 chkconfig —list で確認すると off だった表記が on になっている事がわかります。
# /sbin/chkconfig --list telnet
telnet          on
 次に、サービスとして telnet を提供出来るわけですが、このままでは誰でもどこからでもアクセス出来るため、セキュリティ上好ましくありません。TCP-WRAPPER(ティー・シー・ピー・ラッパー)を使って、アクセス制限を行います。

 対象ファイルは2つです。/etc/hosts.allow が許可、/etc/hosts.deny が拒否の設定です。
 まず、拒否は【 vi /etc/hosts.deny 】でファイルを開き、以下の記述を追加します。

# /sbin/chkconfig --list telnet
in.telnetd: ALL
 ”in.telnetd” としているのは、xinetd の設定ファイル /etc/xinet.d/telnet の中で server = で指定されている対象が【 /usr/sbin/in.telnetd 】の為です。【in.telnetd: ALL】と /etc/hosts.deny に記述することで「一旦すべての telnet 接続を拒否」させます。
 次に許可先の記述を /etc/hosts.allow に行います。以下は記述例です。
in.telnetd: 192.168.11.
in.telnetd: 127.0.0.1
in.telnetd: .pocketstudio.jp
 /etc/hosts.allow と /etc/hosts.deny では、/etc/hosts.allow の記述が優先されます。ですので、/etc/hsots.deny ですべての telnet が拒否されても、/etc/hsots.allow に記述された環境からの telnet 接続を許可する形になります。

 もしアクセス制限にかかってしまう場合にはログにエラーが出ます。
 /var/log/secure には from = で書かれた環境からの接続を拒否したと残ります。

Nov 21 22:02:34 sion xinetd[3664]: FAIL: telnet libwrap from=192.168.11.102
(逆に、特定の相手環境が不明な場合でも telnet を許可したいなら、 /var/log/secure の FAIL 記録を確認し、/etc/hosts.allow に環境を追加する方法がとれます。
 /var/log/messages には
Nov 21 22:02:34 sion xinetd[3664]: libwrap refused connection to telnet (libwrap=in.telnetd) from 192.168.11.102
 こちらも同じく 192.168.11.102 という環境からの接続を拒否した(libwrap refused connection) と表示されます。

[分類 /linux/FedoraCore3 ] 固定リンク

 
 書込記録 - Calendar -
11月(November)
Sun Mon Tue Wed Thu Fri Sat
 
21
       
2004
11月
 お品書き[ BLOG ] - Weblog -
 過去ログ書庫 - Archives -

  "ポケットスタジオ" Copyright ©1997-2004 Pocketstudio.jp. Some rights reserved.