Squid CONNECT суроосуна дал келген биринчи http_access сапы менен жооп берет, жана бул сап баш тартуу болушу мүмкүн. Ушул бир факт VPN акыркы чекити үчүн өзгөчөлүк эмне үчүн адатта биринчи аракеттен эле ишке ашпай калаарын түшүндүрөт, анткени суроо төмөндө бирөө кошкон уруксатка эч качан жетпейт. Тар оңдоо бар порт кайтаруучуларын сактайт жана аларга бир текшерилген булакты, багытты жана портту үйрөтөт. Проксидеги калган нерселердин баары мурункудай иштейт.

Squid CONNECT суроосун кантип чечет

CONNECT суроосу хост жана порт деп атайт, ал эми Squid http_access саптарын кезеги менен карап, бири дал келгенге чейин улантат. Дал келген баш тартуу баалоону дароо бүтүрөт жана кардар проксиден 403 алат. Ошондуктан эреженин орду анын жазылышынан маанилүүрөөк. Ошол эле сапты бир баскыч жогору жылдыруу натыйжаны толугу менен өзгөртүшү мүмкүн.

Салттуу кайтаруучулар Safe_ports сыртындагынын баарын баш тартат жана SSL_ports сыртындагы CONNECTти баш тартат. Бул аттар сиздин конфигурацияңызда аныкталган ACLдар, ошондуктан алардын мазмуну протоколго эмес, сизге таандык. Таратуу Safe_ports катары порттордун кең диапазонуна жол берип, CONNECTти өзүнчө чектеши мүмкүн. Порт долбоор боюнча бөгөттөлгөн деп ойлоодон мурун тирүү маанилерди окуңуз.

Суроону четке каккан компонент прокси экенин ырастаңыз. Squid түзгөн 403 VPN серверинин TLS эскертүүсүнө такыр окшошпойт, ал эми экөөнү бир маселеге бириктирүү биринчи саатты алат. Суроо үчүн кирүү журналынын сабын текшериңиз, анткени ал аракетти да, аны жараткан эрежени да жазат.

Үч өзүнчө ACLдин ордуна бир бириктирилген дал келүү түзүңүз

Өзгөчөлүктү үч фактыдан түзүңүз: бекитилген булак диапазону, бир бекитилген багыт дареги жана акыркы чекит уктаган жалгыз порт. Эки өзүнчө ACL жана бир бириктирилген дал келүү абдан башка саясат берет, анткени бааланган нерсе — айкалыш. Бириктирилген ACLди анын уруксат берген нерсеси боюнча атаңыз, ташыган ыкмасы боюнча эмес.

Төмөнкү форма текшерилген маанилер менен алмаштырылышы керек болгон документтик диапазондорду колдонот. Squid бул аттардын эч бирин өзүнө калтырбайт, ошондуктан аларды тандоо да, ырааттуу кармоо да сиздин ишиңиз. Бул рецепт all-of тобун колдогон документтелген конфигурациясы бар Squid 6 жана 7 менен чектелген. Учурдагы шилтеме бул директиваларды Squid 8де жеткиликсиз деп белгилейт, ошондуктан муну көчүрүү жолу эмес, версияга байланган рецепт катары карап, колдонуудан мурун директиваны өз версияңыздын шилтемесинен текшериңиз.

acl pvpn_src src 192.0.2.128/25
acl pvpn_dst dst 198.51.100.77/32
acl pvpn_port port 1194
acl pvpn_ok all-of CONNECT pvpn_port pvpn_dst pvpn_src

all-of тобу ар бир мүчө дал келгенде гана дал келет, башкача айтканда булак, багыт жана порт бир сапта текшерилет. Топ өзү эч нерсе бербейт, ал эми үч фактынын экөөнө гана дал келген суроо аны канааттандыра албайт. Бул касиет кийинчерээк бирөө экинчи дарбазаны кошкондо өзгөчөлүктү тар кармайт. Же жаңы багыт атайын кошулат, же суроо баштапкы кайтаруучуларга кайтат.

Порт кайтаруучуларын алып салбастан ийиңиз

Азыркы ордунда эки салттуу кайтаруучу сап мындай көрүнөт. Алар адатта аутентификациядан кийин жана баарына уруксат берген саясат саптарынын алдында турат.

http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

