Layer 2 Security

Port Based Security

Configuring Port-Based Traffic Control

Port Protection

(config-if)#switchport protected

  • プロテクトをかけたポート同士は通信できない (Unicast、Multicast、Broadcast)
  • プロテクトをかけたポートと非プロテクトポートとは通信できる
  • Fallback Bridgingとは併用できない

 

Storm Control

  • SWがポートから内部バスに流れるトラフィックをモニタする。
  • 秒内のパケット数をカウントして上限閾値を上回るとブロック、下限閾値を下回ると再度転送。
  • 下限閾値を省略すると、上限閾値を下回るまでブロックする。
  • 物理IFのみ設定可能。
  • デフォルトはshutdown。
  • 通常のマルチキャストとルーティングプロトコルのマルチキャストの区別ができない。
Switch(config-if)#storm-control {unicast | multicast | broadcast} level  
Switch(config-if)#storm-control action {shutdown | trap}

Switch(config-if)#storm-control action ?
  shutdown  Shutdown this interface if a storm occurs
  trap      Send SNMP trap if a storm occurs

Switch(config-if)#storm-control unicast level ?
  <0.00 - 100.00>  Enter rising threshold
  bps              Enter suppression level in bits per second
  pps              Enter suppression level in packets per second

 

Port Securiy

セキュリティ違反には2種類

  • 最大数超過 ⇒ 指定した値を超過した場合
  • MACアドレス移動 ⇒ あるVLANのポートで学習したMACアドレスが同一VLANの別ポートで検出された場合

ポートセキュリティを有効化

switchport port-security 
  • エージング設定
    絶対時間か無通信時間か指定(デフォルトは絶対時間)
  • 時間指定(分)

absolute
登録されてからの経過時間

inactivity
パケットが最後に通過してからの経過時間

switchport port-security aging type absolute
switchport port-security aging type inactivity

switchport port-security aging time 10

学習内容をコンフィグに残す

switchport port-security mac-address sticky

最大数を指定して、そのうちVLANごとに指定

switchport port-security maximum 2
switchport port-security maximum 1 vlan 10
switchport port-security maximum 1 vlan 20

ポリシー違反のErrDisableを指定時間後に回復

errdisable recovery cause psecure-violation
errdisable recovery interval 180

 

FHRP Command Reference
standby use-bia

  • HSRPとPort Securityを併用する時にはPort SecurityのMAC数に注意
  • Port Security側の上限を増やす
(config-if)# switchport port-security maximum
  • HSRPで仮想MACの替わりに物理MACを使う
(config-if)# standby use-bia
  • ACT/Standby 両方に入れる。ACTのみに入れると、Standbyに切り替わった時はStandby側は仮想MACを返してしまう。

 

Access Control List

Configuring Network Security with ACLs

Port Based ACLs

掛け方はRACLと同じ

(config-if)#ip access-group  in

PACLを使う時のポートには2つのモード

1) 優先ポートモード
PACLだけが使え、VACL、RACLは使えない。トランクポートではこれのみサポート

(config-if)#access-group mode prefer port

2) マージモード
PACL、VACL、RACLが同時に使える。トランクポートでは使えない。

(config-if)#access-group mode merge

同時適用時の順位は、入力PACL ⇒ 入力VACL ⇒ 入力RACL ⇒ 出力RACL


PACLはイーサチャネルのメンバーポート(物理ポート)に適用できる、論理ポートは適用できない。
最初にPACLが適用されている場合、イーサチャネルの設定をしてもメンバーにならない可能性有り。

 

VLAN ACLs for IP Traffic

ip access-list extended ACL-TCP-ONLY
 permit tcp any any
exit

vlan-map MAP-TCP-ONLY permit 10
 match ip address ACL-TCP-ONLY
 action forward
exit

vlan-filter MAP-TCP-ONLY vlan-list 10

 

VLAN ACLs for Non-IP Traffic

Block ARP Packets with Use of MAC Access Lists and VLAN Access Maps on Catalyst 2970, 3550, 3560, and 3750 Series Switches

 

