డొమైన్ అధికారంతో ఎంటర్‌ప్రైజ్ కోసం ఉచిత ప్రాక్సీ సర్వర్

డొమైన్ అధికారంతో ఎంటర్‌ప్రైజ్ కోసం ఉచిత ప్రాక్సీ సర్వర్

https వడపోతతో pfSense+Squid + యాక్టివ్ డైరెక్టరీ సమూహాల ద్వారా ఫిల్టరింగ్‌తో సింగిల్ సైన్-ఆన్ టెక్నాలజీ (SSO)

సంక్షిప్త నేపథ్యం

AD నుండి సమూహాల ద్వారా సైట్‌లకు (httpsతో సహా) యాక్సెస్‌ను ఫిల్టర్ చేయగల సామర్థ్యంతో ప్రాక్సీ సర్వర్‌ని అమలు చేయడానికి ఎంటర్‌ప్రైజ్ అవసరం, తద్వారా వినియోగదారులు అదనపు పాస్‌వర్డ్‌లను నమోదు చేయలేదు మరియు వెబ్ ఇంటర్‌ఫేస్ నుండి పరిపాలన చేయవచ్చు. చెడ్డ అప్లికేషన్ కాదు, కాదా?

కెరియో కంట్రోల్ లేదా యూజర్‌గేట్ వంటి పరిష్కారాలను కొనుగోలు చేయడం సరైన సమాధానం, కానీ ఎప్పటిలాగే డబ్బు లేదు, కానీ అవసరం ఉంది.

ఇక్కడే మంచి పాత స్క్విడ్ మన రక్షణకు వస్తుంది, కానీ మళ్ళీ, నేను వెబ్ ఇంటర్‌ఫేస్‌ను ఎక్కడ పొందగలను? SAMS2? నైతికంగా కాలం చెల్లినది. ఇక్కడే pfSense రక్షించబడుతుంది.

వివరణ

స్క్విడ్ ప్రాక్సీ సర్వర్‌ను ఎలా కాన్ఫిగర్ చేయాలో ఈ కథనం వివరిస్తుంది.
వినియోగదారులను ప్రామాణీకరించడానికి Kerberos ఉపయోగించబడుతుంది.
డొమైన్ సమూహాల ద్వారా ఫిల్టర్ చేయడానికి SquidGuard ఉపయోగించబడుతుంది.

Lightsquid, sqstat మరియు అంతర్గత pfSense పర్యవేక్షణ వ్యవస్థలు పర్యవేక్షణ కోసం ఉపయోగించబడతాయి.
సింగిల్ సైన్-ఆన్ (SSO) సాంకేతికత అమలుతో అనుబంధించబడిన ఒక సాధారణ సమస్య కూడా పరిష్కరించబడుతుంది, అవి వారి సిస్టమ్ ఖాతా యొక్క దిక్సూచి ఖాతా క్రింద ఇంటర్నెట్‌ను యాక్సెస్ చేయడానికి ప్రయత్నిస్తున్న అప్లికేషన్‌లు.

స్క్విడ్‌ని ఇన్‌స్టాల్ చేయడానికి సిద్ధమవుతోంది

pfSense ఆధారంగా ఉపయోగించబడుతుంది, సంస్థాపన సూచనలు.

దాని లోపల మేము డొమైన్ ఖాతాలను ఉపయోగించి ఫైర్‌వాల్‌కు ప్రామాణీకరణను నిర్వహిస్తాము. సూచనలు.

చాలా ముఖ్యమైన!

మీరు స్క్విడ్‌ను ఇన్‌స్టాల్ చేయడాన్ని ప్రారంభించడానికి ముందు, మీరు DNS సర్వర్‌ను pfsenseలో కాన్ఫిగర్ చేయాలి, దాని కోసం మా DNS సర్వర్‌లో A రికార్డ్ మరియు PTR రికార్డ్‌ను తయారు చేయాలి మరియు NTPని కాన్ఫిగర్ చేయాలి, తద్వారా సమయం డొమైన్ కంట్రోలర్‌లోని సమయానికి భిన్నంగా ఉండదు.

మరియు మీ నెట్‌వర్క్‌లో, pfSense WAN ఇంటర్‌ఫేస్‌కు ఇంటర్నెట్‌ను యాక్సెస్ చేయగల సామర్థ్యాన్ని అందించండి మరియు స్థానిక నెట్‌వర్క్‌లోని వినియోగదారులు పోర్ట్ 7445 మరియు 3128 (నా విషయంలో, 8080) ద్వారా సహా LAN ఇంటర్‌ఫేస్‌కి కనెక్ట్ అయ్యే సామర్థ్యాన్ని అందించండి.

