|
Contributed at: 2004/11/21 (Sun) 22:51
|
まず、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 ]
固定リンク
| |
|