DHCP Snooping

Configuring DHCP Features and IP Source Guard

  • DHCP Snooping有効化で全てのポートがuntrustになる。任意でサーバが接続されるポートはtrustに変更する。
  • untrust = クライアントがいるはず。untrustポートからDHCP OFFERやACKなどのサーバが返すメッセージがくるはずないので、受信した場合には破棄する。
  • DHCP Snooping有効化とVLANの指定
(config)#ip dhcp snooping
(config)#ip dhcp snooping vlan 10
  • サーバ接続ポートはtrunst
(config)#int fa0/0
(config-if)#ip dhcp snooping trust
  • untrustポートで受信したSrc MACがパケット内のクライアントのMACと同じか確認する
(config)#ip dhcp snooping verify mac-address

 

Information Option

  • DHCPリレー有りの環境を想定している
  • DHCPリレーを使うとエージェントが代理となるので、DHCPサーバはどのクライアントか理解できない
  • エージェントが送るメッセージにはSWのMACアドレスとポート番号が入っている
    ⇒DHCPサーバはその情報でクライアントをユニークにできる
  • DHCPサーバがOP82をサポートしていないとIPが払い出せないので、その場合はエージェント側を
    no ip dhcp snooping information option で無効化する

[CL]—–[SW1]—–[SW2]—–[SV]

  • このようにSWが続く構成の場合、DHCPサーバが接続されないポートはuntrust になる
  • DHCP Snooping はuntrust からOP82が入ったパケットがくると破棄する
    ip dhcp snooping information option allow-untrusted で回避

デフォルトで有効なのでこれはなくても可

(config)# ip dhcp snooping informaiton option

DHCP Snooping はuntrust からOP82が入ったパケットがくると破棄するのでそれを回避

(config)# ip dhcp snooping informaiton option allow-untrusted

SWにIDを付与、これをしないとデフォルトでSWのMACアドレス

(config)# ip dhcp snooping information option format remote-id string SWITCH1

ClientをユニークするにはSWの他にポート単位にIDが必要なので付与

(config)# interface XXXXX
(config-if)# ip dhcp snooping vlan 10 information option format-type circuit-id string PORT1

 

Dynamic ARP Inspection

Configuring Dynamic ARP Inspection

  • DAIはDCHP snoopingのDBを使うので事前に設定
ip dhcp snooping
ip dhcp snooping vlan 20
  • DAIの有効化
ip arp inspection vlan 20
  • ACLによる組み合わせ以外のARPを許可しない(ログに残す)
ip arp inspection filter ARP-VLAN20 vlan 20
arp access-list ARP-VLAN20
 permit ip host 160.1.20.2 mac host 000a.b832.3ac1 log
 permit ip host 160.1.20.3 mac host 0022.5627.1fc1 log
  • ログは16エントリまで残す
ip arp inspection log-buffer entries 16
  • 10秒で生成可能なログは4エントリまで
ip arp inspection log-buffer logs 4 interval 10
  • Src MAC,Dst MAC,IPアドレスを想定される内容であるかチェックする
    Src MAC ⇒ イーサヘッダとARP BODYを比較
    Dst MAC ⇒ イーサヘッダとARP BODYを比較
    IP ⇒ 0.0.0.0や255.255.255.255、マルチキャストなど期待していないアドレスか
ip arp inspection validate src-mac dst-mac ip

 

IP Source Guard

Configuring DHCP Features and IP Source Guard

  • IP Source GuardはDCHP snoopingのDBを使うので事前に設定
ip dhcp snooping
ip dhcp snooping vlan 30
  • IP Source Guard だけ利用の場合
ip verify source
  • ポートセキュリティも付けるなら
    switchport port-securityを入力しないとip verify source port-securityが有効にならない
switchport port-security
ip verify source port-security
  • DHCP Snooping を使わずにstaticに登録する場合(MACアドレス,VLAN番号,IPアドレス,インタフェース)
ip source binding  vlan   inteface

 

Private VLAN

