Чаму аддалены карыстальнік ASA дасягае падсеткі, але не праграмы
Маршруты даказваюць працу тунеля, а не тое, што карыстальнік можа адкрыць праграму. Прачытайце фільтр, які атрымала сесія, затым праверце дазволенае і забароненае злучэнне.
Ваш карыстальнік падключаецца, атрымлівае адрас, пінгуе сервер у падсетцы праграмы і ўсё роўна не можа адкрыць службу на ім. Такое спалучэнне для ASA звычайнае, бо паспяховы тунель і прыдатны дазвол вызначаюцца рознымі наладамі. Спіс раздвоенага тунеля выбіраў, якія прызначэнні трапілі ў тунель; фільтр VPN і ўласныя правілы доступу прызначэння вырашаюць, чаго можа дасягнуць расшыфраваны запыт. Праходзьце тры рашэнні па парадку, а не пашырайце спіс маршрутаў, пакуль нешта не зменіцца.
Тры рашэнні, якія лёгка пераблытаць
Допуск адказвае, ці можа карыстальнік увогуле ўсталяваць тунель: уліковыя даныя, сертыфікат і любы другі фактар. Выбар маршруту адказвае, якія прызначэнні кліент накіроўвае ў гэты тунель. Аўтарызацыя адказвае, ці можа расшыфраваны запыт дасягнуць службы. Толькі трэцяе стварае памылку, якую паведамляе карыстальнік.
Хуткі спосаб іх адрозніць — спытаць, што зламае змена. Выдаленне маршруту са спіса раздвоенага тунеля спыняе трафік да гэтай падсеткі, нічога не даючы; даданне ACE у фільтр VPN дае прызначэнне, не змяняючы таго, што кліент тунелюе.
| Setting | What it decides | Symptom when it is wrong |
|---|---|---|
| Connection profile and authentication | Whether the tunnel is built | Login fails, no address assigned |
| Split-tunnel network list | Which destinations the client routes into the tunnel | Subnet unreachable from the client, everything else fine |
| VPN filter (ACL) | Which decrypted flows are permitted | Tunnel up, ping may work, TCP service refused or dropped |
Прачытайце фільтр, які сесія фактычна атрымала
Пачынайце з жывой сесіі, а не з канфігурацыі, якая, на вашу думку, дзейнічае. show vpn-sessiondb detail anyconnect выводзіць прызначаную групавую палітыку і назву фільтра, прымацаванага да гэтай сесіі. Калі поле пустое, ніякі фільтр нічога не ажыццяўляе, і блок прыходзіць аднекуль іншага.
Затым прачытайце палітыку, якая валодае значэннем, уключаючы значэнні па змоўчанні, бо фільтр можа быць успадкаваны, а не запісаны там, дзе вы глядзіце:
show run all group-policy <policy-name>
show run access-list <acl-name>
show run webvpn
Параўнайце назву фільтра ў сесіі з ACL, які вы толькі што рэдагавалі. ACL з падобнай назвай, які карыстальнік не атрымаў, не можа змяніць палітыку рэсурсаў гэтай сесіі, і гэта самая частая прычына, чаму правільна выглядаючая змена не мае эфекту.
Прыярытэт тлумачыць астатняе. Для налады фільтра запіс DAP перавышае атрыбуты імя карыстальніка, а атрыбуты імя карыстальніка перавышаюць групавую палітыку. Калі сесія паказвае фільтр, якога вы не чакалі, шукайце палітыку DAP, якая адпавядае гэтаму карыстальніку, перш чым кранаць групу.
Спіс раздвоенага тунеля і фільтр — асобныя палі
На ASA 9.x групавая палітыка ўтрымлівае split-tunnel-network-list і vpn-filter як розныя налады, і кіраўніцтва па групавых палітыках 9.22 дакументуе іх асобна менавіта таму. Спіс сетак — гэта падказка маршрутызацыі для кліента; фільтр — гэта спіс кіравання доступам, які ўжываецца да расшыфраванага трафіку.
Гэтае адрозненне важнае, калі карыстальніку патрэбна адна служба HTTPS у падсетцы. Змесціце падсетку ў спіс раздвоенага тунеля, каб пакеты трапілі ў тунель, потым дазвольце ў фільтры толькі гэтую службу. Пашырэнне спіса маршрутаў нічога не дазваляе, а яго скарачэнне не з’яўляецца механізмам прымусу.
Праверце, ці ACL інтэрфейса ўвогуле ў шляху
Расшыфраваны трафік аддаленага доступу не заўсёды праходзіць праз ACL знешняга інтэрфейса так, як людзі мяркуюць. Там, дзе sysopt connection permit-vpn уключаны, ASA ужывае свой дакументаваны абыход VPN для гэтага трафіку, а адпаведныя фільтры VPN пасля гэтага ўсё яшчэ дзейнічаюць. Праверце наладу з дапамогай show run all sysopt замест таго, каб разважаць па дыяграме тапалогіі.
Так ці інакш, уласны брандмаўэр хоста прызначэння і аўтарызацыя праграмы застаюцца ў шляху. Правіла ASA, якое дазваляе TCP 443, не прымушае праграму прыняць карыстальніка.
Прыміце змену і з адхіленым злучэннем
Адзін дазволены тэст даказвае вельмі мала, бо працуючы тунель стварае той жа першы пакет незалежна ад наяўнасці фільтра. Адкрыйце патрэбную службу з кліента, затым паспрабуйце прызначэнне, якое павінна застацца закрытым, і пераканайцеся, што яно адмаўляе па правільнай прычыне.
Запішыце чатыры факты, калі закрываеце заяўку: дапушчаную асобу, палітыку і фільтр, якія сесія фактычна атрымала, прызначэнні ў спісе раздвоенага тунеля і рэсурс, да якога карыстальніку дазволена дасягнуць. Гэтыя чатыры тлумачаць, дзе кантралюецца трафік, не ператвараючы спіс маршрутаў у брандмаўэр.
Калі служба ўсё яшчэ адмаўляе пасля таго, як фільтр дазволіў яе, пераходзьце да хоста: адрас праслухоўвання, брандмаўэр хоста і ўласнае супастаўленне карыстальнікаў праграмы. У гэты момант тунель зрабіў сваю справу, і далейшыя змены ASA толькі дадаюць рызыку.