டொமைன் அங்கீகாரத்துடன் நிறுவனத்திற்கான இலவச ப்ராக்ஸி சர்வர்

டொமைன் அங்கீகாரத்துடன் நிறுவனத்திற்கான இலவச ப்ராக்ஸி சர்வர்

https வடிகட்டுதலுடன் pfSense+Squid + ஆக்டிவ் டைரக்டரி குழு வடிகட்டலுடன் ஒற்றை உள்நுழைவு (SSO)

சுருக்கமான பின்னணி

AD இலிருந்து குழுக்கள் மூலம் தளங்களுக்கான அணுகலை (https உட்பட) வடிகட்டக்கூடிய ஒரு ப்ராக்ஸி சேவையகத்தை நிறுவனம் செயல்படுத்த வேண்டும், இதனால் பயனர்கள் எந்த கூடுதல் கடவுச்சொற்களையும் உள்ளிட மாட்டார்கள், மேலும் இணைய இடைமுகத்தில் இருந்து நிர்வகிக்க முடியும். நல்ல பயன்பாடு, இல்லையா?

Kerio Control அல்லது UserGate போன்ற தீர்வுகளை வாங்குவதே சரியான பதில், ஆனால் எப்போதும் போல் பணம் இல்லை, ஆனால் தேவை உள்ளது.

இங்குதான் நல்ல பழைய ஸ்க்விட் மீட்புக்கு வருகிறது, ஆனால் மீண்டும் - வலை இடைமுகத்தை நான் எங்கே பெறுவது? SAMS2? தார்மீக ரீதியாக வழக்கற்றுப் போனது. இங்குதான் pfSense மீட்புக்கு வருகிறது.

விளக்கம்

இந்த கட்டுரை Squid ப்ராக்ஸி சேவையகத்தை எவ்வாறு கட்டமைப்பது என்பதை விவரிக்கும்.
பயனர்களை அங்கீகரிக்க Kerberos பயன்படுத்தப்படும்.
டொமைன் குழுக்களால் வடிகட்ட SquidGuard பயன்படுத்தப்படும்.

Lightsquid, sqstat மற்றும் உள் pfSense கண்காணிப்பு அமைப்புகள் கண்காணிப்புக்குப் பயன்படுத்தப்படும்.
ஒற்றை உள்நுழைவு (SSO) தொழில்நுட்பத்தின் அறிமுகத்துடன் தொடர்புடைய பொதுவான சிக்கலையும் இது தீர்க்கும், அதாவது தங்கள் கணினி கணக்குடன் திசைகாட்டி கணக்கின் கீழ் இணையத்தில் உலாவ முயற்சிக்கும் பயன்பாடுகள்.

Squid ஐ நிறுவ தயாராகிறது

pfSense அடிப்படையாக எடுத்துக் கொள்ளப்படும், நிறுவும் வழிமுறைகள்.

டொமைன் கணக்குகளைப் பயன்படுத்தி ஃபயர்வாலிலேயே அங்கீகாரத்தை ஒழுங்குபடுத்துகிறோம். வழிமுறைகள்.

இது மிகவும் முக்கியம்!

நீங்கள் Squid ஐ நிறுவத் தொடங்குவதற்கு முன், நீங்கள் DNS சேவையகத்தை pfsense இல் உள்ளமைக்க வேண்டும், அதற்கான A பதிவு மற்றும் PTR பதிவை எங்கள் DNS சேவையகத்தில் உருவாக்கி, டொமைன் கன்ட்ரோலரில் உள்ள நேரத்திலிருந்து நேரம் வேறுபடாதவாறு NTPயை உள்ளமைக்க வேண்டும்.

உங்கள் நெட்வொர்க்கில், pfSense இன் WAN இடைமுகம் இணையத்திற்குச் செல்லும் திறனையும், உள்ளூர் நெட்வொர்க்கில் உள்ள பயனர்கள் 7445 மற்றும் 3128 போர்ட்கள் உட்பட (எனது விஷயத்தில் 8080) LAN இடைமுகத்துடன் இணைக்கவும்.

