ネットワークセキュリティ

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とはNGFWNGIPSを搭載した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の設定>

  1. DAIの有効化
  2. 信頼できるポートの指定
  3. 着信したARPパケットに対して行う検査の追加(オプション)
  1. (config)#ip arp inspection vlan {VLAN番号}
  2. (config-if)#ip arp inspection trust
  3. (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 アドレスの数
  • キュリティ違反の数
  • 違反時の違反モード