Skip to content
This repository has been archived by the owner on Jun 25, 2023. It is now read-only.

Latest commit

 

History

History
250 lines (150 loc) · 19.2 KB

20220917-Security.md

File metadata and controls

250 lines (150 loc) · 19.2 KB
活動実施日:2022年9月17日(実験未実施)

インフラ実験活動レポート(CCNA第14章相当の要点まとめ)

内容:セキュリティの基礎知識・デバイス保護・スイッチセキュリティ・AAA

1 セキュリティの基礎知識

一般的なセキュリティ脅威と攻撃手法

・なりすまし攻撃(スプーフィング攻撃):IPアドレスやMACアドレスを偽装して、攻撃者を別の人に見せかけて行う攻撃の総称。
    1. DoS攻撃(サービス拒否攻撃):サーバなどに過剰な負荷をかけて正規サービスを妨害する攻撃の総称。
    2. DDoS攻撃(分散型サービス拒否攻撃):DoSを発展させた攻撃手法。不正に乗っ取ったPCなどを複数台利用し、C&Cサーバなどから指令を受け一斉にDoS 攻撃を行う。
    3. 中間者攻撃:通信を仲介するなどして、それぞれに正当な相手であるかのように振る舞う。攻撃対象の内容の盗聴や改ざんが主な目的。

・マルウェア:悪意ある目的のために作成されたソフトウェアやプログラムの総称。
    1. トロイの木馬:有用に見えるソフトウェアや電子メールの送付ファイルを装って配布される。自己増殖はしない。
    2. ウイルス:単体では動作をせず、他のアプリケーションやファイルに挿入されることで実行が可能となる。メールなどを介して増殖や感染する機能を持つ。
    3. ワーム:ウイルスと異なり独立したプログラムとして実行ができる。ネットワーク経由で他のコンピュータに感染し、増殖や伝播を繰り返す。

・バッファオーバーフロー攻撃:攻撃対象コンピュータがあらかじめ確保したメモリ領域を超えるデータを送り付けるなどをし、誤動作を引き起こさせる。その結果悪意のあるコードを実行させる攻撃手法。

・ソーシャルエンジニアリング攻撃:技術的な要素を使わずに人の社会的・心理的弱点をつくことで情報を取得する攻撃手法の総称。(例:パスワード入力するキーボードを覗き見する)

・フィッシング:被攻撃者悪意あるWebサイトに誘導する手法の総称。
    1.  スピアフィッシング:特定の個人や団体を狙って行われるフィッシング手法。同じ会社の上司や同僚を装うなどして行われる。
    2.  ビッシング:電話案内を通じて被攻撃者を誘導する手法。
    3. スミッシング:SMSメッセージを用いたフィッシングの手法。

・ブルートフォースアタック(総当たり攻撃):パスワードを破る手法の一つ。使われている文字列を予測して解除できるまで試行を繰り返す。  

2 ネットワークデバイスの保護

パスワードによるデバイスへのアクセス保護

・イネーブルパスワードの暗号化
    2.3と同様なので省略




・ローカル認証に使用するユーザアカウントのパスワードの暗号化
    イネーブルパスワードと同様にローカル認証に利用するユーザアカウントパスワードの暗号化が可能で、セキュリティを向上させることができる。
    グローバルコンフィギュレーションモードで[username]コマンドを実行することで設定できる。以下にMD5を利用時のPacket Tracerでの表示例を示す。


        Router(config)#username user01 secret user01
        Router(config)#exit
        Router#show running-config 
        (省略)
        !
        username user01 secret 5 $1$mERr$kWWxuqM/vMBfjAkfMgmKz.
        !


    *注意点:一つのユーザに対して設定できるパスワードは、平文か暗号化形式のどちらか一方のみしか設定できない。  

ファイアウォールとIPS

    ・FW(ファイアウォール):外部ネットワークと企業や家庭内のネットワークを守るためのソフトウェアや機器のこと。外部や内部からの許可されていない通信をブロックでき、ACLよりも細かい管理が可能。

    ・ステートフルインスペクション:内部から出ていった通信を確認し、それに対応する戻りの通信を自動で判別し許可をする機能のことで、アプリケーションレベルの通信フロー情報なども持っている。多くのタイプや機能を持ったファイアウォールが存在する中でも代表的な機能の一つで、Check Point社が特許を保有するファイアウォールのアーキテクチャ。

    ・FWの構成例:1つのFW利用の場合は、スター型トポロジーのように 外部ネットワーク・DMZ・内部ネットワーク の中心に接続した上で、通信を監視する。
        具体例 インターネット→DMZ 可  DMZ→内部ネットワーク 不可  内部ネットワーク→DMZ→内部ネットワーク 可 等


    ・IDSとIPS:IDS(侵入検知システム)、IPS(侵入防止システム)のこと。シグネチャと呼ばれる不正パターン・攻撃パターンのデータベースを利用して通信のチェックを行う。

    ・IDS:検知や管理者への通知まではできるが遮断までは行わない。
    ・IPS:検知や管理者への通知に加えて遮断を行う。基本的にIDSの機能を網羅している。




・次世代ファイアウォールと次世代IPS
    次世代ファイアウォール:従来の機能に加えて次のような機能を持っている。(Cisco製品において)

        1. AVC:従来のIPアドレスとポート番号に基づいたパケットフィルタリングの方法ではなく、アプリケーション単位で識別・フィルタリングする機能。
        2. AMP:ネットワーク上のファイルを観察・記録し続けることで、侵入したマルウェアを検知した際に、過去に遡って感染経路を特定することができる機能。
        3. URLフィルタリング:HTTP通有心に用いいられるURLに基づいて通信トラフィックをフィルタリングすることができる機能。


    次世代IPS:従来型のシグネチャを使った攻撃検知やブロックに加えて、次のような機能を持っている。(cisco製品において)

        1. IPS自動チューニング:ネットワーク内の機器からデバイス情報を収集することで、本来そのネットワークで必要なシグネチャを自動で判断し選択する機能。誤検知の低下や検知率の向上につながる。


*参考:現在は次世代FWと次世代IPSは統合され1つの製品となっていることが多い。  

ネットワークセキュリティにおけるセキュリティ対策の実施

・各種ネットワーク機器の物理的保護:ネットワーク機器が不特定多数の人によって操作できる環境では、不正ログインや不正操作の危険性が高まる。そのため鍵付きラックや、利用していないポートのシャットダウンなどが推奨される。

・多要素認証:異なる種類の要素を組み合わせて認証を行う方式のこと。知識要素(ID・パスワード)、所持要素(OTP・デジタル証明書)、生体認証(指紋・顔)などの要素を組み合わせる。

・OSや各種ソフトウェアのアップデートの実施:セキュリティホールを防ぐために、定期的にOSやアプリケーションをアップデートする。

・ネットワーク機器の技術的な対策:ACL次節のスイッチ上の各種セキュリティ機能を利用することで対策をする。

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

ポートセキュリティの概要

企業などの管理下で勝手に管理下にないPCをスイッチに接続されてしまうと、そのPCから情報が漏れてしまう危険性がある。また、接続したPCがウイルスに感染していた場合は、社内のその他のPCに広まってしまう可能性もある。そのような不正な接続を防ぐためにポートセキュリティがある。

ポートセキュリティの動作

あらかじめ登録された端末を識別するためにMACアドレスを利用する。スイッチでは送られてきたフレームの送信元MACアドレスを登録済みと比較することで実現している。

ポートセキュリティの設定と確認

まずデフォルトでは有効になっていないため、インターフェイスで有効にする必要がある。有効にするには、手動でアクセスポートもしくはトランクポートに設定する必要がある。デフォルトではdynamic desirableやdynamic autoモードになっているので注意が必要。また、違反時の動作の設定は大まかに以下のように分類されている。

・shutdown:デフォルトの設定。フレーム破棄に加えて、違反時にSyslogメッセージを送りポートをシャットダウンする。
・restrict:フレーム破棄に加えて、違反時にSyslogメッセージを送るが、ポートシャットダウンはしない。
・protect:フレーム破棄はするが、違反時にSyslogメッセージを送る、ポートシャットダウンはしない。


以下に、Packet Tracerでの設定例を示す。

    
    Switch(config)#interface fastEthernet 0/1
    Switch(config-if)#switchport mode access 
    Switch(config-if)#switchport port-security 
    Switch(config-if)#switchport port-security maximum 1
    Switch(config-if)#switchport port-security violation shutdown
    Switch(config-if)#switchport port-security mac-address 0040.0B1C.E003
    Switch(config-if)#exit


登録済みMACアドレスは以下のコマンドで確認ができる。


    Switch#show port-security address 
           Secure Mac Address Table
    -----------------------------------------------------------------------------
    Vlan    Mac Address       Type                          Ports   Remaining Age
                                                               (mins)
    ----    -----------       ----                          -----   -------------
        1    0040.0B1C.E003    SecureConfigured              Fa0/1        -
    -----------------------------------------------------------------------------
    Total Addresses in System (excluding one mac per port)     : 0
    Max Addresses limit in System (excluding one mac per port) : 1024


*注意:違反時にインターフェイスがシャットダウンした際に再度upさせるには、明示的にインターフェースをshutdownしたのちに、再度no shutdownコマンドを打つ必要がある。

DHCPスヌーピング

不正なDHCPサーバを立てるなどして、誤った情報をネットワーク上のPCに割り当て盗聴を行う手法の、DHCPスプーフィングなどを防止する仕組み。

DHCPスヌーピングの仕組み:スイッチの各ポートを信頼できるポートと信頼できないポートに分けて、信頼できないポートからのDHCPのメッセージはブロックする。

DHCPスヌーピングバインディングデータベース:DHCPメッセージを見て、スイッチがDHCPサーバとPC等の端末の割り当て状況を把握する仕組み。ポートとその先に接続されているPC等のMACアドレス・IPアドレス・所属vlanといった情報を保存している。

DHCPスヌーピングの有効化

以下通りにコマンドを使うことでDHCPスヌーピングを有効化できる。なお、Vlanの指定をしない場合全てのvlanでdisableになるため、有効にしたいvlanの指定を行う。また、正規のDHCPサーバを立てているポートを信頼済みにするためには、そのインターフェイス設定に入りtrust指定を行う。設定例は以下のようになる。

    Switch(config)#ip dhcp snooping
    Switch(config)#ip dhcp snooping vlan 1
    Switch(config)#interface fastEthernet 0/1
    Switch(config-if)#ip dhcp snooping trust

これで正規のポートのみ信頼するように設定ができる。

ダイナミックARPインスペクション

ARP応答になりすまして誤った情報を教えることで、対象のARPテーブルに不正な情報を登録させる手法をARPスプーフィングといい、それを防ぐための機能がダイナミックARPインスペクション。

ダイナミックARPインスペクションの仕組み:スイッチの各ポートを信頼できるポートと信頼できないポートに分けて、信頼できないポートからのメッセージをチェックする。その際には、DHCPスヌーピングバインディングデータベースを利用する。到着したARP内部のIPアドレスとMACアドレスの対応がDHCPスヌーピングバインディングデータベースと異なる場合はなりすましとして破棄をする。

ダイナミックARPインスペクションの有効化

以下通りにコマンドを使うことでダイナミックARPインスペクションを有効化できる。vlanごとに設定が可能であるが、デフォルトではこの設定を有効にすると全てのポートが信頼できないポートとして扱われてしまうので、チャックが必要ないポートについては、ポートごとにtrust設定を有効にする必要がある。設定例は以下のようになる。

    Switch(config)#ip arp inspection vlan 1
    Switch(config)#int fastEthernet 0/1
    Switch(config-if)#switchport mode access 
    Switch(config-if)#switchport access vlan 1
    Switch(config-if)#ip arp inspection trust

VACL

