セキュリティやネットワーク、クラウドに強くなりたい私

ブリッジSEがぶつかったこと、学んでいること

4年目ブリッジSEがぶつかったこと、学んでいることをメモ程度にまとめます

EC2 Ubuntu18.04にtelnetで接続してみる

前提

EC2 Ubuntu18.04サーバにSSHで接続できること

$ less /etc/os-release
NAME="Ubuntu"
VERSION="18.04.4 LTS (Bionic Beaver)"
... 

作業

1. EC2にtelnet serverをインストール

デフォルトではbasic telnet clientのみしか入っていないので、telnet serverをインストールする

$ dpkg -l | grep telnet
ii  telnet                           0.17-41                             amd64        basic telnet client

以下telnet serverインストールコマンド

$ sudo apt -y install telnetd xinetd
$ sudo apt -y install inetutils-inetd
$ sudo vim /etc/inetd.conf
    以下を末尾に入力
    # telnet
    telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetd

$ sudo /etc/init.d/inetutils-inetd restart

上記作業後、以下にてインストールされていることが確認できる

$dpkg -l | grep telnet
ii  telnet                           0.17-41                             amd64        basic telnet client
ii  telnetd                          0.17-41                             amd64        basic telnet server

以下参考にしました。
UbuntuでTelnetを使えるようにする | ばったんの技術系ブログ

2. EC2にtelnet接続用のuserを作成する

ubuntuユーザでのtelnetでは失敗してしまう(password入力時、ubuntuユーザではパスワードを発行してないのでできない)ので、新たにユーザを作成する

$ sudo useradd telnetuser
$ sudo passwd tenetuser
    telnetで接続するためのpasswordを入力する

3. EC2のセキュリティグループにて、telnetのIPを空ける

telnetのデフォルトipはtcp23番なので、対象のEC2のセキュリティグループにて解放してあげる

ここでは、追加方法については説明しない

4. 実際に接続してみる

$ telnet -l telnetuser {xxx.xxx.xxx.xxx or dns}
Trying {xxx.xxx.xxx.xxx or dns}
Connected to {xxx.xxx.xxx.xxx or dns}
Escape character is '^]'.
Password:
    対象ユーザのpassを入力する

上記でtelnetでEC2 Ubuntu18.04サーバの23番ポートに接続し、リモートホストのネットワーク仮想端末へのアクセスができる

雑感

そもそもSSHで接続する時代なので、なかなか使わないと思いますが、telnetが本来他コンピュータを操作可能にするプロトコルだってことがわかるかなと思い、試してみました。
基本はtelnetでの接続は拒否し、SSHでの接続ができるようにするのがいいみたいですね。
まだtelnetで接続できる端末はあるみたいなので、セキュリティ観点から注意したいですね。

以下を見てる最中に、試したくなりました。
3 Minutes Networking No.53