Cisco ios セキュリティ強化コマンドなど
! TCPキープアライブ有効化
service tcp-keepalives-in
service tcp-keepalives-out
! パスワード暗号化
service password-encryption
! ホスト名設定(任意のホスト名)
hostname <ホスト名>
ip domain name <ドメイン名>
! SSH暗号鍵作成(コマンド実行後、鍵長を聞かれる)
crypto key generate rsa
! SSH有効化
ip ssh version 2
! DHCPサービス無効化
no service dhcp
! ログ時刻表示
clock timezone JST 9 0
service timestamps debug datetime msec localtime show-timezone year
service timestamps log datetime msec localtime show-timezone year
! 始点経路制御の無効化
no ip source-route
! Bootpの停止
no ip bootp server
ip dhcp bootp ignore ※IOS 12.2(8)T 以降
! DNSの無効化
no ip domain-lookup
! ログにシーケンスナンバーを付与
service sequence-numbers
! ログ保存サイズ(cisco推奨値)
logging buffered 512000
! ログイン成功、失敗ログ出力
login on-failure log
login on-success log
archive
log config
logging enable
notify syslog contenttype plaintext
hidekeys
username <ユーザ名> secret <パスワード>
※上記ログをsnmpのトラップにてsyslogサーバへ転送
logging history informational
logging snmp-trap emergencies
logging snmp-trap alerts
logging snmp-trap critical
logging snmp-trap errors
logging snmp-trap warnings
logging snmp-trap notifications
logging snmp-trap informational
logging snmp-trap debugging
snmp-server community nssjp2 RO <ACL(任意)>
snmp-server trap-source <IF指定>
snmp-server location <ロケーション(任意)>
snmp-server contact <企業名等(任意)>
snmp-server enable traps snmp authentication linkdown linkup coldstart
warmstart
snmp-server enable traps syslog
snmp-server host <サーバIP> version 2c <community名> syslog
! CDP無効化
no cdp run
! LLDP無効化
no lldp run
! VTPモード変更
vtp mode transparent
! WebUI無効化
no ip http server
no ip http secure-server
! Smart Install無効化
no vstack
! コンフィグレーションモード制限
configuration mode exclusive auto
!banner設定
banner exec ^
=================================================
USER:<ユーザ名>
TYPE:[Model:<機器モデル>]
HOSTNAME:[$(hostname)]
LOCATION:[<ロケーション>]
IOS VER:[<Version>]
S/N :[<機器シリアル>]
=================================================
^C
! シリアルコンソール設定
line con 0
logging synchronous
login local
transport preferred none
exec prompt timestamp
! リモートコンソール設定
line vty 0 4
logging synchronous
login local
exec prompt timestamp
transport preferred none
transport input ssh
! IFのセキュリティ設定
interface Gi XX
no ip redirects ※ ip icmp リダイレクトの無効化
no ip unreachables ※icmp 到達不能メッセージの生成を無効化
・参考
! ユーザと管理者を分ける設計
username user privilege 1 secret xxxxx username admin privilege 15
secret xxxxx
! aux無効化
line aux 0
transport input none
transport output none
no exec
exec-timeout 0 1
no password
参考情報
https://www.cisco.com/c/ja_jp/support/docs/ip/access-lists/13608-21.html
各設定の意味(解説不要そうなものは割愛)
◆TCPキープアライブ有効化
デバイスへの着信接続やデバイスからの発信接続で TCP セッションのための、キープアライブをイネーブルにします。
本項目により、孤立状態やハーフオープンとなっているセッションを切断削除してくれる。
service tcp-keepalives-in
service tcp-keepalives-out
◆パスワード暗号化
コンフィグファイル上のパスワードを暗号化表示します。
service password-encryption
◆SSH暗号鍵作成
SSH利用時の暗号鍵の生成をします。
ENTERを実行すると、鍵長を聞かれるため2048を入力し、ENTERを実行。
crypto key generate rsa
◆SSH有効化
明示的にv2の指定をする事で、v1を無効とする。
ip ssh version 2
◆DHCPサービス無効化
DHCPサービスの無効化をする。
no service dhcp
◆ログ時刻表示
機器のログに時刻を表示させます。
2行目、3行目は、コンソールのデバッグ出力および機器ログの出力時刻をJSTに
設定しています。
clock timezone JST 9 0
service timestamps debug datetime msec localtime show-timezone year
service timestamps log datetime msec localtime show-timezone year
◆始点経路制御の無効化
source-route(始点経路制御)の無効化設定。
攻撃に利用されるため、無効化推奨。
no ip source-route
◆Bootpの停止
BOOTPサービス(他の機器からルータを起動することを可能にする機能)を無効とする
no ip bootp server
ip dhcp bootp ignore ※IOS 12.2(8)T 以降
◆DNSの無効化
no ip domain-lookup
◆ログにシーケンスナンバーを付与
service sequence-numbers
◆ログ保存サイズ
機器メモリへのログ保存サイズを指定します。
デフォルト値(4096byte)のままだとほとんどログが記録できません。
logging buffered 512000
◆ログイン成功、失敗ログ出力
login on-failure log
login on-success log
archive
log config
logging enable
notify syslog contenttype plaintext
hidekeys
username <ユーザ名> secret <パスワード>
※上記ログをsnmpのトラップにてsyslogサーバへ転送
logging history informational
logging snmp-trap emergencies
logging snmp-trap alerts
logging snmp-trap critical
logging snmp-trap errors
logging snmp-trap warnings
logging snmp-trap notifications
logging snmp-trap informational
logging snmp-trap debugging
snmp-server community nssjp2 RO <ACL(任意)>
snmp-server trap-source <IF指定>
snmp-server location <ロケーション(任意)>
snmp-server contact <企業名等(任意)>
snmp-server enable traps snmp authentication linkdown linkup coldstart
warmstart
snmp-server enable traps syslog
snmp-server host <サーバIP> version 2c <community名> syslog
◆CDP無効化
CDPは隣接するCisco機器の情報を収集します。
一般的な企業システムでは、構築対象機器に対してお客様機器や他社機器を接続
する場合があり、必ずしも自社構築機器だけで完結するとは限りません。セキュ
リティの観点からCDPは無効化しておくべきです。
no cdp run
◆LLDP無効化
no lldp 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
◆コンフィグレーションモード制限
configuration mode exclusive auto
◆banner設定
banner exec ^
=================================================
USER:<ユーザ名>
TYPE:[Model:<機器モデル>]
HOSTNAME:[$(hostname)]
LOCATION:[<ロケーション>]
IOS VER:[<Version>]
S/N :[<機器シリアル>]
=================================================
^C
◆シリアルコンソール設定
物理的なシリアルコンソールケーブルでのログイン時の表示設定、認証設定を行
います。
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
◆IFのセキュリティ設定
interface Gi XX
no ip redirects ※ ip icmp リダイレクトの無効化
no ip unreachables ※icmp 到達不能メッセージの生成を無効化