🗝️

パスワードの練習

2022/12/17に公開

本エントリについて

Dynagen、Dynamips を使って、vty パスワード、コンソールパスワードの設定を練習します。
Dynagen、Dynamips の利用環境はすでに整っているものとします。

参考

https://www.infraexpert.com/study/ciscorouter6.html

環境について

Dynagen 設定ファイル抜粋
    [[ETHSW sw1]]
        1 = access 1
        3 = access 1 NIO_udp:30001:127.0.0.1:20001
    [[ROUTER r1]]
        model = 3725
        f0/0 = nio_tap:tap0
        f0/1 = sw1 1
    [[ROUTER r2]]
        model = 3725
        f0/0 = sw1 2

vty パスワードの設定

パスワードを設定していない状態です。

r1#show ip int bri
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            10.2.0.254      YES NVRAM  up                    up
FastEthernet0/1            10.2.1.253      YES NVRAM  up                    up

# show run | section vty
line vty 0 4
 login
r1#

このとき、telnet 接続後にすぐに切断されます。
パスワードが設定されていないため拒否されます。

$ telnet 10.2.0.254
Trying 10.2.0.254...
Connected to 10.2.0.254.
Escape character is '^]'.


Password required, but none set
Connection closed by foreign host.

パスワードを設定します。

(config)# line vty 0 4
(config-line)# password cisco

# show run | section vty
line vty 0 4
 password cisco
 login

telnet 接続できるようになりました。
ここで enable しようとすると、パスワードが設定されていないため拒否されます。

$ telnet 10.2.0.254
Trying 10.2.0.254...
Connected to 10.2.0.254.
Escape character is '^]'.


User Access Verification

Password:
r1>
r1>en
% No password set
r1>

enable パスワードを設定します。

(config)# enable secret cisco

# show run | section vty
line vty 0 4
 password cisco
 login

# show run | section enable
enable secret 5 $1$EKLJ$lQ7079xXjUmKrj2TCf6Mx1

telnet 後、enable できるようになりました。

$ telnet 10.2.0.254
Trying 10.2.0.254...
Connected to 10.2.0.254.
Escape character is '^]'.


User Access Verification

Password:
r1>
r1>en
Password:
r1#

コンソールパスワード

パスワードを設定します。

#show run | section line con
line con 0

r1#conf t
r1(config)#line con 0
r1(config-line)#password cisco

r1#show run | section line con
line con 0
 password cisco

パスワードが要求されません。

Press RETURN to get started.



r1>

login を追加します。

r1(config)#line con 0
r1(config-line)#login

r1#show run | section line con
line con 0
 password cisco
 login
r1#

無事、パスワードが要求されるようになりました。

Press RETURN to get started.




User Access Verification

Password:
r1>

パスワード暗号化

service password-encryption によって、平文で設定したパスワードが暗号化されます。

r1(config)#service password-encryption

r1#show run | section line
line con 0
 password 7 14141B180F0B
 login
line aux 0
line vty 0 4
 password 7 121A0C041104
 login

今後入力するパスワードも暗号化して保存されます。

r1(config)#line vty 0 4
r1(config-line)#password ccnp

r1#show run | section line vty
line vty 0 4
 password 7 1306141C1B
 login

no service password-encryption によって、以後のパスワードの暗号化はされなくなります。
一度暗号化したパスワードを平文に戻すことはできません。

r1(config)#no service password-encryption
r1(config)#line vty 0 4
r1(config-line)#password ccnp

r1#show run | section line
line con 0
 password 7 14141B180F0B
 login
line aux 0
line vty 0 4
 password ccnp
 login

暗号化タイプについて

コンフィグの暗号化されたパスワードの前に表示される数字が、暗号化タイプを示しています。

下記の 5 の場合、md5 で暗号化(ハッシュ化)されていることを示しています。

enable secret 5 $1$EKLJ$lQ7079xXjUmKrj2TCf6Mx1

下記の 7 の場合は、複合可能な暗号化です。

password 7 14141B180F0B

通常だと、コマンドでは平文のパスワードを入力しますが、暗号化タイプ、暗号化済み文字列を指定して入力することもできます。

ラインパスワードの例です。

r1(config)#line vty 0 4
r1(config-line)#password ?
  0     Specifies an UNENCRYPTED password will follow
  7     Specifies a HIDDEN password will follow
  LINE  The UNENCRYPTED (cleartext) line password

r1(config-line)#password 7 14141B180F0B

r1#show run | section line vty
line vty 0 4
 password 7 14141B180F0B
 login

enable secret の例です。

r1(config)#enable secret ?
  0      Specifies an UNENCRYPTED password will follow
  5      Specifies an ENCRYPTED secret will follow
  LINE   The UNENCRYPTED (cleartext) 'enable' secret
  level  Set exec level password

r1(config)#enable secret 5 $1$EKLJ$lQ7079xXjUmKrj2TCf6Mx1

r1#show run | section enable
enable secret 5 $1$EKLJ$lQ7079xXjUmKrj2TCf6Mx1

access-class

access-class を利用して、アクセス元を制限することができます。

r1(config)#line vty 0 4
r1(config-line)#access-class 1 in

r1#show ip access-lists 1
Standard IP access list 1
    10 permit 10.2.1.254 (2 matches)

r1#show run | section line vty
line vty 0 4
 access-class 1 in
 password cisco
 login

許可されていないアドレスからのアクセスは拒否されます。

admin@ip-10-0-0-73:~$ telnet 10.2.0.254
Trying 10.2.0.254...
telnet: Unable to connect to remote host: Connection refused

こちらのようにすると、仮想端末から接続できる先を制限することができます。

r1(config)#line vty 0 4
r1(config-line)#access-class 1 out

r1#show access-lists 1
Standard IP access list 1
    10 permit 10.2.1.254 (3 matches)

r1#show run | section line vty
line vty 0 4
 access-class 1 out
 password cisco
 login

仮想端末に接続した後、許可されていないアドレスへのアクセスは拒否されます。

$ telnet 10.2.0.254
Trying 10.2.0.254...
Connected to 10.2.0.254.
Escape character is '^]'.


User Access Verification

Password:
r1>
r1>telnet 10.2.1.253
Trying 10.2.1.253 ...
% Connections to that host not permitted from this terminal

まとめ

  • vty 接続は line が設定済みなので、password を追加するだけ。
  • vty 接続では、enable パスワードが無いと、enable できない。
  • コンソール接続でパスワードを要求するには passwordline の設定が必要。
  • access-class で接続を制限

ここではコンフィグのパスワードについての箇所を記載してますが、普通ですと公にしてはいけない情報です。

GitHubで編集を提案

Discussion