ACLのようにインターフェイスに適応するものではなく、スイッチ内のVLANにACLを適応するもの。従ってインバウンドやアウトバウンドの設定はない。

ダブルタギング攻撃:攻撃者がトランクリングのネイティブVLANと同じVLAに所属している場合に使用され、別のVLANにデータを送信する。
対策は以下の通りに設定し、ネイティブVLANでもタグをつけることで対策を行うことができる。

    Switch(config)#vlan dot1q tag native

4 AAA

AAAの概要

セキュリティを実現させる際に、Authenticaion・Authorization・Accountiongという主要な3つの機能をもとに考える概念がAAA。

・Authenticaion:認証のこと。ネットワークサービスやリソースを利用する際に、IDやパスワードをもとにアクセスが許可されたユーザなのか確認を行う。

・Authorization:認可のこと。認証されたユーザがどのような機能を利用できるのかを決定すること。ユーザによって機能制限などをすることで実現する。

・Accountiong:アカウンティングのこと。ネットワークサービスやリソースを利用しているユーザがいつログインして、どのようなことを行なっているのか、行動を監視し記録をする。

RADIUSとTACACS+

AAAを実装する際に多く使われるプロトコル。これらを使うことでネットワークへのアクセスを制御することができる。

・RADIUS:認証やアカウンティングの機能を持ったプロトコル。認可は認証と組み合わさっているため、区別されていない。UDPを利用するサーバクライアント型プロトコル。認証に1812ポート、アカウンティングに1813ポートを利用。パスワードのみが暗号化されて送信される。また、802.1X規格でも利用がされている。


・TACACS+:認証・認可・アカウンティングの機能を持ったプロトコルの1つ。TCPを利用するサーバクライアント型のプロトコル。TCP49ポートを利用し、パケット全体を暗号化し送信する。

AAAを利用したログイン認証の設定例

ログイン時に問われるパスワードの設定方法にも、従来方式(コンソールパスワード・VTYパスワード)のほかRADIUSサーバやTACACS+サーバを利用した認証方式を追加できる。

設定の流れは以下のようになる。

①AAA有効化 コマンド:aaa new-model グローバルコンフィギュレーションモードで行う。
②ログイン時の認証方式の設定 コマンド:aaa-authentication login まず認証の方式リストをグローバルコンフィギュレーションモードで作る必要がある。それらのリストをVTYラインやコンソールラインに指定する。
③認証方式の適用 コマンド:login authentication 先に作ったリストをラインコンフィギュレーションモードで実際に適用する。

以下に、Packet Tracerでの設定例を示す。

Router(config)#aaa new-model
Router(config)#aaa authentication login loginlist local
Router(config)#aaa authentication login loginlist2 enable
Router(config)#enable secret cisco
Router(config)#username user01 secret pass01
Router(config)#line console 0
Router(config-line)#login authentication loginlist
Router(config-line)#exit
Router(config)#line vty 0 4 
Router(config-line)#login authentication loginlist2
Router(config-line)#exit

これによってコンソール接続時はログイン認証でユーザ名「user01」パスワード「pass01」が求められ、VTY接続時はイネーブルパスワードと同じパスワード「cisco」が求められることとなる。

IEEE 802.1Xとは

ポートセキュリティ以外でネットワークへの不正アクセスを防ぐ仕組みの一つ。802.1X認証を使うことでスイッチに接続したPCやAPを使ったPCが社内ネットワークに接続される前にユーザIDやパスワードで認証を行うことができる。 この規格を構成する要素には、サプリカント、オーセンティケータ、認証サーバがある。

・サプリカント:ユーザが入力した認証情報をオーセンティケータに送信するPC側のソフトウェアのこと。
・オーセンティケータ:サプリカントから送られてきたユーザ名やパスワードを認証サーバに中継をする。オーセンティケータがRADIUSクライアントとなる。
・認証サーバ:ユーザ認証を行う。認証結果はオーセンティケータに伝えて、スイッチのポートブロックを行ったりする。認証サーバがRADIUSサーバとなる。