అంతా సిద్ధంగా ఉందా? pfSenseపై అధికారం కోసం డొమైన్ LDAP ద్వారా కనెక్ట్ చేయబడిందా మరియు సమయం సమకాలీకరించబడిందా? గొప్ప. ఇది ప్రధాన ప్రక్రియను ప్రారంభించడానికి సమయం.

ఇన్‌స్టాలేషన్ మరియు ప్రీ-కాన్ఫిగరేషన్

మేము "సిస్టమ్/ప్యాకేజీ మేనేజర్" విభాగంలో pfSense ప్యాకేజీ మేనేజర్ నుండి Squid, SquidGuard మరియు LightSquidలను ఇన్‌స్టాల్ చేస్తాము.

విజయవంతమైన ఇన్‌స్టాలేషన్ తర్వాత, “సర్వీసెస్/స్క్విడ్ ప్రాక్సీ సర్వర్/”కి వెళ్లి, ముందుగా, లోకల్ కాష్ ట్యాబ్‌లో, కాషింగ్‌ని కాన్ఫిగర్ చేయండి, నేను ప్రతిదీ 0కి సెట్ చేసాను, ఎందుకంటే సైట్‌లను కాషింగ్ చేయడంలో నాకు పెద్దగా ప్రయోజనం కనిపించడం లేదు; బ్రౌజర్‌లు దీన్ని చక్కగా నిర్వహిస్తాయి. సెట్ చేసిన తర్వాత, స్క్రీన్ దిగువన ఉన్న "సేవ్" బటన్‌ను నొక్కండి మరియు ఇది ప్రాథమిక ప్రాక్సీ సెట్టింగ్‌లను చేయడానికి మాకు అవకాశాన్ని ఇస్తుంది.

ప్రధాన సెట్టింగులు క్రింది విధంగా ఉన్నాయి:

డొమైన్ అధికారంతో ఎంటర్‌ప్రైజ్ కోసం ఉచిత ప్రాక్సీ సర్వర్

డిఫాల్ట్ పోర్ట్ 3128, కానీ నేను 8080ని ఉపయోగించడానికి ఇష్టపడతాను.

ప్రాక్సీ ఇంటర్‌ఫేస్ ట్యాబ్‌లోని ఎంచుకున్న పారామీటర్‌లు మా ప్రాక్సీ సర్వర్ ఏ ఇంటర్‌ఫేస్‌లను వింటాయో నిర్ణయిస్తాయి. ఈ ఫైర్‌వాల్ WAN ఇంటర్‌ఫేస్ ద్వారా ఇంటర్నెట్‌ని చూసే విధంగా నిర్మించబడినందున, LAN మరియు WAN ఒకే స్థానిక సబ్‌నెట్‌లో ఉన్నప్పటికీ, ప్రాక్సీ కోసం LANని ఉపయోగించమని నేను సిఫార్సు చేస్తున్నాను.

sqstat పని చేయడానికి లూప్‌బ్యాక్ అవసరం.

దిగువన మీరు పారదర్శక ప్రాక్సీ సెట్టింగ్‌లు, అలాగే SSL ఫిల్టర్‌ను కనుగొంటారు, కానీ మాకు అవి అవసరం లేదు, మా ప్రాక్సీ పారదర్శకంగా ఉండదు మరియు https ఫిల్టరింగ్ కోసం మేము సర్టిఫికేట్ ప్రత్యామ్నాయంతో వ్యవహరించము (అన్నింటికంటే, మాకు డాక్యుమెంట్ నిర్వహణ ఉంది , బ్యాంక్ క్లయింట్లు మొదలైనవి), హ్యాండ్‌షేక్‌ను చూద్దాం.

ఈ దశలో, మేము మా డొమైన్ కంట్రోలర్‌కి వెళ్లాలి, ప్రామాణీకరణ కోసం అందులో ఒక ఖాతాను సృష్టించాలి (మీరు pfSenseలోనే ప్రమాణీకరణ కోసం కాన్ఫిగర్ చేసిన దాన్ని కూడా ఉపయోగించవచ్చు). ఇక్కడ చాలా ముఖ్యమైన అంశం ఏమిటంటే, మీరు AES128 లేదా AES256 ఎన్‌క్రిప్షన్‌ని ఉపయోగించాలనుకుంటే, మీ ఖాతా సెట్టింగ్‌లలో తగిన పెట్టెలను తనిఖీ చేయండి.