Configuring Private VLANs

  • トランクを使って複数のSWにまたがることが可能
  • SVIはプライマリVLANに設定できる
  • PVLANを使った時のSTPインスタンスはプライマリVLANになる。セカンダリVLANはプライマリと同じになる。

1.まずはVTPモード変更

Switch(config)#vtp mode transparent

2.プライマリVLANとセカンダリVLANを作り、セカンダリは独立かコミュニティを割り当てる(独立VLANは1つ、コミュニティは複数作れる)

Switch(config)#vlan 10
Switch(config-vlan)#name PRIMARY-VLAN
Switch(config-vlan)#private-vlan primary
Switch(config-vlan)#
Switch(config-vlan)#vlan 100
Switch(config-vlan)#name ISOLATED-VLAN
Switch(config-vlan)#private-vlan isolated
Switch(config-vlan)#
Switch(config-vlan)#vlan 200
Switch(config-vlan)#name COMMUNITY-VLAN
Switch(config-vlan)#private-vlan community

3.プライマリVLAN(10)に入り、自身のセカンダリVLAN(100、200)を教える

Switch(config-vlan)#vlan 10
Switch(config-vlan)#private-vlan association 100,200

4.最後に各ポートを設定する

・プロミスキャスポート
Switch(config)#int fa1/0/24
Switch(config-if)#switchport mode private-vlan promiscuous
Switch(config-if)#switchport private-vlan mapping 10 100,200

・独立VLANポート
Switch(config-if)#int range fa1/0/1 - 2
Switch(config-if-range)#switchport mode private-vlan host
Switch(config-if-range)#switchport private-vlan host-association 10 100

・コミュニティVLANポート
Switch(config)#int range fa1/0/3 - 4
Switch(config-if-range)#switchport mode private-vlan host
Switch(config-if-range)#switchport private-vlan host-association 10 200
Switch(config-if-range)#

設定の確認

Switch#show vlan private-vlan

Primary Secondary Type              Ports
------- --------- ----------------- ------------------------------------------
10      100       isolated          Fa1/0/1, Fa1/0/2, Fa1/0/24
10      200       community         Fa1/0/3, Fa1/0/4, Fa1/0/24

Switch#show vlan brief

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa1/0/5, Fa1/0/6, Fa1/0/7
                                                Fa1/0/8, Fa1/0/9, Fa1/0/10
                                                Fa1/0/11, Fa1/0/12, Fa1/0/13
                                                Fa1/0/14, Fa1/0/15, Fa1/0/16
                                                Fa1/0/17, Fa1/0/18, Fa1/0/19
                                                Fa1/0/20, Fa1/0/21, Fa1/0/22
                                                Fa1/0/23, Gi1/0/1, Gi1/0/2
10   PRIMARY-VLAN                     active
100  ISOLATED-VLAN                    active
200  COMMUNITY-VLAN                   active
1002 fddi-default                     act/unsup
1003 token-ring-default               act/unsup
1004 fddinet-default                  act/unsup
1005 trnet-default                    act/unsup

Switch#show run
!
vlan 10
 name PRIMARY-VLAN
  private-vlan primary
  private-vlan association 100,200
!
vlan 100
 name ISOLATED-VLAN
  private-vlan isolated
!
vlan 200
 name COMMUNITY-VLAN
  private-vlan community
!
interface FastEthernet1/0/1
 switchport private-vlan host-association 10 100
 switchport mode private-vlan host
!
interface FastEthernet1/0/2
 switchport private-vlan host-association 10 100
 switchport mode private-vlan host
!
interface FastEthernet1/0/3
 switchport private-vlan host-association 10 200
 switchport mode private-vlan host
!
interface FastEthernet1/0/4
 switchport private-vlan host-association 10 200
 switchport mode private-vlan host
!
interface FastEthernet1/0/24
 switchport private-vlan mapping 10 100,200
 switchport mode private-vlan promiscuous

 

Others

ErrDisable Recovery

Catalyst 3750-X and Catalyst 3560-X Switch Command Reference
errdisable recovery
errdisable recovery cause psecure-violation
errdisable recovery interval

コメント