【初心者向け】ciscoルータやCatalystのお奨め初期設定~セキュリティや管理性を向上させる~

ホスト名

作業中のルータがどれであるかを識別するために設定しましょう。

Switch(config)# hostname MyCat3750
MyCat3750(config)#

作業円滑化のための設定

コンソールにコマンド入力中に、コンソールへのデバッグログ出力があるとどこまで打ったか分からなくなったりします。

例えば以下は、wr mem と打とうとして wr m まで打った時にログが表示されます。

MyCat3750# wr m
Mar 30 02:07:31.093: %SYS-5-CONFIG_I: Configured from console by consoleem

ですが logging synchronous を設定しておけば、エラー系ログ出力後も改行され、続きから打てるようになります。

MyCat3750(config)# line con 0
MyCat3750(config-line)# logging synchronous
MyCat3750(config-line)# end
MyCat3750# wr m
Mar 30 02:09:08.334: %SYS-5-CONFIG_I: Configured from console by console
MyCat3750# wr mem
Building configuration...
[OK]
MyCat3750#

また、exec-timeout 0 0 を設定しておけば時間によりログアウトされることが無くなるため、便利です。

MyCat3750(config)# line con 0
MyCat3750(config-line)# exec-timeout 0 0

Spanningの無効化

必要なら RSTP の設計をした上で設定しましょう。初期設定ではリンクアップが遅くなるなど邪魔なので無効化。STP は Global での無効化はできないので、全てのVLAN で無効にします。

MyCat3750(config)# no spanning-tree vlan 1-4094

SSH 設定

telnet は暗号化されていないため、SSH を使うようにしましょう。社内のみのローカルだから不要でしょ、という考えもありますが、セキュリティは習慣から。

まずは以下のコマンドから。config 上のパスワードが平文ではなく暗号化されたものが表示されます。

MyCat3750(config)# service password-encryption

次にローカルユーザを作成します。作業ベンダと区別するために最低限、各社で1アカウント作成しましょう。

これはログから『誰が作業したのか』という責任を明確にするためです。これをしていないとセキュリティインシデントが発生したときに元請けが責任を問われるでしょう。

MyCat3750(config)# username CompanyA password cisco

enable パスワードが無いと SSH 等のリモート接続ができないので以下のように設定。

MyCat3750(config)# enable password cisco

そして SSH コンソールの設定。0 から 4 の同時 5 接続を可能にする設定。

MyCat3750(config)# line vty 0 4
MyCat3750(config-line)# logging synchronous
MyCat3750(config-line)# exec-timeout 0 0
MyCat3750(config-line)# login local
MyCat3750(config-line)# transport input ssh

SSH は ID パスワードで守られてるとはいえ、NW レベルでも制限すべきです。10.1.1.0/24 からのアクセスしか受け付けないようにするには以下のように設定します。

MyCat3750(config)# ip access-list standard ACL-SSH
MyCat3750(config-std-nacl)# permit 10.1.1.0 0.0.0.255
MyCat3750(config-std-nacl)# exit
MyCat3750(config)# line vty 0 4
MyCat3750(config-line)# access-class ACL-SSH in

これで SSH 接続できるようになります。

ところで、コマンド打ち間違えたときに以下のように出力され、作業を中断されることがあります。

MyCat3750# save
Translating "save"...domain server (255.255.255.255)
Mar 30 01:41:22.038: %SYS-5-CONFIG_I: Configured from console by console
% Unknown command or computer name, or unable to find computer address
MyCat3750#

save というコマンドはありませんが、デフォルト設定では Cisco IOS は save というホスト名に対して Telnet 接続をしようと名前解決をしてしまいます。これを防ぐには transport preferred none を設定します。

MyCat3750(config)# line vty 0 4
MyCat3750(config-line)# transport preferred none

これを打っておけば以下のようにすぐエラーが戻ってくるため作業が中断されません。

MyCat3750# save
            ^
% Invalid input detected at '^' marker.

IP Routing 設定

Catalyst の場合、ip routing を忘れると Connected 同士のセグメントでも Ping が飛びません。忘れずに設定しましょう。

MyCat3750(config)# ip routing

ntp, syslog, snmp

NTPサーバを用意し、時刻同期をしておきましょう。これは syslog 等で記録される時間が正確になることで、事象を正確に把握することができます。

MyCat3750(config)# ntp server 10.1.2.3

syslog サーバも用意しましょう。例えば勝手にリブートが発生したとき、その前後で何が起きたのかを把握したり、前述の通り、セキュリティインシデント時の責任の所在明確化に役立ちます。

MyCat3750(config)# logging 10.2.3.4

SNMP サーバがあるとハードウェアの状態や通信量などを確認しやすいです。ro (Read-Only) で十分です。特に特別な要件が無い限り、rw (Read/Write) は不要ですし設定が書き換えられる危険もあるので設定しないほうがよいです。

SNMP サーバからルータへ一定間隔で MIB 等の情報を取得することを考えます。ルータ・スイッチ側では snmp-server コマンドを設定しますが、この情報がどの端末からも見えてしまうのは困るので、ACLで 10.1.0.0/16 の範囲に限定します。

MyCat3750(config)# ip access-list standard ACL-SNMP
MyCat3750(config-std-nacl)# permit 10.1.0.0 0.0.255.255
MyCat3750(config-std-nacl)# exit
MyCat3750(config)# snmp-server community public ro ACL-SNMP

SNMP サーバへ Trap を上げる設定。これによりHW障害や特別なイベント発生時にリアルタイムでサーバへ通知されます。

MyCat3750(config)# snmp-server enable traps
MyCat3750(config)# snmp-server host 10.3.4.5

Webコンソールの禁止、もしくは制限

Webコンソールから GUI で設定を確認したり変更したりできますが、CLI で十分な場合は無効にしてしまいましょう。

特に local user を作成している場合、ルータ・スイッチのIPへhttpアクセスし、その local user の ID パスワードでログイン出来てしまいます。

Webサーバの無効化。1行目が http (tcp:80) の無効化、2行目が https (tcp:443) の無効化。

MyCat3750(config)# no ip http server
MyCat3750(config)# no ip http-secure server

もし GUI でも使いたいなら、http を無効化し、https には ACL をつけましょう。

MyCat3750(config)# no ip http server
MyCat3750(config)# access-list 1 permit 10.1.1.0 0.0.0.255
MyCat3750(config)# ip http access-class 1

これで 10.1.1.0/24 の PC から https でのアクセスのみが許可されます。

DHCP サーバの設定

DHCP で IP を自動取得できるようにしておくと捗ることもあるでしょう。

10.1.1.0/24 のセグメントに対し、10.1.1.1 から 10.1.1.199 までを払い出さるようにします。DGW は 10.1.1.254、DNS プライマリサーバは 1.1.1.1、DNS セカンダリサーバは 8.8.8.8 が設定されるようにします。また、リース期間は1時間とします。

MyCat3750(config)# ip dhcp excluded-address 10.1.1.200 10.1.1.254
MyCat3750(config)# ip dhcp pool POOL1
MyCat3750(config-dhcp)# network 10.1.1.0 255.255.255.0
MyCat3750(config-dhcp)# default-router 10.1.1.254
MyCat3750(config-dhcp)# dns-server 1.1.1.1 8.8.8.8
MyCat3750(config-dhcp)# lease 0 1

フォローする