
Ubuntu日本語フォーラム

ログインしていません。
お世話になります。
環境:Ubuntu 8.04.1 Linux 2.6.24-19-server (VMware On Windows XP SP2)
にて、サーバーのセットアップを試してみております。
現在、 Ubuntu のインストール --> make, gcc, telnetd, sshd のインストール
まで行いました。 (といっても apt-get install しただけですが)
とりあえず、telnet、sshdを設定し、少しずつサービスを立ち上げていきたいのですが、
これに先立ちスーパーサーバーの設定が必要である、という情報に辿り着き、それが掲題
二つのデーモンであることまではわかりました。
Google先生などの言うことに拠れば、inetd の機能強化版が xinetd であり、最近では
xinetdがデフォルトとして採用されつつある、とのことで、こちらを使ってみようかと思いましたが、
$ ps aux | grep inetd
とすると、Ubuntuにはinetdが既に導入されている、とわかりました。
以上に関連し、以下3点、質問させてください。
(1) inetd と xinetd の違いとして、致命的な違いがあるのか?
(たとえば、inetdだと攻撃を受けやすいとか、脆弱性が多い、更新が
今後期待できないといった違い)
(2) inetd がインストールされた環境に xinetd を同居させた場合、不具合が
発生することがあるか?
(3) inetd を削除するにはどうすればいいか?
(apt-get --purge remove しようとしても、パッケージが見つからない、と
エラーを吐いてとまってしまいます)
お手数ですが宜しくご教示の程お願い致します。
オフライン
ここを読まれた方が早いのではないかと思いますが。
inetd はいわゆる「枯れたコード」と言えますので、一般論としてバグや脆弱性はかなり少ないと思います。保証はできませんけど。
後は xinitd のサイトを見てください。Features を読むと、なかなかよさげですね。
最後の編集者: avidya (2008-08-26 16:31:41)
最近のunixやlinuxでは、セキュリティの観点からxinetdを推奨しているようです。
本件は「初心者サポート」の範囲を越えているような気がしますので、inetdがローディングされている理由だけをお知らせしたいと思います。
xinietdではサポートしていないtelnetdをインストールしたためレガシーなinitedがデーモン起動されています。ftpdとかr*シリーズなんかもxinetdではサポートしていないと思いますのでこれらを使うならばinetdが起動されます。リモートでログインする場合にはsshだけを使うことを勧めます。要するにレガシーなネットワークサービスは推奨されていないようです。
私の個人的な見解ですがubuntuのサーバ版はLAMP機能で高度なセキュリティ機能を持ったインターネットサーバを容易に構築できることが優位点の一つだと思います。
社内とかクローズされたドメインでの使用に関しては、使う方の知識でセキュリティポリシーを設定して使わなければならないと思います。
これはSolarisでもFreeBSDでも同じだと思いますよ。
オフライン
avidya による投稿:
ここを読まれた方が早いのではないかと思いますが。
inetd はいわゆる「枯れたコード」と言えますので、一般論としてバグや脆弱性はかなり少ないと思います。
ありがとうございます。xinetd本家(?)のサイトとかがあるんですね。
拝見したとところ、
Q. Is it compatible with inetd ?
A. No, its configuration file has a different format than inetd's one and it understands different signals. However the signal-to-action assignment can be changed and a program has been included to convert inetd.conf to xinetd.conf.
(Q.inetdと互換性ある? A.ない。フォーマットも違うし、マシンに渡す信号も違う。だけど信号は調整できるし、inetd.confをxinetd.confに変換するためのプログラムも含まれてる。)
互換性がなくて、変換しなければならない、と聞くと、前掲の(2)の、inetdが既に入っており、動作している
(その後調べたら、inetd.conf では自動的にtelnetdが有効になってました)環境へxinetdをそのまま
インストールして大丈夫なのかが気にかかります。
また最近のRedHatなどでは、xinetdが標準とされている、とのことですが、Ubuntuでは
デフォルトでinetd が推奨されている、ということなのでしょうか。
上述サイトを見る限り、xinetdのほうが今の時流にあっているように思われるのですが。
(使いこなせれば、という条件はつくと思いますが)
オフライン
ご教示ありがとうございます。
yamato による投稿:
xinietdではサポートしていないtelnetdをインストールしたためレガシーなinitedがデーモン起動されています。ftpdとかr*シリーズなんかもxinetdではサポートしていないと思いますのでこれらを使うならばinetdが起動されます。
xinetd、sshd を使ってみたいと思います。
細かい質問なんですが、inetdをアンインストールすることはできないのでしょうか?
(いわゆる、Windowsのシステムファイルみたいなもの?)
yamato による投稿:
本件は「初心者サポート」の範囲を越えているような気がしますので、
Linux・・・というかWindows以外を触るのが3日目なんですが・・・orz
オフライン
telnetdを削除してみたらいかがでしょうか。
telnetとかcshとかの単語が出てきているしサーバ版なので「初心者サポート」よりも「サーバ環境」で議論した方が良いと思ったのですが。
オフライン
yamato による投稿:
telnetdを削除してみたらいかがでしょうか。
telnetとかcshとかの単語が出てきているしサーバ版なので「初心者サポート」よりも「サーバ環境」で議論した方が良いと思ったのですが。
$ apt-get --purge remove telnetd
を実行した結果、telnetd は削除されたようです。(サービスの起動させるinetd.conf中の記述も
消えていることを確認しました)
ただ、やはりinetd自体は残りますし、apt-get コマンドではinetdの削除はできないようです。
サイズがさほど大きいものではないので、気にするほどのものではないのかもしれませんが、
xinetdを使う場合でも、inetdがシステムに残っている状態(inetdのプロセスは起動している状態)
で、併用するのが、普通?なのでしょうか。
## サーバー環境forumも当然拝見しておりますが、現時点では正直、異次元の言葉にしか見えなかったもので・・・
オフライン
調べてみるとubuntu(Debian系)のinetdのパッケージ名は「openbsd-inetd」に変更されているようですので、こちらの名前を使ってaptしてみては如何でしょうか。
それから、inetdの自動起動を止めるには(/etc/inetd.confが削除されているなら)以下のようにコマンドを打ち込めば良いのですが、ubuntuの流儀で正しい方法か良く判っていません。
有識者の方のご指導をお願いしたいのですが。
sudo update-rc.d -f inetd remove
有識者の方からご意見を待って頂いて、実行する前には必ずman update-rc.d でマニュアルを読んで理解してからお願いします。
余談で申し訳ないのですが、私もローカルエリア内に非力なPen2 333MHzのubuntu serverを立てています。インターネットには公開していません(ubuntu serverの本来の使い方ではないのかなって思っていますが)。ですので、LAMPやDHCP,dnsサーバに加えてnfsやsambaのサーバデーモンも動かしてしまっています(LTSPはまだ利用していません)。
LAMPでapache2も動かしているのでproftpdでftpのサーバデーモンを起動できるようにしていますが、これもxinetd経由で起動されています(確かインストール時に単独で起動するかinetd経由かみたいなことを聞かれたのでinetd経由を指定したのですがinetdが起動されるのではなくxinetd経由となっています)。
レガシーなftpdを選択していたらinetdが起動されていたかもしれませんね。
この様にserver版だとどうしてもサーバ機能に関する議論が多くなって「初心者サポート」での議論から外れていってしまうと思うのです(私もついつい「初心者サポート」に頼ってしまうのも事実ですが)。
「サーバ環境」でもサーバに関する初心者の議論はできると思います。
最後の編集者: yamato (2008-08-27 12:29:35)
オフライン
まだ私は昼休みの範疇なので余談をもう一つ。
telnetが推奨されていないのは、パスワードが平文でネット上に流れるのでセキュリティの観点からだと思っています。
それとコマンドラインで「sudo」が抜けていたので編集してしまいました。
最後の編集者: yamato (2008-08-27 12:30:39)
オフライン
kuronekox による投稿:
$ apt-get --purge remove telnetd
を実行した結果、telnetd は削除されたようです。(サービスの起動させるinetd.conf中の記述も
消えていることを確認しました)
ただ、やはりinetd自体は残りますし、apt-get コマンドではinetdの削除はできないようです。
telnetdをインストールしたときに「自動的に」インストールされたものであれば、telnetdをアンインストール後に
sudo apt-get update
sudo apt-get autoremove
で、telnetdと一緒にインストールされたパッケージも削除できると思います。
あと、Ubuntuで使われているUpstartは、将来的にinetd/xinetdを置き換える予定だとかなんとか。
オフライン
お返事が遅れ失礼しました。
yamato による投稿:
調べてみるとubuntu(Debian系)のinetdのパッケージ名は「openbsd-inetd」に変更されているようですので、こちらの名前を使ってaptしてみては如何でしょうか。
正式なパッケージ名の認識がありませんでした。助かりました。
xinetd もそうですが、 apt-get だと曖昧に指定してもインストールしてくれちゃうんですね。
Shibata による投稿:
telnetdをインストールしたときに「自動的に」インストールされたものであれば、telnetdをアンインストール後に
sudo apt-get update
sudo apt-get autoremove
で、telnetdと一緒にインストールされたパッケージも削除できると思います。
こちらの手順をやる前に、ダメもとで
$ sudo apt-get install xinetd
してみたところ、自動的にinetdが消されてました。
(インストール時の標準出力でその旨表示されてました)
確認のため
$ sudo find / -name "inetd*"
で検索しても、xinetd関係っぽい名前のものしか引っかからないので
おそらく正常に削除されたものと考えています。
(念のため、教えていただいた sudo apt-get autoremove も実施しました。)
ご教示ありがとうございました。
オフライン