【Cisco】IOSルータ・スイッチに入れるおまじない設定
Contents
概要
IOSを搭載したCiscoのISRルータやCatalystスイッチを設定する際に、お約束で入れるおまじない設定を列挙します。
構築するシステムの要件によって必要/不要な箇所が異なりますが、昨今の一般的なシステムであれば、下記を入れておけば間違いないと思います。
投入コンフィグ
! TCPキープアライブ有効化
service tcp-keepalives-in
service tcp-keepalives-out
! ログ時刻表示
clock timezone JST 9 0
service timestamps debug datetime
service timestamps log datetime localtime show-timezone
! ログ保存サイズ
logging buffered 512000
! パスワード暗号化
service password-encryption
! 名前解決無効化
no ip domain lookup
! CDP無効化
no cdp run
! VTPモード変更
vtp mode transparent
! WebUI無効化
no ip http server
no ip http secure-server
! Smart Install無効化
no vstack
! シリアルコンソール設定
line con 0
logging synchronous
login local
exec prompt timestamp
! リモートコンソール設定
line vty 0 4
logging synchronous
login local
exec prompt timestamp
transport input ssh
! リモートコンソール設定(機種によってはVTY 5~15も設定)
line vty 5 15
logging synchronous
login local
exec prompt timestamp
transport input ssh
各設定の意味
TCPキープアライブ有効化
SSHのリモートログイン通信がハーフオープンまたは孤立状態の場合に、通信を切断する機能です。
リモートログインセッションが知らないうちに溢れて、ログイン不可になることを防止します。
service tcp-keepalives-in
service tcp-keepalives-out
ログ時刻表示
機器のログに時刻を表示させます。
1行目はタイムゾーンを日本時間(JST)に設定しています。
2行目、3行目は、コンソールのデバッグ出力および機器ログの出力時刻をJSTに設定しています。
clock timezone JST 9 0
service timestamps debug datetime
service timestamps log datetime localtime show-timezone
ログ保存サイズ
機器メモリへのログ保存サイズを指定します。
デフォルト値(4096byte)のままだとほとんどログが記録できません。
logging buffered 512000
パスワード暗号化
コンフィグファイルを表示する際パスワードを暗号化します。
セキュリティの観点から、暗号化しておいたほうが良いでしょう。
service password-encryption
名前解決無効化
名前解決が有効状態だと、コマンドをタイプミス下場合に毎回名前解決処理が行われ、数秒間次のコマンドを受け付けなくなります。デフォルト設定では名前解決が有効なので、基本的には無効化すべきです。
no ip domain lookup
CDP無効化
CDPは隣接するCisco機器の情報を収集します。
一般的な企業システムでは、構築対象機器に対してお客様機器や他社機器を接続する場合があり、必ずしも自社構築機器だけで完結するとは限りません。セキュリティの観点からCDPは無効化しておくべきです。
no cdp run
VTPモード変更
VTPは、Cisco機器間でVLAN設定を共有するためのプロトコルです。
デフォルト設定ではサーバモードとなっておりトランスペアレントモードの機器で作成されたVLANが勝手に同期されてしまう恐れがあります。
VTPを使用したVLAN運用をしないのであれば、他機器の設定を同期品いトランスペアレントモードに変更しておきます。
vtp mode transparent
WebUI無効化
最近のCisco StartシリーズはカラフルなWebUIの管理画面が搭載されていますが、エンタープライズ用途では一般的にWebUIは使用せずにTelnet/SSHによるCLIでリモート操作を実施します。
脆弱性が発見された場合のセキュリティホールにもなりますので、WebUIは無効化しておきます。
no ip http server
no ip http secure-server
Smart Install無効化
最近のIOSには、Smart Installと呼ばれるIOS自動設定機能が搭載されています。
残念ながら、現状Smart Installによる脆弱性が発見される場面がよく見受けられます。
同機能を使用しないのであれば、基本的には無効化しておきます。
no vstack
シリアルコンソール設定
物理的なシリアルコンソールケーブルでのログイン時の表示設定、認証設定を行います。
2行目のlogging synchronous
で、コマンド実行中にデバッグメッセージが表示されないようにして誤操作を防止します。
3行目のlogin local
で、機器コンフィグに設定されたユーザアカウントによる認証を行います。
4行目のtransport preferred none
で、誤ったコマンドを実行したときに、その文字列宛にtelnet接続しようとする動作を無効化します。
5行目のexec prompt timestamp
で、コマンド実行時に都度タイムスタンプを表示するようにします。オペレーション時の実行ログにも残るので、作業エビデンスの保存時に便利です。
line con 0
logging synchronous
login local
transport preferred none
exec prompt timestamp
リモートコンソール設定
リモートコンソールも、シリアルコンソールと同様に表示設定と認証設定を行います。
6行目のtransport input ssh
では、リモートログイン方式をSSHに限定しています。デフォルトではTelnetを使用する設定となっていますが、平文通信のためセキュリティ上問題があります。特殊な要件がない限りリモートログインはSSHを使用します。
リモートコンソールのポート数は機種によって異なる場合があります。16ポート設定可能な機種は、VTY5~15も追加で設定します。
line vty 0 4
logging synchronous
login local
exec prompt timestamp
transport preferred none
transport input ssh
line vty 5 15
logging synchronous
login local
exec prompt timestamp
transport preferred none
transport input ssh
また、SSHを使用する場合は、リモートコンソールの設定を行う前に下記SSH設定を行う必要があります。
! ユーザ設定(特権ユーザ権限で作成)
username <ユーザ名> privilege 15 secret <パスワード>
! ホスト名設定(任意のホスト名にする)
hostname RT01
! ドメイン設定(任意のドメインにする)
ip domain name cisco.com
! SSH暗号鍵作成(コマンド実行後、鍵長を聞かれるので2048を入力しエンター)
crypto key generate rsa
! SSH有効化
ip ssh version 2