自宅鯖計画

他のホストからログインできるようにしてみよう anchor.png

Telnet?かんたんっす。RedHatならば

/sbin/chkconfig telnet on

なおかつ、xinetdの設定で、自分以外のホストからのログインを許容しないような設定になっていますので、/etc/xinetd.d/telnetを

service telnet
{
        disable = no
        flags           = REUSE
#        only_from      = 127.0.0.1 ←コメントd (>◇< ) アウト!
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/sbin/in.telnetd
        log_on_failure  += USERID
}

と変更しましょう♪そのあとは

service xinetd restart

ほらできるようになったでしょう(笑)

Page Top

これだけではなんなので anchor.png

Telnetは古くからある外部からのログイン用プロトコルで、私がはじめてUNIX触ったころは、1つの端末から他のPCをいじれるなんてすごい!と思いました。

しかし、今となっては時代遅れプロトコルです。

  • 通信内容が暗号化されていないため、ログインパスワードが見られてしまう

近年のセキュリティとしては、これはかなり痛いです。間違っても「これを設定しておけば仕事場からも自分のパソコンにログインできるね♪」なんてことは絶対にしない方が無難です。あくまでも自宅のイントラネット内で行う分には自分ちネットワーク内にクラッカーがいない限り(笑)問題ないはず。

Page Top

では一般論 anchor.png

Telnetはもともとinetdスーパーサーバを経由して起動されます。inetdスーパーサーバってなんじゃい?と思われる方もいらっしゃるでしょうから一応説明。

Page Top

inetdスーパーサーバ anchor.png

inetdスーパーサーバは名前を聞くとなんとなく凄そうですね♪スーパーですから。何を受け持つかというと、こやつがクライアントからのリクエストを受け付けて、ターゲットのサーバを起動する仕事をします。つまり

Telnetクライアント→inetdスーパーサーバ→telnetデーモン起動

と動くわけですね。

Page Top

なぜに2段がまえ?? anchor.png

サーバというと、いろいろあります。HTTP,メール,Telnet,FTP,DNS,NFS。他にもチャットやら、IP電話、なんやらかんやら。全て挙げていくと、現時点で存在するもので1000個以上もサーバはあります。これを使うためにあらかじめサーバをぜーんぶ立ち上げておくと~、プロセスが一杯になってUNIXカーネルさんが「こんなに一杯仕事でけまへんがな」*1言ってきます。じゃ立ち上げなきゃいいじゃん?そーなんです。立ち上げなければいいんですが、立ち上げてないサーバ機能は結局使えません。じゃーダメじゃんー。

ここで昔のえらい人は考えました

「代表でリクエスト受けてくれる人が1人いて、必要に応じてサーバ立ち上げればええやん?」

でました、ここでinetdスーパーサーバさんの登場です。つまり、inetdスーパーサーバ1つ立ち上げておけば、たくさんあるサーバに成り代わってリクエストを受けてくれます。んで、リクエストの仕分けをして、適宜必要なサーバを立ち上げてくれます。立ち上げられたサーバは仕事が終わると消えてくれます。難しく言うとオンデマンドでサーバを起動してくれるサーバと言えますね。

Page Top

んじゃー全部そいつにやらせてしまへ anchor.png

いや、そりは現実的ではありません。なぜかと言うと、プロセスを作ったり消したりはOSさんの大仕事だからです。プロセス起動は

  • ハードディスクから実行イメージをメモリにロード
  • メモリに展開された実行イメージと、実行用仮想メモリ領域をOS内に準備
  • タスクをOSのスケジューラに登録

と瞬間的に動作します。プロセス削除はこの逆ですね。 メモリに立ち上げっぱなしにしておけば、この作業を省くことができます。なので軽く動かせるわけです。

Page Top

「じゃあどーやってinetdから起動するのと直接起動するのと分けるねん」 anchor.png

はい、そうきますよね。一般的にはユーザからのリクエストが頻繁にかかるサービスは直接起動、そうでもないやつはinetd経由です。例を出すと、頻繁にかかる奴は、メール、DNS、ファイルサーバ、HTTPサーバ…特にユーザが意識してないところでがつがつ動くやつです。対してそうでもない奴は、Telnet,FTP,チャットなど…ユーザが意識してサービスを使おうとするような奴は(コンピュータからみると)頻繁ではないサービスです。

Page Top

ちなみに anchor.png

スーパーサーバはいくつかございまして、散々出てきたinetd、inetdを拡張して、セキュリティ面を強化したxinetd、inetdとTCPwrapperを組み合わせたtcpserverがございます。inetdが古のスーパーサーバーですが、セキュリティ面で非常に弱いです。立ち上げてしまえば誰からでも接続要求を受け付けます。悪意攻撃をしてくることが分かっているホストであっても回避不可能です。このため、その他のスーパーサーバは設定が柔軟にできるように改良されています。 設定方法についてはこちらをご覧下さい。


*1 No more processと言われます

Front page   Freeze Diff Backup Copy Rename ReloadPrint View   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom) Powered by xpWiki
Counter: 3324, today: 1, yesterday: 0
Princeps date: 2009-08-16 (Sun) 22:40:12
Last-modified: 2009-08-16 (Sun) 22:40:12 (JST) (4090d) by maruo
ページ内検索

ログイン

ユーザー名:


パスワード:





パスワード紛失

メインメニュー

サブメニュー
自宅鯖計画

Gentoo Linuxな生活

玄箱HGにGentoo格闘記

航空ショーへ行こう

モータースポーツな世界

奥深き写真の世界への誘い

我思う ゆえに我あり



携帯用QRコード