2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

セキュリティの機能【スイッチ(レイヤ2)のセキュリティ機能】

Last updated at Posted at 2021-02-17

CCNAの試験に向けて学習中。
復習に見返せるようにメモしていきます。
ほぼ自分の勉強メモです。
過度な期待はしないでください。

前回投稿記事

こちらのセキュリティの機能投稿記事の続きです。

  1. スイッチのセキュリティの機能

2-1.ポートセキュリティの概要

ポートセキュリティとは、主に「不正アクセス」を防ぐ為に利用されるスイッチの
セキュリティ機能です。

例えば、社員が自宅から持ってきたノートPCを、社内のケーブルに繋げた場合、
ノートPCは企業の管理下にはないので、ウィルス対策ソフトが入っているか、企業で禁止
されているソフトが入っていないか等は不明です。もし、ウィルス等に感染していた場合、
社内のPCに感染して、社内情報が漏れてしまう等のトラブルが発生して しまうかもしれません。
そこで、想定外の端末がスイッチに接続した来た場合、スイッチに備わるLANポート事に、
許可されているMACアドレスを持つ端末以外を、ネットワークに接続させないようにします。

2-2.ポートセキュリティの動作の仕組み

ポートセキュリティの仕組みは、原則としてあらかじめスイッチに接続する端末のMACアドレス
登録しておき、登録していないMACアドレスを持つ端末の通信を遮断する仕組みです。
スイッチに搭載されているLANポート単位に許可するMACアドレスを設定します。

このように、ポートセキュリティではポートに使用出来る端末のMACアドレスをスイッチに登録し
フレームの送信元MACアドレスと比較して、許可された端末からの通信かどうか判断します。
スイッチへの接続を許可するMACアドレスを、セキュアMACアドレスをいいます。

2-3.ポートセキュリティの設定と確認

ポートセキュリティの基本的な設定は、次の2つの手順です。
⚫️ ポートセキュリティの有効化
⚫️ セキュアMACアドレスの設定

■ 2-3-1.ポートセキュリティの有効化

ポートセキュリティは、デフォルトでは有効になっていません。その為、先ずインターフェイスで
有効にする必要があります。ポートセキュリティは、手動でアクセスポートまたはトランクポートに
設定したポートでのみ有効化する事が可能です。
なので、DTPによりデフォルトで dynamic autoモード等になっていると、ポートセキュリティを
有効化しようとしても実行したコマンドが拒否されます。

ポートセキュリティを有効化するには、ポートをアクセスポートかトランクポートに設定した後、
インターフェイスコンフィギュレーションモードで次の switchport port-security コマンドを実行します。

(config-if)# switchport port-security

( config )# interface < interface-name >のコマンドでもポートセキュリティを有効化出来ます

■ 2-3-2.セキュアMACアドレスの設定

▶︎ セキュアMACアドレスの設定

ポートセキュリティで接続違反している端末を判断するには、MACアドレスをスイッチに登録
しておく必要があります。登録方法は下記の2つ
⚫️ スタティック(手動で登録する方法)
⚫️ ダイナミック(フレームが届いた際に自動で登録する方法)

スタティックにセキュアMACアドレスを登録するには、インターフェイスコンフィギュレーションモード
で次の switchport port-security mac-address コマンドを実行します。

(config-if) switchport port-security mac-address < macアドレス >

<macアドレス>には、セキュアMACアドレスとして登録したいMACアドレスを指定します。

ダイナミックなセキュアMACアドレスの設定は特にコマンド入力は必要ありません。
ポートセキュリティを有効にしたあと受信したフレームの送信元MACアドレスをセキュアMACアドレス
として自動的に学習します。


▶︎ 最大数の設定

1つのインターフェイスに登録出来るMACアドレスの最大数を指定出来ます。
インターフェイスに登録できるセキュアMACアドレスの最大数を設定するには、
インターフェイスコンフィギュレーションモード
次の switchport port-security maximum コマンドを実行します。

(config-if)# switchport port-security maximum < 最大数 >

<最大数>には、そのインターフェイスに登録出来るセキュアMACアドレスの最大数を指定します。
登録可能なアドレスは、デフォルトでは 1つだけになってます。

■ 2-3-3.スティッキーラーニングの設定

セキュアMACアドレスは、スタティック登録した際のコマンドが running-configに残ります。
しかし、ダイナミックで登録されたアドレスは running-configに記録されず、
スイッチが再起動した場合、登録した内容が消えてしまいます。
そこで、ダイナミックにセキュアMACアドレスを学習し再起動時に再学習しなくてもいいように
スティッキーラーニングの設定を行います。スティッキーラーニングは、セキュアMACアドレスを
ダイナミックに学習し、その情報を running-configにも反映させる事が出来ます。

スティッキーラーニングの設定は、インターフェイスコンフィギュレーションモード
次の switchport port-security mac-address sticky コマンドを実行します。

(config-if)# switchport port-security mac-address sticky

##### ■ 2-3-4.セキュリティ違反のモード 許可されていないMACアドレスを持つ端末からのフレームを受信した場合、 以下の3種類のいずれかの違反モードが発動します。

⚫️ protect
通信をブロックするだけのモードです。許可されていない端末のフレームのみ破棄します。

⚫️ restrict
許可されていない端末のフレームのみ破棄するだけでなく、違反の通知(SNMP/Syslog)を行います。

⚫️ shutdown
restrictと同様の違反の通知(SNMP/Syslog)を行うだけでなく、インターフェイスを
シャットダウンします。この時、インターフェイスは、エラーディーゼル状態になります。
その為、他のモードとは異なり一度違反が発生した場合、セキュアMACアドレスとして登録
されている端末であっても通信が出来なくなります。
デフォルトでは、shutdownモードです。

ファイル名

▶︎ 違反モードの設定
セキュリティ違反した時のモードを設定するには、インターフェイスコンフィギュレーションモード
次の switchport port-security violation コマンドを実行します。

(config-if)# switchport port-security violation < モード >

<モード>には、 [ protect | restrict | shutdown ]のいずれかを指定します。

■ 2-3-5.ポートセキュリティの設定

ポートセキュリティの設定例

ファイル名 ▶︎ SW1 Fa0/1、Fa0/2でポートセキュリティを有効化します。
(config)# interface range FastEthernet0/1 -2
(config-if)# switchport mode access
(config-if)# switchport port-security

▶︎ Fa0/1に接続されるサーバのMACアドレスをセキュアMACアドレスとしてスタティックに設定します。 また、違反モードの設定は、shutdownモードにします。
(config)# interface FastEthernet0/1
(config-if)# switchport port-security mac-address 0004.4dba.a1a1

デフォルトで、違反モードは shutdownとなっているので設定は必要ありません。

▶︎ Fa0/2は、スイッチ再起動時にセキュアMACアドレスの情報を保持できるように、
スティッキーラーニングを有効化します。また、セキュアMACアドレスの最大数を2とします。
そして、違反モードを shutdownから restrictに変更します。

(config)# interface FastEthernet0/2
(config-if)# switchport port-security mac-address sticky
(config-if)# switchport port-security maximum 2
(config-if)# switchport port-security violation restrict

##### ■ 2-3-6.ポートセキュリティの設定の確認 ポートセキュリティの設定の確認をするには特権EXECモードで 次の show port-security コマンドを実行します。
# show port-security

show port-security コマンドの実行結果を確認していきます。
ファイル名

項目  説明                             
Secure Port ポートセキュリティが有効になっているインターフェイス
MaxSecureAddr 登録出来るセキュアMACアドレスの最大数
CurrentAddr 現在登録されてるセキュアMACアドレスの数
SecurityViolation 違反カウント(違反発生時に加算されます)
Security Action 違反事の動作モード

##### ■ 2-3-7.セキュアMACアドレスの確認 登録したセキュアMACアドレスを確認をするには特権EXECモードで 次の show port-security address コマンドを実行します。
# show port-security address

show port-security address コマンドの実行結果を確認していきます。
ファイル名

項目  説明                             
Vlan ポートが所属している VLAN
Mac Address 登録しているセキュアMACアドレス
Type 登録方法※1
Ports インターフェイス
Remaining Age 自動で登録されたセキュアMACアドレスを消去する迄の時間

※1 SecureConfigured:手動 SecureDynamic:自動 SecureSticky:スティックラーニングが有効

■ 2-3-8.インターフェイスの確認

インターフェイスごとにポートセキュリティを確認するには、特権EXECモード
次の show port-security interface コマンドを実行します。

# show port-security interface < インターフェイス >

<インターフェイス>には、確認したいインターフェイスしを指定します。

show port-security interface コマンドの実行結果を確認していきます。
ファイル名

項目  説明                             
Port Security ポートセキュリティの有効(Enabled)、無効(Disabled)
Port Status 現在のポートのステータス※2
Violation Mode 違反モード
Maximum MAC Addresses 登録出来るセキュアMACアドレスの最大数
Total MAC Addresses このインターフェイスに登録されているセキュアMACアドレスの数
Configured MAC Addresses 手動で登録されているセキュアMACアドレスの数
Sticky MAC Addresses スティッキーラーニングで記録されたセキュアMACアドレスの数
Security Violation Count セキュリティ違反のカウンタ

※2 例えば、セキュリティ違反が起こった場合、モードがshutdownモードで有れば、
ポートがシャットダウンします。そうなると表示が「Secure-shutdown」と表示されます。

また、セキュリティ違反が起こってポートがshutdownした場合、これを手動で元に戻すには、
インターフェイスコンフィギュレーションモードshutdown コマンドを実行した後に、
no shutdown コマンドを順に実行します。

■ 2-3-9.エラーディーゼル状態の自動復旧

エラーディーゼル状態のなったインターフェイスは、shutdown コマンドを実行した後に、
no shutdown コマンドを順に実行する事で手動で復旧させる事が出来ます。
しかし、自動復旧の設定をしておけば、一定時間経過後に自動的にエラーディーゼル状態から
解除されインターフェイスが有効になります。

自動でエラーディーゼル状態から復旧させるには、グローバルコンフィギュレーションモード
次の errdisable recovery cause コマンドを実行します。

(config)# errdisable recovery cause < エラーの原因 >

<エラー原因>の所は、自動復旧させるエラーの原因を指定します。
allを指定すると、全てのエラー原因で自動で復旧します。
psecure-violationを指定すると、ポートセキュリティ違反によるエラーディーゼル状態の
自動復旧を有効化します。
他にも色々種類がありますので詳しくは errdisable recoveryの記事を参照下さい。

また、復旧迄の秒数を変更する事も出来ます。
デフォルトでは、300秒でエラーディーゼル状態から復旧しますが、復旧する秒数を変更するには、
グローバルコンフィギュレーションモードで次の errdisable recovery cause コマンドを実行します。

(config)# errdisable recovery interval < 秒数 >

<秒数>には、30秒から 86400秒まで指定可能です。

そして、errdisable recovery causeを有効にしている場合は、show errdisable recoveryコマンドにより
エラーディーゼル状態の原因を確認する事が出来ます。

# show errdisable recovery

#### 2-4.DHCPスヌーピング ##### ■ 2-4-1.DHCPスヌーピングとは? DHCPスプーフィング(なりすまし)とは、不正なDHCPサーバになりすまし謝った情報をPCに 割り当てて盗聴を行う手法の事をいいます。

例えば、攻撃者が不正なDHCPサーバになりすまし、正規のDHCPクライアントのDHCP要求に、
不正なDHCP応答をして、不正なDHCPからの応答を正規のDHCPクライアントに意図しない
IPアドレス情報を通知し、それを選択してしまった場合、正規のDHCPクライアントの
デフォルトゲートウェイは不正なDHCPサーバから送られて来た攻撃者が操作出来るPCなどに
なってしまいます。そうなれば、攻撃者に情報を盗聴されてしまします。

こうしたDHCPの機能を悪用したなりしますを防止する為に、DHCPスヌーピングがあります。
ファイル名

■ 2-4-2.DHCPスヌーピングの仕組み

DHCPスヌーピングの機能を有効化したスイッチでは、スイッチの各ポートを
信頼できるポート(trusted)信頼できないポート(untrusted)に分けられます。

「信頼できないポート」から送信されてくる DHCP OFFERDHCP ACKなどのメッセージは
ブロックされます。そこで、正規のDHCPサーバからのメッセージが送られてくる所だけ
「信頼できるポート」としておき、それ以外のポートは「信頼できないポート」として設定します。
その結果、不正なDHCPサーバから送られてくるメッセージをブロックする事が出来ます。

PCからDHCPサーバへ送信される DHCP DISCOVERDHCP REQUESTなどの
メッセージは、「信頼できないポート」であってもブロックの対象とならない為、PCと
接続しているポートも、「信頼できないポート」に設定します。
ファイル名

