د Squid له لارې یو VPN پای ټکی: یوه تنګه CONNECT استثنا
اجازه ورکړئ یو تصویب شوی سرچینه د Squid له لارې په 1194 پورټ کې یوې VPN دروازې ته ورسیږي، نړیوال پورټ ساتونکي وساتئ او ثابته کړئ چې بل څه نه دي پرانیستل شوي۔
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_srcall-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 جریانونه وړي، او هغه OpenVPN پروفایل چې UDP کاروي به د هغې له لارې نه رسېدونکی وي۔ پروفایل یوازې هغه وخت 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 لاس ورکول جلا ازموینه پاتې کیږي۔