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

access-class <ACL(任意)> in

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 到達不能メッセージの生成を無効化

no ip proxy-arp プロキシARPの無効化


・参考

ユーザと管理者を分ける設計

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


◆ログ時刻表示

機器のログに時刻を表示させます。

1行目はタイムゾーンを日本時間(JST)に設定しています。

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ポート

設定可能な機種は、VTY515も追加で設定します。

line vty 0 4

access-class <ACL(任意)> in

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 到達不能メッセージの生成を無効化

no ip proxy-arp プロキシARPの無効化