మీ డొమైన్ పెద్ద సంఖ్యలో డైరెక్టరీలతో చాలా క్లిష్టమైన అడవి అయితే లేదా మీ డొమైన్ .local అయితే, బహుశా, కానీ ఖచ్చితంగా కాకపోయినా, మీరు ఈ ఖాతా కోసం సాధారణ పాస్‌వర్డ్‌ను ఉపయోగించాల్సి ఉంటుంది, బగ్ తెలిసినది, కానీ సంక్లిష్టంగా ఉంటుంది. పాస్వర్డ్ అది పని చేయకపోవచ్చు, మీరు నిర్దిష్ట వ్యక్తిగత కేసును తనిఖీ చేయాలి.

డొమైన్ అధికారంతో ఎంటర్‌ప్రైజ్ కోసం ఉచిత ప్రాక్సీ సర్వర్

వీటన్నింటి తర్వాత, మేము డొమైన్ కంట్రోలర్‌లో Kerberos కోసం ఒక కీ ఫైల్‌ను సృష్టిస్తాము, నిర్వాహక హక్కులతో కమాండ్ ప్రాంప్ట్‌ని తెరిచి, నమోదు చేయండి:

# ktpass -princ HTTP/[email protected] -mapuser pfsense -pass 3EYldza1sR -crypto {DES-CBC-CRC|DES-CBC-MD5|RC4-HMAC-NT|AES256-SHA1|AES128-SHA1|All} -ptype KRB5_NT_PRINCIPAL -out C:keytabsPROXY.keytab

మేము మా FQDN pfSenseని సూచించే చోట, కేసును తప్పకుండా గౌరవిస్తాము, మాప్యూజర్ పారామీటర్‌లో మన డొమైన్ ఖాతా మరియు దాని పాస్‌వర్డ్‌ను నమోదు చేస్తాము మరియు క్రిప్టోలో మేము ఎన్‌క్రిప్షన్ పద్ధతిని ఎంచుకుంటాము, నేను పని కోసం rc4ని ఉపయోగించాను మరియు -అవుట్ ఫీల్డ్‌లో మేము ఎక్కడ ఎంచుకుంటాము మేము మా రెడీమేడ్ కీ ఫైల్‌ను పంపుతాము.
కీ ఫైల్‌ను విజయవంతంగా సృష్టించిన తర్వాత, మేము దానిని మా pfSenseకి పంపుతాము, నేను దీని కోసం చాలా వరకు ఉపయోగించాను, కానీ మీరు దీన్ని "డయాగ్నోస్టిక్స్ కమాండ్ లైన్" విభాగంలో ఆదేశాలు, పుట్టీ లేదా pfSense వెబ్ ఇంటర్‌ఫేస్ ద్వారా కూడా చేయవచ్చు.

ఇప్పుడు మనం create /etc/krb5.confని సవరించవచ్చు

డొమైన్ అధికారంతో ఎంటర్‌ప్రైజ్ కోసం ఉచిత ప్రాక్సీ సర్వర్

ఇక్కడ /etc/krb5.keytab అనేది మనం సృష్టించిన కీ ఫైల్.

కినిట్‌ని ఉపయోగించి Kerberos యొక్క ఆపరేషన్‌ను తనిఖీ చేయాలని నిర్ధారించుకోండి; అది పని చేయకపోతే, మరింత చదవడంలో అర్థం లేదు.

స్క్విడ్ ప్రమాణీకరణను కాన్ఫిగర్ చేస్తోంది మరియు ప్రామాణీకరణ యాక్సెస్ జాబితా లేదు

కెర్బెరోస్‌ని విజయవంతంగా కాన్ఫిగర్ చేసిన తర్వాత, మేము దానిని మా స్క్విడ్‌కి అటాచ్ చేస్తాము.

దీన్ని చేయడానికి, ServicesSquid ప్రాక్సీ సర్వర్‌కు వెళ్లండి మరియు ప్రధాన సెట్టింగ్‌లలో, చాలా దిగువకు వెళ్లండి, అక్కడ మనం "అధునాతన సెట్టింగ్‌లు" బటన్‌ను కనుగొంటాము.

అనుకూల ఎంపికలు (ప్రామాణీకరణకు ముందు) ఫీల్డ్‌లో, నమోదు చేయండి:

#Хелперы
auth_param negotiate program /usr/local/libexec/squid/negotiate_kerberos_auth -s GSS_C_NO_NAME -k /usr/local/etc/squid/squid.keytab -t none
auth_param negotiate children 1000
auth_param negotiate keep_alive on
#Списки доступа
acl auth proxy_auth REQUIRED
acl nonauth dstdomain "/etc/squid/nonauth.txt" 
#Разрешения 
http_access allow nonauth 
http_access deny !auth
http_access allow auth