また、DHCPスヌーピングを有効にするとDHCPパケットのやりとりがチェックされ、
DHCPクライアントのMACアドレス、IPアドレス、VLAN、スイッチのポート、リース期間などの
情報をDHCPスヌーピングバインディングテーブルに保存されます。
そうする事で、スイッチ側でも先の情報を知る事が出来ます。
なので、例えば「信頼できないポート」からパケットを受信した場合、そのパケットの情報と
バインディングテーブルに保存されている情報とを比較して、一致した場合はスイッチはパケットを
転送して、アドレスが一致しない場合は破棄
します。


#### 2-5.DHCPスヌーピングの設定 DHCPスヌーピングは、デフォルトでは有効になっていません。 なので、有効にする為のコマンドが下記の手順になります。
■ 2-5-1.DHCPスヌーピングの有効化

▶︎ DHCPスヌーピングの有効化するには、グローバルコンフィギュレーションモード
次の ip dhcp snooping コマンドを実行します。

(config)# ip dhcp snooping

上記のコマンドによりDHCPスヌーピングはグローバルで有効にはなっているのですが、 全てのVLANではディセーブル(無効)となる為、 DHCPスヌーピングを有効にするVLANを指定する必要があります。

▶︎ 有効にするVLANを指定するには、グローバルコンフィギュレーションモード
次の ip dhcp snooping vlan コマンドを実行します。

(config)# ip dhcp snooping vlan < vlan番号リスト >

<vlan番号リスト>で有効にするvlanを指定します。
VLANの指定カンマ区切りで複数指定するか、ハイフンを使用して範囲を指定する事が出来ます。

■ 2-5-2.信頼できるポートの指定

先程のコマンドでDHCOスヌーピングを有効にすると、全てのポートが「信頼できないポート」と
なります。正規のDHCPサーバが接続されるポートなどは「信頼できるポート」にする必要があります。

「信頼できるポート」にするには、インターフェイスコンフィギュレーションモード
次の ip dhcp snooping trust コマンドを実行します。

(config-if)# ip dhcp snooping trust

[ no ] を先頭に付けると「信頼できないポート」となります。

■ 2-5-3.リレーエージェント情報オプション(オプション82)

DHCP リレーエージェント情報オプション (オプション 82) を使用すると、DHCPサーバに転送する、
クライアントから生成された DHCPパケットに有益な情報を追加する事が出来ます。
その情報により、DHCPサーバが割り当てるIPアドレスを決定したりする事が出来ます。

このオプションはデフォルトで有効になっています。しかし、DHCPサーバがオプションに対応して
いないと返答が返ってきません。そこで、リレーエージェント情報オプションを無効にするには、
グローバルコンフィギュレーションモード
次の ip dhcp snooping information option コマンドを実行します。

(config)# no ip dhcp snooping information option

[ no ] を外すとリレーエージェント情報オプション有が効となります。

■ 2-5-4.DHCPスヌーピングの設定確認

DHCPスヌーピングの設定の確認をするには、特権EXECモード
次の show ip dhcp snooping コマンドを実行します。

# show ip dhcp snooping

show ip dhcp snooping コマンドの実行結果を確認していきます。
ファイル名

▶︎下記で、DHCPスヌーピングがVLAN10で有効になっている事が分かります。
Switch DHCP snooping is enabled
DHCP snooping is configured on following VLANs:
10

▶︎また、下記でオプション82が有効になっている事が分かります。
Insertion of option 82 is enabled

▶︎さらに下記でFa0/4が「信頼できるポート」になっている事が分かります。
FastEthernet0/4    yes     60

■ 2-5-4.DHCPスヌーピングバインディングテーブルの設定確認

DHCPスヌーピングバインディングテーブルに格納されている情報を確認するには、
特権EXECモードで次の show ip dhcp snooping binding コマンドを実行します。

# show ip dhcp snooping binding

詳しくは show ip dhcp snooping bindingの記事を参照


#### 2-6.ダイナミックARPインスペクション ##### ■ 2-6-1.ダイナミックARPインスペクションとは? なりすましの攻撃には、DHCPスプーフィング以外にもARPスプーフィングという攻撃手法が あります。ARPスプーフィングは、ARPポイズニングともいわれます。