எல்லாம் தயாரா? pfSense இல் அங்கீகாரத்திற்காக டொமைனுடன் LDAP இணைப்பு நிறுவப்பட்டதா மற்றும் நேரம் ஒத்திசைக்கப்பட்டுள்ளதா? நன்று. முக்கிய செயல்முறையைத் தொடங்க வேண்டிய நேரம் இது.

நிறுவல் மற்றும் முன் கட்டமைப்பு

Squid, SquidGuard மற்றும் LightSquid ஆகியவை "System / Package Manager" பிரிவில் உள்ள pfSense தொகுப்பு நிர்வாகியிலிருந்து நிறுவப்படும்.

வெற்றிகரமான நிறுவலுக்குப் பிறகு, "சேவைகள் / ஸ்க்விட் ப்ராக்ஸி சேவையகம் /" என்பதற்குச் செல்லவும், முதலில், உள்ளூர் கேச் தாவலில், கேச்சிங்கை உள்ளமைக்கவும், நான் எல்லாவற்றையும் 0 ஆக அமைத்தேன். கேச்சிங் தளங்களில் நான் அதிகப் புள்ளியைக் காணவில்லை, உலாவிகள் இதை சிறப்பாகச் செய்கின்றன. அமைத்த பிறகு, திரையின் அடிப்பகுதியில் உள்ள "சேமி" பொத்தானை அழுத்தவும், இது அடிப்படை ப்ராக்ஸி அமைப்புகளை உருவாக்க எங்களுக்கு வாய்ப்பளிக்கும்.

முக்கிய அமைப்புகள் பின்வருமாறு:

டொமைன் அங்கீகாரத்துடன் நிறுவனத்திற்கான இலவச ப்ராக்ஸி சர்வர்

இயல்புநிலை போர்ட் 3128, ஆனால் நான் 8080 ஐப் பயன்படுத்த விரும்புகிறேன்.

ப்ராக்ஸி இடைமுகம் தாவலில் உள்ள தேர்ந்தெடுக்கப்பட்ட அளவுருக்கள் எங்கள் ப்ராக்ஸி சர்வர் எந்த இடைமுகங்களைக் கேட்கும் என்பதை தீர்மானிக்கிறது. இந்த ஃபயர்வால் இணையத்தில் WAN இடைமுகமாகத் தோற்றமளிக்கும் வகையில் கட்டப்பட்டிருப்பதால், LAN மற்றும் WAN ஆகியவை ஒரே உள்ளூர் சப்நெட்டில் இருந்தாலும், ப்ராக்ஸிக்கு LAN ஐப் பயன்படுத்த பரிந்துரைக்கிறேன்.

sqstat வேலை செய்ய லூப்பேக் தேவை.

கீழே நீங்கள் வெளிப்படையான (வெளிப்படையான) ப்ராக்ஸி அமைப்புகளையும், SSL வடிகட்டியையும் காண்பீர்கள், ஆனால் அவை எங்களுக்குத் தேவையில்லை, எங்கள் ப்ராக்ஸி வெளிப்படையானதாக இருக்காது, மேலும் https வடிகட்டலுக்கு நாங்கள் சான்றிதழை மாற்ற மாட்டோம் (எங்களிடம் ஆவண ஓட்டம், வங்கி உள்ளது வாடிக்கையாளர்கள், முதலியன), கைகுலுக்கலைப் பார்ப்போம்.

இந்த கட்டத்தில், நாங்கள் எங்கள் டொமைன் கன்ட்ரோலருக்குச் செல்ல வேண்டும், அதில் ஒரு அங்கீகார கணக்கை உருவாக்க வேண்டும் (நீங்கள் pfSense இல் அங்கீகாரத்திற்காக கட்டமைக்கப்பட்ட ஒன்றையும் பயன்படுத்தலாம்). இங்கே ஒரு மிக முக்கியமான காரணி உள்ளது - நீங்கள் AES128 அல்லது AES256 குறியாக்கத்தைப் பயன்படுத்த விரும்பினால் - உங்கள் கணக்கு அமைப்புகளில் பொருத்தமான பெட்டிகளைச் சரிபார்க்கவும்.