ఎక్కడ auth_param నెగోషియేట్ ప్రోగ్రామ్ /usr/local/libexec/squid/negotiate_kerberos_auth — మనకు అవసరమైన Kerberos ప్రమాణీకరణ సహాయకుడిని ఎంచుకుంటుంది.

కీ -s అర్థంతో GSS_C_NO_NAME — కీ ఫైల్ నుండి ఏదైనా ఖాతా వినియోగాన్ని నిర్ణయిస్తుంది.

కీ -k అర్థంతో /usr/local/etc/squid/squid.keytab — ఈ నిర్దిష్ట కీటాబ్ ఫైల్‌ని ఉపయోగించాలని నిర్ణయిస్తుంది. నా విషయంలో, ఇది మేము రూపొందించిన అదే కీటాబ్ ఫైల్, నేను /usr/local/etc/squid/ డైరెక్టరీకి కాపీ చేసాను మరియు స్క్విడ్ ఆ డైరెక్టరీతో స్నేహం చేయకూడదనుకున్నందున దాని పేరు మార్చాను, స్పష్టంగా నా దగ్గర లేదు తగినంత హక్కులు.

కీ -t అర్థంతో - ఏదీ లేదు — డొమైన్ కంట్రోలర్‌కు చక్రీయ అభ్యర్థనలను నిలిపివేస్తుంది, ఇది మీకు 50 కంటే ఎక్కువ మంది వినియోగదారులను కలిగి ఉంటే దానిపై లోడ్‌ని బాగా తగ్గిస్తుంది.
పరీక్ష సమయంలో, మీరు -d స్విచ్‌ని కూడా జోడించవచ్చు - అంటే డయాగ్నస్టిక్స్, మరిన్ని లాగ్‌లు ప్రదర్శించబడతాయి.
auth_param నెగోషియేట్ పిల్లలు 1000 — ఎన్ని ఏకకాల అధికార ప్రక్రియలను ప్రారంభించవచ్చో నిర్ణయిస్తుంది
auth_param negotiate keep_alive on - అధికార గొలుసును పోలింగ్ చేస్తున్నప్పుడు కనెక్షన్ డిస్‌కనెక్ట్ కాకుండా నిరోధిస్తుంది
acl auth proxy_auth అవసరం — అధీకృత వినియోగదారులను కలిగి ఉన్న యాక్సెస్ నియంత్రణ జాబితాను సృష్టిస్తుంది మరియు అవసరం
acl nonauth dstdomain "/etc/squid/nonauth.txt" — మేము నాన్‌నౌత్ యాక్సెస్ జాబితా గురించి స్క్విడ్‌కు తెలియజేస్తాము, ఇందులో గమ్యస్థాన డొమైన్‌లు ఉంటాయి, వీటికి ప్రతి ఒక్కరూ ఎల్లప్పుడూ యాక్సెస్‌ని అనుమతిస్తారు. మేము ఫైల్‌ను స్వయంగా సృష్టించి, దానిలోని డొమైన్‌లను ఫార్మాట్‌లో నమోదు చేస్తాము

.whatsapp.com
.whatsapp.net

వాట్సాప్ ఒక కారణం కోసం ఉదాహరణగా ఉపయోగించబడుతుంది - ఇది ప్రామాణీకరణ ప్రాక్సీల గురించి చాలా ఇష్టంగా ఉంటుంది మరియు ప్రామాణీకరణకు ముందు ఇది అనుమతించబడకపోతే పని చేయదు.
http_access nonauthని అనుమతిస్తుంది - ప్రతి ఒక్కరికీ ఈ జాబితాకు ప్రాప్యతను అనుమతించండి
http_access deny !auth — అనధికార వినియోగదారుల కోసం ఇతర సైట్‌లకు యాక్సెస్‌ను మేము నిషేధిస్తాము
http_access ప్రమాణీకరణను అనుమతించండి - అధీకృత వినియోగదారులకు ప్రాప్యతను అనుమతించండి.
అంతే, స్క్విడ్ కూడా కాన్ఫిగర్ చేయబడింది, ఇప్పుడు సమూహాల వారీగా ఫిల్టర్ చేయడం ప్రారంభించడానికి సమయం ఆసన్నమైంది.

SquidGuardని ఏర్పాటు చేస్తోంది

ServicesSquidGuard ప్రాక్సీ ఫిల్టర్‌కి వెళ్లండి.

LDAP ఎంపికలలో మేము Kerberos ప్రమాణీకరణ కోసం ఉపయోగించిన మా ఖాతా వివరాలను నమోదు చేస్తాము, కానీ క్రింది ఆకృతిలో:

