Telnetってなになの?

  • Telnetとは、サーバに接続し仮想的な端末として使用することのできるプロトコルのことをいいます。
    その昔、今のようにパソコンが1人1台という環境でなかった時代に、高価であったサーバをどのようにして大勢に使わせるという発想から考え出されたものであり、その当時は1人1台割り当てられていたとしてもそれは格安のダム端末っていうのから、このTelnetをつかってサーバにアクセスしていたのです。
    ※そんな名残もあって、いまでもTelnet信仰者が大勢おります(笑)
  • 昨今、このTelnetですがsshというのに置き換わっていってます。どうしてかというと通信内容が平文で送受信される。(いわゆるタレ流し)だからです。
    セキュリティ的に考慮されていないと言われても、その当時tcp-dump やLANアナライザーなんて高価で買えなかったからだけであり、いまではtcp-dump やスニファーなど無料で使用できることもあり、from-toで仕掛けられたら一発でアウト状態です。
  • そのような訳で telnet を設置する場合は、限定使用もしくはポートを変えるなどしておいた方が無難です。
前提条件
telnet-serverパッケージがインストール*1されていることが条件。
パッケージの確認は、rpm -q telnet-serverコマンドで確認できるよ。

Telnetの設定ファイル

  • /etc/xinetd.d/telnet 以下の定義値を修正する。
    disable         = no
  • xinitdを再起動する。
    # /etc/init.d/xinetd restart
    • Fedora16の場合
      # systemctl restart xinetd.service
    • コマンドラインからTelnetが使えるようになることを確認します(Puttyとかでもok)。
      % telnet localhost

念のためportを変更します。

1. /etc/services に記述されているtelnetの行を xxxxx番に編集
2. /etc/init.d/xinetd restart
3. 23 ポートに対して telnet が接続できないこと
4. xxxxx番ポートに対して telnet が接続できること

Telnetで接続できるアドレスの制限

  • このままだれでもアクセスできると困るので、接続できるアドレスの制限をしときます。
  • /etc/hosts.deny 以下の定義値を追加修正する。
    念のため、telnet で接続できなくなることを確認します。
    in.telnetd : ALL
  • /etc/hosts.allow 以下の定義値を追加修正する。
    念のため、telnet で接続できるを確認します。
    in.telnetd : 192.168.0. 127.0.0.1
注意!
これだけ危険といっても外部に公開しているとこあります。危険ですね。
外部からアクセスするなら、sshにしましょうよ。。

ユーザー単位で許可/不許可する

  • telnetのアタックをされないように(外部に公開してないけど)が多いのでユーザー単位で利用を制限する方法を導入してみる。
    • /etc/pam.d/login ファイルを開き最終行に以下の記述を追加する。
      これにより /etc/security/access.conf の設定が有効になる。
      account    required     pam_access.so
  • ユーザー単位で利用を制限する記述を /etc/security/access.conf ファイルに記述する。
    -:ALL EXCEPT hoge:ALL
  • 上記の設定は、hoge アカウントのみ全てのアクセス元からの接続を可能とする指定である。
    その他のアカウント接続は拒否されます。
    • 注意点として上記の設定は、Telnet だけでなく ftp/ssh にも影響することを考慮しなければなりません。

参考にさせて頂いたサイト様


*1 パーケッジのインストール方法はこちらを参照

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-08-30 (水) 15:29:31 (631d)