உங்கள் டொமைன் அதிக எண்ணிக்கையிலான அடைவுகளைக் கொண்ட மிகவும் சிக்கலான வனமாக இருந்தால் அல்லது உங்கள் டொமைன் .local ஆக இருந்தால், இந்தக் கணக்கிற்கு நீங்கள் ஒரு எளிய கடவுச்சொல்லைப் பயன்படுத்த வேண்டும் என்பது சாத்தியம், ஆனால் உறுதியாகத் தெரியவில்லை, பிழை தெரியும், ஆனால் அது சிக்கலான கடவுச்சொல்லுடன் வேலை செய்யாமல் போகலாம், நீங்கள் ஒரு குறிப்பிட்ட வழக்கை சரிபார்க்க வேண்டும்.

டொமைன் அங்கீகாரத்துடன் நிறுவனத்திற்கான இலவச ப்ராக்ஸி சர்வர்

அதன் பிறகு, கெர்பரோஸுக்கு ஒரு முக்கிய கோப்பை உருவாக்கி, டொமைன் கன்ட்ரோலரில் நிர்வாகி உரிமைகளுடன் கட்டளை வரியில் திறந்து உள்ளிடவும்:

# 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 இணைய இடைமுகம் மூலமாகவும் செய்யலாம்.

இப்போது நாம் /etc/krb5.conf ஐத் திருத்தலாம்/உருவாக்கலாம்

டொமைன் அங்கீகாரத்துடன் நிறுவனத்திற்கான இலவச ப்ராக்ஸி சர்வர்

இதில் /etc/krb5.keytab என்பது நாம் உருவாக்கிய முக்கிய கோப்பு.

கினிட்டைப் பயன்படுத்தி கெர்பரோஸின் செயல்பாட்டைச் சரிபார்க்கவும், அது வேலை செய்யவில்லை என்றால், மேலும் படிப்பதில் அர்த்தமில்லை.

ஸ்க்விட் அங்கீகாரம் மற்றும் அங்கீகாரம் இல்லாமல் அணுகல் பட்டியலை உள்ளமைத்தல்

கெர்பரோஸை வெற்றிகரமாக உள்ளமைத்த பிறகு, அதை எங்கள் ஸ்க்விட் உடன் கட்டுவோம்.

இதைச் செய்ய, 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 - நமக்குத் தேவையான அங்கீகார கெர்பரோஸ் உதவியாளரைத் தேர்ந்தெடுக்கிறது.

முக்கிய -s அர்த்தத்துடன் GSS_C_NO_NAME - முக்கிய கோப்பிலிருந்து எந்த கணக்கின் பயன்பாட்டையும் வரையறுக்கிறது.

முக்கிய -k அர்த்தத்துடன் /usr/local/etc/squid/squid.keytab - இந்த குறிப்பிட்ட கீடாப் கோப்பைப் பயன்படுத்த தீர்மானிக்கிறது. என் விஷயத்தில், இது நாம் உருவாக்கிய அதே கீடாப் கோப்பாகும், இதை நான் /usr/local/etc/squid/ கோப்பகத்திற்கு நகலெடுத்து மறுபெயரிட்டேன், ஏனெனில் அந்த கோப்பகத்துடன் ஸ்க்விட் நட்பு கொள்ள விரும்பவில்லை, வெளிப்படையாக இல்லை. போதுமான உரிமைகள்.