CN=pfsense,OU=service-accounts,DC=domain,DC=local

ఖాళీలు లేదా నాన్-లాటిన్ అక్షరాలు ఉన్నట్లయితే, ఈ మొత్తం ఎంట్రీ సింగిల్ లేదా డబుల్ కోట్‌లలో జతచేయబడాలి:

'CN=sg,OU=service-accounts,DC=domain,DC=local'
"CN=sg,OU=service-accounts,DC=domain,DC=local"

తరువాత, ఈ పెట్టెలను తప్పకుండా తనిఖీ చేయండి:

డొమైన్ అధికారంతో ఎంటర్‌ప్రైజ్ కోసం ఉచిత ప్రాక్సీ సర్వర్

అనవసరమైన DOMAINpfsenseని కత్తిరించడానికి DOMAIN.LOCAL మొత్తం సిస్టమ్ చాలా సున్నితంగా ఉంటుంది.

ఇప్పుడు గ్రూప్ Aclకి వెళ్లి, మన డొమైన్ యాక్సెస్ గ్రూపులను బైండ్ చేద్దాం, నేను group_0, group_1 మొదలైన సాధారణ పేర్లను 3 వరకు ఉపయోగిస్తాను, ఇక్కడ 3 అంటే వైట్ లిస్ట్‌కు మాత్రమే యాక్సెస్, మరియు 0 అంటే ప్రతిదీ సాధ్యమే.

సమూహాలు ఈ క్రింది విధంగా లింక్ చేయబడ్డాయి:

ldapusersearch ldap://dc.domain.local:3268/DC=DOMAIN,DC=LOCAL?sAMAccountName?sub?(&(sAMAccountName=%s)(memberOf=CN=group_0%2cOU=squid%2cOU=service-groups%2cDC=DOMAIN%2cDC=LOCAL))

మేము మా సమూహాన్ని సేవ్ చేస్తాము, టైమ్స్‌కి వెళ్లండి, అక్కడ నేను ఒక ఖాళీని సృష్టించాను అంటే అది ఎల్లప్పుడూ పని చేస్తుంది, ఇప్పుడు మేము లక్ష్య వర్గాలకు వెళ్లి మా అభీష్టానుసారం జాబితాలను సృష్టించాము, జాబితాలను సృష్టించిన తర్వాత మేము మా సమూహాలకు తిరిగి వస్తాము మరియు సమూహంలో మేము బటన్లను ఉపయోగిస్తాము. ఎవరు ఎక్కడికి వెళ్ళవచ్చు మరియు ఎవరు ఎక్కడికి వెళ్ళకూడదు అనేదాన్ని ఎంచుకోవడానికి.

LightSquid మరియు sqstat

సెటప్ ప్రాసెస్‌లో మనం స్క్విడ్ సెట్టింగ్‌లలో లూప్‌బ్యాక్‌ని ఎంచుకుని, ఫైర్‌వాల్‌లో 7445ని యాక్సెస్ చేయగల సామర్థ్యాన్ని మన నెట్‌వర్క్‌లో మరియు pfSenseలో తెరిచినట్లయితే, మేము DiagnosticsSquid ప్రాక్సీ రిపోర్ట్‌లకు వెళ్లినప్పుడు మనం స్క్విడ్ మరియు లైట్‌స్క్విడ్ రెండింటినీ సులభంగా తెరవగలము. తరువాత మాకు అవసరం అవుతుంది అక్కడ మీరు లాగిన్ మరియు పాస్‌వర్డ్‌తో రావచ్చు మరియు మీరు డిజైన్‌ను కూడా ఎంచుకోవచ్చు.

పూర్తి

pfSense చాలా శక్తివంతమైన సాధనం, ఇది చాలా పనులు చేయగలదు - ట్రాఫిక్‌ను ప్రాక్సీ చేయడం మరియు ఇంటర్నెట్‌కు వినియోగదారు యాక్సెస్‌ని నియంత్రించడం అనేది మొత్తం కార్యాచరణ యొక్క ధాన్యం మాత్రమే, అయినప్పటికీ, 500 యంత్రాలతో కూడిన సంస్థలో, ఇది సమస్యను పరిష్కరించింది మరియు సేవ్ చేయడానికి మాకు అనుమతి ఇచ్చింది. ప్రాక్సీ కొనుగోలుపై.

మధ్యస్థ మరియు పెద్ద సంస్థలకు సంబంధించిన సమస్యను ఎవరైనా పరిష్కరించడంలో ఈ కథనం సహాయపడుతుందని నేను ఆశిస్తున్నాను.

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి