Перейти к содержанию

ACL

Введение

Списки управления доступом (Access Control Lists, ACL) представляют собой механизм, используемый для фильтрации трафика в компьютерных сетях и управления доступом к ресурсам. Они являются важным инструментом для сетевых администраторов, позволяя устанавливать правила обработки трафика на маршрутизаторах, коммутаторах и брандмауэрах.

Основные принципы работы ACL

ACL работают на основе набора правил, которые применяются к сетевым пакетам, проходящим через устройство. Каждое правило в ACL содержит критерии, по которым принимается решение о разрешении или блокировке трафика. Основные параметры, которые могут использоваться в правилах ACL:

  • IP-адрес источника
  • IP-адрес назначения
  • Порт источника
  • Порт назначения
  • Протокол (TCP, UDP, ICMP и др.)
  • Другие параметры заголовков пакетов

ACL могут применяться как на входящем (inbound), так и на исходящем (outbound) трафике интерфейса.

Виды ACL

1. Стандартные ACL

Стандартные ACL (Standard ACL) работают только с IP-адресами источника. Они используются для базовой фильтрации трафика. Создаются с помощью номеров от 1 до 99 (или 1300-1999 для расширенного диапазона).

Команды:

access-list 10 permit 192.168.1.0 0.0.0.255  # Разрешает достп для сети 192.168.1.0/24
  • access-list 10 — создает ACL с номером 10 (стандартный диапазон: 1-99, 1300-1999).
  • permit 192.168.1.0 0.0.0.255 — разрешает трафик от всех хостов в указанной сети.
access-list 10 deny any  # Запрещает весь остальной трафик
  • deny any — запрещает все остальные IP-пакеты, не соответствующие предыдущему правилу.

2. Расширенные ACL

Расширенные ACL (Extended ACL) позволяют фильтровать трафик по IP-адресу источника и назначения, протоколам, портам и другим параметрам. Используют номера от 100 до 199 (или 2000-2699).

Команды:

access-list 100 permit tcp 192.168.1.0 0.0.0.255 any eq 80
  • access-list 100 — создает ACL с номером 100 (расширенный диапазон: 100-199, 2000-2699).
  • permit tcp — разрешает только TCP-трафик.
  • 192.168.1.0 0.0.0.255 — задает источник (сеть 192.168.1.0/24).
  • any eq 80 — указывает, что разрешен трафик только к порту 80 (HTTP).
access-list 100 deny ip any any
  • deny ip any any — запрещает весь остальной трафик.

3. Нумерованные и именованные ACL

ACL могут быть нумерованными (как в предыдущих примерах) или именованными (Named ACL), что делает их более удобными для управления.

Команды:

ip access-list extended MY_ACL
 permit tcp any any eq 22
  • ip access-list extended MY_ACL — создает именованный список.
  • permit tcp any any eq 22 — разрешает SSH-трафик.

4. Динамические ACL (Lock-and-Key ACL)

Позволяют пользователям аутентифицироваться перед тем, как им будет разрешен доступ через ACL. Используются для повышения безопасности.

5. Временные ACL (Time-Based ACL)

Позволяют применять правила на основе временных интервалов. Используются для ограничения доступа в определённые периоды времени.

6. Reflexive ACL

Отслеживают исходящие соединения и автоматически разрешают обратные ответы на них. Используются для динамической фильтрации трафика.

7. Zone-Based ACL

Используются в современных брандмауэрах и маршрутизаторах, работая в рамках зон безопасности, а не на отдельных интерфейсах.

Размещение и порядок обработки ACL

ACL обрабатываются сверху вниз, и при совпадении с правилом дальнейшая проверка не производится. В конце каждой ACL есть скрытое правило "deny any any", блокирующее весь остальной трафик, если не заданы другие правила.

Рекомендации по размещению ACL:

  • Стандартные ACL размещают как можно ближе к месту назначения трафика.
  • Расширенные ACL размещают как можно ближе к источнику трафика.
  • Минимизировать количество правил, чтобы снизить нагрузку на оборудование.

Размещение ACL на входе и выходе:

  • Входящие ACL (Inbound ACL): Фильтруют пакеты перед тем, как они будут обработаны устройством. Они позволяют отбрасывать нежелательный трафик, прежде чем он будет передан в маршрутизационную таблицу, что снижает нагрузку на устройство.
    • Используются для блокировки нежелательного трафика на ранней стадии.
    • Размещаются ближе к источнику трафика, если необходимо блокировать пакеты как можно раньше.
  • Исходящие ACL (Outbound ACL): Применяются после того, как пакеты были обработаны устройством и готовы к отправке в сеть. Они полезны, когда необходимо контролировать, какие пакеты покидают устройство.

    • Используются для управления трафиком, покидающим сеть.
    • Размещаются ближе к месту назначения, если требуется контролировать отправляемый трафик.

    Описание команд ACL

    access-list <номер> <действие> <протокол> <источник> <маска> <назначение> <маска> [eq порт]

    • номер — идентификатор ACL (1-99 для стандартных, 100-199 для расширенных).
    • действиеpermit (разрешить) или deny (запретить).
    • протоколip, tcp, udp, icmp и др.
    • источник — IP-адрес отправителя или any.
    • маска — обратная маска (например, 0.0.0.255).
    • назначение — IP-адрес получателя или any.
    • порт — можно указать конкретный (eq 80 для HTTP) или диапазон (range 1024 65535).

    ip access-group <номер или имя> in|out

    Применяет ACL к интерфейсу.

    • номер или имя — ранее созданный ACL.
    • in — для входящего трафика.
    • out — для исходящего трафика.

Примеры практического применения ACL

  1. Ограничение доступа в Интернет для локальной сети
  2. Фильтрация нежелательного трафика (торренты, соцсети)
  3. Ограничение доступа к критически важным серверам
  4. Обеспечение безопасности маршрутизаторов и коммутаторов

Ошибки при настройке ACL

  • Размещение стандартных ACL слишком близко к источнику
  • Отсутствие явного разрешения трафика, приводящее к блокировке всего трафика
  • Неправильный порядок правил в ACL
  • Отсутствие учета скрытого правила deny any any

Заключение

ACL являются важным инструментом управления сетевой безопасностью. Их грамотная настройка позволяет контролировать доступ к ресурсам, ограничивать нежелательный трафик и защищать сеть от угроз. Каждый сетевой администратор должен уметь работать с ACL, понимать принципы их работы и учитывать нюансы конфигурации для различных платформ.