முக்கிய -t அர்த்தத்துடன் - இல்லை - டொமைன் கன்ட்ரோலருக்கு சுழற்சி கோரிக்கைகளை முடக்குகிறது, இது உங்களிடம் 50 க்கும் மேற்பட்ட பயனர்களைக் கொண்டிருந்தால் அதன் சுமைகளை வெகுவாகக் குறைக்கிறது.
சோதனையின் காலத்திற்கு, நீங்கள் -d விசையையும் சேர்க்கலாம் - அதாவது, கண்டறிதல், மேலும் பதிவுகள் காட்டப்படும்.
auth_param negotiate children 1000 - ஒரே நேரத்தில் எத்தனை அங்கீகார செயல்முறைகளை இயக்கலாம் என்பதை தீர்மானிக்கிறது
auth_param negotiate on_alive on - அங்கீகாரச் சங்கிலியின் வாக்கெடுப்பின் போது இணைப்பை உடைக்க அனுமதிக்காது
acl auth proxy_auth தேவை - அங்கீகாரம் பெற்ற பயனர்களை உள்ளடக்கிய அணுகல் கட்டுப்பாட்டு பட்டியலை உருவாக்குகிறது மற்றும் தேவைப்படுகிறது
acl nonauth dstdomain "/etc/squid/nonauth.txt" - அனைவருக்கும் அணுகல் அனுமதிக்கப்படும் இலக்கு டொமைன்களைக் கொண்ட, அங்கீகரிக்கப்படாத அணுகல் பட்டியலைப் பற்றி ஸ்க்விட்க்கு தெரிவிக்கிறோம். நாங்கள் கோப்பை உருவாக்குகிறோம், அதன் உள்ளே டொமைன்களை வடிவமைப்பில் உள்ளிடுகிறோம்

.whatsapp.com
.whatsapp.net

Whatsapp வீண் உதாரணமாகப் பயன்படுத்தப்படவில்லை - அங்கீகாரத்துடன் கூடிய ப்ராக்ஸியைப் பற்றி இது மிகவும் ஆர்வமாக உள்ளது மற்றும் அங்கீகாரத்திற்கு முன் அனுமதிக்கப்படாவிட்டால் வேலை செய்யாது.
http_access nonauth ஐ அனுமதிக்கும் - இந்த பட்டியலை அனைவருக்கும் அணுக அனுமதிக்கவும்
http_access deny !auth - அங்கீகரிக்கப்படாத பயனர்களை மற்ற தளங்களுக்கு அணுகுவதை நாங்கள் தடைசெய்கிறோம்
http_access அனுமதி அங்கீகாரம் - அங்கீகரிக்கப்பட்ட பயனர்களுக்கு அணுகலை அனுமதிக்கவும்.
அவ்வளவுதான், ஸ்க்விட் தானே கட்டமைக்கப்பட்டுள்ளது, இப்போது குழுக்களால் வடிகட்டத் தொடங்க வேண்டிய நேரம் இது.

SquidGuard ஐ கட்டமைக்கிறது

ServicesSquidGuard Proxy Filter என்பதற்குச் செல்லவும்.

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 இல் திறந்தால், ஸ்க்விட் ப்ராக்ஸி அறிக்கைகளின் கண்டறிதலுக்குச் செல்லும்போது, ​​​​நாம் sqstat மற்றும் இரண்டையும் எளிதாகத் திறக்கலாம். Lighsquid, பிந்தையதற்கு நமக்குத் தேவைப்படும் அதே இடத்தில், ஒரு பயனர்பெயர் மற்றும் கடவுச்சொல்லைக் கொண்டு வாருங்கள், மேலும் ஒரு வடிவமைப்பைத் தேர்ந்தெடுப்பதற்கான வாய்ப்பும் உள்ளது.

நிறைவு

pfSense என்பது பல விஷயங்களைச் செய்யக்கூடிய மிகவும் சக்திவாய்ந்த கருவியாகும் - ட்ராஃபிக் ப்ராக்ஸிங் மற்றும் இணையத்திற்கான பயனர் அணுகலைக் கட்டுப்படுத்துவது இரண்டும் முழு செயல்பாட்டின் ஒரு பகுதியே, இருப்பினும், 500 இயந்திரங்களைக் கொண்ட நிறுவனத்தில், இது சிக்கலைத் தீர்த்து சேமிக்கிறது. ப்ராக்ஸி வாங்குதல்.

நடுத்தர மற்றும் பெரிய நிறுவனங்களுக்கு மிகவும் பொருத்தமான ஒரு சிக்கலை யாராவது தீர்க்க இந்த கட்டுரை உதவும் என்று நம்புகிறேன்.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்