Cisco ルータにログインできるようにするときは、セキュリティのために必ずパスワードを設定します。この記事では、パスワードを CISCO として各種パスワードの設定方法を確認し、外部の端末から Telnet で接続できるようにします。
- 特権モードのパスワード(enable password と enable secret)の違い
- コンソールと VTY(Telnet・SSH)のパスワードの設定
- service password-encryption で line のパスワードを隠す
- 端末から Telnet で接続し、2つのパスワードを順に入力する
設定するパスワードの全体像
Cisco ルータにログインするときは、2段階でパスワードを聞かれます。まず、コンソールや Telnet・SSH で接続したときに、line(回線)ごとに設定したパスワードで認証され、ユーザー EXEC モード(R1>)に入ります。次に、enable コマンドで設定変更などができる特権 EXEC モード(R1#)に入るときに、特権モードのパスワードで認証されます。
| パスワード | 設定するコマンド | 使う場面 |
|---|---|---|
| 特権モード | enable secret(または enable password) | enable で特権 EXEC モードに入るとき |
| コンソール | line console 0 の password | コンソールケーブルでログインするとき |
| VTY | line vty 0 4 の password | Telnet・SSH でリモートからログインするとき |
特権モードのパスワード
enable password(平文で保存)
enable password コマンドは、特権モードへのアクセスを制御するもっとも基本的なパスワードの設定です。ただし、パスワードがそのまま(平文で)設定ファイルに保存されるため、セキュリティ上は推奨されません。
R1
R1(config)# enable password CISCO
show running-config で設定を確認すると、パスワードが平文で表示されます。設定ファイルを見た人には、パスワードがそのまま分かってしまいます。
R1
R1# show running-config
Building configuration...
・
・
!
enable password CISCO
セキュリティを重視する環境では enable password は使わず、次の enable secret を使います。
enable secret(ハッシュ化して保存)
enable secret コマンドは、パスワードをハッシュ化して保存します。ハッシュ化は元のパスワードに戻せない一方向の変換なので、設定ファイルを見られても、パスワードがそのまま知られることはありません。
R1
R1(config)# enable secret CISCO
show running-config では、ハッシュ化されたパスワードが表示されます。
R1
R1# show running-config
Building configuration...
・
・
!
enable secret 4 zqx41LB0PDWLOwD83WC2N1ncA0PcuK71.j1sri9Xkwg
secret のあとの数字は、ハッシュ化の方式(タイプ)を表しています。この検証機の IOS では、SHA-256 を使うタイプ 4 で保存されました。IOS のバージョンによっては、MD5 を使うタイプ 5 で保存されます。
| タイプ | 保存のしかた |
|---|---|
| 0 | 平文 |
| 4 | SHA-256 でハッシュ化(現在は非推奨) |
| 5 | MD5 でハッシュ化 |
| 7 | service password-encryption による簡易な暗号化(復号できる) |
| 8 | PBKDF2(SHA-256)でハッシュ化 |
| 9 | scrypt でハッシュ化 |
タイプ 4 は、実装上の問題が見つかったため、現在は非推奨になっています。新しい IOS では、enable algorithm-type scrypt secret パスワード(タイプ 9)や enable algorithm-type sha256 secret パスワード(タイプ 8)で、より強い方式を指定できます。使える方式は IOS のバージョンによって違うので、機器のコマンドリファレンスで確認してください。
enable secret を設定すると、enable password で設定したパスワードは使われなくなります。両方に同じパスワードを設定すると警告が表示されます。enable secret の意味がなくなるので、同じパスワードにはしないでください。
line のパスワード
コンソール接続のパスワード
コンソールケーブルでログインするときのパスワードは、line console 0 で設定します。
R1
R1(config)# line console 0 R1(config-line)# password CISCO R1(config-line)# login
password でパスワードを設定し、login でログイン時にそのパスワードを確認するようにします。login がないと、パスワードを設定しても聞かれません。
VTY(Virtual Teletype)のパスワード
Telnet や SSH でリモートからログインするときは、VTY を使います。VTY は Cisco ルータの仮想的な回線(ポート)です。line vty 0 4 は、0〜4 番の5本の VTY をまとめて設定するという意味です。Telnet で接続できるようにするには、次のように設定します。
R1
R1(config)# line vty 0 4 R1(config-line)# password CISCO R1(config-line)# login
Telnet は通信を暗号化しないため、パスワードを含むやり取りがそのままネットワークに流れ、盗聴されるおそれがあります。実際の運用では SSH を使い、VTY で transport input ssh を設定して、暗号化された接続だけを受け付けるようにします。
SSH の設定は、初心者でも簡単!Ciscoで安全なSSH設定方法 を参照してください。
line のパスワードを隠す(service password-encryption)
Cisco ルータでは、line のパスワードは既定で平文のまま設定ファイルに保存されます。service password-encryption コマンドを使うと、平文で保存されているパスワードを暗号化した形で保存できます。
R1
R1(config)# service password-encryption
このコマンドは、line のパスワードのほか、username のパスワード、認証キー、enable password など、設定ファイルに平文で保存されるパスワードを対象にします。暗号化したあとの設定は、次のように表示されます。
R1
R1# show running-config . . line con 0 password 7 14343B382F2B login line vty 0 4 password 7 106D202A2638 login !
password 7 の 7 は、service password-encryption で暗号化されたことを表します。タイプ 7 は簡易な方式で、復号するツールも多く出回っています。画面をのぞき見られたときにパスワードがそのまま見えないようにする程度のものと考え、設定ファイルそのものは外に出さないように管理します。
リモート端末からの Telnet 接続
端末から Telnet で接続する
VTY にパスワードを設定したので、端末から Telnet で R1 に接続できるようになりました。端末(192.168.12.100)から R1(192.168.12.1)へ接続します。
端末側では、Tera Term で Telnet 接続します。
この記事の画面は、実際の画面ではなく、検証時の画面から設定する項目(見るポイント)を抜き出して描いたイメージです。バージョンによって、項目の並びや表記は変わります。
| 接続方式 | ◉ TCP/IP○ Serial |
| 1Host | 192.168.12.1 ☑ History |
| 2Service | ◉ Telnet○ SSH○ Other |
| TCP port# | 23 |
| SSH version | SSH2 |
| IP version | AUTO |
| No. | 項目 | 設定内容 |
|---|---|---|
| 1 | Host | 接続先の R1 の IP アドレス(192.168.12.1) |
| 2 | Service・TCP port# | Telnet を選ぶ。ポート番号は Telnet の 23 になる |
| 3 | OK | 押すと接続を始める |
接続するとパスワードを聞かれるので、line vty で設定したパスワードを入力します。ログインできたら、次に enable コマンドを入力します。すると、もう一度パスワードを聞かれます。これは特権モードのパスワードで、enable secret(または enable password)で設定したパスワードを入力します。
User Access Verification 1Password:R1>enable2Password:3R1#R1#R1#
| No. | 表示 | 意味 |
|---|---|---|
| 1 | Password: | VTY のパスワード(line vty 0 4 の password)を入力する。入力した文字は表示されない |
| 2 | Password: | enable のあとに聞かれる特権モードのパスワード(enable secret)を入力する |
| 3 | R1# | プロンプトが > から # に変わり、特権 EXEC モードに入れた |
これで、Telnet で特権モードまでログインできました。
まとめ
| 設定 | コマンド | ポイント |
|---|---|---|
| 特権モード | enable secret | ハッシュ化して保存される。enable password(平文)は使わない |
| コンソール | line console 0password / login | login がないとパスワードを聞かれない |
| VTY | line vty 0 4password / login | Telnet・SSH のログインに使う。運用では SSH を使う |
| パスワードを隠す | service password-encryption | 平文のパスワードをタイプ 7 で保存する。簡単に復号できるので、のぞき見対策と考える |
コメント