Широкий селектор IPsec — не разрешение на все службы
То, что вы соглашаетесь защищать, и то, что вы разрешаете, — два разных решения. Прочитайте направление ASA vpn-filter, прежде чем считать разрешение односторонним.
Две стороны договариваются защищать целую подсеть, и кто-то читает это соглашение как разрешение достучаться до любой службы внутри неё. Это и есть миф: селектор говорит, какой трафик туннель готов нести, и ничего не говорит о том, какие службы разрешает организация. Пара устройств может законно согласовать широкий диапазон адресов, тогда как политика доступа внутри него разрешает два порта, и оба утверждения остаются верными одновременно.
Защищённое покрытие — не разрешение
Селектор трафика — часть соглашения о туннеле. Он сужает или подтверждает то, что стороны будут шифровать между собой, и широкий селектор часто проще всего эксплуатировать, когда у обеих сторон много потоков. Фильтр служб — другой механизм в другой точке пути, и он решает, что действительно можно использовать после расшифровки пакета. Удаление фильтра ради прохождения одного теста превращает решение политики в случайность.
Держите две записи раздельно в проектном документе, потому что читатель, видящий только селектор, выведет разрешение, которого никогда не давали. Две строки в записи об изменении предотвращают это и занимают меньше времени, чем последующий спор.
Опишите один поток с обеих сторон
Запишите инициатора, ответчика, источник и назначение в том виде, как они представлены, протокол и оба порта. Затем переверните каждую из этих меток для другого конца, потому что временный порт источника клиента становится портом назначения ответа, а удалённая сеть становится локальной. Конфигурация, скопированная с одной стороны на другую без такого переворота, — это и есть причина, по которой фильтры в итоге разрешают ровно неверное направление. Запишите таблицу один раз и постройте оба фильтра из неё.
Согласуйте модель выбора до того, как что-либо копировать, поскольку проект на основе политик и проект на основе маршрутов выражают одно и то же намерение через разные объекты. Запишите имя модели рядом с потоком, иначе следующий инженер потратит полдня на сопоставление объектов, которые никогда не были сравнимы.
Найдите фильтр, который действительно применяется
На ASA фильтр VPN — это ACL, привязанный к групповой политике и применяемый к трафику после расшифровки и перед шифрованием. Документация Cisco по групповым политикам также описывает наследование, включая значение на уровне пользователя, которое замещает значение групповой политики. Поэтому ACL, который вы правили, может быть не тем ACL, который управляет сеансом перед вами. То же верно и для объекта пользователя, который может переопределить группу, не оставляя заметных свидетельств.
Проверяйте действующий сеанс, а не объект, который вы помните изменённым, и отмечайте, какой объект политики его предоставляет. Этот единственный шаг снимает удивительно много сообщений вида «фильтр верный, но не работает».
Направление, порты и обратный случай
Задокументированное соглашение ставит удалённую сеть или назначенные адреса удалённых клиентов в позицию источника, а локальную сеть — в позицию назначения, причём ответы выражаются перестановкой позиций адресов. Правила портов лежат поверх этого соглашения и заслуживают большего внимания, чем адреса.
Задокументированная модель может позволить правилу порта назначения влиять на обратную инициацию, использующую тот же порт источника, а значит, фильтр — не просто одностороннее правило запроса с безобидными ответами. Явно продумайте оба направления инициации и включите случай, который собираетесь запретить.
Та же документация ограничивает фильтр начальными соединениями, поэтому он не является универсальным применением каждого вторичного канала, который открывает проверяемое приложение. Там, где полной политике нужно такое покрытие, оно относится к отдельной границе, а не к ACL, растянутому сверх своего назначения.
Проверьте три случая, прежде чем считать готовым
Примите нужный поток, откажите службе, которую политика запрещает, и отработайте случай обратного направления, о котором вы рассуждали. Запустите их по утверждённому плану с теми же идентичностями и селекторами, которые будете разворачивать. Тест, который показывает только работу разрешённой службы, демонстрирует туннель, а не политику.
Храните согласованное покрытие и решение о доступе как две записи, потому что объяснение того, что разрешает VPN, требует обеих.