ARPスプーフィングは、正規のクライアントからのARP要求に対して、ルータと攻撃者両方から
ARP応答が返って来ます。タイミングによっては、「192.168.0.254」と「0000.0000.2222」対応付けて
ARPテーブルに登録してしまいます。このような状態になると、宛先IPはルータ宛になっていますが、
一度攻撃者のPCを向かう事になります。 なので、クライアントは意図しない通信相手にトラフィックを
転送する結果、情報を盗聴される恐れがあります。
ファイル名
このようにARP応答になりすまし、誤った情報教える攻撃手法がARPスプーフィングと呼ばれるもので、
これを防ぐ為の機能が、ダイナミックARPインスペクションとなります。


##### ■ 2-6-2.ダイナミックARPインスペクションの仕組み ダイナミックARPインスペクションでは、スイッチのポートを「信頼できるポート」と 「信頼できないポート」に分けます。「信頼できるポート」の通信はチェックされませんが、 「信頼できないポート」からの通信はチェックするようになります。この時に、 DHCPスヌーピングバインディングテーブルが使用されます。

ARP要求とARP応答がスイッチに着信した際にARP内部のIPアドレスとMACアドレスの紐付けを
チェックしてDHCPスヌーピングバインディングテーブルと異なる場合は、なりすます攻撃と判断し
破棄します。
ファイル名


#### 2-7.ダイナミックARPインスペクションの設定 ##### ■ 2-7-1.ダイナミックARPインスペクションの有効化 ダイナミックARPインスペクションは、デフォルとでは有効になっていません。 なので、ダイナミックARPインスペクションを有効化するには、 グローバルコンフィギュレーションモードで次の ip arp inspection コマンドを実行します。
(config)# ip arp inspection vlan < vlan番号リスト >

<vlan番号リスト>で有効にするvlanを指定します。
VLANの指定カンマ区切りで複数指定するか、ハイフンを使用して範囲を指定する事が出来ます。

■ 2-7-2.信頼できるポートの指定

デフォルトでは先程のコマンドで指定したVLANに属する全てのポートが「信頼できないポート」と
なります。チェックしなくてもいいポートなどは「信頼できるポート」に設定する必要があります。

「信頼できるポート」にするには、インターフェイスコンフィギュレーションモード
次の ip arp inspection trust コマンドを実行します。

(config-if)# ip arp inspection trust

##### ■ 2-7-3.ダイナミックARPインスペクションの設定確認 ダイナミックARPインスペクションの設定を確認するには、特権EXECモードで 次の show ip arp inspection コマンドを実行します。
# show ip arp inspection [< VLAN番号 >]

<VLAN番号>を指定すると、対象のVLAN情報を確認出来ます。


#### 2-8.VACL VACL(VLAN access-list)とは、インターフェイスに適用するACLではなく、 スイッチ内のVLANにACLを適用するものになります。 インバウンド、アウトバウンドといった指定はなく、そのVLANに届いた全てに適用されます

VACLは、ダブルタギング攻撃の対策の一つです。

■ ダブルタギング攻撃

ダブルタギング攻撃は、トランクリンクのカプセル化がIEEE 802.1Qの際にネイティブVLANを
利用した攻撃手法です。攻撃者がトランクリンクのネイティブVLANと同じVLANに属している
場合に使用される方法です。

対策として、ネイティブVALNでもタグが付くなどの設定をするといった事をする事で
対策出来ます。ネイティブVALNでもタグが付くようにするには、
グローバルコンフィギュレーションモードで次の vlan dot 1p tag native コマンドを実行します。

(config)# vlan dot 1p tag native

#### 2-9.その他の不正アクセス
■ MACアドレスフラッディング

ターゲットのMACアドレステーブルを飽和させ、フラッディングしたデータを盗聴する攻撃
対策 : ポートセキュリティの有効化、IEEE802.1X認証の使用

■ DTPによるVLANホッピング

トランク機能を悪用して本来アクセス出来ないVLANにアクセス(VLANホッピング)して、
一般ユーザに開放しているトランクポートを、DTPによって不正にトランクポートに変更させて
全VLANと通信可能にする攻撃
対策 : DTPネゴシエーションの無効化

■ ダブルタグによるVLANホッピング

トランク機能を悪用して本来アクセス出来ないVLANにアクセス(VLANホッピング)して、
VLANタグを二重に付けて異なるVLANにアクセスする攻撃(ネイティブVLANがタグを付けない
という仕組みを悪用して行っている)

■ STP

ルートブリッジに選出されるように不正なスイッチをネットワークに追加し
不正なスイッチを経由するフレーム盗聴する攻撃
対策 : BPDUガードの有効化

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?