FreeBSD QandA 827

FreeBSD QandA

Q. リモートから telnet 接続できないようにするにはどうすればいいんでしょ
   うか。

A. いくつかの方法が考えられます。

   ・/etc/inetd.conf の

     telnet stream  tcp     nowait  root    /usr/libexec/telnetd    telnetd

     という行の先頭に「#」をつけてコメント行にしてしまう。
     (kill -HUP `cat /var/run/inetd.pid` を忘れずに)。
     この方法だと、localhost からの telnet 接続もできなくなる。

     なお FreeBSD 4.4-RELEASE 以降から、telnetd を含めた inetd 経由で
     起動されるデーモンは、全て標準で無効になりました。

   ・tcp_wrapper(tcp_wrappers) を使って、一部のホストからのみ telnet 
     接続できるようにする。なお、ルータや xinetd で設定することもでき
     る。

   ・該当アカウントのパスワードファイルのシェルを変更しておく。

     ユーザ単位での管理で、telnet 接続させたくないユーザのログインシェ
     ルに、たとえば /sbin/nologin などを指定して、これを /etc/shells 
     に登録しておく。

   なお、

   ・telnet のポート番号を変えてしまう。

     デフォルトの telnet ポートは23番だが(/etc/services を参照)、これ
     を別の空いているポートに変えておく。この方法だと、telnet のポート
     番号を知っている自分だけが telnet できる。

   というのは、ポートスキャンされれば一発でばれます。やめておきましょう。

間違い・追加情報を見付けた場合は、 修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで お知らせください。