Сетевые проблемы могут возникать вследствие проблем транспортного уровня на маршрутизаторе, особенно на границе сети, где выполняется анализ и изменение трафика. Двумя наиболее часто реализуемыми технологиями транспортного уровня являются списки контроля доступа (ACL) и преобразование (NAT), как показано на рис. 1.
В большинстве случаев проблемы с ACL возникают вследствие неправильной настройки, как показано на рис. 2. Проблемы с ACL могут вызывать сбои в работе исправных систем. Ниже указаны несколько областей, где наиболее часто встречаются ошибки настройки:
- Выбор потока трафика — наиболее распространенным случаем неправильной настройки маршрутизатора является применение ACL к некорректному трафику. Трафик определяется интерфейсом маршрутизатора, через который данный трафик передаётся, а также направлением передачи этого трафика. ACL должен применяться к нужному интерфейсу, а для обеспечения правильной работы необходимо правильно выбирать направление трафика.
- Порядок записей контроля доступа — записи в ACL должны строго следовать в порядке от конкретных к общим. Хотя ACL может иметь отдельную запись, разрешающую определённый трафик, пакеты никогда не будут сравниваться с данной записью, если они были уже отклонены другой записью, расположенной ранее в списке. Если на маршрутизаторе одновременно применяются ACL и NAT, то важное значение имеет порядок применения этих технологий к потоку трафика. Входящий трафик сначала обрабатывается входящим ACL и только потом — NAT в направлении «снаружи внутрь». Исходящий трафик сначала обрабатывается исходящим ACL и только потом NAT в направлении «изнутри наружу».
- Неявное deny all — если для ACL высокий уровень безопасности не требуется, то этот неявный элемент контроля доступа может оказаться причиной неправильной настройки ACL.
- Адреса IPv4 и шаблонные маски — сложные шаблонные маски IPv4 позволяют существенно повысить уровень эффективности, но часто связаны с ошибками настройки. Примером сложной шаблонной маски является применение IPv4-адреса 10.0.32.0 и шаблонной маски 0.0.32.15 для выбора первых 15 адресов компьютеров либо в сети 10.0.0.0, либо в сети 10.0.32.0.
- Выбор протокола транспортного уровня — после настройки ACL важно правильно указать протоколы транспортного уровня. Многие сетевые администраторы, не зная точно, какой порт (TCP или UDP) используется конкретным потоком трафика, настраивают оба порта. Но в этом случае в межсетевом экране появляется «дырка», которой могут воспользоваться злоумышленники для проникновения в сеть. Кроме того, в ACL также появляется дополнительный элемент, поэтому время обработки в ACL возрастает, что будет приводить к увеличению задержки при передаче данных в сети.
- Порты источника и назначения — для надлежащего контроля трафика между двумя компьютерами требуются симметричные элементы контроля доступа для входящего и исходящего ACL. Информация об адресах и портах для трафика, создаваемого компьютером-ответчиком, является зеркальным отражением информации об адресах и портах для трафика, создаваемого компьютером-инициатором.
- Использование ключевого слова established – ключевое слово established повышает уровень безопасности, который обеспечивает ACL. Однако если ключевое слово применяется неправильно, то результаты могут быть неожиданными.
- Нестандартные протоколы — неправильно настроенные ACL часто создают проблемы для протоколов, отличных от TCP и UDP. К специальным протоколам, которые становятся все более популярными, относятся VPN и протоколы шифрования.
Ключевое слово log представляет собой полезную команду для вывода сведений о работе списка ACL на уровне его записей. В соответствии с данным ключевым словом маршрутизатор добавляет запись в системный журнал при каждом совпадении с условиями в этой записи. Зарегистрированное событие содержит подробную информацию о пакете, который соответствует элементу списка ACL. Ключевое слово log главным образом используется для поиска и устранения неполадок, а также предоставляет информацию о попытках вторжения, блокируемых с помощью ACL.