Ар бирине четке кагылган бириктирилген дал келүүнү кошуңуз, ошондо дал келген өзгөчөлүк болбосо аны четке кага турган кайтаруучудан өтөт. Бир гана кайтаруучу саптар өзгөрөт, жана ар бири бир гана кошумча шарт менен.

http_access deny CONNECT !SSL_ports !pvpn_ok
http_access deny !Safe_ports !pvpn_ok

Бир кирүү сабындагы шарттар биригет, ошондуктан сап эми баштапкы текшерүүдөн да, өзгөчөлүктөн да өтпөгөн суроолорду гана четке кагат. Бекитилген акыркы чекитке суроо өтөт, ал эми калган ар бир суроо эски порт жүрүм-турумун сактайт. Бул портту глобалдык SSL_ports тизмесине кошуудан тар, ал ошол портту ар бир багытка уруксат кылат эле. Эгер порт ошол тизмеде мурунтан болсо, бул ACL эч нерсени тарытпайт жана эски, кененирээк уруксат башка багыттарга да колдонулат, ошондуктан өзгөчөлүк портту ачты деп ырастоодон мурун тирүү тизмени окуңуз. Ал кайтарылуучу да, анткени эки сап мурунку формасына кайтат. Кирүүнү көзөмөлдөө шилтемеси бул өзгөрүү көз каранды болгон тартипти жана салттуу кайтаруучуларды документтейт.

Өзгөчөлүктү кайда коюуга болбойт

Азгыруу — кайтаруучулардын үстүнө уруксат коюп, бүтүрүү. Мындай жайгаштыруу иштеп турган конфигурациянын жогорку бөлүгүнө жакын турган аутентификация жана жергиликтүү багыт коргоолорун да өткөрүп жиберет. Натыйжа тар өзгөчөлүк эмес, үстүндө түшүндүрмөсү бар тешик. Ар кандай жаңы уруксатты кардар саясатынын калган бөлүгү сыяктуу эле текшерилген баскычта кармаңыз.

Порт кайтаруучуларынан кийин суроого дагы эмне керек экенин текшериңиз. Аутентификацияланган эсеп, уруксат берилген кардар дареги жана багыт саясаты дагы эле колдонулат, ал эми өзгөчөлүк алардын эч бирин өзгөртпөйт. Эгер проксияңыз бекитилген эсепке эркин багыттарга жетүүгө мурунтан уруксат берсе, порт кайтаруучусу эч качан чыныгы көзөмөл болгон эмес.

Акыркы чекит таптакыр TCPпи экенин ойлонуңуз. CONNECT өзгөчөлүгү TCP агымдарын ташыйт, ал эми UDP колдонгон OpenVPN профили анын аркылуу жеткиликтүү болбойт. Профилди TCPге сервер ошентип укса жана оператор жүрүм-турум айырмасын кабыл алса гана өзгөртүңүз.

Чекти талдоочу жана реалдуу суроо менен текшериңиз

Конфигурацияны кайра жүктөөдөн мурун талдаңыз жана муну жасап жатканда экинчи сессияны ачык кармаңыз. Кайра жүктөө учурундагы синтаксистик ката проксини эски конфигурацияда калтырышы же жаңысын таптакыр четке кагышы мүмкүн. Талдоочу четке кагылган сапты билдирет, бул кардар катасы айтаарынан көп.

Андан кийин кайра жүктөп, бекитилген булактан прокси аркылуу бир реалдуу CONNECT жибериңиз. Талдоочуну иштетүү биринчи келет, анткени ката жазуу менен кайра жүктөө сизге саясат жөнүндө эч нерсе үйрөтпөйт.

squid -k parse
squid -k reconfigure
curl -v -p -x http://proxy.lab.internal:3128 https://vpn.lab.internal:1194/ --max-time 5

Үч учурду сынаңыз: бекитилген булак жана эсеп, бекитилбеген булак жана ошол эле порттогу башка багыт. Үчүнчү учур өзгөчөлүктүн тар экенин далилдейт, анткени портту багыт дал келишинен тышкары текшерет. Кардар билдирүүсүнө ишенүүнүн ордуна үчөө үчүн кирүү журналын окуңуз. Ийгиликтүү CONNECT TCP агымын орнотот, андан ашык эмес, ошондуктан VPN кол алышуусу өзүнчө сыноо бойдон калат.

Тектеш макалалар