ネットワークセキュリティ
OSアプリケーションの 定期的な更新 | セキュリティホール(プログラムの不具合のよるセキュリティ上の弱点)を防ぐため |
ネットワークデバイスの 物理的な保護 | 鍵付きのラックに保護 |
ユーザに対する セキュリティ教育 | |
FW、IDS/IPS、 ウィルス対策ソフトなど のセキュリティシステムの配備 | ネットワークセキュリティの要件に応じて、以下のシステムを組み合わせて配置します。 ・FW(FireWall):パケットフィルタリング ・IDS(Intrusion Detection System):侵入者を通知 ・IPS(Intrusion Prevention System):侵入行為を防ぐ |
簡単なパスワードを 使用しない | |
多要素認証 | 認証の要素を複数組み合わせる ・知識要素:記憶している情報(ID、パスワード、PIN番号) ・所有要素:所有している物(電話番号を使ったSMS認証、ワンタイムパスワード発生器、MACアドレス) ・生体要素:(指紋、網膜) |
ネットワークデバイスのセキュリティ
CDPの無効化 | 隣接する危機に情報を与えることになるので、必要ない場合は無効化します。 【CDPの無効化】(config)#no cdp run |
HTTPサーバとHTTPSサーバの無効化 | リモートアクセスにHTTP/HTTPSを使ったGUI操作を提供するサービスで、通常SSHを使うので必要ない場合は無効化します。 【HTTPサーバの無効化】(config)#no ip http server 【HTTPSサーバの無効化】(config)#no ip http secure-server |
セキュアなプロトコルの使用 | リモートアクセスには暗号化権限のないTelnetではなく、暗号化権限のあるSSH接続のみを使用する 【Telnetを無効化、SSH接続のみ有効化】 (config)#line vty 0 4 (config-line)#transport input ssh |
RSAホスト鍵を生成 (SSHサーバの設定) | Router(config)#hostname R1 ※機器名をデフォルトから変える必要がある R1(config)#crypto key generatersa |
未使用なポートの無効化 | スイッチはデフォルトで全てのポートが有効化されているので、使用したいポートは無効化しておきます。 (config-if)#shutdown |
パスワードの暗号化 | 現在設定されているパスワードも、これから設定するパスワードも全て暗号化する (config)#service password-encryption |
簡単なパスワードは使用しない | |
バナーに不要なメッセージを載せない | ホスト名など、不正ログインのヒントになるような情報 |
スイッチのセキュリティ
- アクセスポートにする…トランクポートやネイティブVLANがデフォルトになっていると狙われる
- ネイティブVLANを未使用のVLANに変更する
- shutdownする
情報セキュリティポリシー
- ポリシー(基本方針)…考え方や方針
- スタンダード(対策基準)…対策内容
- プロシージャ(実地手順)…
人を狙った攻撃
ソーシャルエンジニアリング | 人を狙った攻撃のうち、コンピュータネットワークを使わない攻撃の総称。 例:パスワードの覗き見 |
フィッシング | 正規の業者を装ったメールを送り、偽のサイトに誘導して個人情報をを入力させようとする行為 |
ヴィッシング | 正規の業者を装ったメールを送り、偽のフリーダイヤルに誘導して個人情報をを入力させようとする行為 |
スピアフィッシング | 特定の企業や人物を狙ったフィンシング |
ホエーリング | 社長や政治関係者など、重要な人物を狙ったフィッシング |
スミッシング | SMS(ショートメッセージサービス)を使ったフィッシング |
ファーミング | DNSを悪用して偽のサイトに誘導するフィッシング |
水飲み場攻撃 | 攻撃対象が普段アクセスするサイトを改竄しておき、サイトにアクセスするだけでマルウェアに感染させる攻撃 |
ブルートフォースアタック | ブルートフォースアタック(総当たり攻撃)はパスワードを破る手法の一つで、パ スワードに使用されている文字列を推測し、パスワードが解除できるまで考えられ るパターンを試行し続ける攻撃手法です。 |
ゼロデイ攻撃
まだ対策が行われていない、脆弱性を狙った攻撃をさします。無防備な状態をゼロデイといいます。
スプーフィング
スプーフィングとは送信元を偽装する行為です。
DoS攻撃 | 1台のコンピュータからターゲットに大量のパケットを送る |
DDoS攻撃 | 複数のコンピュータからターゲットに大量のパケットを送る |
リフレクション攻撃 | 送信元を偽った要求をサーバに送り、ターゲットに大量の応答を返すように仕向ける攻撃 |
中間者攻撃 | 正規の送信者と受信者の間に入りデータの盗聴や改変をする攻撃 |
バッファーオーバーフロー攻撃 | バッファ容量を超えるデータを使い、悪意のある命令を実行させる攻撃 |
マルウェア
マルウェアとは、悪意のあるプログラムの総称です。
<主なマルウェア>
ウィルス | 他のプログラムに寄生して悪さをするプログラム。規制されたプログラムを使用することで感染が広がる |
ワーム | 単独で増殖し、自ら感染を拡大させる |
トロイの木馬 | 有益なプログラムを装ってコンピュータに侵入するマルウェア |
Cisco AMP
Cisco Advanced Malware Protection(AMP)はCiscoが提供するマルウェア対策製品です。
- サンドボックス機能
- リアルタイムのマルウェア検知による侵入防御
- ネットワーク内のファイルの継続的分析によって、進入してしまったマルウェアの封じ込み
ファイアウォール
【ファイアウォールの機能】
- パケットフィルタリング…ルールに従って、パケットの通過を許可、破棄をする機能
- ステートフルインスペクション…通信のフローを監視し、不適切な通信を拒否する機能
内部(Inside)ゾーン | 外部から守るべきネットワーク。基本的に信頼できるものとして扱う。 |
外部(Outide)ゾーン | 攻撃元となる可能性のあるネットワーク。基本的に信頼できないものとして扱う。 |
DMZ (DeMilitarized Zone) | 非武装ゾーン:内部と外部の中間。基本的に外部からアクセスできるのはこのゾーン |
NGFW
NGFW:Next-Generation FireWall:次世代ファイアウォール
- 従来型ファイアウォールの機能:IPアドレスやポート番号を基にしたフィルタリング
- AVC(Application Visibility and Control:アプリケーションの識別と制御):アプリケーションの情報を基にしたフィルタリング(同じポート番号80のHTTP通信でも、Googleは許可するがTwitterは許可しないなどが可能)
- URLフィルタリング:悪意のあるWEBサイトにアクセスしてしまうことを防ぐ
SYNフラッド攻撃
接続開始を要求するSYNパケットだけを次々送りつけ、ACKパケットの返信をわざと怠り放置する。相手側には応答待ちのままTCPコネクションの確立ができません、このようなハーフオープン状態を大量に発生させサーバのリソースを奪います。
NGIPS
NGIPS(Next-Generation Intrusion Prevention System:次世代侵入防止システム)はこれまで使われていたIPSよりも高度な機能を備えたIPS。
- 必要なイベントのみが記録される
- マルウェアの防御
- 将来のIPSの機能 … シグネチャ(悪意の攻撃を識別するための情報)を参照し、悪意あるパケットの受信やネットワークの侵入を防ぐ
Cisco Firepower
Cisco FirepowerとはNGFWとNGIPSを搭載したCiscoのセキュリティ製品です。
username
※強力な暗号化アルゴリズムとして、sha256(PBKDF2)とscryptの使用がCiscoにより推奨。
特権レベル | 説明 |
---|---|
15 | ・特権モードでセッションを開始する(Router#) ・特権コマンドの全てのコマンドが使用可能 |
1 | ・ユーザモードでセッションを開始する(Router>) ・ユーザコマンドの全てのコマンドが使用可能 |
0 | ・ユーザモードでセッションを開始する(Router>) ・ユーザコマンドの一部のコマンドが使用可能 |
<注意事項>
- 1つのユーザーに対して設定できるパスワードは1つのみ(後から入力したパスワードが有効になる)
- 1つのユーザーに対して「password」または「secret」のどちらか一方しか使用できない(後から入力したコマンドは受け付けられない)
enableパスワード
lineパスワード
※イネーブルパスワードとイネーブルシークレットパスワードが両方ともに設定されている場合、イネーブルシークレットパスワードの方が優先されます。
【特権モードに移行するためのパスワードを設定】
(config)#enable password
【特権モードに移行するための暗号化されたパスワードを設定】
(config)#enable secret
【コンソールパスワードの設定】
(config)#line console 0
(config-line)#password < password >
(config-line)#login
※コンソールポートは一つしかないためライン番号は常に0を指定
<コンソールポートでの認証>
- コンソールポートのデフォルトはloginコマンドなし(no login)
- loginコマンドなし ⇒ パスワード要求なし(認証機能は無効)
- loginコマンドあり ⇒ パスワード入力が必要(認証機能は有効)
<VTYでの認証>
- VTYポートのデフォルトはlogin
- passwordコマンドなしの場合「Password required, but none set」と表示される
クリアテキストで表示されているパスワードを全て暗号化するコマンド
(config)#service password-encription
ローカルデータベースで使用するユーザアカウントの作成
(config)#username {ユーザ名} password {パスワード}
仮想端末回線にアクセスしてきたユーザをローカルデータベースで認証する
(config)#line vty {開始VTY番号} [{終了VTY番号}]
(config-line)#login local
VTYポートへ接続する際に使えるプロトコルの指定
(config)#line vty {番号} {終了番号}
(config-line)#transport input {プロトコル} {プロトコル}
sshを使うを使いREMOTEルータに外部からログイン
Router#ssh {-l ユーザ名} [-v SSHバージョン] [-p 接続先ポート番号] {宛先IPアドレス|ホスト名}
VTYアクセス制御
VTYアクセス制御とは、Telnet/SSHリモートアクセスのアクセス制御です。
- 管理者のホストなど特定のIPアドレスからのみVTYアクセスできるようにするとよりセキュアです。
- 標準ACLを使用する
L2セキュリティ
【ポートセキュリティの設定で使用する主なコマンド】
ARPスプーフィング
- ARPを使った中間者攻撃
- DAIで防ぐことができる
<ARPスプーフィングの動作>
DAI
- DAI(Dynamic ARP Inspection)ARPスプーフィングを防ぐ
- DAIは、ARPパケットを検査する機能です。
- 「Trustedポート」(信頼するポート)と、「unTrustedポート」(信頼しないポート) に分類します。
- DAIを有効にするとデフォルトで全てのポートが信頼できないポートになります。
<DAIでは、以下の2種類のバインディングテーブルを利用>
バインディングテーブル | DHCPスヌーピング | バインディングテーブル |
---|---|---|
DHCP環境 | 必要 | DHCPスヌーピングバインディングテーブル |
非DHCP環境 | 不要 | スタティックに設定されたIPアドレスとMACアドレスの関連付けテーブル |
<DAIの動作>
<DAIの設定>
- DAIの有効化
- 信頼できるポートの指定
- 着信したARPパケットに対して行う検査の追加(オプション)
- (config)#ip arp inspection vlan {VLAN番号}
- (config-if)#ip arp inspection trust
- (config)#ip arp inspection validate {src-mac | dst-mac | ip}
src-mac … イーサネットヘッダの送信元MACアドレスと、ARPパケットのデータの送信元MACアドレスが同じかを検査
dst-mac … イーサネットヘッダの宛先MACアドレスと、ARPパケットのデータの宛先MACアドレスが同じかを検査
ip … ARPパケットのデータに含まれるIPアドレスを検査
DHCPスプーフィング
DHCPスプーフィング(なりすまし)とは、攻撃者が不正なDHCPサーバを立ち上げて、DHCP OFFERで自身のIPアドレスをデフォルトゲートウェイにするよう通知し、ユーザからのパケットを盗聴する攻撃です。
【DHCPの動作】
【DHCPスプーフィングの動作】
DHCPスヌーピング
- DHCPスヌーピングは DHCPパケットを監視する機能です。
- 各ポートを「trustedポート」(信頼するポート)と、「untrustedポート」(信頼しないポート) に分類します。
- trustedポートに着信したDHCPパケットは全て許可します。
- untrustedポートに着信したDHCPパケットは、クライアントからサーバに送られるDHCPパケット(DISCOVER…クライアント接続、REQUEST …DHCP要求)は許可しますが、サーバからクライアントに送られるDHCPパケット(OFFER、ACK)は拒否します。
[DHCPスヌーピングの設定]
1. DHCPスヌーピングの有効化
2. DHCPスヌーピングを有効にするVLANの指定(同時に複数の指定が可能)
3. 信頼できるポートの指定(DHCPサーバが接続している方向のポートに適用)
4. 信頼できないポートでDHCP Option 82付きパケットの受信を許可(オプション)
1. (config)#ip dhcp snooping
2. (config)#ip dhcp snooping vlan {VLAN番号} [VLAN番号]
3. (config-if)#ip dhcp snooping trust
4. (config)#ip dhcp snooping information option allow-untrusted
DHCPスヌーピングで処理されたパケットの数の確認
・#show ip dhcp snooping statistics
・#show ip dhcp snooping statistics detail
DHCPパケットのレート制限
インターフェースが受信できる1秒あたりのDHCPパケット数を設定することでDoS攻撃を防ぎます。
trustedポートとuntrustedポート両方に設定が可能
(config-if)#ip dhcp snooping limit rate {1秒あたりに受信可能なDHCPパケット数}
DHCPスヌーピングバインディングデータベース
DHCPスヌーピングを有効にすると、「DHCPスヌーピングバインディングデータベース」を作成します
<以下の情報が記録されます>
- DHCPクライアントのMACアドレス
- DHCPクライアントに割り当てられたIPアドレス
- IPアドレスのリース時間
- ポートが属するVLAN
- スイッチのポート番号
ポートセキュリティ
セキュアMACアドレス
ポートセキュリティが有効なポートで許可されるMACアドレスをセキュアMACアドレスと呼びます。
スティッキーラーニング
動的に学習したセキュアMACアドレスをrunning-configに書き込む
【セキュリティ違反時の動作】
【err-disabled状態になったポートを復旧させる方法】
err-disableは、機械的にポートをshutdownさせていますので、人の手で1度 shutdown状態にします。
その後は、通常通り no shutdownコマンドでポートを有効化させてあげるだけです。
MACアドレス(セキュアMACアドレス)を静的に設定
Switch(config)#interface { インターフェイス }
Switch(config-if)#switchport mode access ←インターフェイスモードを選択
Switch(config-if)#switchport port-security ←ポートセキュリティを有効化
Switch(config-if)#switchport port-security mac-address { MACアドレス } ←セキュアMACアドレスを設定
err-disabled自動復旧の有効化
(config)#errdisable recovery cause {all | 理由}
err-disabled自動復旧までの秒数変更
(config)#errdisable recovery interval {秒}
30秒~86400秒で指定(デフォルトは300秒)
特定のインターフェースに設定してあるポートセキュリティの詳細情報を確認
#show port-security interface
<VLANポートのセキュリティ>
- 接続予定の無いポートをトランクにする
- 接続予定の無いポートをshutdownする
- 通常使用するVLANはデフォルトで存在するVLANやネイティブVLAN以外にしておくことが推奨
(※VLAN1はデフォルトで存在するVLANであり、全てのポートがデフォルトで属しているVLANのため、攻撃の対象になりやすいという危険性があります。)
show port-security interface [interface-id]
<ポートセキュリティの設定を確認>
show port-security interface [interface-id]
- インタフェースのセキュアMAC アドレスの最大許容数
- インターフェイスのセキュアMAC アドレスの数
- キュリティ違反の数
- 違反時の違反モード