はじめに
アクセス制御リスト(ACL)は、システムの場所とリソースにアクセスするためのユーザー特権を管理します。 ACLはパーソナルコンピューティングに適用されますが、ビジネス環境でより頻繁に使用されます。
ネットワークでは、ACLは、ネットワークトラフィックを制御し、データベースサーバー、コンテンツ管理システムなどへの不正アクセスを防止するための標準的なネットワークセキュリティプラクティスと見なされています。
この記事では、ネットワーキングにおけるACLの役割に焦点を当てます。 ACLコンポーネントと一般的なACLタイプについて説明し、ネットワークにアクセス制御リストを実装するための最適な方法に関するアドバイスを提供します。
ACL(アクセス制御リスト)とは何ですか?
ACL(アクセス制御リスト)は、コンピューターネットワークへのアクセスを許可または拒否する一連のルールです。ネットワークデバイス、つまりルーターとスイッチは、ACLステートメントを入力(インバウンド)および出力(アウトバウンド)ネットワークトラフィックに適用し、それによってどのトラフィックがネットワークを通過するかを制御します。
ACLはどのように機能しますか?
ACLはステートレスファイアウォールとして機能します。ステートフルファイアウォールはネットワークパケットの内容を検査しますが、ステートレスファイアウォールはパケットが定義されたセキュリティルールに従っているかどうかのみをチェックします。
ACLは、ルーターやスイッチなどのネットワークインターフェイスにあるアクセスルールを含むテーブルです。ユーザーがルーターまたはスイッチでACLを作成すると、デバイスはトラフィックフィルターになります。
上の図が示すように、ACLは、ユーザー(IPアドレス)からのトラフィックがデバイスを通過できるかどうかをルーターに通知します。
番号付きおよび名前付きACL
アクセス制御リストを作成するときに、ユーザーはそれを番号付きとしてフォーマットすることを選択できます または名前付き リスト。
番号付きアクセス制御リスト 、各リストには識別番号があります:
- 標準のアクセスリストには1-99の番号が付いています および1300-1999 。
- 拡張アクセスリストは100-199にあります および2000-2699 範囲。
名前付きアクセス制御リスト 名前を使用すると、ネットワーク管理者がACLの目的に関する情報を提供できるため、番号付きリストよりも優先されます。
たとえば、会社の建物内のInfoSecオフィスにルールを提供する拡張ACLを設定する場合、ユーザーはルーター構成モードのコマンドプロンプトで次のコマンドを入力して拡張リストを作成できます。
access-list extended 120 [rule1] [rule2] [...]
この方法で作成された番号付きリストは、名前付きリストと同じプロパティを持ちますが、名前付きリストを作成すると、その目的が明確になります。
access-list extended INFOSEC [rule1] [rule2] [...]
ACLタイプ
ACLには次の5つのタイプがあります。標準 、拡張 、動的 、反射的 、および時間ベース 。
次のセクションでは、各ACLタイプについて説明します。
標準ACL
基本タイプのACLは、送信元IPアドレスに基づいてトラフィックをフィルタリングします。パケットがスイッチに出入りしようとすると、システムはそのIPデータをACLで指定されたルールと照合します。特定のIPアドレスを許可するルールが見つかるとすぐにチェックプロセスが終了します。
たとえば、次のアクセスリスト番号5は、 192.168.15.0/24
上のホストを許可します 通信網。
access-list 5 permit 192.168.15.0 0.0.0.255
標準ACLを作成するための完全な構文は次のとおりです。
access-list list-number-or-name {permit | deny} {source [source-wildcard] | host hostname | any}
source-wildcardパラメーターは逆マスクです。各サブネットマスクフィールドから255を引いて、逆マスクを計算します。上記の例では、 0.0.0.255
255.255.255.0
の逆マスクです サブネットマスク。
拡張ACL
標準のアクセスコントロールリストとは異なり、拡張ACLは送信元と宛先のIPアドレスに基づくルールを受け入れます。さらに、拡張ACLルールには、プロトコルタイプ、TCPまたはUDPポートなどによるフィルタリングが含まれる場合があります。
次の例は、 192.168.15.0/24
からのすべてのトラフィックを許可する拡張アクセスリスト番号150を示しています。 宛先にホストポートとしてHTTPポート80がある場合は、任意のIPv4ネットワークへのネットワーク:
access-list 150 permit tcp 192.168.15.0 0.0.0.255 any eq www
拡張ACLの完全な構文は次のとおりです。
access-list access-list-number-or-name {deny | permit} protocol source source-wildcard destination destination-wildcard precedence [precedence] tos [tos] [fragments] time-range [time-range-name] [log]
動的ACL
動的ACLは、動的ACLルールを含む拡張リストと呼ばれます。このACLタイプは、ロックアンドキーセキュリティとも呼ばれます。
動的ACLは、信頼できるマシンを物理的に再配置する場合など、許可されたホストのIPアドレスの変更から生じる問題に対処します。 IDを確認するには、クライアントはユーザー名とパスワードを入力する必要があります。検証が成功すると、ネットワークデバイスはアクセスルールを変更して、新しいIPアドレスからの接続を受け入れます。
リフレクシブACL
標準ACLはセッションを追跡しませんが、再帰ACLは、ホストネットワーク内から発信されたセッションへのトラフィックを制限できます。
リフレクシブACLは、インターフェイスに直接適用することはできません。代わりに、通常、拡張された名前付きアクセスリストにネストされます。このアクセス制御タイプは、FTPクライアントなど、セッション中にポート番号を変更するアプリケーションをサポートしていません。
時間ベースのACL
この拡張ACLタイプにより、時間ベースのアクセス制御が可能になります。たとえば、組織は、従業員が昼食時間中にのみ特定のインターネットの場所にアクセスすることを許可する場合があります。
時間ベースのルールは、 time-range
を使用して作成されます 指図。このコマンドを使用すると、ユーザーは絶対を設定できます。 開始時刻と終了時刻が1つで、定期的のルール ルール。定期的な期間を設定するために使用されます。
ACLコンポーネント
次のコンポーネントがアクセス制御リストを構成します。
- シーケンス番号 ACLエントリを識別します。
- 名前 ACLの説明的な識別を提供します。
- ステートメント ACLの主要部分です。ステートメントを使用して、ユーザーはIPアドレスまたはIP範囲へのアクセスを許可または拒否します。
- ネットワークプロトコル コンポーネントは、IP、TCP、UDPなどの特定のネットワークプロトコルへのアクセスを許可または拒否します。
- ソースまたは宛先 コンポーネントは、送信元または宛先のIPアドレスまたは範囲を定義します。
一部のルーターでは、次のようなACLコンポーネントを追加できます。
- ログ 、ACLイベントを追跡します。
- 備考 、ACLの目的に関する追加のコメントのためのスペースを提供します。
複雑なACLには、ToS(サービスの種類)またはDSCP優先度に基づいてよりきめ細かいネットワークトラフィック制御を行うためのコンポーネントがあります。
ACLの利点
ACLの主な機能はネットワークを保護することですが、ネットワークトラフィック制御の他の側面にも役立ちます。
- 特定のユーザーまたはトラフィックをブロックし、アドレス、プロトコル、トラフィックタイプなどに基づいて、きめ細かいアクセス制御を可能にします。このプロパティは、インターネットに接続しているサーバーに特に役立ちます。
- ローカルとリモートの両方で、ユーザーとホストの識別を簡素化します。
- 輻輳の回避と管理を支援します。
- 帯域幅を制御して過剰なネットワークトラフィックを防ぐことにより、ネットワークパフォーマンスを向上させます。
- DoS(サービス拒否)攻撃やなりすましの防止を支援します。
ACLの実装方法
ルーターはACLルールを適用するのに最適な場所であるため、ルーターのトラフィックフローを知ることは、ACLを適切に実装するために不可欠です。ネットワークトラフィックを理解するには、入力(インバウンド)トラフィックと出力(アウトバウンド)トラフィックの概念が不可欠です。
次の図は、ネットワークに出入りする入力トラフィックと出力トラフィックを示しています。
- 入力トラフィック ルーターに流入するトラフィックです。
- 出力トラフィック ルーターを離れるトラフィックです。
たとえば、インターネットからのすべてのトラフィックをブロックするには、入力ルールを設定する必要があります。このルールのソースは0.0.0.0
になります 、これはすべての外部IPアドレスを表すワイルドカードです。宛先はローカルネットワークのIPアドレスです。
逆に、ネットワーク内の単一のマシンのインターネットアクセスをブロックするには、出力ルールを設定する必要があります。ここで、送信元はマシンのIPアドレスであり、宛先は 0.0.0.0
ワイルドカード。
以下は、ACLを実装する際に考慮すべきヒントです。
- ルーターまたはスイッチに適用する前にACLを作成します。ネットワークデバイス上に空のリストを作成することから始める場合、デフォルトで含まれている暗黙の拒否ステートメントがネットワークトラフィックを中断する可能性があります。
- ACLがすべてのトラフィックを拒否しないようにするには、ACLに少なくとも1つの
permit
が含まれていることを確認してください 声明。 - 一般的なルールの前に、より具体的なルールを配置します。
- 明示的な
deny
を使用する 声明。各ACLは暗黙のdeny
で終了しますが ステートメント、show access-list
を使用して拒否されたパケットの数を表示しようとすると、明示的なステートメントのみが表示されます コマンド。 remark
を使用する 可能な限りコマンドを実行して、ACLに関する詳細を提供します。